// Copyright © 2014 The CefSharp Authors. All rights reserved.
//
// Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
namespace CefSharp
{
///
/// Class that creates instances for handling scheme requests.
/// The methods of this class will always be called on the CEF IO thread.
///
public interface ISchemeHandlerFactory
{
///
/// Return a new instance to handle the request or an empty
/// reference to allow default handling of the request.
///
/// the browser window that originated the
/// request or null if the request did not originate from a browser window
/// (for example, if the request came from CefURLRequest).
/// frame that originated the request
/// or null if the request did not originate from a browser window
/// (for example, if the request came from CefURLRequest).
/// the scheme name
/// The request. (will not contain cookie data)
///
/// Return a new instance to handle the request or an empty
/// reference to allow default handling of the request
///
IResourceHandler Create(IBrowser browser, IFrame frame, string schemeName, IRequest request);
}
}