Click or drag to resize

RequestContext Class

Version 75.1.140
A request context provides request handling for a set of related browser objects. A request context is specified when creating a new browser object via the CefBrowserHost static factory methods. Browser objects with different request contexts will never be hosted in the same render process. Browser objects with the same request context may or may not be hosted in the same render process depending on the process model. Browser objects created indirectly via the JavaScript window.open function or targeted links will share the same render process and the same request context as the source browser. When running in single-process mode there is only a single render process (the main process) and so all browsers created in single-process mode will share the same request context. This will be the first request context passed into a CefBrowserHost static factory method and all other request context objects will be ignored.
Inheritance Hierarchy
SystemObject
  CefWrapper
    CefSharpRequestContext

Namespace:  CefSharp
Assembly:  CefSharp.Core (in CefSharp.Core.dll) Version: 75.1.140.0
Syntax
public class RequestContext : CefWrapper, 
	IRequestContext

The RequestContext type exposes the following members.

Constructors
  NameDescription
Public methodRequestContext
Initializes a new instance of the RequestContext class
Public methodRequestContext(IRequestContext)
Initializes a new instance of the RequestContext class
Public methodRequestContext(IRequestContextHandler)
Initializes a new instance of the RequestContext class
Public methodRequestContext(RequestContextSettings)
Initializes a new instance of the RequestContext class
Public methodRequestContext(IRequestContext, IRequestContextHandler)
Initializes a new instance of the RequestContext class
Public methodRequestContext(RequestContextSettings, IRequestContextHandler)
Initializes a new instance of the RequestContext class
Top
Properties
  NameDescription
Public propertyCachePath
Returns the cache path for this object. If empty an "incognito mode" in-memory cache is being used.
Public propertyIsGlobal
Returns true if this object is the global context. The global context is used by default when creating a browser or URL request with a NULL context argument.
Top
Methods
  NameDescription
Public methodCanSetPreference
Returns true if the preference with the specified name can be modified using SetPreference. As one example preferences set via the command-line usually cannot be modified. This method must be called on the CEF UI thread.
Public methodClearCertificateExceptions
Clears all certificate exceptions that were added as part of handling [!:IRequestHandler.OnCertificateError]. If you call this it is recommended that you also call [!:IRequestContext.CloseAllConnections] or you risk not being prompted again for server certificates if you reconnect quickly.
Public methodClearSchemeHandlerFactories
Clear all registered scheme handler factories.
Public methodCloseAllConnections
Clears all active and idle connections that Chromium currently has. This is only recommended if you have released all other CEF objects but don't yet want to call Cef.Shutdown().
Public methodStatic memberCreateContext
Creates a new context object that shares storage with other and uses an optional handler.
Public methodDidLoadExtension
Returns true if this context was used to load the extension identified by extensionId. Other contexts sharing the same storage will also have access to the extension (see HasExtension). This method must be called on the CEF UI thread.
Public methodDispose
Releases all resources used by the RequestContext
Protected methodDispose(Boolean)
Releases the unmanaged resources used by the RequestContext and optionally releases the managed resources
Public methodEquals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Protected methodFinalize (Overrides ObjectFinalize.)
Public methodGetAllPreferences
Returns all preferences as a dictionary. The returned object contains a copy of the underlying preference values and modifications to the returned object will not modify the underlying preference values. This method must be called on the browser process UI thread.
Public methodGetCookieManager
Returns the default cookie manager for this object. This will be the global cookie manager if this object is the global request context.
Public methodGetExtension
Returns the extension matching extensionId or null if no matching extension is accessible in this context (see HasExtension). This method must be called on the CEF UI thread.
Public methodGetExtensions
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public methodGetPreference
Returns the value for the preference with the specified name. Returns NULL if the preference does not exist. The returned object contains a copy of the underlying preference value and modifications to the returned object will not modify the underlying preference value. This method must be called on the CEF UI thread.
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodHasExtension
Returns true if this context has access to the extension identified by extensionId. This may not be the context that was used to load the extension (see DidLoadExtension). This method must be called on the CEF UI thread.
Public methodHasPreference
Returns true if a preference with the specified name exists. This method must be called on the CEF UI thread.
Public methodIsSame
Returns true if this object is pointing to the same context object.
Public methodIsSharingWith
Returns true if this object is sharing the same storage as the specified context.
Public methodLoadExtension
Load an extension. If extension resources will be read from disk using the default load implementation then rootDirectoy should be the absolute path to the extension resources directory and manifestJson should be null. If extension resources will be provided by the client (e.g. via IRequestHandler and/or IExtensionHandler) then rootDirectory should be a path component unique to the extension (if not absolute this will be internally prefixed with the PK_DIR_RESOURCES path) and manifestJson should contain the contents that would otherwise be read from the "manifest.json" file on disk. The loaded extension will be accessible in all contexts sharing the same storage (HasExtension returns true). However, only the context on which this method was called is considered the loader (DidLoadExtension returns true) and only the loader will receive IRequestContextHandler callbacks for the extension. [!:IExtensionHandler.OnExtensionLoaded] will be called on load success or [!:IExtensionHandler.OnExtensionLoadFailed] will be called on load failure. If the extension specifies a background script via the "background" manifest key then [!:IExtensionHandler.OnBeforeBackgroundBrowser] will be called to create the background browser. See that method for additional information about background scripts. For visible extension views the client application should evaluate the manifest to determine the correct extension URL to load and then pass that URL to the IBrowserHost.CreateBrowser* function after the extension has loaded. For example, the client can look for the "browser_action" manifest key as documented at https://developer.chrome.com/extensions/browserAction. Extension URLs take the form "chrome-extension:///". Browsers that host extensions differ from normal browsers as follows: - Can access chrome.* JavaScript APIs if allowed by the manifest. Visit chrome://extensions-support for the list of extension APIs currently supported by CEF. - Main frame navigation to non-extension content is blocked. - Pinch-zooming is disabled. - [!:IBrowserHost.GetExtension] returns the hosted extension. - CefBrowserHost::IsBackgroundHost returns true for background hosts. See https://developer.chrome.com/extensions for extension implementation and usage documentation.
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public methodPurgePluginListCache
Tells all renderer processes associated with this context to throw away their plugin list cache. If reloadPages is true they will also reload all pages with plugins. RequestContextHandler.OnBeforePluginLoad may be called to rebuild the plugin list cache.
Public methodRegisterSchemeHandlerFactory
Register a scheme handler factory for the specified schemeName and optional domainName. An empty domainName value for a standard scheme will cause the factory to match all domain names. The domainName value will be ignored for non-standard schemes. If schemeName is a built-in scheme and no handler is returned by factory then the built-in scheme handler factory will be called. If schemeName is a custom scheme then you must also implement the IApp.OnRegisterCustomSchemes() method in all processes. This function may be called multiple times to change or remove the factory that matches the specified schemeName and optional domainName.
Public methodResolveHostAsync
Attempts to resolve origin to a list of associated IP addresses.
Public methodSetPreference
Set the value associated with preference name. If value is null the preference will be restored to its default value. If setting the preference fails then error will be populated with a detailed description of the problem. This method must be called on the CEF UI thread. Preferences set via the command-line usually cannot be modified.
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Top
Extension Methods
  NameDescription
Public Extension MethodLoadExtensionFromDirectory
Load an extension from the given directory. To load a crx file you must unzip it first. For further details see
(Defined by RequestContextExtensions.)
Public Extension MethodLoadExtensionsFromDirectory
Load extension(s) from the given directory. This methods obtains all the sub directories of rootDirectory and calls LoadExtension(String, String, IExtensionHandler) if manifest.json is found in the sub folder. To load crx file(s) you must unzip them first. For further details see
(Defined by RequestContextExtensions.)
Top
See Also