CefSharp Async extensions for different interfaces Deletes all cookies that matches all the provided parameters asynchronously. If both and are empty, all cookies will be deleted. cookie manager The cookie URL. If an empty string is provided, any URL will be matched. The name of the cookie. If an empty string is provided, any URL will be matched. Returns -1 if a non-empty invalid URL is specified, or if cookies cannot be accessed; otherwise, a task that represents the delete operation. The value of the TResult will be the number of cookies that were deleted or -1 if unknown. Sets a cookie given a valid URL and explicit user-provided cookie attributes. This function expects each attribute to be well-formed. It will check for disallowed characters (e.g. the ';' character is disallowed within the cookie value attribute) and will return false without setting cookie manager The cookie URL. If an empty string is provided, any URL will be matched. the cookie to be set returns false if the cookie cannot be set (e.g. if illegal charecters such as ';' are used); otherwise task that represents the set operation. The value of the TResult parameter contains a bool to indicate success. Visits all cookies. The returned cookies are sorted by longest path, then by earliest creation date. cookie manager A task that represents the VisitAllCookies operation. The value of the TResult parameter contains a List of cookies or null if cookies cannot be accessed. Visits a subset of the cookies. The results are filtered by the given url scheme, host, domain and path. If is true, HTTP-only cookies will also be included in the results. The returned cookies are sorted by longest path, then by earliest creation date. cookie manager The URL to use for filtering a subset of the cookies available. A flag that determines whether HTTP-only cookies will be shown in results. A task that represents the VisitUrlCookies operation. The value of the TResult parameter contains a List of cookies. or null if cookies cannot be accessed. Flush the backing store (if any) to disk. cookieManager instance A task that represents the FlushStore operation. Result indicates if the flush completed successfully. Will return false if the cookikes cannot be accessed. Retrieve a snapshot of current navigation entries browserHost If true the List will only contain the current navigation entry. If false the List will include all navigation entries will be included. Default is false Javascript binding options Set of options with the default binding Model binder used for passing complex classes as params to methods Interceptor used for intercepting calls to the target object methods. For instance, can be used for logging calls (from js) to .net methods. Callback interface used for asynchronous continuation of authentication requests. Continue the authentication request. requested username requested password Cancel the authentication request. Gets a value indicating whether the callback has been disposed of. Callback interface used to asynchronously continue a download. Call to continue the download. full file path for the download including the file name or leave blank to use the suggested name and the default temp directory Set to true if you do wish to show the default "Save As" dialog Gets a value indicating whether the callback has been disposed of. Generic callback interface used for asynchronous continuation. Continue processing. Cancel processing. Gets a value indicating whether the callback has been disposed of. Generic callback interface used for asynchronous completion. Method that will be called once the task is complete. Gets a value indicating whether the callback has been disposed of. Interface to implement to be notified of asynchronous completion via ICookieManager.DeleteCookies(). It will be executed asynchronously on the CEF IO thread after the cookie has been deleted Method that will be called upon completion. will be the number of cookies that were deleted or -1 if unknown. Gets a value indicating whether the callback has been disposed of. Callback interface for . The methods of this class will be called on the CEF UI thread. Method that will be called on receipt of a DevTools protocol message. Method result dictionaries include an "id" (int) value that identifies the orginating method call sent from IBrowserHost.SendDevToolsMessage, and optionally either a "result" (dictionary) or "error" (dictionary) value. The "error" dictionary will contain "code" (int) and "message" (string) values. Event dictionaries include a "method" (string) value and optionally a "params" (dictionary) value. See the DevTools protocol documentation at https://chromedevtools.github.io/devtools-protocol/ for details of supported method calls and the expected "result" or "params" dictionary contents. JSON dictionaries can be parsed using the CefParseJSON function if desired, however be aware of performance considerations when parsing large messages (some of which may exceed 1MB in size). is the originating browser instance is a UTF8-encoded JSON dictionary representing either a method result or an event. is only valid for the scope of this callback and should be copied if necessary Return true if the message was handled or false if the message should be further processed and passed to the OnDevToolsMethodResult or OnDevToolsEvent methods as appropriate. Method that will be called after attempted execution of a DevTools protocol is the originating browser instance is the id value that identifies the originating method call message If the method succeeded will be true and will be the UTF8-encoded JSON "result" dictionary value (which may be empty). If the method failed will be false and will be the UTF8-encoded JSON "error" dictionary value. The stream is only valid for the scope of this callback and should be copied if necessary. See the OnDevToolsMessage documentation for additional details on contents Method that will be called on receipt of a DevTools protocol event. is the originating browser instance is the method value is the UTF8-encoded JSON "params" dictionary value (which may be empty). This stream is only valid for the scope of this callback and should be copied if necessary. See the OnDevToolsMessage documentation for additional details on contents. Method that will be called when the DevTools agent has attached. This will generally occur in response to the first message sent while the agent is detached. is the originating browser instance Method that will be called when the DevTools agent has detached. Any method results that were pending before the agent became detached will not be delivered, and any active event subscriptions will be canceled. is the originating browser instance Callback for asynchronous continuation of . Callback for asynchronous continuation of . If bytesRead == 0 the response will be considered complete. If bytesRead == 0 the response will be considered complete. If bytesRead > 0 then will be called again until the request is complete (based on either the result or the expected content length). If bytesRead < 0 then the request will fail and the bytesRead value will be treated as the error code. Gets a value indicating whether the callback has been disposed of. Callback for asynchronous continuation of . Callback for asynchronous continuation of Skip(). If bytesSkipped > 0 then either Skip() will be called again until the requested number of bytes have been skipped or the request will proceed. If bytesSkipped <= the request will fail with ERR_REQUEST_RANGE_NOT_SATISFIABLE. Gets a value indicating whether the callback has been disposed of. Callback interface for IBrowserHost.RunFileDialog. The methods of this class will be called on the CEF UI thread. Called asynchronously after the file dialog is dismissed. is the 0-based index of the value selected from the accept filters array passed to IBrowserHost.RunFileDialog will be a single value or a list of values depending on the dialog mode. If the selection was cancelled filePaths will be empty Provides a callback implementation of that does nothing with complete. Added to workaround a CEF bug as per https://github.com/cefsharp/CefSharp/issues/2957#issuecomment-555285400 Callback interface used to asynchronously cancel a download. Call to cancel the download. Call to pause the download. Call to resume the download. Gets a value indicating whether the callback has been disposed of. Callback interface for asynchronous continuation of file dialog requests. Continue the file selection. should be the 0-based index of the value selected from the accept filters array passed to should be a single value or a list of values depending on the dialog mode. An empty value is treated the same as calling Cancel(). Cancel the file selection. Gets a value indicating whether the callback has been disposed of. Callback interface used for asynchronous continuation of . Continue the request. Read the resource contents from stream. stream to be used as response. Continue the request data to be used as response Cancel the request. Javascript callback interface Callback Id Execute the javascript callback param array of objects JavascriptResponse Execute the javascript callback timeout param array of objects JavascriptResponse Check to see if the underlying resource are still available to execute the callback Gets a value indicating whether the callback has been disposed of. Callback interface used for asynchronous continuation of JavaScript dialog requests. Continue the Javascript dialog request. Set to true if the OK button was pressed. value should be specified for prompt dialogs. Continue the Javascript dialog request. Set to true if the OK button was pressed. Gets a value indicating whether the callback has been disposed of. Callback interface for . The methods of this interface will be called on the CEF UI thread. Method that will be executed when the PDF printing has completed. The output path. Will be true if the printing completed successfully or false otherwise. Gets a value indicating whether the callback has been disposed of. Content Decryption Module (CDM) registration callback used for asynchronous completion. Method that will be called once CDM registration is complete The result of the CDM registration process Gets a value indicating whether the callback has been disposed of. Callback interface used for asynchronous continuation of url requests. Continue the url request. If is true the request will be continued, otherwise, the request will be canceled. Cancel the url request. Gets a value indicating whether the callback has been disposed of. Callback interface for Called after the ResolveHost request has completed. The result code will be the list of resolved IP addresses or empty if the resolution failed. Gets a value indicating whether the callback has been disposed of. Callback interface used for continuation of custom context menu display. Complete context menu display by selecting the specified commandId and eventFlags; the command Id the event flags Cancel context menu display. Gets a value indicating whether the callback has been disposed of. Callback interface used to select a client certificate for authentication. Callback interface used to select a client certificate for authentication. value means that no client certificate should be used. selected certificate Gets a value indicating whether the callback has been disposed of. Interface to implement to be notified of asynchronous completion via ICookieManager.SetCookie(). It will be executed asynchronously on the CEF IO thread after the cookie has been set Method that will be called upon completion. success will be true if the cookie was set successfully. Gets a value indicating whether the callback has been disposed of. Provides a callback implementation of . Invalid Number of Cookies Default constructor Task used to await this callback Provides a callback implementation of . Default constructor Task used to await this callback Provides a callback implementation of for use with asynchronous Widevine CDM registration. Default constructor Task used to await this callback Provides a callback implementation of . Default constructor Task used to await this callback Provides a callback implementation of . Task used to await this callback Provides a callback implementation of . Default constructor Task used to await this callback Represents the response to an attempt to register the Widevine Content Decryption Module (CDM) If CDM registration succeeded then value will be , for other values see the enumeration . Contains an error message containing additional information if is not . CdmRegistration error code error message CefRuntime - Used to simplify loading of the CefSharp architecture specific resources. Typical use case would be when you are targeting AnyCPU When using AnyCPU the architecture specific version of CefSharp.Core.Runtime.dll needs to be loaded (x64/x86). This method subscribes to the event for and loads the CefSharp.Core.Runtime.dll based on . This method MUST be called before you call Cef.Initialize, create your first ChromiumWebBrowser instance, basically before anything CefSharp related happens. This method is part of CefSharp.dll which is an AnyCPU library and doesn't have any references to the CefSharp.Core.Runtime.dll so it's safe to use. The path containing the x64/x86 folders which contain the CefSharp/CEF resources. If null then AppDomain.CurrentDomain.SetupInformation.ApplicationBase will be used as the path. ( Unsubscribe from the event for that was added in When using AnyCPU the architecture specific version of CefSharp.Core.Runtime.dll needs to be loaded (x64/x86). This method calls to immediately load CefSharp.Core.Runtime.dll based on . This method MUST be called before you call Cef.Initialize, create your first ChromiumWebBrowser instance, basically before anything CefSharp related happens. This method is part of CefSharp.dll which is an AnyCPU library and doesn't have any references to the CefSharp.Core.Runtime.dll so it's safe to use. The path containing the x64/x86 folders which contain the CefSharp/CEF resources. If null then AppDomain.CurrentDomain.SetupInformation.ApplicationBase will be used as the path. ( Default implementation of which represents the CefApp class. Return the handler for functionality specific to the browser process. This method is called on multiple threads. The browser process handler. Gets or sets the schemes. The schemes. Constructor. The browser process handler. The schemes. Provides an opportunity to register custom schemes. Do not keep a reference to the object. This method is called on the main thread for each process and the registered schemes should be the same across all processes. scheme registra. Provides an opportunity to register custom schemes. Do not keep a reference to the object. This method is called on the main thread for each process and the registered schemes should be the same across all processes. scheme registra. Releases unmanaged and managed resources to release both managed and unmanaged resources; to release only unmanaged resources. Extensions for accessing DevTools through Execute a method call over the DevTools protocol. This is a more structured version of SendDevToolsMessage. See the DevTools protocol documentation at https://chromedevtools.github.io/devtools-protocol/ for details of supported methods and the expected JSON message format. See the SendDevToolsMessage documentation for additional usage information. browser host is an incremental number that uniquely identifies the message (pass 0 to have the next number assigned automatically based on previous values) is the method name are the method parameters represented as a , which may be empty. return the assigned message Id if called on the CEF UI thread and the message was successfully submitted for validation, otherwise 0 Execute a method call over the DevTools protocol. This is a more structured version of SendDevToolsMessage. can only be called on the CEF UI Thread, this method can be called on any thread. See the DevTools protocol documentation at https://chromedevtools.github.io/devtools-protocol/ for details of supported methods and the expected dictionary contents. See the SendDevToolsMessage documentation for additional usage information. the browser instance is an incremental number that uniquely identifies the message (pass 0 to have the next number assigned automatically based on previous values) is the method name are the method parameters represented as a dictionary, which may be empty. return a Task that can be awaited to obtain the assigned message Id. If the message was unsuccessfully submitted for validation, this value will be 0. Execute a method call over the DevTools protocol. This is a more structured version of SendDevToolsMessage. can only be called on the CEF UI Thread, this method can be called on any thread. See the DevTools protocol documentation at https://chromedevtools.github.io/devtools-protocol/ for details of supported methods and the expected dictionary contents. See the SendDevToolsMessage documentation for additional usage information. the ChromiumWebBrowser instance is an incremental number that uniquely identifies the message (pass 0 to have the next number assigned automatically based on previous values) is the method name are the method parameters represented as a dictionary, which may be empty. return a Task that can be awaited to obtain the assigned message Id. If the message was unsuccessfully submitted for validation, this value will be 0. Gets a new Instance of the DevTools client for the chromiumWebBrowser instance. the chromiumWebBrowser instance DevToolsClient Gets a new Instance of the DevTools client the IBrowser instance DevToolsClient DevTool Client Generated DevToolsClient methods DevToolsEvent Capture the current so continuation executes on the original calling thread. If is null for then the continuation will be run on the CEF UI Thread (by default this is not the same as the WPF/WinForms UI Thread). When not null provided will be used to run the contination. Defaults to null Setting this property will change to false. DevToolsClient Browser associated with this DevTools client Store a reference to the IRegistration that's returned when you register an observer. registration Execute a method call over the DevTools protocol. This method can be called on any thread. See the DevTools protocol documentation at https://chromedevtools.github.io/devtools-protocol/ for details of supported methods and the expected dictionary contents. is the method name are the method parameters represented as a dictionary, which may be empty. return a Task that can be awaited to obtain the method result Enum of possible property types. boolean tristate booleanOrUndefined idref idrefList integer node nodeList number string computedString token tokenList domRelation role internalRole valueUndefined Enum of possible property sources. attribute implicit style contents placeholder relatedElement Enum of possible native property sources (as a subtype of a particular AXValueSourceType). figcaption label labelfor labelwrapped legend rubyannotation tablecaption title other A single source for a computed AX property. What type of source this is. The value of this property source. The name of the relevant attribute, if any. The value of the relevant attribute, if any. Whether this source is superseded by a higher priority source. The native markup source for this value, e.g. a <label> element. The value, such as a node or node list, of the native source. Whether the value for this property is invalid. Reason for the value being invalid, if it is. AXRelatedNode The BackendNodeId of the related DOM node. The IDRef value provided, if any. The text alternative of this node in the current context. AXProperty The name of this property. The value of this property. A single computed AX property. The type of this value. The computed value of this property. One or more related nodes, if applicable. The sources which contributed to the computation of this property. Values of AXProperty name: - from 'busy' to 'roledescription': states which apply to every AX node - from 'live' to 'root': attributes which apply to nodes in live regions - from 'autocomplete' to 'valuetext': attributes which apply to widgets - from 'checked' to 'selected': states which apply to widgets - from 'activedescendant' to 'owns' - relationships between elements other than parent/child/sibling. busy disabled editable focusable focused hidden hiddenRoot invalid keyshortcuts settable roledescription live atomic relevant root autocomplete hasPopup level multiselectable orientation multiline readonly required valuemin valuemax valuetext checked expanded modal pressed selected activedescendant controls describedby details errormessage flowto labelledby owns A node in the accessibility tree. Unique identifier for this node. Whether this node is ignored for accessibility Collection of reasons why this node is hidden. This `Node`'s role, whether explicit or implicit. The accessible name for this `Node`. The accessible description for this `Node`. The value for this `Node`. All other properties IDs for each of this node's child nodes. The backend ID for the associated DOM node, if any. GetPartialAXTreeResponse nodes GetFullAXTreeResponse nodes GetChildAXNodesResponse nodes QueryAXTreeResponse nodes Accessibility Accessibility DevToolsClient Disables the accessibility domain. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Enables the accessibility domain which causes `AXNodeId`s to remain consistent between method calls. This turns on accessibility for the page, which can impact performance until accessibility is disabled. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Fetches the accessibility node and partial accessibility tree for this DOM node, if it exists. Identifier of the node to get the partial accessibility tree for. Identifier of the backend node to get the partial accessibility tree for. JavaScript object id of the node wrapper to get the partial accessibility tree for. Whether to fetch this nodes ancestors, siblings and children. Defaults to true. returns System.Threading.Tasks.Task<GetPartialAXTreeResponse> Fetches the entire accessibility tree for the root Document The maximum depth at which descendants of the root node should be retrieved.If omitted, the full tree is returned. returns System.Threading.Tasks.Task<GetFullAXTreeResponse> Fetches a particular accessibility node by AXNodeId. Requires `enable()` to have been called previously. id returns System.Threading.Tasks.Task<GetChildAXNodesResponse> Query a DOM node's accessibility subtree for accessible name and role. This command computes the name and role for all nodes in the subtree, including those that are ignored for accessibility, and returns those that mactch the specified name and role. If no DOM node is specified, or the DOM node does not exist, the command returns an error. If neither `accessibleName` or `role` is specified, it returns all the accessibility nodes in the subtree. Identifier of the node for the root to query. Identifier of the backend node for the root to query. JavaScript object id of the node wrapper for the root to query. Find nodes with this computed name. Find nodes with this computed role. returns System.Threading.Tasks.Task<QueryAXTreeResponse> Animation instance. `Animation`'s id. `Animation`'s name. `Animation`'s internal paused state. `Animation`'s play state. `Animation`'s playback rate. `Animation`'s start time. `Animation`'s current time. Animation type of `Animation`. `Animation`'s source animation node. A unique ID for `Animation` representing the sources that triggered this CSS animation/transition. AnimationEffect instance `AnimationEffect`'s delay. `AnimationEffect`'s end delay. `AnimationEffect`'s iteration start. `AnimationEffect`'s iterations. `AnimationEffect`'s iteration duration. `AnimationEffect`'s playback direction. `AnimationEffect`'s fill mode. `AnimationEffect`'s target node. `AnimationEffect`'s keyframes. `AnimationEffect`'s timing function. Keyframes Rule CSS keyframed animation's name. List of animation keyframes. Keyframe Style Keyframe's time offset. `AnimationEffect`'s timing function. GetCurrentTimeResponse currentTime GetPlaybackRateResponse playbackRate ResolveAnimationResponse remoteObject Animation Animation DevToolsClient Disables animation domain notifications. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Enables animation domain notifications. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Returns the current time of the an animation. Id of animation. returns System.Threading.Tasks.Task<GetCurrentTimeResponse> Gets the playback rate of the document timeline. returns System.Threading.Tasks.Task<GetPlaybackRateResponse> Releases a set of animations to no longer be manipulated. List of animation ids to seek. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Gets the remote object of the Animation. Animation id. returns System.Threading.Tasks.Task<ResolveAnimationResponse> Seek a set of animations to a particular time within each animation. List of animation ids to seek. Set the current time of each animation. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Sets the paused state of a set of animations. Animations to set the pause state of. Paused state to set to. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Sets the playback rate of the document timeline. Playback rate for animations on page returns System.Threading.Tasks.Task<DevToolsMethodResponse> Sets the timing of an animation node. Animation id. Duration of the animation. Delay of the animation. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Detailed application cache resource information. Resource url. Resource size. Resource type. Detailed application cache information. Manifest URL. Application cache size. Application cache creation time. Application cache update time. Application cache resources. Frame identifier - manifest URL pair. Frame identifier. Manifest URL. Application cache status. GetApplicationCacheForFrameResponse applicationCache GetFramesWithManifestsResponse frameIds GetManifestForFrameResponse manifestURL ApplicationCache ApplicationCache DevToolsClient Enables application cache domain notifications. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Returns relevant application cache data for the document in given frame. Identifier of the frame containing document whose application cache is retrieved. returns System.Threading.Tasks.Task<GetApplicationCacheForFrameResponse> Returns array of frame identifiers with manifest urls for each frame containing a document associated with some application cache. returns System.Threading.Tasks.Task<GetFramesWithManifestsResponse> Returns manifest URL for document in the given frame. Identifier of the frame containing document whose manifest is retrieved. returns System.Threading.Tasks.Task<GetManifestForFrameResponse> Information about a cookie that is affected by an inspector issue. The following three properties uniquely identify a cookie Path Domain Information about a request that is affected by an inspector issue. The unique request id. Url Information about the frame affected by an inspector issue. FrameId SameSiteCookieExclusionReason ExcludeSameSiteUnspecifiedTreatedAsLax ExcludeSameSiteNoneInsecure ExcludeSameSiteLax ExcludeSameSiteStrict SameSiteCookieWarningReason WarnSameSiteUnspecifiedCrossSiteContext WarnSameSiteNoneInsecure WarnSameSiteUnspecifiedLaxAllowUnsafe WarnSameSiteStrictLaxDowngradeStrict WarnSameSiteStrictCrossDowngradeStrict WarnSameSiteStrictCrossDowngradeLax WarnSameSiteLaxCrossDowngradeStrict WarnSameSiteLaxCrossDowngradeLax SameSiteCookieOperation SetCookie ReadCookie This information is currently necessary, as the front-end has a difficult time finding a specific cookie. With this, we can convey specific error information without the cookie. Cookie CookieWarningReasons CookieExclusionReasons Optionally identifies the site-for-cookies and the cookie url, which may be used by the front-end as additional context. SiteForCookies CookieUrl Request MixedContentResolutionStatus MixedContentBlocked MixedContentAutomaticallyUpgraded MixedContentWarning MixedContentResourceType Audio Beacon CSPReport Download EventSource Favicon Font Form Frame Image Import Manifest Ping PluginData PluginResource Prefetch Resource Script ServiceWorker SharedWorker Stylesheet Track Video Worker XMLHttpRequest XSLT MixedContentIssueDetails The type of resource causing the mixed content issue (css, js, iframe, form,...). Marked as optional because it is mapped to from blink::mojom::RequestContextType, which will be replaced by network::mojom::RequestDestination The way the mixed content issue is being resolved. The unsafe http url causing the mixed content issue. The url responsible for the call to an unsafe url. The mixed content request. Does not always exist (e.g. for unsafe form submission urls). Optional because not every mixed content issue is necessarily linked to a frame. Enum indicating the reason a response has been blocked. These reasons are refinements of the net error BLOCKED_BY_RESPONSE. CoepFrameResourceNeedsCoepHeader CoopSandboxedIFrameCannotNavigateToCoopPage CorpNotSameOrigin CorpNotSameOriginAfterDefaultedToSameOriginByCoep CorpNotSameSite Details for a request that has been blocked with the BLOCKED_BY_RESPONSE code. Currently only used for COEP/COOP, but may be extended to include some CSP errors in the future. Request ParentFrame BlockedFrame Reason HeavyAdResolutionStatus HeavyAdBlocked HeavyAdWarning HeavyAdReason NetworkTotalLimit CpuTotalLimit CpuPeakLimit HeavyAdIssueDetails The resolution status, either blocking the content or warning. The reason the ad was blocked, total network or cpu or peak cpu. The frame that was blocked. ContentSecurityPolicyViolationType kInlineViolation kEvalViolation kURLViolation kTrustedTypesSinkViolation kTrustedTypesPolicyViolation SourceCodeLocation ScriptId Url LineNumber ColumnNumber ContentSecurityPolicyIssueDetails The url not included in allowed sources. Specific directive that is violated, causing the CSP issue. IsReportOnly ContentSecurityPolicyViolationType FrameAncestor SourceCodeLocation ViolatingNodeId SharedArrayBufferIssueType TransferIssue CreationIssue Details for a issue arising from an SAB being instantiated in, or transfered to a context that is not cross-origin isolated. SourceCodeLocation IsWarning Type TwaQualityEnforcementViolationType kHttpError kUnavailableOffline kDigitalAssetLinks TrustedWebActivityIssueDetails The url that triggers the violation. ViolationType HttpStatusCode The package name of the Trusted Web Activity client app. This field is only used when violation type is kDigitalAssetLinks. The signature of the Trusted Web Activity client app. This field is only used when violation type is kDigitalAssetLinks. LowTextContrastIssueDetails ViolatingNodeId ViolatingNodeSelector ContrastRatio ThresholdAA ThresholdAAA FontSize FontWeight Details for a CORS related issue, e.g. a warning or error related to CORS RFC1918 enforcement. CorsErrorStatus IsWarning Request InitiatorOrigin ResourceIPAddressSpace ClientSecurityState A unique identifier for the type of issue. Each type may use one of the optional fields in InspectorIssueDetails to convey more specific information about the kind of issue. SameSiteCookieIssue MixedContentIssue BlockedByResponseIssue HeavyAdIssue ContentSecurityPolicyIssue SharedArrayBufferIssue TrustedWebActivityIssue LowTextContrastIssue CorsIssue This struct holds a list of optional fields with additional information specific to the kind of issue. When adding a new issue code, please also add a new optional field to this type. SameSiteCookieIssueDetails MixedContentIssueDetails BlockedByResponseIssueDetails HeavyAdIssueDetails ContentSecurityPolicyIssueDetails SharedArrayBufferIssueDetails TwaQualityEnforcementDetails LowTextContrastIssueDetails CorsIssueDetails An inspector issue reported from the back-end. Code Details GetEncodedResponseResponse body originalSize encodedSize Audits domain allows investigation of page violations and possible improvements. Audits DevToolsClient Returns the response body and size if it were re-encoded with the specified settings. Only applies to images. Identifier of the network request to get content for. The encoding to use. The quality of the encoding (0-1). (defaults to 1) Whether to only return the size information (defaults to false). returns System.Threading.Tasks.Task<GetEncodedResponseResponse> Disables issues domain, prevents further issues from being reported to the client. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Enables issues domain, sends the issues collected so far to the client by means of the `issueAdded` event. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Runs the contrast check for the target page. Found issues are reported using Audits.issueAdded event. Whether to report WCAG AAA level issues. Default is false. returns System.Threading.Tasks.Task<DevToolsMethodResponse> The Background Service that will be associated with the commands/events. Every Background Service operates independently, but they share the same API. backgroundFetch backgroundSync pushMessaging notifications paymentHandler periodicBackgroundSync A key-value pair for additional event information to pass along. Key Value BackgroundServiceEvent Timestamp of the event (in seconds). The origin this event belongs to. The Service Worker ID that initiated the event. The Background Service this event belongs to. A description of the event. An identifier that groups related events together. A list of event-specific information. Defines events for background web platform features. BackgroundService DevToolsClient Enables event updates for the service. service returns System.Threading.Tasks.Task<DevToolsMethodResponse> Disables event updates for the service. service returns System.Threading.Tasks.Task<DevToolsMethodResponse> Set the recording state for the service. shouldRecord service returns System.Threading.Tasks.Task<DevToolsMethodResponse> Clears all stored data for the service. service returns System.Threading.Tasks.Task<DevToolsMethodResponse> The state of the browser window. normal minimized maximized fullscreen Browser window bounds information The offset from the left edge of the screen to the window in pixels. The offset from the top edge of the screen to the window in pixels. The window width in pixels. The window height in pixels. The window state. Default to normal. PermissionType accessibilityEvents audioCapture backgroundSync backgroundFetch clipboardReadWrite clipboardSanitizedWrite displayCapture durableStorage flash geolocation midi midiSysex nfc notifications paymentHandler periodicBackgroundSync protectedMediaIdentifier sensors videoCapture videoCapturePanTiltZoom idleDetection wakeLockScreen wakeLockSystem PermissionSetting granted denied prompt Definition of PermissionDescriptor defined in the Permissions API: https://w3c.github.io/permissions/#dictdef-permissiondescriptor. Name of permission. See https://cs.chromium.org/chromium/src/third_party/blink/renderer/modules/permissions/permission_descriptor.idl for valid permission names. For "midi" permission, may also specify sysex control. For "push" permission, may specify userVisibleOnly. Note that userVisibleOnly = true is the only currently supported type. For "clipboard" permission, may specify allowWithoutSanitization. For "camera" permission, may specify panTiltZoom. Browser command ids used by executeBrowserCommand. openTabSearch closeTabSearch Chrome histogram bucket. Minimum value (inclusive). Maximum value (exclusive). Number of samples. Chrome histogram. Name. Sum of sample values. Total number of samples. Buckets. GetVersionResponse protocolVersion product revision userAgent jsVersion GetBrowserCommandLineResponse arguments GetHistogramsResponse histograms GetHistogramResponse histogram GetWindowBoundsResponse bounds GetWindowForTargetResponse windowId bounds The Browser domain defines methods and events for browser managing. Browser DevToolsClient Set permission settings for given origin. Descriptor of permission to override. Setting of the permission. Origin the permission applies to, all origins if not specified. Context to override. When omitted, default browser context is used. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Grant specific permissions to the given origin and reject all others. permissions Origin the permission applies to, all origins if not specified. BrowserContext to override permissions. When omitted, default browser context is used. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Reset all permission management for all origins. BrowserContext to reset permissions. When omitted, default browser context is used. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Set the behavior when downloading a file. Whether to allow all or deny all download requests, or use default Chrome behavior ifavailable (otherwise deny). |allowAndName| allows download and names files according totheir dowmload guids. BrowserContext to set download behavior. When omitted, default browser context is used. The default path to save downloaded files to. This is requred if behavior is set to 'allow'or 'allowAndName'. Whether to emit download events (defaults to false). returns System.Threading.Tasks.Task<DevToolsMethodResponse> Cancel a download if in progress Global unique identifier of the download. BrowserContext to perform the action in. When omitted, default browser context is used. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Close browser gracefully. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Crashes browser on the main thread. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Crashes GPU process. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Returns version information. returns System.Threading.Tasks.Task<GetVersionResponse> Returns the command line switches for the browser process if, and only if --enable-automation is on the commandline. returns System.Threading.Tasks.Task<GetBrowserCommandLineResponse> Get Chrome histograms. Requested substring in name. Only histograms which have query as asubstring in their name are extracted. An empty or absent query returnsall histograms. If true, retrieve delta since last call. returns System.Threading.Tasks.Task<GetHistogramsResponse> Get a Chrome histogram by name. Requested histogram name. If true, retrieve delta since last call. returns System.Threading.Tasks.Task<GetHistogramResponse> Get position and size of the browser window. Browser window id. returns System.Threading.Tasks.Task<GetWindowBoundsResponse> Get the browser window that contains the devtools target. Devtools agent host id. If called as a part of the session, associated targetId is used. returns System.Threading.Tasks.Task<GetWindowForTargetResponse> Set position and/or size of the browser window. Browser window id. New window bounds. The 'minimized', 'maximized' and 'fullscreen' states cannot be combinedwith 'left', 'top', 'width' or 'height'. Leaves unspecified fields unchanged. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Set dock tile details, platform-specific. badgeLabel Png encoded image. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Invoke custom browser commands used by telemetry. commandId returns System.Threading.Tasks.Task<DevToolsMethodResponse> Stylesheet type: "injected" for stylesheets injected via extension, "user-agent" for user-agent stylesheets, "inspector" for stylesheets created by the inspector (i.e. those holding the "via inspector" rules), "regular" for regular stylesheets. injected user-agent inspector regular CSS rule collection for a single pseudo style. Pseudo element type. Matches of CSS rules applicable to the pseudo style. Inherited CSS rule collection from ancestor node. The ancestor node's inline style, if any, in the style inheritance chain. Matches of CSS rules matching the ancestor node in the style inheritance chain. Match data for a CSS rule. CSS rule in the match. Matching selector indices in the rule's selectorList selectors (0-based). Data for a simple selector (these are delimited by commas in a selector list). Value text. Value range in the underlying resource (if available). Selector list data. Selectors in the list. Rule selector text. CSS stylesheet metainformation. The stylesheet identifier. Owner frame identifier. Stylesheet resource URL. URL of source map associated with the stylesheet (if any). Stylesheet origin. Stylesheet title. The backend id for the owner node of the stylesheet. Denotes whether the stylesheet is disabled. Whether the sourceURL field value comes from the sourceURL comment. Whether this stylesheet is created for STYLE tag by parser. This flag is not set for document.written STYLE tags. Whether this stylesheet is mutable. Inline stylesheets become mutable after they have been modified via CSSOM API. <link> element's stylesheets become mutable only if DevTools modifies them. Constructed stylesheets (new CSSStyleSheet()) are mutable immediately after creation. Whether this stylesheet is a constructed stylesheet (created using new CSSStyleSheet()). Line offset of the stylesheet within the resource (zero based). Column offset of the stylesheet within the resource (zero based). Size of the content (in characters). Line offset of the end of the stylesheet within the resource (zero based). Column offset of the end of the stylesheet within the resource (zero based). CSS rule representation. The css style sheet identifier (absent for user agent stylesheet and user-specified stylesheet rules) this rule came from. Rule selector data. Parent stylesheet's origin. Associated style declaration. Media list array (for rules involving media queries). The array enumerates media queries starting with the innermost one, going outwards. CSS coverage information. The css style sheet identifier (absent for user agent stylesheet and user-specified stylesheet rules) this rule came from. Offset of the start of the rule (including selector) from the beginning of the stylesheet. Offset of the end of the rule body from the beginning of the stylesheet. Indicates whether the rule was actually used by some element in the page. Text range within a resource. All numbers are zero-based. Start line of range. Start column of range (inclusive). End line of range End column of range (exclusive). ShorthandEntry Shorthand name. Shorthand value. Whether the property has "!important" annotation (implies `false` if absent). CSSComputedStyleProperty Computed style property name. Computed style property value. CSS style representation. The css style sheet identifier (absent for user agent stylesheet and user-specified stylesheet rules) this rule came from. CSS properties in the style. Computed values for all shorthands found in the style. Style declaration text (if available). Style declaration range in the enclosing stylesheet (if available). CSS property declaration data. The property name. The property value. Whether the property has "!important" annotation (implies `false` if absent). Whether the property is implicit (implies `false` if absent). The full property text as specified in the style. Whether the property is understood by the browser (implies `true` if absent). Whether the property is disabled by the user (present for source-based properties only). The entire property range in the enclosing style declaration (if available). CSS media rule descriptor. Media query text. Source of the media query: "mediaRule" if specified by a @media rule, "importRule" if specified by an @import rule, "linkedSheet" if specified by a "media" attribute in a linked stylesheet's LINK tag, "inlineSheet" if specified by a "media" attribute in an inline stylesheet's STYLE tag. URL of the document containing the media query description. The associated rule (@media or @import) header range in the enclosing stylesheet (if available). Identifier of the stylesheet containing this object (if exists). Array of media queries. Media query descriptor. Array of media query expressions. Whether the media query condition is satisfied. Media query expression descriptor. Media query expression value. Media query expression units. Media query expression feature. The associated range of the value text in the enclosing stylesheet (if available). Computed length of media query expression (if applicable). Information about amount of glyphs that were rendered with given font. Font's family name reported by platform. Indicates if the font was downloaded or resolved locally. Amount of glyphs that were rendered with this font. Information about font variation axes for variable fonts The font-variation-setting tag (a.k.a. "axis tag"). Human-readable variation name in the default language (normally, "en"). The minimum value (inclusive) the font supports for this tag. The maximum value (inclusive) the font supports for this tag. The default value. Properties of a web font: https://www.w3.org/TR/2008/REC-CSS2-20080411/fonts.html#font-descriptions and additional information such as platformFontFamily and fontVariationAxes. The font-family. The font-style. The font-variant. The font-weight. The font-stretch. The unicode-range. The src. The resolved platform font family Available variation settings (a.k.a. "axes"). CSS keyframes rule representation. Animation name. List of keyframes. CSS keyframe rule representation. The css style sheet identifier (absent for user agent stylesheet and user-specified stylesheet rules) this rule came from. Parent stylesheet's origin. Associated key text. Associated style declaration. A descriptor of operation to mutate style declaration text. The css style sheet identifier. The range of the style text in the enclosing stylesheet. New style text. AddRuleResponse rule CollectClassNamesResponse classNames CreateStyleSheetResponse styleSheetId GetBackgroundColorsResponse backgroundColors computedFontSize computedFontWeight GetComputedStyleForNodeResponse computedStyle GetInlineStylesForNodeResponse inlineStyle attributesStyle GetMatchedStylesForNodeResponse inlineStyle attributesStyle matchedCSSRules pseudoElements inherited cssKeyframesRules GetMediaQueriesResponse medias GetPlatformFontsForNodeResponse fonts GetStyleSheetTextResponse text TakeComputedStyleUpdatesResponse nodeIds SetKeyframeKeyResponse keyText SetMediaTextResponse media SetRuleSelectorResponse selectorList SetStyleSheetTextResponse sourceMapURL SetStyleTextsResponse styles StopRuleUsageTrackingResponse ruleUsage TakeCoverageDeltaResponse coverage timestamp This domain exposes CSS read/write operations. All CSS objects (stylesheets, rules, and styles) have an associated `id` used in subsequent operations on the related object. Each object type has a specific `id` structure, and those are not interchangeable between objects of different kinds. CSS objects can be loaded using the `get*ForNode()` calls (which accept a DOM node id). A client can also keep track of stylesheets via the `styleSheetAdded`/`styleSheetRemoved` events and subsequently load the required stylesheet contents using the `getStyleSheet[Text]()` methods. CSS DevToolsClient Inserts a new rule with the given `ruleText` in a stylesheet with given `styleSheetId`, at the position specified by `location`. The css style sheet identifier where a new rule should be inserted. The text of a new rule. Text position of a new rule in the target style sheet. returns System.Threading.Tasks.Task<AddRuleResponse> Returns all class names from specified stylesheet. styleSheetId returns System.Threading.Tasks.Task<CollectClassNamesResponse> Creates a new special "via-inspector" stylesheet in the frame with given `frameId`. Identifier of the frame where "via-inspector" stylesheet should be created. returns System.Threading.Tasks.Task<CreateStyleSheetResponse> Disables the CSS agent for the given page. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Enables the CSS agent for the given page. Clients should not assume that the CSS agent has been enabled until the result of this command is received. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Ensures that the given node will have specified pseudo-classes whenever its style is computed by the browser. The element id for which to force the pseudo state. Element pseudo classes to force when computing the element's style. returns System.Threading.Tasks.Task<DevToolsMethodResponse> GetBackgroundColors Id of the node to get background colors for. returns System.Threading.Tasks.Task<GetBackgroundColorsResponse> Returns the computed style for a DOM node identified by `nodeId`. nodeId returns System.Threading.Tasks.Task<GetComputedStyleForNodeResponse> Returns the styles defined inline (explicitly in the "style" attribute and implicitly, using DOM attributes) for a DOM node identified by `nodeId`. nodeId returns System.Threading.Tasks.Task<GetInlineStylesForNodeResponse> Returns requested styles for a DOM node identified by `nodeId`. nodeId returns System.Threading.Tasks.Task<GetMatchedStylesForNodeResponse> Returns all media queries parsed by the rendering engine. returns System.Threading.Tasks.Task<GetMediaQueriesResponse> Requests information about platform fonts which we used to render child TextNodes in the given node. nodeId returns System.Threading.Tasks.Task<GetPlatformFontsForNodeResponse> Returns the current textual content for a stylesheet. styleSheetId returns System.Threading.Tasks.Task<GetStyleSheetTextResponse> Starts tracking the given computed styles for updates. The specified array of properties replaces the one previously specified. Pass empty array to disable tracking. Use takeComputedStyleUpdates to retrieve the list of nodes that had properties modified. The changes to computed style properties are only tracked for nodes pushed to the front-end by the DOM agent. If no changes to the tracked properties occur after the node has been pushed to the front-end, no updates will be issued for the node. propertiesToTrack returns System.Threading.Tasks.Task<DevToolsMethodResponse> Polls the next batch of computed style updates. returns System.Threading.Tasks.Task<TakeComputedStyleUpdatesResponse> Find a rule with the given active property for the given node and set the new value for this property The element id for which to set property. propertyName value returns System.Threading.Tasks.Task<DevToolsMethodResponse> Modifies the keyframe rule key text. styleSheetId range keyText returns System.Threading.Tasks.Task<SetKeyframeKeyResponse> Modifies the rule selector. styleSheetId range text returns System.Threading.Tasks.Task<SetMediaTextResponse> Modifies the rule selector. styleSheetId range selector returns System.Threading.Tasks.Task<SetRuleSelectorResponse> Sets the new stylesheet text. styleSheetId text returns System.Threading.Tasks.Task<SetStyleSheetTextResponse> Applies specified style edits one after another in the given order. edits returns System.Threading.Tasks.Task<SetStyleTextsResponse> Enables the selector recording. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Stop tracking rule usage and return the list of rules that were used since last call to `takeCoverageDelta` (or since start of coverage instrumentation) returns System.Threading.Tasks.Task<StopRuleUsageTrackingResponse> Obtain list of rules that became used since last call to this method (or since start of coverage instrumentation) returns System.Threading.Tasks.Task<TakeCoverageDeltaResponse> Enables/disables rendering of local CSS fonts (enabled by default). Whether rendering of local fonts is enabled. returns System.Threading.Tasks.Task<DevToolsMethodResponse> type of HTTP response cached basic cors default error opaqueResponse opaqueRedirect Data entry. Request URL. Request method. Request headers Number of seconds since epoch. HTTP response status code. HTTP response status text. HTTP response type Response headers Cache identifier. An opaque unique id of the cache. Security origin of the cache. The name of the cache. Header Name Value Cached response Entry content, base64-encoded. RequestCacheNamesResponse caches RequestCachedResponseResponse response RequestEntriesResponse cacheDataEntries returnCount CacheStorage CacheStorage DevToolsClient Deletes a cache. Id of cache for deletion. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Deletes a cache entry. Id of cache where the entry will be deleted. URL spec of the request. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Requests cache names. Security origin. returns System.Threading.Tasks.Task<RequestCacheNamesResponse> Fetches cache entry. Id of cache that contains the entry. URL spec of the request. headers of the request. returns System.Threading.Tasks.Task<RequestCachedResponseResponse> Requests data from cache. ID of cache to get entries from. Number of records to skip. Number of records to fetch. If present, only return the entries containing this substring in the path returns System.Threading.Tasks.Task<RequestEntriesResponse> Sink Name Id Text describing the current session. Present only if there is an active session on the sink. A domain for interacting with Cast, Presentation API, and Remote Playback API functionalities. Cast DevToolsClient Starts observing for sinks that can be used for tab mirroring, and if set, sinks compatible with |presentationUrl| as well. When sinks are found, a |sinksUpdated| event is fired. Also starts observing for issue messages. When an issue is added or removed, an |issueUpdated| event is fired. presentationUrl returns System.Threading.Tasks.Task<DevToolsMethodResponse> Stops observing for sinks and issues. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Sets a sink to be used when the web page requests the browser to choose a sink via Presentation API, Remote Playback API, or Cast SDK. sinkName returns System.Threading.Tasks.Task<DevToolsMethodResponse> Starts mirroring the tab to the sink. sinkName returns System.Threading.Tasks.Task<DevToolsMethodResponse> Stops the active Cast session on the sink. sinkName returns System.Threading.Tasks.Task<DevToolsMethodResponse> Backend node with a friendly name. `Node`'s nodeType. `Node`'s nodeName. BackendNodeId Pseudo element type. first-line first-letter before after marker backdrop selection target-text spelling-error grammar-error first-line-inherited scrollbar scrollbar-thumb scrollbar-button scrollbar-track scrollbar-track-piece scrollbar-corner resizer input-list-button Shadow root type. user-agent open closed DOM interaction is implemented in terms of mirror objects that represent the actual DOM nodes. DOMNode is a base node mirror type. Node identifier that is passed into the rest of the DOM messages as the `nodeId`. Backend will only push node with given `id` once. It is aware of all requested nodes and will only fire DOM events for nodes known to the client. The id of the parent node if any. The BackendNodeId for this node. `Node`'s nodeType. `Node`'s nodeName. `Node`'s localName. `Node`'s nodeValue. Child count for `Container` nodes. Child nodes of this node when requested with children. Attributes of the `Element` node in the form of flat array `[name1, value1, name2, value2]`. Document URL that `Document` or `FrameOwner` node points to. Base URL that `Document` or `FrameOwner` node uses for URL completion. `DocumentType`'s publicId. `DocumentType`'s systemId. `DocumentType`'s internalSubset. `Document`'s XML version in case of XML documents. `Attr`'s name. `Attr`'s value. Pseudo element type for this node. Shadow root type. Frame ID for frame owner elements. Content document for frame owner elements. Shadow root list for given element host. Content document fragment for template elements. Pseudo elements associated with this node. Import document for the HTMLImport links. Distributed nodes for given insertion point. Whether the node is SVG. A structure holding an RGBA color. The red component, in the [0-255] range. The green component, in the [0-255] range. The blue component, in the [0-255] range. The alpha component, in the [0-1] range (default: 1). Box model. Content box Padding box Border box Margin box Node width Node height Shape outside coordinates CSS Shape Outside details. Shape bounds Shape coordinate details Margin shape bounds Rectangle. X coordinate Y coordinate Rectangle width Rectangle height CSSComputedStyleProperty Computed style property name. Computed style property value. CollectClassNamesFromSubtreeResponse classNames CopyToResponse nodeId DescribeNodeResponse node GetAttributesResponse attributes GetBoxModelResponse model GetContentQuadsResponse quads GetDocumentResponse root GetNodesForSubtreeByStyleResponse nodeIds GetNodeForLocationResponse backendNodeId frameId nodeId GetOuterHTMLResponse outerHTML GetRelayoutBoundaryResponse nodeId GetSearchResultsResponse nodeIds MoveToResponse nodeId PerformSearchResponse searchId resultCount PushNodeByPathToFrontendResponse nodeId PushNodesByBackendIdsToFrontendResponse nodeIds QuerySelectorResponse nodeId QuerySelectorAllResponse nodeIds RequestNodeResponse nodeId ResolveNodeResponse object GetNodeStackTracesResponse creation GetFileInfoResponse path SetNodeNameResponse nodeId GetFrameOwnerResponse backendNodeId nodeId This domain exposes DOM read/write operations. Each DOM Node is represented with its mirror object that has an `id`. This `id` can be used to get additional information on the Node, resolve it into the JavaScript object wrapper, etc. It is important that client receives DOM events only for the nodes that are known to the client. Backend keeps track of the nodes that were sent to the client and never sends the same node twice. It is client's responsibility to collect information about the nodes that were sent to the client.<p>Note that `iframe` owner elements will return corresponding document elements as their child nodes.</p> DOM DevToolsClient Collects class names for the node with given id and all of it's child nodes. Id of the node to collect class names. returns System.Threading.Tasks.Task<CollectClassNamesFromSubtreeResponse> Creates a deep copy of the specified node and places it into the target container before the given anchor. Id of the node to copy. Id of the element to drop the copy into. Drop the copy before this node (if absent, the copy becomes the last child of`targetNodeId`). returns System.Threading.Tasks.Task<CopyToResponse> Describes node given its id, does not require domain to be enabled. Does not start tracking any objects, can be used for automation. Identifier of the node. Identifier of the backend node. JavaScript object id of the node wrapper. The maximum depth at which children should be retrieved, defaults to 1. Use -1 for theentire subtree or provide an integer larger than 0. Whether or not iframes and shadow roots should be traversed when returning the subtree(default is false). returns System.Threading.Tasks.Task<DescribeNodeResponse> Scrolls the specified rect of the given node into view if not already visible. Note: exactly one between nodeId, backendNodeId and objectId should be passed to identify the node. Identifier of the node. Identifier of the backend node. JavaScript object id of the node wrapper. The rect to be scrolled into view, relative to the node's border box, in CSS pixels.When omitted, center of the node will be used, similar to Element.scrollIntoView. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Disables DOM agent for the given page. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Discards search results from the session with the given id. `getSearchResults` should no longer be called for that search. Unique search session identifier. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Enables DOM agent for the given page. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Focuses the given element. Identifier of the node. Identifier of the backend node. JavaScript object id of the node wrapper. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Returns attributes for the specified node. Id of the node to retrieve attibutes for. returns System.Threading.Tasks.Task<GetAttributesResponse> Returns boxes for the given node. Identifier of the node. Identifier of the backend node. JavaScript object id of the node wrapper. returns System.Threading.Tasks.Task<GetBoxModelResponse> Returns quads that describe node position on the page. This method might return multiple quads for inline nodes. Identifier of the node. Identifier of the backend node. JavaScript object id of the node wrapper. returns System.Threading.Tasks.Task<GetContentQuadsResponse> Returns the root DOM node (and optionally the subtree) to the caller. The maximum depth at which children should be retrieved, defaults to 1. Use -1 for theentire subtree or provide an integer larger than 0. Whether or not iframes and shadow roots should be traversed when returning the subtree(default is false). returns System.Threading.Tasks.Task<GetDocumentResponse> Finds nodes with a given computed style in a subtree. Node ID pointing to the root of a subtree. The style to filter nodes by (includes nodes if any of properties matches). Whether or not iframes and shadow roots in the same target should be traversed when returning theresults (default is false). returns System.Threading.Tasks.Task<GetNodesForSubtreeByStyleResponse> Returns node id at given location. Depending on whether DOM domain is enabled, nodeId is either returned or not. X coordinate. Y coordinate. False to skip to the nearest non-UA shadow root ancestor (default: false). Whether to ignore pointer-events: none on elements and hit test them. returns System.Threading.Tasks.Task<GetNodeForLocationResponse> Returns node's HTML markup. Identifier of the node. Identifier of the backend node. JavaScript object id of the node wrapper. returns System.Threading.Tasks.Task<GetOuterHTMLResponse> Returns the id of the nearest ancestor that is a relayout boundary. Id of the node. returns System.Threading.Tasks.Task<GetRelayoutBoundaryResponse> Returns search results from given `fromIndex` to given `toIndex` from the search with the given identifier. Unique search session identifier. Start index of the search result to be returned. End index of the search result to be returned. returns System.Threading.Tasks.Task<GetSearchResultsResponse> Hides any highlight. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Highlights DOM node. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Highlights given rectangle. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Marks last undoable state. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Moves node into the new container, places it before the given anchor. Id of the node to move. Id of the element to drop the moved node into. Drop node before this one (if absent, the moved node becomes the last child of`targetNodeId`). returns System.Threading.Tasks.Task<MoveToResponse> Searches for a given string in the DOM tree. Use `getSearchResults` to access search results or `cancelSearch` to end this search session. Plain text or query selector or XPath search query. True to search in user agent shadow DOM. returns System.Threading.Tasks.Task<PerformSearchResponse> Requests that the node is sent to the caller given its path. // FIXME, use XPath Path to node in the proprietary format. returns System.Threading.Tasks.Task<PushNodeByPathToFrontendResponse> Requests that a batch of nodes is sent to the caller given their backend node ids. The array of backend node ids. returns System.Threading.Tasks.Task<PushNodesByBackendIdsToFrontendResponse> Executes `querySelector` on a given node. Id of the node to query upon. Selector string. returns System.Threading.Tasks.Task<QuerySelectorResponse> Executes `querySelectorAll` on a given node. Id of the node to query upon. Selector string. returns System.Threading.Tasks.Task<QuerySelectorAllResponse> Re-does the last undone action. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Removes attribute with given name from an element with given id. Id of the element to remove attribute from. Name of the attribute to remove. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Removes node with given id. Id of the node to remove. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Requests that children of the node with given id are returned to the caller in form of `setChildNodes` events where not only immediate children are retrieved, but all children down to the specified depth. Id of the node to get children for. The maximum depth at which children should be retrieved, defaults to 1. Use -1 for theentire subtree or provide an integer larger than 0. Whether or not iframes and shadow roots should be traversed when returning the sub-tree(default is false). returns System.Threading.Tasks.Task<DevToolsMethodResponse> Requests that the node is sent to the caller given the JavaScript node object reference. All nodes that form the path from the node to the root are also sent to the client as a series of `setChildNodes` notifications. JavaScript object id to convert into node. returns System.Threading.Tasks.Task<RequestNodeResponse> Resolves the JavaScript node object for a given NodeId or BackendNodeId. Id of the node to resolve. Backend identifier of the node to resolve. Symbolic group name that can be used to release multiple objects. Execution context in which to resolve the node. returns System.Threading.Tasks.Task<ResolveNodeResponse> Sets attribute for an element with given id. Id of the element to set attribute for. Attribute name. Attribute value. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Sets attributes on element with given id. This method is useful when user edits some existing attribute value and types in several attribute name/value pairs. Id of the element to set attributes for. Text with a number of attributes. Will parse this text using HTML parser. Attribute name to replace with new attributes derived from text in case text parsedsuccessfully. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Sets files for the given file input element. Array of file paths to set. Identifier of the node. Identifier of the backend node. JavaScript object id of the node wrapper. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Sets if stack traces should be captured for Nodes. See `Node.getNodeStackTraces`. Default is disabled. Enable or disable. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Gets stack traces associated with a Node. As of now, only provides stack trace for Node creation. Id of the node to get stack traces for. returns System.Threading.Tasks.Task<GetNodeStackTracesResponse> Returns file information for the given File wrapper. JavaScript object id of the node wrapper. returns System.Threading.Tasks.Task<GetFileInfoResponse> Enables console to refer to the node with given id via $x (see Command Line API for more details $x functions). DOM node id to be accessible by means of $x command line API. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Sets node name for a node with given id. Id of the node to set name for. New node's name. returns System.Threading.Tasks.Task<SetNodeNameResponse> Sets node value for a node with given id. Id of the node to set value for. New node's value. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Sets node HTML markup, returns new node id. Id of the node to set markup for. Outer HTML markup to set. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Undoes the last performed action. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Returns iframe node that owns iframe with the given domain. frameId returns System.Threading.Tasks.Task<GetFrameOwnerResponse> DOM breakpoint type. subtree-modified attribute-modified node-removed CSP Violation type. trustedtype-sink-violation trustedtype-policy-violation Object event listener. `EventListener`'s type. `EventListener`'s useCapture. `EventListener`'s passive flag. `EventListener`'s once flag. Script id of the handler code. Line number in the script (0-based). Column number in the script (0-based). Event handler function value. Event original handler function value. Node the listener is added to (if any). GetEventListenersResponse listeners DOM debugging allows setting breakpoints on particular DOM operations and events. JavaScript execution will stop on these operations as if there was a regular breakpoint set. DOMDebugger DevToolsClient Returns event listeners of the given object. Identifier of the object to return listeners for. The maximum depth at which Node children should be retrieved, defaults to 1. Use -1 for theentire subtree or provide an integer larger than 0. Whether or not iframes and shadow roots should be traversed when returning the subtree(default is false). Reports listeners for all contexts if pierce is enabled. returns System.Threading.Tasks.Task<GetEventListenersResponse> Removes DOM breakpoint that was set using `setDOMBreakpoint`. Identifier of the node to remove breakpoint from. Type of the breakpoint to remove. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Removes breakpoint on particular DOM event. Event name. EventTarget interface name. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Removes breakpoint on particular native event. Instrumentation name to stop on. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Removes breakpoint from XMLHttpRequest. Resource URL substring. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Sets breakpoint on particular CSP violations. CSP Violations to stop upon. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Sets breakpoint on particular operation with DOM. Identifier of the node to set breakpoint on. Type of the operation to stop upon. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Sets breakpoint on particular DOM event. DOM Event name to stop on (any DOM event will do). EventTarget interface name to stop on. If equal to `"*"` or not provided, will stop on anyEventTarget. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Sets breakpoint on particular native event. Instrumentation name to stop on. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Sets breakpoint on XMLHttpRequest. Resource URL substring. All XHRs having this substring in the URL will get stopped upon. returns System.Threading.Tasks.Task<DevToolsMethodResponse> A Node in the DOM tree. `Node`'s nodeType. `Node`'s nodeName. `Node`'s nodeValue. Only set for textarea elements, contains the text value. Only set for input elements, contains the input's associated text value. Only set for radio and checkbox input elements, indicates if the element has been checked Only set for option elements, indicates if the element has been selected `Node`'s id, corresponds to DOM.Node.backendNodeId. The indexes of the node's child nodes in the `domNodes` array returned by `getSnapshot`, if any. Attributes of an `Element` node. Indexes of pseudo elements associated with this node in the `domNodes` array returned by `getSnapshot`, if any. The index of the node's related layout tree node in the `layoutTreeNodes` array returned by `getSnapshot`, if any. Document URL that `Document` or `FrameOwner` node points to. Base URL that `Document` or `FrameOwner` node uses for URL completion. Only set for documents, contains the document's content language. Only set for documents, contains the document's character set encoding. `DocumentType` node's publicId. `DocumentType` node's systemId. Frame ID for frame owner elements and also for the document node. The index of a frame owner element's content document in the `domNodes` array returned by `getSnapshot`, if any. Type of a pseudo element node. Shadow root type. Whether this DOM node responds to mouse clicks. This includes nodes that have had click event listeners attached via JavaScript as well as anchor tags that naturally navigate when clicked. Details of the node's event listeners, if any. The selected url for nodes with a srcset attribute. The url of the script (if any) that generates this node. Scroll offsets, set when this node is a Document. ScrollOffsetY Details of post layout rendered text positions. The exact layout should not be regarded as stable and may change between versions. The bounding box in document coordinates. Note that scroll offset of the document is ignored. The starting index in characters, for this post layout textbox substring. Characters that would be represented as a surrogate pair in UTF-16 have length 2. The number of characters in this post layout textbox substring. Characters that would be represented as a surrogate pair in UTF-16 have length 2. Details of an element in the DOM tree with a LayoutObject. The index of the related DOM node in the `domNodes` array returned by `getSnapshot`. The bounding box in document coordinates. Note that scroll offset of the document is ignored. Contents of the LayoutText, if any. The post-layout inline text nodes, if any. Index into the `computedStyles` array returned by `getSnapshot`. Global paint order index, which is determined by the stacking order of the nodes. Nodes that are painted together will have the same index. Only provided if includePaintOrder in getSnapshot was true. Set to true to indicate the element begins a new stacking context. A subset of the full ComputedStyle as defined by the request whitelist. Name/value pairs of computed style properties. A name/value pair. Attribute/property name. Attribute/property value. Data that is only present on rare nodes. Index Value RareBooleanData Index RareIntegerData Index Value Document snapshot. Document URL that `Document` or `FrameOwner` node points to. Document title. Base URL that `Document` or `FrameOwner` node uses for URL completion. Contains the document's content language. Contains the document's character set encoding. `DocumentType` node's publicId. `DocumentType` node's systemId. Frame ID for frame owner elements and also for the document node. A table with dom nodes. The nodes in the layout tree. The post-layout inline text nodes. Horizontal scroll offset. Vertical scroll offset. Document content width. Document content height. Table containing nodes. Parent node index. `Node`'s nodeType. `Node`'s nodeName. `Node`'s nodeValue. `Node`'s id, corresponds to DOM.Node.backendNodeId. Attributes of an `Element` node. Flatten name, value pairs. Only set for textarea elements, contains the text value. Only set for input elements, contains the input's associated text value. Only set for radio and checkbox input elements, indicates if the element has been checked Only set for option elements, indicates if the element has been selected The index of the document in the list of the snapshot documents. Type of a pseudo element node. Whether this DOM node responds to mouse clicks. This includes nodes that have had click event listeners attached via JavaScript as well as anchor tags that naturally navigate when clicked. The selected url for nodes with a srcset attribute. The url of the script (if any) that generates this node. Table of details of an element in the DOM tree with a LayoutObject. Index of the corresponding node in the `NodeTreeSnapshot` array returned by `captureSnapshot`. Array of indexes specifying computed style strings, filtered according to the `computedStyles` parameter passed to `captureSnapshot`. The absolute position bounding box. Contents of the LayoutText, if any. Stacking context information. Global paint order index, which is determined by the stacking order of the nodes. Nodes that are painted together will have the same index. Only provided if includePaintOrder in captureSnapshot was true. The offset rect of nodes. Only available when includeDOMRects is set to true The scroll rect of nodes. Only available when includeDOMRects is set to true The client rect of nodes. Only available when includeDOMRects is set to true Table of details of the post layout rendered text positions. The exact layout should not be regarded as stable and may change between versions. Index of the layout tree node that owns this box collection. The absolute position bounding box. The starting index in characters, for this post layout textbox substring. Characters that would be represented as a surrogate pair in UTF-16 have length 2. The number of characters in this post layout textbox substring. Characters that would be represented as a surrogate pair in UTF-16 have length 2. CaptureSnapshotResponse documents strings This domain facilitates obtaining document snapshots with DOM, layout, and style information. DOMSnapshot DevToolsClient Disables DOM snapshot agent for the given page. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Enables DOM snapshot agent for the given page. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Returns a document snapshot, including the full DOM tree of the root node (including iframes, template contents, and imported documents) in a flattened array, as well as layout and white-listed computed style information for the nodes. Shadow DOM in the returned DOM tree is flattened. Whitelist of computed styles to return. Whether to include layout object paint orders into the snapshot. Whether to include DOM rectangles (offsetRects, clientRects, scrollRects) into the snapshot returns System.Threading.Tasks.Task<CaptureSnapshotResponse> DOM Storage identifier. Security origin for the storage. Whether the storage is local storage (not session storage). GetDOMStorageItemsResponse entries Query and modify DOM storage. DOMStorage DevToolsClient Clear storageId returns System.Threading.Tasks.Task<DevToolsMethodResponse> Disables storage tracking, prevents storage events from being sent to the client. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Enables storage tracking, storage events will now be delivered to the client. returns System.Threading.Tasks.Task<DevToolsMethodResponse> GetDOMStorageItems storageId returns System.Threading.Tasks.Task<GetDOMStorageItemsResponse> RemoveDOMStorageItem storageId key returns System.Threading.Tasks.Task<DevToolsMethodResponse> SetDOMStorageItem storageId key value returns System.Threading.Tasks.Task<DevToolsMethodResponse> Database object. Database ID. Database domain. Database name. Database version. Database error. Error message. Error code. ExecuteSQLResponse columnNames values sqlError GetDatabaseTableNamesResponse tableNames Database Database DevToolsClient Disables database tracking, prevents database events from being sent to the client. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Enables database tracking, database events will now be delivered to the client. returns System.Threading.Tasks.Task<DevToolsMethodResponse> ExecuteSQL databaseId query returns System.Threading.Tasks.Task<ExecuteSQLResponse> GetDatabaseTableNames databaseId returns System.Threading.Tasks.Task<GetDatabaseTableNamesResponse> Screen orientation. Orientation type. Orientation angle. DisplayFeature Orientation of a display feature in relation to screen The offset from the screen origin in either the x (for vertical orientation) or y (for horizontal orientation) direction. A display feature may mask content such that it is not physically displayed - this length along with the offset describes this area. A display feature that only splits content will have a 0 mask_length. MediaFeature Name Value advance: If the scheduler runs out of immediate work, the virtual time base may fast forward to allow the next delayed task (if any) to run; pause: The virtual time base may not advance; pauseIfNetworkFetchesPending: The virtual time base may not advance if there are any pending resource fetches. advance pause pauseIfNetworkFetchesPending Used to specify User Agent Cient Hints to emulate. See https://wicg.github.io/ua-client-hints Brand Version Used to specify User Agent Cient Hints to emulate. See https://wicg.github.io/ua-client-hints Missing optional values will be filled in by the target with what it would normally use. Brands FullVersion Platform PlatformVersion Architecture Model Mobile Enum of image types that can be disabled. avif webp CanEmulateResponse result SetVirtualTimePolicyResponse virtualTimeTicksBase This domain emulates different environments for the page. Emulation DevToolsClient Tells whether emulation is supported. returns System.Threading.Tasks.Task<CanEmulateResponse> Clears the overriden device metrics. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Clears the overriden Geolocation Position and Error. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Requests that page scale factor is reset to initial values. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Enables or disables simulating a focused and active page. Whether to enable to disable focus emulation. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Enables CPU throttling to emulate slow CPUs. Throttling rate as a slowdown factor (1 is no throttle, 2 is 2x slowdown, etc). returns System.Threading.Tasks.Task<DevToolsMethodResponse> Sets or clears an override of the default background color of the frame. This override is used if the content does not specify one. RGBA of the default background color. If not specified, any existing override will becleared. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Overrides the values of device screen dimensions (window.screen.width, window.screen.height, window.innerWidth, window.innerHeight, and "device-width"/"device-height"-related CSS media query results). Overriding width value in pixels (minimum 0, maximum 10000000). 0 disables the override. Overriding height value in pixels (minimum 0, maximum 10000000). 0 disables the override. Overriding device scale factor value. 0 disables the override. Whether to emulate mobile device. This includes viewport meta tag, overlay scrollbars, textautosizing and more. Scale to apply to resulting view image. Overriding screen width value in pixels (minimum 0, maximum 10000000). Overriding screen height value in pixels (minimum 0, maximum 10000000). Overriding view X position on screen in pixels (minimum 0, maximum 10000000). Overriding view Y position on screen in pixels (minimum 0, maximum 10000000). Do not set visible view size, rely upon explicit setVisibleSize call. Screen orientation override. If set, the visible area of the page will be overridden to this viewport. This viewportchange is not observed by the page, e.g. viewport-relative elements do not change positions. If set, the display feature of a multi-segment screen. If not set, multi-segment supportis turned-off. returns System.Threading.Tasks.Task<DevToolsMethodResponse> SetScrollbarsHidden Whether scrollbars should be always hidden. returns System.Threading.Tasks.Task<DevToolsMethodResponse> SetDocumentCookieDisabled Whether document.coookie API should be disabled. returns System.Threading.Tasks.Task<DevToolsMethodResponse> SetEmitTouchEventsForMouse Whether touch emulation based on mouse input should be enabled. Touch/gesture events configuration. Default: current platform. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Emulates the given media type or media feature for CSS media queries. Media type to emulate. Empty string disables the override. Media features to emulate. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Emulates the given vision deficiency. Vision deficiency to emulate. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Overrides the Geolocation Position or Error. Omitting any of the parameters emulates position unavailable. Mock latitude Mock longitude Mock accuracy returns System.Threading.Tasks.Task<DevToolsMethodResponse> Overrides the Idle state. Mock isUserActive Mock isScreenUnlocked returns System.Threading.Tasks.Task<DevToolsMethodResponse> Clears Idle state overrides. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Sets a specified page scale factor. Page scale factor. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Switches script execution in the page. Whether script execution should be disabled in the page. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Enables touch on platforms which do not support them. Whether the touch event emulation should be enabled. Maximum touch points supported. Defaults to one. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Turns on virtual time for all frames (replacing real-time with a synthetic time source) and sets the current virtual time policy. Note this supersedes any previous time budget. policy If set, after this many virtual milliseconds have elapsed virtual time will be paused and avirtualTimeBudgetExpired event is sent. If set this specifies the maximum number of tasks that can be run before virtual is forcedforwards to prevent deadlock. If set the virtual time policy change should be deferred until any frame starts navigating.Note any previous deferred policy change is superseded. If set, base::Time::Now will be overriden to initially return this value. returns System.Threading.Tasks.Task<SetVirtualTimePolicyResponse> Overrides default host system locale with the specified one. ICU style C locale (e.g. "en_US"). If not specified or empty, disables the override andrestores default host system locale. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Overrides default host system timezone with the specified one. The timezone identifier. If empty, disables the override andrestores default host system timezone. returns System.Threading.Tasks.Task<DevToolsMethodResponse> SetDisabledImageTypes Image types to disable. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Allows overriding user agent with the given string. User agent to use. Browser langugage to emulate. The platform navigator.platform should return. To be sent in Sec-CH-UA-* headers and returned in navigator.userAgentData returns System.Threading.Tasks.Task<DevToolsMethodResponse> Encoding options for a screenshot. Image compression format (defaults to png). Compression quality from range [0..100] (jpeg only). BeginFrameResponse hasDamage screenshotData This domain provides experimental commands only supported in headless mode. HeadlessExperimental DevToolsClient Sends a BeginFrame to the target and returns when the frame was completed. Optionally captures a screenshot from the resulting frame. Requires that the target was created with enabled BeginFrameControl. Designed for use with --run-all-compositor-stages-before-draw, see also https://goo.gl/3zHXhB for more background. Timestamp of this BeginFrame in Renderer TimeTicks (milliseconds of uptime). If not set,the current time will be used. The interval between BeginFrames that is reported to the compositor, in milliseconds.Defaults to a 60 frames/second interval, i.e. about 16.666 milliseconds. Whether updates should not be committed and drawn onto the display. False by default. Iftrue, only side effects of the BeginFrame will be run, such as layout and animations, butany visual updates may not be visible on the display or in screenshots. If set, a screenshot of the frame will be captured and returned in the response. Otherwise,no screenshot will be captured. Note that capturing a screenshot can fail, for example,during renderer initialization. In such a case, no screenshot data will be returned. returns System.Threading.Tasks.Task<BeginFrameResponse> Disables headless events for the target. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Enables headless events for the target. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Database with an array of object stores. Database name. Database version (type is not 'integer', as the standard requires the version number to be 'unsigned long long') Object stores in this database. Object store. Object store name. Object store key path. If true, object store has auto increment flag set. Indexes in this object store. Object store index. Index name. Index key path. If true, index is unique. If true, index allows multiple entries for a key. Key. Key type. Number value. String value. Date value. Array value. Key range. Lower bound. Upper bound. If true lower bound is open. If true upper bound is open. Data entry. Key object. Primary key object. Value object. Key path. Key path type. String value. Array value. RequestDataResponse objectStoreDataEntries hasMore GetMetadataResponse entriesCount keyGeneratorValue RequestDatabaseResponse databaseWithObjectStores RequestDatabaseNamesResponse databaseNames IndexedDB IndexedDB DevToolsClient Clears all entries from an object store. Security origin. Database name. Object store name. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Deletes a database. Security origin. Database name. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Delete a range of entries from an object store securityOrigin databaseName objectStoreName Range of entry keys to delete returns System.Threading.Tasks.Task<DevToolsMethodResponse> Disables events from backend. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Enables events from backend. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Requests data from object store or index. Security origin. Database name. Object store name. Index name, empty string for object store data requests. Number of records to skip. Number of records to fetch. Key range. returns System.Threading.Tasks.Task<RequestDataResponse> Gets metadata of an object store Security origin. Database name. Object store name. returns System.Threading.Tasks.Task<GetMetadataResponse> Requests database with given name in given frame. Security origin. Database name. returns System.Threading.Tasks.Task<RequestDatabaseResponse> Requests database names for given security origin. Security origin. returns System.Threading.Tasks.Task<RequestDatabaseNamesResponse> TouchPoint X coordinate of the event relative to the main frame's viewport in CSS pixels. Y coordinate of the event relative to the main frame's viewport in CSS pixels. 0 refers to the top of the viewport and Y increases as it proceeds towards the bottom of the viewport. X radius of the touch area (default: 1.0). Y radius of the touch area (default: 1.0). Rotation angle (default: 0.0). Force (default: 1.0). The normalized tangential pressure, which has a range of [-1,1] (default: 0). The plane angle between the Y-Z plane and the plane containing both the stylus axis and the Y axis, in degrees of the range [-90,90], a positive tiltX is to the right (default: 0) The plane angle between the X-Z plane and the plane containing both the stylus axis and the X axis, in degrees of the range [-90,90], a positive tiltY is towards the user (default: 0). The clockwise rotation of a pen stylus around its own major axis, in degrees in the range [0,359] (default: 0). Identifier used to track touch sources between events, must be unique within an event. GestureSourceType default touch mouse MouseButton none left middle right back forward DragDataItem Mime type of the dragged data. Depending of the value of `mimeType`, it contains the dragged link, text, HTML markup or any other data. Title associated with a link. Only valid when `mimeType` == "text/uri-list". Stores the base URL for the contained markup. Only valid when `mimeType` == "text/html". DragData Items Bit field representing allowed drag operations. Copy = 1, Link = 2, Move = 16 Input Input DevToolsClient Dispatches a drag event into the page. Type of the drag event. X coordinate of the event relative to the main frame's viewport in CSS pixels. Y coordinate of the event relative to the main frame's viewport in CSS pixels. 0 refers tothe top of the viewport and Y increases as it proceeds towards the bottom of the viewport. data Bit field representing pressed modifier keys. Alt=1, Ctrl=2, Meta/Command=4, Shift=8(default: 0). returns System.Threading.Tasks.Task<DevToolsMethodResponse> Dispatches a key event to the page. Type of the key event. Bit field representing pressed modifier keys. Alt=1, Ctrl=2, Meta/Command=4, Shift=8(default: 0). Time at which the event occurred. Text as generated by processing a virtual key code with a keyboard layout. Not needed forfor `keyUp` and `rawKeyDown` events (default: "") Text that would have been generated by the keyboard if no modifiers were pressed (except forshift). Useful for shortcut (accelerator) key handling (default: ""). Unique key identifier (e.g., 'U+0041') (default: ""). Unique DOM defined string value for each physical key (e.g., 'KeyA') (default: ""). Unique DOM defined string value describing the meaning of the key in the context of activemodifiers, keyboard layout, etc (e.g., 'AltGr') (default: ""). Windows virtual key code (default: 0). Native virtual key code (default: 0). Whether the event was generated from auto repeat (default: false). Whether the event was generated from the keypad (default: false). Whether the event was a system key event (default: false). Whether the event was from the left or right side of the keyboard. 1=Left, 2=Right (default:0). Editing commands to send with the key event (e.g., 'selectAll') (default: []).These are related to but not equal the command names used in `document.execCommand` and NSStandardKeyBindingResponding.See https://source.chromium.org/chromium/chromium/src/+/master:third_party/blink/renderer/core/editing/commands/editor_command_names.h for valid command names. returns System.Threading.Tasks.Task<DevToolsMethodResponse> This method emulates inserting text that doesn't come from a key press, for example an emoji keyboard or an IME. The text to insert. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Dispatches a mouse event to the page. Type of the mouse event. X coordinate of the event relative to the main frame's viewport in CSS pixels. Y coordinate of the event relative to the main frame's viewport in CSS pixels. 0 refers tothe top of the viewport and Y increases as it proceeds towards the bottom of the viewport. Bit field representing pressed modifier keys. Alt=1, Ctrl=2, Meta/Command=4, Shift=8(default: 0). Time at which the event occurred. Mouse button (default: "none"). A number indicating which buttons are pressed on the mouse when a mouse event is triggered.Left=1, Right=2, Middle=4, Back=8, Forward=16, None=0. Number of times the mouse button was clicked (default: 0). The normalized pressure, which has a range of [0,1] (default: 0). The normalized tangential pressure, which has a range of [-1,1] (default: 0). The plane angle between the Y-Z plane and the plane containing both the stylus axis and the Y axis, in degrees of the range [-90,90], a positive tiltX is to the right (default: 0). The plane angle between the X-Z plane and the plane containing both the stylus axis and the X axis, in degrees of the range [-90,90], a positive tiltY is towards the user (default: 0). The clockwise rotation of a pen stylus around its own major axis, in degrees in the range [0,359] (default: 0). X delta in CSS pixels for mouse wheel event (default: 0). Y delta in CSS pixels for mouse wheel event (default: 0). Pointer type (default: "mouse"). returns System.Threading.Tasks.Task<DevToolsMethodResponse> Dispatches a touch event to the page. Type of the touch event. TouchEnd and TouchCancel must not contain any touch points, whileTouchStart and TouchMove must contains at least one. Active touch points on the touch device. One event per any changed point (compared toprevious touch event in a sequence) is generated, emulating pressing/moving/releasing pointsone by one. Bit field representing pressed modifier keys. Alt=1, Ctrl=2, Meta/Command=4, Shift=8(default: 0). Time at which the event occurred. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Emulates touch event from the mouse event parameters. Type of the mouse event. X coordinate of the mouse pointer in DIP. Y coordinate of the mouse pointer in DIP. Mouse button. Only "none", "left", "right" are supported. Time at which the event occurred (default: current time). X delta in DIP for mouse wheel event (default: 0). Y delta in DIP for mouse wheel event (default: 0). Bit field representing pressed modifier keys. Alt=1, Ctrl=2, Meta/Command=4, Shift=8(default: 0). Number of times the mouse button was clicked (default: 0). returns System.Threading.Tasks.Task<DevToolsMethodResponse> Ignores input events (useful while auditing page). Ignores input events processing when set to true. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Prevents default drag and drop behavior and instead emits `Input.dragIntercepted` events. Drag and drop behavior can be directly controlled via `Input.dispatchDragEvent`. enabled returns System.Threading.Tasks.Task<DevToolsMethodResponse> Synthesizes a pinch gesture over a time period by issuing appropriate touch events. X coordinate of the start of the gesture in CSS pixels. Y coordinate of the start of the gesture in CSS pixels. Relative scale factor after zooming (>1.0 zooms in, <1.0 zooms out). Relative pointer speed in pixels per second (default: 800). Which type of input events to be generated (default: 'default', which queries the platformfor the preferred input type). returns System.Threading.Tasks.Task<DevToolsMethodResponse> Synthesizes a scroll gesture over a time period by issuing appropriate touch events. X coordinate of the start of the gesture in CSS pixels. Y coordinate of the start of the gesture in CSS pixels. The distance to scroll along the X axis (positive to scroll left). The distance to scroll along the Y axis (positive to scroll up). The number of additional pixels to scroll back along the X axis, in addition to the givendistance. The number of additional pixels to scroll back along the Y axis, in addition to the givendistance. Prevent fling (default: true). Swipe speed in pixels per second (default: 800). Which type of input events to be generated (default: 'default', which queries the platformfor the preferred input type). The number of times to repeat the gesture (default: 0). The number of milliseconds delay between each repeat. (default: 250). The name of the interaction markers to generate, if not empty (default: ""). returns System.Threading.Tasks.Task<DevToolsMethodResponse> Synthesizes a tap gesture over a time period by issuing appropriate touch events. X coordinate of the start of the gesture in CSS pixels. Y coordinate of the start of the gesture in CSS pixels. Duration between touchdown and touchup events in ms (default: 50). Number of times to perform the tap (e.g. 2 for double tap, default: 1). Which type of input events to be generated (default: 'default', which queries the platformfor the preferred input type). returns System.Threading.Tasks.Task<DevToolsMethodResponse> Rectangle where scrolling happens on the main thread. Rectangle itself. Reason for rectangle to force scrolling on the main thread Sticky position constraints. Layout rectangle of the sticky element before being shifted Layout rectangle of the containing block of the sticky element The nearest sticky layer that shifts the sticky box The nearest sticky layer that shifts the containing block Serialized fragment of layer picture along with its offset within the layer. Offset from owning layer left boundary Offset from owning layer top boundary Base64-encoded snapshot data. Information about a compositing layer. The unique id for this layer. The id of parent (not present for root). The backend id for the node associated with this layer. Offset from parent layer, X coordinate. Offset from parent layer, Y coordinate. Layer width. Layer height. Transformation matrix for layer, default is identity matrix Transform anchor point X, absent if no transform specified Transform anchor point Y, absent if no transform specified Transform anchor point Z, absent if no transform specified Indicates how many time this layer has painted. Indicates whether this layer hosts any content, rather than being used for transform/scrolling purposes only. Set if layer is not visible. Rectangles scrolling on main thread only. Sticky position constraint information CompositingReasonsResponse compositingReasons compositingReasonIds LoadSnapshotResponse snapshotId MakeSnapshotResponse snapshotId ProfileSnapshotResponse timings ReplaySnapshotResponse dataURL SnapshotCommandLogResponse commandLog LayerTree LayerTree DevToolsClient Provides the reasons why the given layer was composited. The id of the layer for which we want to get the reasons it was composited. returns System.Threading.Tasks.Task<CompositingReasonsResponse> Disables compositing tree inspection. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Enables compositing tree inspection. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Returns the snapshot identifier. An array of tiles composing the snapshot. returns System.Threading.Tasks.Task<LoadSnapshotResponse> Returns the layer snapshot identifier. The id of the layer. returns System.Threading.Tasks.Task<MakeSnapshotResponse> ProfileSnapshot The id of the layer snapshot. The maximum number of times to replay the snapshot (1, if not specified). The minimum duration (in seconds) to replay the snapshot. The clip rectangle to apply when replaying the snapshot. returns System.Threading.Tasks.Task<ProfileSnapshotResponse> Releases layer snapshot captured by the back-end. The id of the layer snapshot. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Replays the layer snapshot and returns the resulting bitmap. The id of the layer snapshot. The first step to replay from (replay from the very start if not specified). The last step to replay to (replay till the end if not specified). The scale to apply while replaying (defaults to 1). returns System.Threading.Tasks.Task<ReplaySnapshotResponse> Replays the layer snapshot and returns canvas log. The id of the layer snapshot. returns System.Threading.Tasks.Task<SnapshotCommandLogResponse> Log entry. Log entry source. Log entry severity. Logged text. Timestamp when this entry was added. URL of the resource if known. Line number in the resource. JavaScript stack trace. Identifier of the network request associated with this entry. Identifier of the worker associated with this entry. Call arguments. Violation configuration setting. Violation type. Time threshold to trigger upon. Provides access to log entries. Log DevToolsClient Clears the log. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Disables log domain, prevents further log entries from being reported to the client. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Enables log domain, sends the entries collected so far to the client by means of the `entryAdded` notification. returns System.Threading.Tasks.Task<DevToolsMethodResponse> start violation reporting. Configuration for violations. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Stop violation reporting. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Memory pressure level. moderate critical Heap profile sample. Size of the sampled allocation. Total bytes attributed to this sample. Execution stack at the point of allocation. Array of heap profile samples. Samples Modules Executable module information Name of the module. UUID of the module. Base address where the module is loaded into memory. Encoded as a decimal or hexadecimal (0x prefixed) string. Size of the module in bytes. GetDOMCountersResponse documents nodes jsEventListeners GetAllTimeSamplingProfileResponse profile GetBrowserSamplingProfileResponse profile GetSamplingProfileResponse profile Memory Memory DevToolsClient GetDOMCounters returns System.Threading.Tasks.Task<GetDOMCountersResponse> PrepareForLeakDetection returns System.Threading.Tasks.Task<DevToolsMethodResponse> Simulate OomIntervention by purging V8 memory. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Enable/disable suppressing memory pressure notifications in all processes. If true, memory pressure notifications will be suppressed. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Simulate a memory pressure notification in all processes. Memory pressure level of the notification. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Start collecting native memory profile. Average number of bytes between samples. Do not randomize intervals between samples. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Stop collecting native memory profile. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Retrieve native memory allocations profile collected since renderer process startup. returns System.Threading.Tasks.Task<GetAllTimeSamplingProfileResponse> Retrieve native memory allocations profile collected since browser process startup. returns System.Threading.Tasks.Task<GetBrowserSamplingProfileResponse> Retrieve native memory allocations profile collected since last `startSampling` call. returns System.Threading.Tasks.Task<GetSamplingProfileResponse> Resource type as it was perceived by the rendering engine. Document Stylesheet Image Media Font Script TextTrack XHR Fetch EventSource WebSocket Manifest SignedExchange Ping CSPViolationReport Preflight Other Network level fetch failure reason. Failed Aborted TimedOut AccessDenied ConnectionClosed ConnectionReset ConnectionRefused ConnectionAborted ConnectionFailed NameNotResolved InternetDisconnected AddressUnreachable BlockedByClient BlockedByResponse The underlying connection technology that the browser is supposedly using. none cellular2g cellular3g cellular4g bluetooth ethernet wifi wimax other Represents the cookie's 'SameSite' status: https://tools.ietf.org/html/draft-west-first-party-cookies Strict Lax None Represents the cookie's 'Priority' status: https://tools.ietf.org/html/draft-west-cookie-priority-00 Low Medium High Represents the source scheme of the origin that originally set the cookie. A value of "Unset" allows protocol clients to emulate legacy cookie scope for the scheme. This is a temporary ability and it will be removed in the future. Unset NonSecure Secure Timing information for the request. Timing's requestTime is a baseline in seconds, while the other numbers are ticks in milliseconds relatively to this requestTime. Started resolving proxy. Finished resolving proxy. Started DNS address resolve. Finished DNS address resolve. Started connecting to the remote host. Connected to the remote host. Started SSL handshake. Finished SSL handshake. Started running ServiceWorker. Finished Starting ServiceWorker. Started fetch event. Settled fetch event respondWith promise. Started sending request. Finished sending request. Time the server started pushing request. Time the server finished pushing request. Finished receiving response headers. Loading priority of a resource request. VeryLow Low Medium High VeryHigh Post data entry for HTTP request Bytes HTTP request data. Request URL (without fragment). Fragment of the requested URL starting with hash, if present. HTTP request method. HTTP request headers. HTTP POST request data. True when the request has POST data. Note that postData might still be omitted when this flag is true when the data is too long. Request body elements. This will be converted from base64 to binary The mixed content type of the request. Priority of the resource request at the time request is sent. The referrer policy of the request, as defined in https://www.w3.org/TR/referrer-policy/ Whether is loaded via link preload. Set for requests when the TrustToken API is used. Contains the parameters passed by the developer (e.g. via "fetch") as understood by the backend. Details of a signed certificate timestamp (SCT). Validation status. Origin. Log name / description. Log ID. Issuance date. Hash algorithm. Signature algorithm. Signature data. Security details about a request. Protocol name (e.g. "TLS 1.2" or "QUIC"). Key Exchange used by the connection, or the empty string if not applicable. (EC)DH group used by the connection, if applicable. Cipher name. TLS MAC. Note that AEAD ciphers do not have separate MACs. Certificate ID value. Certificate subject name. Subject Alternative Name (SAN) DNS names and IP addresses. Name of the issuing CA. Certificate valid from date. Certificate valid to (expiration) date List of signed certificate timestamps (SCTs). Whether the request complied with Certificate Transparency policy Whether the request complied with Certificate Transparency policy. unknown not-compliant compliant The reason why request was blocked. other csp mixed-content origin inspector subresource-filter content-type coep-frame-resource-needs-coep-header coop-sandboxed-iframe-cannot-navigate-to-coop-page corp-not-same-origin corp-not-same-origin-after-defaulted-to-same-origin-by-coep corp-not-same-site The reason why request was blocked. DisallowedByMode InvalidResponse WildcardOriginNotAllowed MissingAllowOriginHeader MultipleAllowOriginValues InvalidAllowOriginValue AllowOriginMismatch InvalidAllowCredentials CorsDisabledScheme PreflightInvalidStatus PreflightDisallowedRedirect PreflightWildcardOriginNotAllowed PreflightMissingAllowOriginHeader PreflightMultipleAllowOriginValues PreflightInvalidAllowOriginValue PreflightAllowOriginMismatch PreflightInvalidAllowCredentials PreflightMissingAllowExternal PreflightInvalidAllowExternal InvalidAllowMethodsPreflightResponse InvalidAllowHeadersPreflightResponse MethodDisallowedByPreflightResponse HeaderDisallowedByPreflightResponse RedirectContainsCredentials InsecurePrivateNetwork CorsErrorStatus CorsError FailedParameter Source of serviceworker response. cache-storage http-cache fallback-code network Determines what type of Trust Token operation is executed and depending on the type, some additional parameters. The values are specified in third_party/blink/renderer/core/fetch/trust_token.idl. Type Only set for "token-redemption" type and determine whether to request a fresh SRR or use a still valid cached SRR. Origins of issuers from whom to request tokens or redemption records. TrustTokenOperationType Issuance Redemption Signing HTTP response data. Response URL. This URL can be different from CachedResource.url in case of redirect. HTTP response status code. HTTP response status text. HTTP response headers. HTTP response headers text. Resource mimeType as determined by the browser. Refined HTTP request headers that were actually transmitted over the network. HTTP request headers text. Specifies whether physical connection was actually reused for this request. Physical connection id that was actually used for this request. Remote IP address. Remote port. Specifies that the request was served from the disk cache. Specifies that the request was served from the ServiceWorker. Specifies that the request was served from the prefetch cache. Total number of bytes received for this request so far. Timing information for the given request. Response source of response from ServiceWorker. The time at which the returned response was generated. Cache Storage Cache Name. Protocol used to fetch this request. Security state of the request resource. Security details for the request. WebSocket request data. HTTP request headers. WebSocket response data. HTTP response status code. HTTP response status text. HTTP response headers. HTTP response headers text. HTTP request headers. HTTP request headers text. WebSocket message data. This represents an entire WebSocket message, not just a fragmented frame as the name suggests. WebSocket message opcode. WebSocket message mask. WebSocket message payload data. If the opcode is 1, this is a text message and payloadData is a UTF-8 string. If the opcode isn't 1, then payloadData is a base64 encoded string representing binary data. Information about the cached resource. Resource URL. This is the url of the original network request. Type of this resource. Cached response data. Cached response body size. Information about the request initiator. Type of this initiator. Initiator JavaScript stack trace, set for Script only. Initiator URL, set for Parser type or for Script type (when script is importing module) or for SignedExchange type. Initiator line number, set for Parser type or for Script type (when script is importing module) (0-based). Initiator column number, set for Parser type or for Script type (when script is importing module) (0-based). Set if another request triggered this request (e.g. preflight). Cookie object Cookie name. Cookie value. Cookie domain. Cookie path. Cookie expiration date as the number of seconds since the UNIX epoch. Cookie size. True if cookie is http-only. True if cookie is secure. True in case of session cookie. Cookie SameSite type. Cookie Priority True if cookie is SameParty. Cookie source scheme type. Cookie source port. Valid values are {-1, [1, 65535]}, -1 indicates an unspecified port. An unspecified port value allows protocol clients to emulate legacy cookie scope for the port. This is a temporary ability and it will be removed in the future. Types of reasons why a cookie may not be stored from a response. SecureOnly SameSiteStrict SameSiteLax SameSiteUnspecifiedTreatedAsLax SameSiteNoneInsecure UserPreferences SyntaxError SchemeNotSupported OverwriteSecure InvalidDomain InvalidPrefix UnknownError SchemefulSameSiteStrict SchemefulSameSiteLax SchemefulSameSiteUnspecifiedTreatedAsLax SamePartyFromCrossPartyContext SamePartyConflictsWithOtherAttributes Types of reasons why a cookie may not be sent with a request. SecureOnly NotOnPath DomainMismatch SameSiteStrict SameSiteLax SameSiteUnspecifiedTreatedAsLax SameSiteNoneInsecure UserPreferences UnknownError SchemefulSameSiteStrict SchemefulSameSiteLax SchemefulSameSiteUnspecifiedTreatedAsLax SamePartyFromCrossPartyContext A cookie which was not stored from a response with the corresponding reason. The reason(s) this cookie was blocked. The string representing this individual cookie as it would appear in the header. This is not the entire "cookie" or "set-cookie" header which could have multiple cookies. The cookie object which represents the cookie which was not stored. It is optional because sometimes complete cookie information is not available, such as in the case of parsing errors. A cookie with was not sent with a request with the corresponding reason. The reason(s) the cookie was blocked. The cookie object representing the cookie which was not sent. Cookie parameter object Cookie name. Cookie value. The request-URI to associate with the setting of the cookie. This value can affect the default domain, path, source port, and source scheme values of the created cookie. Cookie domain. Cookie path. True if cookie is secure. True if cookie is http-only. Cookie SameSite type. Cookie expiration date, session cookie if not set Cookie Priority. True if cookie is SameParty. Cookie source scheme type. Cookie source port. Valid values are {-1, [1, 65535]}, -1 indicates an unspecified port. An unspecified port value allows protocol clients to emulate legacy cookie scope for the port. This is a temporary ability and it will be removed in the future. Authorization challenge for HTTP status code 401 or 407. Source of the authentication challenge. Origin of the challenger. The authentication scheme used, such as basic or digest The realm of the challenge. May be empty. Response to an AuthChallenge. The decision on what to do in response to the authorization challenge. Default means deferring to the default behavior of the net stack, which will likely either the Cancel authentication or display a popup dialog box. The username to provide, possibly empty. Should only be set if response is ProvideCredentials. The password to provide, possibly empty. Should only be set if response is ProvideCredentials. Stages of the interception to begin intercepting. Request will intercept before the request is sent. Response will intercept after the response is received. Request HeadersReceived Request pattern for interception. Wildcards ('*' -> zero or more, '?' -> exactly one) are allowed. Escape character is backslash. Omitting is equivalent to "*". If set, only requests for matching resource types will be intercepted. Stage at wich to begin intercepting requests. Default is Request. Information about a signed exchange signature. https://wicg.github.io/webpackage/draft-yasskin-httpbis-origin-signed-exchanges-impl.html#rfc.section.3.1 Signed exchange signature label. The hex string of signed exchange signature. Signed exchange signature integrity. Signed exchange signature cert Url. The hex string of signed exchange signature cert sha256. Signed exchange signature validity Url. Signed exchange signature date. Signed exchange signature expires. The encoded certificates. Information about a signed exchange header. https://wicg.github.io/webpackage/draft-yasskin-httpbis-origin-signed-exchanges-impl.html#cbor-representation Signed exchange request URL. Signed exchange response code. Signed exchange response headers. Signed exchange response signature. Signed exchange header integrity hash in the form of "sha256-<base64-hash-value> ". Field type for a signed exchange related error. signatureSig signatureIntegrity signatureCertUrl signatureCertSha256 signatureValidityUrl signatureTimestamps Information about a signed exchange response. Error message. The index of the signature which caused the error. The field which caused the error. Information about a signed exchange response. The outer response of signed HTTP exchange which was received from network. Information about the signed exchange header. Security details for the signed exchange header. Errors occurred while handling the signed exchagne. List of content encodings supported by the backend. deflate gzip br PrivateNetworkRequestPolicy Allow BlockFromInsecureToMorePrivate WarnFromInsecureToMorePrivate IPAddressSpace Local Private Public Unknown ClientSecurityState InitiatorIsSecureContext InitiatorIPAddressSpace PrivateNetworkRequestPolicy CrossOriginOpenerPolicyValue SameOrigin SameOriginAllowPopups UnsafeNone SameOriginPlusCoep CrossOriginOpenerPolicyStatus Value ReportOnlyValue ReportingEndpoint ReportOnlyReportingEndpoint CrossOriginEmbedderPolicyValue None CorsOrCredentialless RequireCorp CrossOriginEmbedderPolicyStatus Value ReportOnlyValue ReportingEndpoint ReportOnlyReportingEndpoint SecurityIsolationStatus Coop Coep An object providing the result of a network resource load. Success Optional values used for error reporting. NetErrorName HttpStatusCode If successful, one of the following two fields holds the result. Response headers. An options object that may be extended later to better support CORS, CORB and streaming. DisableCache IncludeCredentials GetAllCookiesResponse cookies GetCertificateResponse tableNames GetCookiesResponse cookies GetResponseBodyResponse body base64Encoded GetRequestPostDataResponse postData GetResponseBodyForInterceptionResponse body base64Encoded TakeResponseBodyForInterceptionAsStreamResponse stream SearchInResponseBodyResponse result SetCookieResponse success GetSecurityIsolationStatusResponse status LoadNetworkResourceResponse resource Network domain allows tracking network activities of the page. It exposes information about http, file, data and other requests and responses, their headers, bodies, timing, etc. Network DevToolsClient Sets a list of content encodings that will be accepted. Empty list means no encoding is accepted. List of accepted content encodings. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Clears accepted encodings set by setAcceptedEncodings returns System.Threading.Tasks.Task<DevToolsMethodResponse> Clears browser cache. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Clears browser cookies. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Deletes browser cookies with matching name and url or domain/path pair. Name of the cookies to remove. If specified, deletes all the cookies with the given name where domain and path matchprovided URL. If specified, deletes only cookies with the exact domain. If specified, deletes only cookies with the exact path. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Disables network tracking, prevents network events from being sent to the client. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Activates emulation of network conditions. True to emulate internet disconnection. Minimum latency from request sent to response headers received (ms). Maximal aggregated download throughput (bytes/sec). -1 disables download throttling. Maximal aggregated upload throughput (bytes/sec). -1 disables upload throttling. Connection type if known. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Enables network tracking, network events will now be delivered to the client. Buffer size in bytes to use when preserving network payloads (XHRs, etc). Per-resource buffer size in bytes to use when preserving network payloads (XHRs, etc). Longest post body size (in bytes) that would be included in requestWillBeSent notification returns System.Threading.Tasks.Task<DevToolsMethodResponse> Returns all browser cookies. Depending on the backend support, will return detailed cookie information in the `cookies` field. returns System.Threading.Tasks.Task<GetAllCookiesResponse> Returns the DER-encoded certificate. Origin to get certificate for. returns System.Threading.Tasks.Task<GetCertificateResponse> Returns all browser cookies for the current URL. Depending on the backend support, will return detailed cookie information in the `cookies` field. The list of URLs for which applicable cookies will be fetched.If not specified, it's assumed to be set to the list containingthe URLs of the page and all of its subframes. returns System.Threading.Tasks.Task<GetCookiesResponse> Returns content served for the given request. Identifier of the network request to get content for. returns System.Threading.Tasks.Task<GetResponseBodyResponse> Returns post data sent with the request. Returns an error when no data was sent with the request. Identifier of the network request to get content for. returns System.Threading.Tasks.Task<GetRequestPostDataResponse> Returns content served for the given currently intercepted request. Identifier for the intercepted request to get body for. returns System.Threading.Tasks.Task<GetResponseBodyForInterceptionResponse> Returns a handle to the stream representing the response body. Note that after this command, the intercepted request can't be continued as is -- you either need to cancel it or to provide the response body. The stream only supports sequential read, IO.read will fail if the position is specified. interceptionId returns System.Threading.Tasks.Task<TakeResponseBodyForInterceptionAsStreamResponse> This method sends a new XMLHttpRequest which is identical to the original one. The following parameters should be identical: method, url, async, request body, extra headers, withCredentials attribute, user, password. Identifier of XHR to replay. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Searches for given string in response content. Identifier of the network response to search. String to search for. If true, search is case sensitive. If true, treats string parameter as regex. returns System.Threading.Tasks.Task<SearchInResponseBodyResponse> Blocks URLs from loading. URL patterns to block. Wildcards ('*') are allowed. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Toggles ignoring of service worker for each request. Bypass service worker and load from network. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Toggles ignoring cache for each request. If `true`, cache will not be used. Cache disabled state. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Sets a cookie with the given cookie data; may overwrite equivalent cookies if they exist. Cookie name. Cookie value. The request-URI to associate with the setting of the cookie. This value can affect thedefault domain, path, source port, and source scheme values of the created cookie. Cookie domain. Cookie path. True if cookie is secure. True if cookie is http-only. Cookie SameSite type. Cookie expiration date, session cookie if not set Cookie Priority type. True if cookie is SameParty. Cookie source scheme type. Cookie source port. Valid values are {-1, [1, 65535]}, -1 indicates an unspecified port.An unspecified port value allows protocol clients to emulate legacy cookie scope for the port.This is a temporary ability and it will be removed in the future. returns System.Threading.Tasks.Task<SetCookieResponse> Sets given cookies. Cookies to be set. returns System.Threading.Tasks.Task<DevToolsMethodResponse> For testing. Maximum total buffer size. Maximum per-resource size. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Specifies whether to always send extra HTTP headers with the requests from this page. Map with extra HTTP headers. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Specifies whether to attach a page script stack id in requests Whether to attach a page script stack for debugging purpose. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Allows overriding user agent with the given string. User agent to use. Browser langugage to emulate. The platform navigator.platform should return. To be sent in Sec-CH-UA-* headers and returned in navigator.userAgentData returns System.Threading.Tasks.Task<DevToolsMethodResponse> Returns information about the COEP/COOP isolation status. If no frameId is provided, the status of the target is provided. returns System.Threading.Tasks.Task<GetSecurityIsolationStatusResponse> Fetches the resource and returns the content. Frame id to get the resource for. URL of the resource to get content for. Options for the request. returns System.Threading.Tasks.Task<LoadNetworkResourceResponse> Configuration data for drawing the source order of an elements children. the color to outline the givent element in. the color to outline the child elements in. Configuration data for the highlighting of Grid elements. Whether the extension lines from grid cells to the rulers should be shown (default: false). Show Positive line number labels (default: false). Show Negative line number labels (default: false). Show area name labels (default: false). Show line name labels (default: false). Show track size labels (default: false). The grid container border highlight color (default: transparent). The cell border color (default: transparent). Deprecated, please use rowLineColor and columnLineColor instead. The row line color (default: transparent). The column line color (default: transparent). Whether the grid border is dashed (default: false). Whether the cell border is dashed (default: false). Deprecated, please us rowLineDash and columnLineDash instead. Whether row lines are dashed (default: false). Whether column lines are dashed (default: false). The row gap highlight fill color (default: transparent). The row gap hatching fill color (default: transparent). The column gap highlight fill color (default: transparent). The column gap hatching fill color (default: transparent). The named grid areas border color (Default: transparent). The grid container background color (Default: transparent). Configuration data for the highlighting of Flex container elements. The style of the container border The style of the separator between lines The style of the separator between items Style of content-distribution space on the main axis (justify-content). Style of content-distribution space on the cross axis (align-content). Style of empty space caused by row gaps (gap/row-gap). Style of empty space caused by columns gaps (gap/column-gap). Style of the self-alignment line (align-items). Configuration data for the highlighting of Flex item elements. Style of the box representing the item's base size Style of the border around the box representing the item's base size Style of the arrow representing if the item grew or shrank Style information for drawing a line. The color of the line (default: transparent) The line pattern (default: solid) Style information for drawing a box. The background color for the box (default: transparent) The hatching color for the box (default: transparent) ContrastAlgorithm aa aaa apca Configuration data for the highlighting of page elements. Whether the node info tooltip should be shown (default: false). Whether the node styles in the tooltip (default: false). Whether the rulers should be shown (default: false). Whether the a11y info should be shown (default: true). Whether the extension lines from node to the rulers should be shown (default: false). The content box highlight fill color (default: transparent). The padding highlight fill color (default: transparent). The border highlight fill color (default: transparent). The margin highlight fill color (default: transparent). The event target element highlight fill color (default: transparent). The shape outside fill color (default: transparent). The shape margin fill color (default: transparent). The grid layout color (default: transparent). The color format used to format color styles (default: hex). The grid layout highlight configuration (default: all transparent). The flex container highlight configuration (default: all transparent). The flex item highlight configuration (default: all transparent). The contrast algorithm to use for the contrast ratio (default: aa). ColorFormat rgb hsl hex Configurations for Persistent Grid Highlight A descriptor for the highlight appearance. Identifier of the node to highlight. FlexNodeHighlightConfig A descriptor for the highlight appearance of flex containers. Identifier of the node to highlight. ScrollSnapContainerHighlightConfig The style of the snapport border (default: transparent) The style of the snap area border (default: transparent) The margin highlight fill color (default: transparent). The padding highlight fill color (default: transparent). ScrollSnapHighlightConfig A descriptor for the highlight appearance of scroll snap containers. Identifier of the node to highlight. Configuration for dual screen hinge A rectangle represent hinge The content box highlight fill color (default: a dark color). The content box highlight outline color (default: transparent). InspectMode searchForNode searchForUAShadowDOM captureAreaScreenshot showDistances none GetHighlightObjectForTestResponse highlight GetGridHighlightObjectsForTestResponse highlights GetSourceOrderHighlightObjectForTestResponse highlight This domain provides various functionality related to drawing atop the inspected page. Overlay DevToolsClient Disables domain notifications. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Enables domain notifications. returns System.Threading.Tasks.Task<DevToolsMethodResponse> For testing. Id of the node to get highlight object for. Whether to include distance info. Whether to include style info. The color format to get config with (default: hex). Whether to show accessibility info (default: true). returns System.Threading.Tasks.Task<GetHighlightObjectForTestResponse> For Persistent Grid testing. Ids of the node to get highlight object for. returns System.Threading.Tasks.Task<GetGridHighlightObjectsForTestResponse> For Source Order Viewer testing. Id of the node to highlight. returns System.Threading.Tasks.Task<GetSourceOrderHighlightObjectForTestResponse> Hides any highlight. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Highlights owner element of the frame with given id. Identifier of the frame to highlight. The content box highlight fill color (default: transparent). The content box highlight outline color (default: transparent). returns System.Threading.Tasks.Task<DevToolsMethodResponse> Highlights DOM node with given id or with the given JavaScript object wrapper. Either nodeId or objectId must be specified. A descriptor for the highlight appearance. Identifier of the node to highlight. Identifier of the backend node to highlight. JavaScript object id of the node to be highlighted. Selectors to highlight relevant nodes. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Highlights given quad. Coordinates are absolute with respect to the main frame viewport. Quad to highlight The highlight fill color (default: transparent). The highlight outline color (default: transparent). returns System.Threading.Tasks.Task<DevToolsMethodResponse> Highlights given rectangle. Coordinates are absolute with respect to the main frame viewport. X coordinate Y coordinate Rectangle width Rectangle height The highlight fill color (default: transparent). The highlight outline color (default: transparent). returns System.Threading.Tasks.Task<DevToolsMethodResponse> Highlights the source order of the children of the DOM node with given id or with the given JavaScript object wrapper. Either nodeId or objectId must be specified. A descriptor for the appearance of the overlay drawing. Identifier of the node to highlight. Identifier of the backend node to highlight. JavaScript object id of the node to be highlighted. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Enters the 'inspect' mode. In this mode, elements that user is hovering over are highlighted. Backend then generates 'inspectNodeRequested' event upon element selection. Set an inspection mode. A descriptor for the highlight appearance of hovered-over nodes. May be omitted if `enabled== false`. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Highlights owner element of all frames detected to be ads. True for showing ad highlights returns System.Threading.Tasks.Task<DevToolsMethodResponse> SetPausedInDebuggerMessage The message to display, also triggers resume and step over controls. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Requests that backend shows debug borders on layers True for showing debug borders returns System.Threading.Tasks.Task<DevToolsMethodResponse> Requests that backend shows the FPS counter True for showing the FPS counter returns System.Threading.Tasks.Task<DevToolsMethodResponse> Highlight multiple elements with the CSS Grid overlay. An array of node identifiers and descriptors for the highlight appearance. returns System.Threading.Tasks.Task<DevToolsMethodResponse> SetShowFlexOverlays An array of node identifiers and descriptors for the highlight appearance. returns System.Threading.Tasks.Task<DevToolsMethodResponse> SetShowScrollSnapOverlays An array of node identifiers and descriptors for the highlight appearance. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Requests that backend shows paint rectangles True for showing paint rectangles returns System.Threading.Tasks.Task<DevToolsMethodResponse> Requests that backend shows layout shift regions True for showing layout shift regions returns System.Threading.Tasks.Task<DevToolsMethodResponse> Requests that backend shows scroll bottleneck rects True for showing scroll bottleneck rects returns System.Threading.Tasks.Task<DevToolsMethodResponse> Requests that backend shows hit-test borders on layers True for showing hit-test borders returns System.Threading.Tasks.Task<DevToolsMethodResponse> Request that backend shows an overlay with web vital metrics. show returns System.Threading.Tasks.Task<DevToolsMethodResponse> Paints viewport size upon main frame resize. Whether to paint size or not. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Add a dual screen device hinge hinge data, null means hideHinge returns System.Threading.Tasks.Task<DevToolsMethodResponse> Indicates whether a frame has been identified as an ad. none child root Indicates whether the frame is a secure context and why it is the case. Secure SecureLocalhost InsecureScheme InsecureAncestor Indicates whether the frame is cross-origin isolated and why it is the case. Isolated NotIsolated NotIsolatedFeatureDisabled GatedAPIFeatures SharedArrayBuffers SharedArrayBuffersTransferAllowed PerformanceMeasureMemory PerformanceProfile All Permissions Policy features. This enum should match the one defined in renderer/core/feature_policy/feature_policy_features.json5. accelerometer ambient-light-sensor autoplay camera ch-dpr ch-device-memory ch-downlink ch-ect ch-lang ch-rtt ch-ua ch-ua-arch ch-ua-platform ch-ua-model ch-ua-mobile ch-ua-full-version ch-ua-platform-version ch-viewport-width ch-width clipboard-read clipboard-write conversion-measurement cross-origin-isolated display-capture document-domain encrypted-media execution-while-out-of-viewport execution-while-not-rendered focus-without-user-activation fullscreen frobulate gamepad geolocation gyroscope hid idle-detection interest-cohort magnetometer microphone midi otp-credentials payment picture-in-picture publickey-credentials-get screen-wake-lock serial storage-access-api sync-xhr trust-token-redemption usb vertical-scroll web-share xr-spatial-tracking Reason for a permissions policy feature to be disabled. Header IframeAttribute PermissionsPolicyBlockLocator FrameId BlockReason PermissionsPolicyFeatureState Feature Allowed Locator Information about the Frame on the page. Frame unique identifier. Parent frame identifier. Identifier of the loader associated with this frame. Frame's name as specified in the tag. Frame document's URL without fragment. Frame document's URL fragment including the '#'. Frame document's registered domain, taking the public suffixes list into account. Extracted from the Frame's url. Example URLs: http://www.google.com/file.html -> "google.com" http://a.b.co.uk/file.html -> "b.co.uk" Frame document's security origin. Frame document's mimeType as determined by the browser. If the frame failed to load, this contains the URL that could not be loaded. Note that unlike url above, this URL may contain a fragment. Indicates whether this frame was tagged as an ad. Indicates whether the main document is a secure context and explains why that is the case. Indicates whether this is a cross origin isolated context. Indicated which gated APIs / features are available. Information about the Resource on the page. Resource URL. Type of this resource. Resource mimeType as determined by the browser. last-modified timestamp as reported by server. Resource content size. True if the resource failed to load. True if the resource was canceled during loading. Information about the Frame hierarchy along with their cached resources. Frame information for this tree item. Child frames. Information about frame resources. Information about the Frame hierarchy. Frame information for this tree item. Child frames. Transition type. link typed address_bar auto_bookmark auto_subframe manual_subframe generated auto_toplevel form_submit reload keyword keyword_generated other Navigation history entry. Unique id of the navigation history entry. URL of the navigation history entry. URL that the user typed in the url bar. Title of the navigation history entry. Transition type. Screencast frame metadata. Top offset in DIP. Page scale factor. Device screen width in DIP. Device screen height in DIP. Position of horizontal scroll in CSS pixels. Position of vertical scroll in CSS pixels. Frame swap timestamp. Javascript dialog type. alert confirm prompt beforeunload Error while paring app manifest. Error message. If criticial, this is a non-recoverable parse error. Error line. Error column. Parsed app manifest properties. Computed scope value Layout viewport position and dimensions. Horizontal offset relative to the document (CSS pixels). Vertical offset relative to the document (CSS pixels). Width (CSS pixels), excludes scrollbar if present. Height (CSS pixels), excludes scrollbar if present. Visual viewport position, dimensions, and scale. Horizontal offset relative to the layout viewport (CSS pixels). Vertical offset relative to the layout viewport (CSS pixels). Horizontal offset relative to the document (CSS pixels). Vertical offset relative to the document (CSS pixels). Width (CSS pixels), excludes scrollbar if present. Height (CSS pixels), excludes scrollbar if present. Scale relative to the ideal viewport (size at width=device-width). Page zoom factor (CSS to device independent pixels ratio). Viewport for capturing screenshot. X offset in device independent pixels (dip). Y offset in device independent pixels (dip). Rectangle width in device independent pixels (dip). Rectangle height in device independent pixels (dip). Page scale factor. Generic font families collection. The standard font-family. The fixed font-family. The serif font-family. The sansSerif font-family. The cursive font-family. The fantasy font-family. The pictograph font-family. Default font sizes. Default standard font size. Default fixed font size. ClientNavigationReason formSubmissionGet formSubmissionPost httpHeaderRefresh scriptInitiated metaTagRefresh pageBlockInterstitial reload anchorClick ClientNavigationDisposition currentTab newTab newWindow download InstallabilityErrorArgument Argument name (e.g. name:'minimum-icon-size-in-pixels'). Argument value (e.g. value:'64'). The installability error The error id (e.g. 'manifest-missing-suitable-icon'). The list of error arguments (e.g. {name:'minimum-icon-size-in-pixels', value:'64'}). The referring-policy used for the navigation. noReferrer noReferrerWhenDowngrade origin originWhenCrossOrigin sameOrigin strictOrigin strictOriginWhenCrossOrigin unsafeUrl Per-script compilation cache parameters for `Page.produceCompilationCache` The URL of the script to produce a compilation cache entry for. A hint to the backend whether eager compilation is recommended. (the actual compilation mode used is upon backend discretion). AddScriptToEvaluateOnNewDocumentResponse identifier CaptureScreenshotResponse data CaptureSnapshotResponse data CreateIsolatedWorldResponse executionContextId GetAppManifestResponse url errors data parsed GetInstallabilityErrorsResponse installabilityErrors GetManifestIconsResponse primaryIcon GetFrameTreeResponse frameTree GetLayoutMetricsResponse layoutViewport visualViewport contentSize cssLayoutViewport cssVisualViewport cssContentSize GetNavigationHistoryResponse currentIndex entries GetResourceContentResponse content base64Encoded GetResourceTreeResponse frameTree NavigateResponse frameId loaderId errorText PrintToPDFResponse data stream SearchInResourceResponse result GetPermissionsPolicyStateResponse states Actions and events related to the inspected page belong to the page domain. Page DevToolsClient Evaluates given script in every frame upon creation (before loading frame's scripts). source If specified, creates an isolated world with the given name and evaluates given script in it.This world name will be used as the ExecutionContextDescription::name when the correspondingevent is emitted. returns System.Threading.Tasks.Task<AddScriptToEvaluateOnNewDocumentResponse> Brings page to front (activates tab). returns System.Threading.Tasks.Task<DevToolsMethodResponse> Capture page screenshot. Image compression format (defaults to png). Compression quality from range [0..100] (jpeg only). Capture the screenshot of a given region only. Capture the screenshot from the surface, rather than the view. Defaults to true. Capture the screenshot beyond the viewport. Defaults to false. returns System.Threading.Tasks.Task<CaptureScreenshotResponse> Returns a snapshot of the page as a string. For MHTML format, the serialization includes iframes, shadow DOM, external resources, and element-inline styles. Format (defaults to mhtml). returns System.Threading.Tasks.Task<CaptureSnapshotResponse> Creates an isolated world for the given frame. Id of the frame in which the isolated world should be created. An optional name which is reported in the Execution Context. Whether or not universal access should be granted to the isolated world. This is a powerfuloption, use with caution. returns System.Threading.Tasks.Task<CreateIsolatedWorldResponse> Disables page domain notifications. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Enables page domain notifications. returns System.Threading.Tasks.Task<DevToolsMethodResponse> GetAppManifest returns System.Threading.Tasks.Task<GetAppManifestResponse> GetInstallabilityErrors returns System.Threading.Tasks.Task<GetInstallabilityErrorsResponse> GetManifestIcons returns System.Threading.Tasks.Task<GetManifestIconsResponse> Returns present frame tree structure. returns System.Threading.Tasks.Task<GetFrameTreeResponse> Returns metrics relating to the layouting of the page, such as viewport bounds/scale. returns System.Threading.Tasks.Task<GetLayoutMetricsResponse> Returns navigation history for the current page. returns System.Threading.Tasks.Task<GetNavigationHistoryResponse> Resets navigation history for the current page. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Returns content of the given resource. Frame id to get resource for. URL of the resource to get content for. returns System.Threading.Tasks.Task<GetResourceContentResponse> Returns present frame / resource tree structure. returns System.Threading.Tasks.Task<GetResourceTreeResponse> Accepts or dismisses a JavaScript initiated dialog (alert, confirm, prompt, or onbeforeunload). Whether to accept or dismiss the dialog. The text to enter into the dialog prompt before accepting. Used only if this is a promptdialog. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Navigates current page to the given URL. URL to navigate the page to. Referrer URL. Intended transition type. Frame id to navigate, if not specified navigates the top frame. Referrer-policy used for the navigation. returns System.Threading.Tasks.Task<NavigateResponse> Navigates current page to the given history entry. Unique id of the entry to navigate to. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Print page as PDF. Paper orientation. Defaults to false. Display header and footer. Defaults to false. Print background graphics. Defaults to false. Scale of the webpage rendering. Defaults to 1. Paper width in inches. Defaults to 8.5 inches. Paper height in inches. Defaults to 11 inches. Top margin in inches. Defaults to 1cm (~0.4 inches). Bottom margin in inches. Defaults to 1cm (~0.4 inches). Left margin in inches. Defaults to 1cm (~0.4 inches). Right margin in inches. Defaults to 1cm (~0.4 inches). Paper ranges to print, e.g., '1-5, 8, 11-13'. Defaults to the empty string, which meansprint all pages. Whether to silently ignore invalid but successfully parsed page ranges, such as '3-2'.Defaults to false. HTML template for the print header. Should be valid HTML markup with followingclasses used to inject printing values into them:- `date`: formatted print date- `title`: document title- `url`: document location- `pageNumber`: current page number- `totalPages`: total pages in the documentFor example, `<span class=title> </span>` would generate span containing the title. HTML template for the print footer. Should use the same format as the `headerTemplate`. Whether or not to prefer page size as defined by css. Defaults to false,in which case the content will be scaled to fit the paper size. return as stream returns System.Threading.Tasks.Task<PrintToPDFResponse> Reloads given page optionally ignoring the cache. If true, browser cache is ignored (as if the user pressed Shift+refresh). If set, the script will be injected into all frames of the inspected page after reload.Argument will be ignored if reloading dataURL origin. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Removes given script from the list. identifier returns System.Threading.Tasks.Task<DevToolsMethodResponse> Acknowledges that a screencast frame has been received by the frontend. Frame number. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Searches for given string in resource content. Frame id for resource to search in. URL of the resource to search in. String to search for. If true, search is case sensitive. If true, treats string parameter as regex. returns System.Threading.Tasks.Task<SearchInResourceResponse> Enable Chrome's experimental ad filter on all sites. Whether to block ads. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Enable page Content Security Policy by-passing. Whether to bypass page CSP. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Get Permissions Policy state on given frame. frameId returns System.Threading.Tasks.Task<GetPermissionsPolicyStateResponse> Set generic font families. Specifies font families to set. If a font family is not specified, it won't be changed. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Set default font sizes. Specifies font sizes to set. If a font size is not specified, it won't be changed. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Sets given markup as the document's HTML. Frame id to set HTML for. HTML content to set. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Controls whether page will emit lifecycle events. If true, starts emitting lifecycle events. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Starts sending each frame using the `screencastFrame` event. Image compression format. Compression quality from range [0..100]. Maximum screenshot width. Maximum screenshot height. Send every n-th frame. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Force the page stop all navigations and pending resource fetches. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Crashes renderer on the IO thread, generates minidumps. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Tries to close page, running its beforeunload hooks, if any. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Tries to update the web lifecycle state of the page. It will transition the page to the given state according to: https://github.com/WICG/web-lifecycle/ Target lifecycle state returns System.Threading.Tasks.Task<DevToolsMethodResponse> Stops sending each frame in the `screencastFrame`. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Forces compilation cache to be generated for every subresource script. See also: `Page.produceCompilationCache`. enabled returns System.Threading.Tasks.Task<DevToolsMethodResponse> Requests backend to produce compilation cache for the specified scripts. Unlike setProduceCompilationCache, this allows client to only produce cache for specific scripts. `scripts` are appeneded to the list of scripts for which the cache for would produced. Disabling compilation cache with `setProduceCompilationCache` would reset all pending cache requests. The list may also be reset during page navigation. When script with a matching URL is encountered, the cache is optionally produced upon backend discretion, based on internal heuristics. See also: `Page.compilationCacheProduced`. scripts returns System.Threading.Tasks.Task<DevToolsMethodResponse> Seeds compilation cache for given url. Compilation cache does not survive cross-process navigation. url Base64-encoded data returns System.Threading.Tasks.Task<DevToolsMethodResponse> Clears seeded compilation cache. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Generates a report for testing. Message to be displayed in the report. Specifies the endpoint group to deliver the report to. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Pauses page execution. Can be resumed using generic Runtime.runIfWaitingForDebugger. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Intercept file chooser requests and transfer control to protocol clients. When file chooser interception is enabled, native file chooser dialog is not shown. Instead, a protocol event `Page.fileChooserOpened` is emitted. enabled returns System.Threading.Tasks.Task<DevToolsMethodResponse> Run-time execution metric. Metric name. Metric value. GetMetricsResponse metrics Performance Performance DevToolsClient Disable collecting and reporting metrics. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Enable collecting and reporting metrics. Time domain to use for collecting and reporting duration metrics. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Retrieve current values of run-time metrics. returns System.Threading.Tasks.Task<GetMetricsResponse> See https://github.com/WICG/LargestContentfulPaint and largest_contentful_paint.idl RenderTime LoadTime The number of pixels being painted. The id attribute of the element, if available. The URL of the image (may be trimmed). NodeId LayoutShiftAttribution PreviousRect CurrentRect NodeId See https://wicg.github.io/layout-instability/#sec-layout-shift and layout_shift.idl Score increment produced by this event. HadRecentInput LastInputTime Sources TimelineEvent Identifies the frame that this event is related to. Empty for non-frame targets. The event type, as specified in https://w3c.github.io/performance-timeline/#dom-performanceentry-entrytype This determines which of the optional "details" fiedls is present. Name may be empty depending on the type. Time in seconds since Epoch, monotonically increasing within document lifetime. Event duration, if applicable. LcpDetails LayoutShiftDetails Reporting of performance timeline events, as specified in https://w3c.github.io/performance-timeline/#dom-performanceobserver. PerformanceTimeline DevToolsClient Previously buffered events would be reported before method returns. See also: timelineEventAdded The types of event to report, as specified inhttps://w3c.github.io/performance-timeline/#dom-performanceentry-entrytypeThe specified filter overrides any previous filters, passing emptyfilter disables recording.Note that not all types exposed to the web platform are currently supported. returns System.Threading.Tasks.Task<DevToolsMethodResponse> A description of mixed content (HTTP resources on HTTPS pages), as defined by https://www.w3.org/TR/mixed-content/#categories blockable optionally-blockable none The security level of a page or resource. unknown neutral insecure secure info insecure-broken Details about the security state of the page certificate. Protocol name (e.g. "TLS 1.2" or "QUIC"). Key Exchange used by the connection, or the empty string if not applicable. (EC)DH group used by the connection, if applicable. Cipher name. TLS MAC. Note that AEAD ciphers do not have separate MACs. Page certificate. Certificate subject name. Name of the issuing CA. Certificate valid from date. Certificate valid to (expiration) date The highest priority network error code, if the certificate has an error. True if the certificate uses a weak signature aglorithm. True if the certificate has a SHA1 signature in the chain. True if modern SSL True if the connection is using an obsolete SSL protocol. True if the connection is using an obsolete SSL key exchange. True if the connection is using an obsolete SSL cipher. True if the connection is using an obsolete SSL signature. SafetyTipStatus badReputation lookalike SafetyTipInfo Describes whether the page triggers any safety tips or reputation warnings. Default is unknown. The URL the safety tip suggested ("Did you mean?"). Only filled in for lookalike matches. Security state information about the page. The security level of the page. Security state details about the page certificate. The type of Safety Tip triggered on the page. Note that this field will be set even if the Safety Tip UI was not actually shown. Array of security state issues ids. An explanation of an factor contributing to the security state. Security state representing the severity of the factor being explained. Title describing the type of factor. Short phrase describing the type of factor. Full text explanation of the factor. The type of mixed content described by the explanation. Page certificate. Recommendations to fix any issues. Information about insecure content on the page. Always false. Always false. Always false. Always false. Always false. Always set to unknown. Always set to unknown. The action to take when a certificate error occurs. continue will continue processing the request and cancel will cancel the request. continue cancel Security Security DevToolsClient Disables tracking security state changes. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Enables tracking security state changes. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Enable/disable whether all certificate errors should be ignored. If true, all certificate errors will be ignored. returns System.Threading.Tasks.Task<DevToolsMethodResponse> ServiceWorker registration. RegistrationId ScopeURL IsDeleted ServiceWorkerVersionRunningStatus stopped starting running stopping ServiceWorkerVersionStatus new installing installed activating activated redundant ServiceWorker version. VersionId RegistrationId ScriptURL RunningStatus Status The Last-Modified header value of the main script. The time at which the response headers of the main script were received from the server. For cached script it is the last time the cache entry was validated. ControlledClients TargetId ServiceWorker error message. ErrorMessage RegistrationId VersionId SourceURL LineNumber ColumnNumber ServiceWorker ServiceWorker DevToolsClient DeliverPushMessage origin registrationId data returns System.Threading.Tasks.Task<DevToolsMethodResponse> Disable returns System.Threading.Tasks.Task<DevToolsMethodResponse> DispatchSyncEvent origin registrationId tag lastChance returns System.Threading.Tasks.Task<DevToolsMethodResponse> DispatchPeriodicSyncEvent origin registrationId tag returns System.Threading.Tasks.Task<DevToolsMethodResponse> Enable returns System.Threading.Tasks.Task<DevToolsMethodResponse> InspectWorker versionId returns System.Threading.Tasks.Task<DevToolsMethodResponse> SetForceUpdateOnPageLoad forceUpdateOnPageLoad returns System.Threading.Tasks.Task<DevToolsMethodResponse> SkipWaiting scopeURL returns System.Threading.Tasks.Task<DevToolsMethodResponse> StartWorker scopeURL returns System.Threading.Tasks.Task<DevToolsMethodResponse> StopAllWorkers returns System.Threading.Tasks.Task<DevToolsMethodResponse> StopWorker versionId returns System.Threading.Tasks.Task<DevToolsMethodResponse> Unregister scopeURL returns System.Threading.Tasks.Task<DevToolsMethodResponse> UpdateRegistration scopeURL returns System.Threading.Tasks.Task<DevToolsMethodResponse> Enum of possible storage types. appcache cookies file_systems indexeddb local_storage shader_cache websql service_workers cache_storage all other Usage for a storage type. Name of storage type. Storage usage (bytes). Pair of issuer origin and number of available (signed, but not used) Trust Tokens from that issuer. IssuerOrigin Count GetCookiesResponse cookies GetUsageAndQuotaResponse usage quota overrideActive usageBreakdown GetTrustTokensResponse tokens ClearTrustTokensResponse didDeleteTokens Storage Storage DevToolsClient Clears storage for origin. Security origin. Comma separated list of StorageType to clear. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Returns all browser cookies. Browser context to use when called on the browser endpoint. returns System.Threading.Tasks.Task<GetCookiesResponse> Sets given cookies. Cookies to be set. Browser context to use when called on the browser endpoint. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Clears cookies. Browser context to use when called on the browser endpoint. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Returns usage and quota in bytes. Security origin. returns System.Threading.Tasks.Task<GetUsageAndQuotaResponse> Override quota for the specified origin Security origin. The quota size (in bytes) to override the original quota with.If this is called multiple times, the overriden quota will be equal tothe quotaSize provided in the final call. If this is called withoutspecifying a quotaSize, the quota will be reset to the default value forthe specified origin. If this is called multiple times with differentorigins, the override will be maintained for each origin until it isdisabled (called without a quotaSize). returns System.Threading.Tasks.Task<DevToolsMethodResponse> Registers origin to be notified when an update occurs to its cache storage list. Security origin. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Registers origin to be notified when an update occurs to its IndexedDB. Security origin. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Unregisters origin from receiving notifications for cache storage. Security origin. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Unregisters origin from receiving notifications for IndexedDB. Security origin. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Returns the number of stored Trust Tokens per issuer for the current browsing context. returns System.Threading.Tasks.Task<GetTrustTokensResponse> Removes all Trust Tokens issued by the provided issuerOrigin. Leaves other stored data, including the issuer's Redemption Records, intact. issuerOrigin returns System.Threading.Tasks.Task<ClearTrustTokensResponse> Describes a single graphics processor (GPU). PCI ID of the GPU vendor, if available; 0 otherwise. PCI ID of the GPU device, if available; 0 otherwise. Sub sys ID of the GPU, only available on Windows. Revision of the GPU, only available on Windows. String description of the GPU vendor, if the PCI ID is not available. String description of the GPU device, if the PCI ID is not available. String description of the GPU driver vendor. String description of the GPU driver version. Describes the width and height dimensions of an entity. Width in pixels. Height in pixels. Describes a supported video decoding profile with its associated minimum and maximum resolutions. Video codec profile that is supported, e.g. VP9 Profile 2. Maximum video dimensions in pixels supported for this |profile|. Minimum video dimensions in pixels supported for this |profile|. Describes a supported video encoding profile with its associated maximum resolution and maximum framerate. Video codec profile that is supported, e.g H264 Main. Maximum video dimensions in pixels supported for this |profile|. Maximum encoding framerate in frames per second supported for this |profile|, as fraction's numerator and denominator, e.g. 24/1 fps, 24000/1001 fps, etc. MaxFramerateDenominator YUV subsampling type of the pixels of a given image. yuv420 yuv422 yuv444 Image format of a given image. jpeg webp unknown Describes a supported image decoding profile with its associated minimum and maximum resolutions and subsampling. Image coded, e.g. Jpeg. Maximum supported dimensions of the image in pixels. Minimum supported dimensions of the image in pixels. Optional array of supported subsampling formats, e.g. 4:2:0, if known. Provides information about the GPU(s) on the system. The graphics devices on the system. Element 0 is the primary GPU. An optional dictionary of additional GPU related attributes. An optional dictionary of graphics features and their status. An optional array of GPU driver bug workarounds. Supported accelerated video decoding capabilities. Supported accelerated video encoding capabilities. Supported accelerated image decoding capabilities. Represents process info. Specifies process type. Specifies process id. Specifies cumulative CPU usage in seconds across all threads of the process since the process start. GetInfoResponse gpu modelName modelVersion commandLine GetProcessInfoResponse processInfo The SystemInfo domain defines methods and events for querying low-level system information. SystemInfo DevToolsClient Returns information about the system. returns System.Threading.Tasks.Task<GetInfoResponse> Returns information about all running processes. returns System.Threading.Tasks.Task<GetProcessInfoResponse> TargetInfo TargetId Type Title Url Whether the target has an attached client. Opener target Id Whether the target has access to the originating window. Frame id of originating window (is only set if target has an opener). BrowserContextId RemoteLocation Host Port AttachToTargetResponse sessionId AttachToBrowserTargetResponse sessionId CloseTargetResponse success CreateBrowserContextResponse browserContextId GetBrowserContextsResponse browserContextIds CreateTargetResponse targetId GetTargetInfoResponse targetInfo GetTargetsResponse targetInfos Supports additional targets discovery and allows to attach to them. Target DevToolsClient Activates (focuses) the target. targetId returns System.Threading.Tasks.Task<DevToolsMethodResponse> Attaches to the target with given id. targetId Enables "flat" access to the session via specifying sessionId attribute in the commands.We plan to make this the default, deprecate non-flattened mode,and eventually retire it. See crbug.com/991325. returns System.Threading.Tasks.Task<AttachToTargetResponse> Attaches to the browser target, only uses flat sessionId mode. returns System.Threading.Tasks.Task<AttachToBrowserTargetResponse> Closes the target. If the target is a page that gets closed too. targetId returns System.Threading.Tasks.Task<CloseTargetResponse> Inject object to the target's main frame that provides a communication channel with browser target. Injected object will be available as `window[bindingName]`. The object has the follwing API: - `binding.send(json)` - a method to send messages over the remote debugging protocol - `binding.onmessage = json => handleMessage(json)` - a callback that will be called for the protocol notifications and command responses. targetId Binding name, 'cdp' if not specified. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Creates a new empty BrowserContext. Similar to an incognito profile but you can have more than one. If specified, disposes this context when debugging session disconnects. Proxy server, similar to the one passed to --proxy-server Proxy bypass list, similar to the one passed to --proxy-bypass-list returns System.Threading.Tasks.Task<CreateBrowserContextResponse> Returns all browser contexts created with `Target.createBrowserContext` method. returns System.Threading.Tasks.Task<GetBrowserContextsResponse> Creates a new page. The initial URL the page will be navigated to. An empty string indicates about:blank. Frame width in DIP (headless chrome only). Frame height in DIP (headless chrome only). The browser context to create the page in. Whether BeginFrames for this target will be controlled via DevTools (headless chrome only,not supported on MacOS yet, false by default). Whether to create a new Window or Tab (chrome-only, false by default). Whether to create the target in background or foreground (chrome-only,false by default). returns System.Threading.Tasks.Task<CreateTargetResponse> Detaches session with given id. Session to detach. Deprecated. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Deletes a BrowserContext. All the belonging pages will be closed without calling their beforeunload hooks. browserContextId returns System.Threading.Tasks.Task<DevToolsMethodResponse> Returns information about a target. targetId returns System.Threading.Tasks.Task<GetTargetInfoResponse> Retrieves a list of available targets. returns System.Threading.Tasks.Task<GetTargetsResponse> Controls whether to automatically attach to new targets which are considered to be related to this one. When turned on, attaches to all existing related targets as well. When turned off, automatically detaches from all currently attached targets. Whether to auto-attach to related targets. Whether to pause new targets when attaching to them. Use `Runtime.runIfWaitingForDebugger`to run paused targets. Enables "flat" access to the session via specifying sessionId attribute in the commands.We plan to make this the default, deprecate non-flattened mode,and eventually retire it. See crbug.com/991325. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Controls whether to discover available targets and notify via `targetCreated/targetInfoChanged/targetDestroyed` events. Whether to discover available targets. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Enables target discovery for the specified locations, when `setDiscoverTargets` was set to `true`. List of remote locations. returns System.Threading.Tasks.Task<DevToolsMethodResponse> TraceConfig Controls how the trace buffer stores data. Turns on JavaScript stack sampling. Turns on system tracing. Turns on argument filter. Included category filters. Excluded category filters. Configuration to synthesize the delays in tracing. Configuration for memory dump triggers. Used only when "memory-infra" category is enabled. Data format of a trace. Can be either the legacy JSON format or the protocol buffer format. Note that the JSON format will be deprecated soon. json proto Compression type to use for traces returned via streams. none gzip Details exposed when memory request explicitly declared. Keep consistent with memory_dump_request_args.h and memory_instrumentation.mojom background light detailed Backend type to use for tracing. `chrome` uses the Chrome-integrated tracing service and is supported on all platforms. `system` is only supported on Chrome OS and uses the Perfetto system tracing service. `auto` chooses `system` when the perfettoConfig provided to Tracing.start specifies at least one non-Chrome data source; otherwise uses `chrome`. auto chrome system GetCategoriesResponse categories RequestMemoryDumpResponse dumpGuid success Tracing Tracing DevToolsClient Stop trace events collection. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Gets supported tracing categories. returns System.Threading.Tasks.Task<GetCategoriesResponse> Record a clock sync marker in the trace. The ID of this clock sync marker returns System.Threading.Tasks.Task<DevToolsMethodResponse> Request a global memory dump. Enables more deterministic results by forcing garbage collection Specifies level of details in memory dump. Defaults to "detailed". returns System.Threading.Tasks.Task<RequestMemoryDumpResponse> Start trace events collection. Category/tag filter Tracing options If set, the agent will issue bufferUsage events at this interval, specified in milliseconds Whether to report trace events as series of dataCollected events or to save trace to astream (defaults to `ReportEvents`). Trace data format to use. This only applies when using `ReturnAsStream`transfer mode (defaults to `json`). Compression format to use. This only applies when using `ReturnAsStream`transfer mode (defaults to `none`) traceConfig Base64-encoded serialized perfetto.protos.TraceConfig protobuf messageWhen specified, the parameters `categories`, `options`, `traceConfig`are ignored. Backend type (defaults to `auto`) returns System.Threading.Tasks.Task<DevToolsMethodResponse> Stages of the request to handle. Request will intercept before the request is sent. Response will intercept after the response is received (but before response body is received. Request Response RequestPattern Wildcards ('*' -> zero or more, '?' -> exactly one) are allowed. Escape character is backslash. Omitting is equivalent to "*". If set, only requests for matching resource types will be intercepted. Stage at wich to begin intercepting requests. Default is Request. Response HTTP header entry Name Value Authorization challenge for HTTP status code 401 or 407. Source of the authentication challenge. Origin of the challenger. The authentication scheme used, such as basic or digest The realm of the challenge. May be empty. Response to an AuthChallenge. The decision on what to do in response to the authorization challenge. Default means deferring to the default behavior of the net stack, which will likely either the Cancel authentication or display a popup dialog box. The username to provide, possibly empty. Should only be set if response is ProvideCredentials. The password to provide, possibly empty. Should only be set if response is ProvideCredentials. GetResponseBodyResponse body base64Encoded TakeResponseBodyAsStreamResponse stream A domain for letting clients substitute browser's network layer with client code. Fetch DevToolsClient Disables the fetch domain. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Enables issuing of requestPaused events. A request will be paused until client calls one of failRequest, fulfillRequest or continueRequest/continueWithAuth. If specified, only requests matching any of these patterns will producefetchRequested event and will be paused until clients response. If not set,all requests will be affected. If true, authRequired events will be issued and requests will be pausedexpecting a call to continueWithAuth. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Causes the request to fail with specified reason. An id the client received in requestPaused event. Causes the request to fail with the given reason. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Provides response to the request. An id the client received in requestPaused event. An HTTP response code. Response headers. Alternative way of specifying response headers as a \0-separatedseries of name: value pairs. Prefer the above method unless youneed to represent some non-UTF8 values that can't be transmittedover the protocol as text. A response body. A textual representation of responseCode.If absent, a standard phrase matching responseCode is used. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Continues the request, optionally modifying some of its parameters. An id the client received in requestPaused event. If set, the request url will be modified in a way that's not observable by page. If set, the request method is overridden. If set, overrides the post data in the request. If set, overrides the request headers. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Continues a request supplying authChallengeResponse following authRequired event. An id the client received in authRequired event. Response to with an authChallenge. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Causes the body of the response to be received from the server and returned as a single string. May only be issued for a request that is paused in the Response stage and is mutually exclusive with takeResponseBodyForInterceptionAsStream. Calling other methods that affect the request or disabling fetch domain before body is received results in an undefined behavior. Identifier for the intercepted request to get body for. returns System.Threading.Tasks.Task<GetResponseBodyResponse> Returns a handle to the stream representing the response body. The request must be paused in the HeadersReceived stage. Note that after this command the request can't be continued as is -- client either needs to cancel it or to provide the response body. The stream only supports sequential read, IO.read will fail if the position is specified. This method is mutually exclusive with getResponseBody. Calling other methods that affect the request or disabling fetch domain before body is received results in an undefined behavior. requestId returns System.Threading.Tasks.Task<TakeResponseBodyAsStreamResponse> Enum of BaseAudioContext types realtime offline Enum of AudioContextState from the spec suspended running closed Enum of AudioNode::ChannelCountMode from the spec clamped-max explicit max Enum of AudioNode::ChannelInterpretation from the spec discrete speakers Enum of AudioParam::AutomationRate from the spec a-rate k-rate Fields in AudioContext that change in real-time. The current context time in second in BaseAudioContext. The time spent on rendering graph divided by render qunatum duration, and multiplied by 100. 100 means the audio renderer reached the full capacity and glitch may occur. A running mean of callback interval. A running variance of callback interval. Protocol object for BaseAudioContext ContextId ContextType ContextState RealtimeData Platform-dependent callback buffer size. Number of output channels supported by audio hardware in use. Context sample rate. Protocol object for AudioListener ListenerId ContextId Protocol object for AudioNode NodeId ContextId NodeType NumberOfInputs NumberOfOutputs ChannelCount ChannelCountMode ChannelInterpretation Protocol object for AudioParam ParamId NodeId ContextId ParamType Rate DefaultValue MinValue MaxValue GetRealtimeDataResponse realtimeData This domain allows inspection of Web Audio API. https://webaudio.github.io/web-audio-api/ WebAudio DevToolsClient Enables the WebAudio domain and starts sending context lifetime events. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Disables the WebAudio domain. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Fetch the realtime data from the registered contexts. contextId returns System.Threading.Tasks.Task<GetRealtimeDataResponse> AuthenticatorProtocol u2f ctap2 Ctap2Version ctap2_0 ctap2_1 AuthenticatorTransport usb nfc ble cable internal VirtualAuthenticatorOptions Protocol Defaults to ctap2_0. Ignored if |protocol| == u2f. Transport Defaults to false. Defaults to false. If set to true, the authenticator will support the largeBlob extension. https://w3c.github.io/webauthn#largeBlob Defaults to false. If set to true, tests of user presence will succeed immediately. Otherwise, they will not be resolved. Defaults to true. Sets whether User Verification succeeds or fails for an authenticator. Defaults to false. Credential CredentialId IsResidentCredential Relying Party ID the credential is scoped to. Must be set when adding a credential. The ECDSA P-256 private key in PKCS#8 format. An opaque byte sequence with a maximum size of 64 bytes mapping the credential to a specific user. Signature counter. This is incremented by one for each successful assertion. See https://w3c.github.io/webauthn/#signature-counter The large blob associated with the credential. See https://w3c.github.io/webauthn/#sctn-large-blob-extension AddVirtualAuthenticatorResponse authenticatorId GetCredentialResponse credential GetCredentialsResponse credentials This domain allows configuring virtual authenticators to test the WebAuthn API. WebAuthn DevToolsClient Enable the WebAuthn domain and start intercepting credential storage and retrieval with a virtual authenticator. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Disable the WebAuthn domain. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Creates and adds a virtual authenticator. options returns System.Threading.Tasks.Task<AddVirtualAuthenticatorResponse> Removes the given authenticator. authenticatorId returns System.Threading.Tasks.Task<DevToolsMethodResponse> Adds the credential to the specified authenticator. authenticatorId credential returns System.Threading.Tasks.Task<DevToolsMethodResponse> Returns a single credential stored in the given virtual authenticator that matches the credential ID. authenticatorId credentialId returns System.Threading.Tasks.Task<GetCredentialResponse> Returns all the credentials stored in the given virtual authenticator. authenticatorId returns System.Threading.Tasks.Task<GetCredentialsResponse> Removes a credential from the authenticator. authenticatorId credentialId returns System.Threading.Tasks.Task<DevToolsMethodResponse> Clears all the credentials from the specified device. authenticatorId returns System.Threading.Tasks.Task<DevToolsMethodResponse> Sets whether User Verification succeeds or fails for an authenticator. The default is true. authenticatorId isUserVerified returns System.Threading.Tasks.Task<DevToolsMethodResponse> Sets whether tests of user presence will succeed immediately (if true) or fail to resolve (if false) for an authenticator. The default is true. authenticatorId enabled returns System.Threading.Tasks.Task<DevToolsMethodResponse> Have one type per entry in MediaLogRecord::Type Corresponds to kMessage Keep in sync with MediaLogMessageLevel We are currently keeping the message level 'error' separate from the PlayerError type because right now they represent different things, this one being a DVLOG(ERROR) style log message that gets printed based on what log level is selected in the UI, and the other is a representation of a media::PipelineStatus object. Soon however we're going to be moving away from using PipelineStatus for errors and introducing a new error type which should hopefully let us integrate the error log level into the PlayerError type. Message Corresponds to kMediaPropertyChange Name Value Corresponds to kMediaEventTriggered Timestamp Value Corresponds to kMediaError Type When this switches to using media::Status instead of PipelineStatus we can remove "errorCode" and replace it with the fields from a Status instance. This also seems like a duplicate of the error level enum - there is a todo bug to have that level removed and use this instead. (crbug.com/1068454) This domain allows detailed inspection of media elements Media DevToolsClient Enables the Media domain returns System.Threading.Tasks.Task<DevToolsMethodResponse> Disables the Media domain. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Location in the source code. Script identifier as reported in the `Debugger.scriptParsed`. Line number in the script (0-based). Column number in the script (0-based). Location in the source code. LineNumber ColumnNumber Location range within one script. ScriptId Start End JavaScript call frame. Array of call frames form the call stack. Call frame identifier. This identifier is only valid while the virtual machine is paused. Name of the JavaScript function called on this call frame. Location in the source code. Location in the source code. JavaScript script name or url. Scope chain for this call frame. `this` object for this call frame. The value being returned, if the function is at return point. Scope description. Scope type. Object representing the scope. For `global` and `with` scopes it represents the actual object; for the rest of the scopes, it is artificial transient object enumerating scope variables as its properties. Name Location in the source code where scope starts Location in the source code where scope ends Search match for resource. Line number in resource content. Line with match content. BreakLocation Script identifier as reported in the `Debugger.scriptParsed`. Line number in the script (0-based). Column number in the script (0-based). Type Enum of possible script languages. JavaScript WebAssembly Debug symbols available for a wasm script. Type of the debug symbols. URL of the external symbol source. EnableResponse debuggerId EvaluateOnCallFrameResponse result exceptionDetails GetPossibleBreakpointsResponse locations GetScriptSourceResponse scriptSource bytecode GetStackTraceResponse stackTrace RestartFrameResponse callFrames asyncStackTrace asyncStackTraceId SearchInContentResponse result SetBreakpointResponse breakpointId actualLocation SetInstrumentationBreakpointResponse breakpointId SetBreakpointByUrlResponse breakpointId locations SetBreakpointOnFunctionCallResponse breakpointId SetScriptSourceResponse callFrames stackChanged asyncStackTrace asyncStackTraceId exceptionDetails Debugger domain exposes JavaScript debugging capabilities. It allows setting and removing breakpoints, stepping through execution, exploring stack traces, etc. Debugger DevToolsClient Continues execution until specific location is reached. Location to continue to. targetCallFrames returns System.Threading.Tasks.Task<DevToolsMethodResponse> Disables debugger for given page. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Enables debugger for the given page. Clients should not assume that the debugging has been enabled until the result for this command is received. The maximum size in bytes of collected scripts (not referenced by other heap objects)the debugger can hold. Puts no limit if paramter is omitted. returns System.Threading.Tasks.Task<EnableResponse> Evaluates expression on a given call frame. Call frame identifier to evaluate on. Expression to evaluate. String object group name to put result into (allows rapid releasing resulting object handlesusing `releaseObjectGroup`). Specifies whether command line API should be available to the evaluated expression, defaultsto false. In silent mode exceptions thrown during evaluation are not reported and do not pauseexecution. Overrides `setPauseOnException` state. Whether the result is expected to be a JSON object that should be sent by value. Whether preview should be generated for the result. Whether to throw an exception if side effect cannot be ruled out during evaluation. Terminate execution after timing out (number of milliseconds). returns System.Threading.Tasks.Task<EvaluateOnCallFrameResponse> Returns possible locations for breakpoint. scriptId in start and end range locations should be the same. Start of range to search possible breakpoint locations in. End of range to search possible breakpoint locations in (excluding). When not specified, endof scripts is used as end of range. Only consider locations which are in the same (non-nested) function as start. returns System.Threading.Tasks.Task<GetPossibleBreakpointsResponse> Returns source for the script with given id. Id of the script to get source for. returns System.Threading.Tasks.Task<GetScriptSourceResponse> Returns stack trace with given `stackTraceId`. stackTraceId returns System.Threading.Tasks.Task<GetStackTraceResponse> Stops on the next JavaScript statement. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Removes JavaScript breakpoint. breakpointId returns System.Threading.Tasks.Task<DevToolsMethodResponse> Restarts particular call frame from the beginning. Call frame identifier to evaluate on. returns System.Threading.Tasks.Task<RestartFrameResponse> Resumes JavaScript execution. Set to true to terminate execution upon resuming execution. In contrastto Runtime.terminateExecution, this will allows to execute furtherJavaScript (i.e. via evaluation) until execution of the paused codeis actually resumed, at which point termination is triggered.If execution is currently not paused, this parameter has no effect. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Searches for given string in script content. Id of the script to search in. String to search for. If true, search is case sensitive. If true, treats string parameter as regex. returns System.Threading.Tasks.Task<SearchInContentResponse> Enables or disables async call stacks tracking. Maximum depth of async call stacks. Setting to `0` will effectively disable collecting asynccall stacks (default). returns System.Threading.Tasks.Task<DevToolsMethodResponse> Replace previous blackbox patterns with passed ones. Forces backend to skip stepping/pausing in scripts with url matching one of the patterns. VM will try to leave blackboxed script by performing 'step in' several times, finally resorting to 'step out' if unsuccessful. Array of regexps that will be used to check script url for blackbox state. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Makes backend skip steps in the script in blackboxed ranges. VM will try leave blacklisted scripts by performing 'step in' several times, finally resorting to 'step out' if unsuccessful. Positions array contains positions where blackbox state is changed. First interval isn't blackboxed. Array should be sorted. Id of the script. positions returns System.Threading.Tasks.Task<DevToolsMethodResponse> Sets JavaScript breakpoint at a given location. Location to set breakpoint in. Expression to use as a breakpoint condition. When specified, debugger will only stop on thebreakpoint if this expression evaluates to true. returns System.Threading.Tasks.Task<SetBreakpointResponse> Sets instrumentation breakpoint. Instrumentation name. returns System.Threading.Tasks.Task<SetInstrumentationBreakpointResponse> Sets JavaScript breakpoint at given location specified either by URL or URL regex. Once this command is issued, all existing parsed scripts will have breakpoints resolved and returned in `locations` property. Further matching script parsing will result in subsequent `breakpointResolved` events issued. This logical breakpoint will survive page reloads. Line number to set breakpoint at. URL of the resources to set breakpoint on. Regex pattern for the URLs of the resources to set breakpoints on. Either `url` or`urlRegex` must be specified. Script hash of the resources to set breakpoint on. Offset in the line to set breakpoint at. Expression to use as a breakpoint condition. When specified, debugger will only stop on thebreakpoint if this expression evaluates to true. returns System.Threading.Tasks.Task<SetBreakpointByUrlResponse> Sets JavaScript breakpoint before each call to the given function. If another function was created from the same source as a given one, calling it will also trigger the breakpoint. Function object id. Expression to use as a breakpoint condition. When specified, debugger willstop on the breakpoint if this expression evaluates to true. returns System.Threading.Tasks.Task<SetBreakpointOnFunctionCallResponse> Activates / deactivates all breakpoints on the page. New value for breakpoints active state. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Defines pause on exceptions state. Can be set to stop on all exceptions, uncaught exceptions or no exceptions. Initial pause on exceptions state is `none`. Pause on exceptions mode. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Changes return value in top frame. Available only at return break position. New return value. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Edits JavaScript source live. Id of the script to edit. New content of the script. If true the change will not actually be applied. Dry run may be used to get resultdescription without actually modifying the code. returns System.Threading.Tasks.Task<SetScriptSourceResponse> Makes page not interrupt on any pauses (breakpoint, exception, dom exception etc). New value for skip pauses state. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Changes value of variable in a callframe. Object-based scopes are not supported and must be mutated manually. 0-based number of scope as was listed in scope chain. Only 'local', 'closure' and 'catch'scope types are allowed. Other scopes could be manipulated manually. Variable name. New variable value. Id of callframe that holds variable. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Steps into the function call. Debugger will pause on the execution of the first async task which was scheduledbefore next pause. The skipList specifies location ranges that should be skipped on step into. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Steps out of the function call. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Steps over the statement. The skipList specifies location ranges that should be skipped on step over. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Sampling Heap Profile node. Holds callsite information, allocation statistics and child nodes. Function location. Allocations size in bytes for the node excluding children. Node id. Ids are unique across all profiles collected between startSampling and stopSampling. Child nodes. A single sample from a sampling profile. Allocation size in bytes attributed to the sample. Id of the corresponding profile tree node. Time-ordered sample ordinal number. It is unique across all profiles retrieved between startSampling and stopSampling. Sampling profile. Head Samples GetHeapObjectIdResponse heapSnapshotObjectId GetObjectByHeapObjectIdResponse result GetSamplingProfileResponse profile StopSamplingResponse profile HeapProfiler HeapProfiler DevToolsClient Enables console to refer to the node with given id via $x (see Command Line API for more details $x functions). Heap snapshot object id to be accessible by means of $x command line API. returns System.Threading.Tasks.Task<DevToolsMethodResponse> CollectGarbage returns System.Threading.Tasks.Task<DevToolsMethodResponse> Disable returns System.Threading.Tasks.Task<DevToolsMethodResponse> Enable returns System.Threading.Tasks.Task<DevToolsMethodResponse> GetHeapObjectId Identifier of the object to get heap object id for. returns System.Threading.Tasks.Task<GetHeapObjectIdResponse> GetObjectByHeapObjectId objectId Symbolic group name that can be used to release multiple objects. returns System.Threading.Tasks.Task<GetObjectByHeapObjectIdResponse> GetSamplingProfile returns System.Threading.Tasks.Task<GetSamplingProfileResponse> StartSampling Average sample interval in bytes. Poisson distribution is used for the intervals. Thedefault value is 32768 bytes. returns System.Threading.Tasks.Task<DevToolsMethodResponse> StartTrackingHeapObjects trackAllocations returns System.Threading.Tasks.Task<DevToolsMethodResponse> StopSampling returns System.Threading.Tasks.Task<StopSamplingResponse> StopTrackingHeapObjects If true 'reportHeapSnapshotProgress' events will be generated while snapshot is being takenwhen the tracking is stopped. treatGlobalObjectsAsRoots returns System.Threading.Tasks.Task<DevToolsMethodResponse> TakeHeapSnapshot If true 'reportHeapSnapshotProgress' events will be generated while snapshot is being taken. If true, a raw snapshot without artifical roots will be generated returns System.Threading.Tasks.Task<DevToolsMethodResponse> Profile node. Holds callsite information, execution statistics and child nodes. Unique id of the node. Function location. Number of samples where this node was on top of the call stack. Child node ids. The reason of being not optimized. The function may be deoptimized or marked as don't optimize. An array of source position ticks. Profile. The list of profile nodes. First item is the root node. Profiling start timestamp in microseconds. Profiling end timestamp in microseconds. Ids of samples top nodes. Time intervals between adjacent samples in microseconds. The first delta is relative to the profile startTime. Specifies a number of samples attributed to a certain source position. Source line number (1-based). Number of samples attributed to the source line. Coverage data for a source range. JavaScript script source offset for the range start. JavaScript script source offset for the range end. Collected execution count of the source range. Coverage data for a JavaScript function. JavaScript function name. Source ranges inside the function with coverage data. Whether coverage data for this function has block granularity. Coverage data for a JavaScript script. JavaScript script id. JavaScript script name or url. Functions contained in the script that has coverage data. Describes a type collected during runtime. Name of a type collected with type profiling. Source offset and types for a parameter or return value. Source offset of the parameter or end of function for return values. The types for this parameter or return value. Type profile data collected during runtime for a JavaScript script. JavaScript script id. JavaScript script name or url. Type profile entries for parameters and return values of the functions in the script. Collected counter information. Counter name. Counter value. Runtime call counter information. Counter name. Counter value. Counter time in seconds. GetBestEffortCoverageResponse result StartPreciseCoverageResponse timestamp StopResponse profile TakePreciseCoverageResponse result timestamp TakeTypeProfileResponse result GetCountersResponse result GetRuntimeCallStatsResponse result Profiler Profiler DevToolsClient Disable returns System.Threading.Tasks.Task<DevToolsMethodResponse> Enable returns System.Threading.Tasks.Task<DevToolsMethodResponse> Collect coverage data for the current isolate. The coverage data may be incomplete due to garbage collection. returns System.Threading.Tasks.Task<GetBestEffortCoverageResponse> Changes CPU profiler sampling interval. Must be called before CPU profiles recording started. New sampling interval in microseconds. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Start returns System.Threading.Tasks.Task<DevToolsMethodResponse> Enable precise code coverage. Coverage data for JavaScript executed before enabling precise code coverage may be incomplete. Enabling prevents running optimized code and resets execution counters. Collect accurate call counts beyond simple 'covered' or 'not covered'. Collect block-based coverage. Allow the backend to send updates on its own initiative returns System.Threading.Tasks.Task<StartPreciseCoverageResponse> Enable type profile. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Stop returns System.Threading.Tasks.Task<StopResponse> Disable precise code coverage. Disabling releases unnecessary execution count records and allows executing optimized code. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Disable type profile. Disabling releases type profile data collected so far. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Collect coverage data for the current isolate, and resets execution counters. Precise code coverage needs to have started. returns System.Threading.Tasks.Task<TakePreciseCoverageResponse> Collect type profile. returns System.Threading.Tasks.Task<TakeTypeProfileResponse> Enable counters collection. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Disable counters collection. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Retrieve counters. returns System.Threading.Tasks.Task<GetCountersResponse> Enable run time call stats collection. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Disable run time call stats collection. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Retrieve run time call stats. returns System.Threading.Tasks.Task<GetRuntimeCallStatsResponse> Mirror object referencing original JavaScript object. Object type. Object subtype hint. Specified for `object` type values only. NOTE: If you change anything here, make sure to also update `subtype` in `ObjectPreview` and `PropertyPreview` below. Object class (constructor) name. Specified for `object` type values only. Remote object value in case of primitive values or JSON values (if it was requested). Primitive value which can not be JSON-stringified does not have `value`, but gets this property. String representation of the object. Unique object identifier (for non-primitive values). Preview containing abbreviated property values. Specified for `object` type values only. CustomPreview CustomPreview The JSON-stringified result of formatter.header(object, config) call. It contains json ML array that represents RemoteObject. If formatter returns true as a result of formatter.hasBody call then bodyGetterId will contain RemoteObjectId for the function that returns result of formatter.body(object, config) call. The result value is json ML array. Object containing abbreviated remote object value. Object type. Object subtype hint. Specified for `object` type values only. String representation of the object. True iff some of the properties or entries of the original object did not fit. List of the properties. List of the entries. Specified for `map` and `set` subtype values only. PropertyPreview Property name. Object type. Accessor means that the property itself is an accessor property. User-friendly property value string. Nested value preview. Object subtype hint. Specified for `object` type values only. EntryPreview Preview of the key. Specified for map-like collection entries. Preview of the value. Object property descriptor. Property name or symbol description. The value associated with the property. True if the value associated with the property may be changed (data descriptors only). A function which serves as a getter for the property, or `undefined` if there is no getter (accessor descriptors only). A function which serves as a setter for the property, or `undefined` if there is no setter (accessor descriptors only). True if the type of this property descriptor may be changed and if the property may be deleted from the corresponding object. True if this property shows up during enumeration of the properties on the corresponding object. True if the result was thrown during the evaluation. True if the property is owned for the object. Property symbol object, if the property is of the `symbol` type. Object internal property descriptor. This property isn't normally visible in JavaScript code. Conventional property name. The value associated with the property. Object private field descriptor. Private property name. The value associated with the private property. A function which serves as a getter for the private property, or `undefined` if there is no getter (accessor descriptors only). A function which serves as a setter for the private property, or `undefined` if there is no setter (accessor descriptors only). Represents function call argument. Either remote object id `objectId`, primitive `value`, unserializable primitive value or neither of (for undefined) them should be specified. Primitive value or serializable javascript object. Primitive value which can not be JSON-stringified. Remote object handle. Description of an isolated world. Unique id of the execution context. It can be used to specify in which execution context script evaluation should be performed. Execution context origin. Human readable name describing given context. A system-unique execution context identifier. Unlike the id, this is unique accross multiple processes, so can be reliably used to identify specific context while backend performs a cross-process navigation. Embedder-specific auxiliary data. Detailed information about exception (or error) that was thrown during script compilation or execution. Exception id. Exception text, which should be used together with exception object when available. Line number of the exception location (0-based). Column number of the exception location (0-based). Script ID of the exception location. URL of the exception location, to be used when the script was not reported. JavaScript stack trace if available. Exception object if available. Identifier of the context where exception happened. Stack entry for runtime errors and assertions. JavaScript function name. JavaScript script id. JavaScript script name or url. JavaScript script line number (0-based). JavaScript script column number (0-based). Call frames for assertions or error messages. String label of this stack trace. For async traces this may be a name of the function that initiated the async call. JavaScript function name. Asynchronous JavaScript stack trace that preceded this stack, if available. Asynchronous JavaScript stack trace that preceded this stack, if available. If `debuggerId` is set stack trace comes from another debugger and can be resolved there. This allows to track cross-debugger calls. See `Runtime.StackTrace` and `Debugger.paused` for usages. Id DebuggerId AwaitPromiseResponse result exceptionDetails CallFunctionOnResponse result exceptionDetails CompileScriptResponse scriptId exceptionDetails EvaluateResponse result exceptionDetails GetIsolateIdResponse id GetHeapUsageResponse usedSize totalSize GetPropertiesResponse result internalProperties privateProperties exceptionDetails GlobalLexicalScopeNamesResponse names QueryObjectsResponse objects RunScriptResponse result exceptionDetails Runtime domain exposes JavaScript runtime by means of remote evaluation and mirror objects. Evaluation results are returned as mirror object that expose object type, string representation and unique identifier that can be used for further object reference. Original objects are maintained in memory unless they are either explicitly released or are released along with the other objects in their object group. Runtime DevToolsClient Add handler to promise with given promise object id. Identifier of the promise. Whether the result is expected to be a JSON object that should be sent by value. Whether preview should be generated for the result. returns System.Threading.Tasks.Task<AwaitPromiseResponse> Calls function with given declaration on the given object. Object group of the result is inherited from the target object. Declaration of the function to call. Identifier of the object to call function on. Either objectId or executionContextId shouldbe specified. Call arguments. All call arguments must belong to the same JavaScript world as the targetobject. In silent mode exceptions thrown during evaluation are not reported and do not pauseexecution. Overrides `setPauseOnException` state. Whether the result is expected to be a JSON object which should be sent by value. Whether preview should be generated for the result. Whether execution should be treated as initiated by user in the UI. Whether execution should `await` for resulting value and return once awaited promise isresolved. Specifies execution context which global object will be used to call function on. EitherexecutionContextId or objectId should be specified. Symbolic group name that can be used to release multiple objects. If objectGroup is notspecified and objectId is, objectGroup will be inherited from object. returns System.Threading.Tasks.Task<CallFunctionOnResponse> Compiles expression. Expression to compile. Source url to be set for the script. Specifies whether the compiled script should be persisted. Specifies in which execution context to perform script run. If the parameter is omitted theevaluation will be performed in the context of the inspected page. returns System.Threading.Tasks.Task<CompileScriptResponse> Disables reporting of execution contexts creation. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Discards collected exceptions and console API calls. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Enables reporting of execution contexts creation by means of `executionContextCreated` event. When the reporting gets enabled the event will be sent immediately for each existing execution context. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Evaluates expression on global object. Expression to evaluate. Symbolic group name that can be used to release multiple objects. Determines whether Command Line API should be available during the evaluation. In silent mode exceptions thrown during evaluation are not reported and do not pauseexecution. Overrides `setPauseOnException` state. Specifies in which execution context to perform evaluation. If the parameter is omitted theevaluation will be performed in the context of the inspected page.This is mutually exclusive with `uniqueContextId`, which offers analternative way to identify the execution context that is more reliablein a multi-process environment. Whether the result is expected to be a JSON object that should be sent by value. Whether preview should be generated for the result. Whether execution should be treated as initiated by user in the UI. Whether execution should `await` for resulting value and return once awaited promise isresolved. Whether to throw an exception if side effect cannot be ruled out during evaluation.This implies `disableBreaks` below. Terminate execution after timing out (number of milliseconds). Disable breakpoints during execution. Setting this flag to true enables `let` re-declaration and top-level `await`.Note that `let` variables can only be re-declared if they originate from`replMode` themselves. The Content Security Policy (CSP) for the target might block 'unsafe-eval'which includes eval(), Function(), setTimeout() and setInterval()when called with non-callable arguments. This flag bypasses CSP for thisevaluation and allows unsafe-eval. Defaults to true. An alternative way to specify the execution context to evaluate in.Compared to contextId that may be reused accross processes, this is guaranteed to besystem-unique, so it can be used to prevent accidental evaluation of the expressionin context different than intended (e.g. as a result of navigation accross processboundaries).This is mutually exclusive with `contextId`. returns System.Threading.Tasks.Task<EvaluateResponse> Returns the isolate id. returns System.Threading.Tasks.Task<GetIsolateIdResponse> Returns the JavaScript heap usage. It is the total usage of the corresponding isolate not scoped to a particular Runtime. returns System.Threading.Tasks.Task<GetHeapUsageResponse> Returns properties of a given object. Object group of the result is inherited from the target object. Identifier of the object to return properties for. If true, returns properties belonging only to the element itself, not to its prototypechain. If true, returns accessor properties (with getter/setter) only; internal properties are notreturned either. Whether preview should be generated for the results. returns System.Threading.Tasks.Task<GetPropertiesResponse> Returns all let, const and class variables from global scope. Specifies in which execution context to lookup global scope variables. returns System.Threading.Tasks.Task<GlobalLexicalScopeNamesResponse> QueryObjects Identifier of the prototype to return objects for. Symbolic group name that can be used to release the results. returns System.Threading.Tasks.Task<QueryObjectsResponse> Releases remote object with given id. Identifier of the object to release. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Releases all remote objects that belong to a given group. Symbolic object group name. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Tells inspected instance to run if it was waiting for debugger to attach. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Runs script with given id in a given context. Id of the script to run. Specifies in which execution context to perform script run. If the parameter is omitted theevaluation will be performed in the context of the inspected page. Symbolic group name that can be used to release multiple objects. In silent mode exceptions thrown during evaluation are not reported and do not pauseexecution. Overrides `setPauseOnException` state. Determines whether Command Line API should be available during the evaluation. Whether the result is expected to be a JSON object which should be sent by value. Whether preview should be generated for the result. Whether execution should `await` for resulting value and return once awaited promise isresolved. returns System.Threading.Tasks.Task<RunScriptResponse> Enables or disables async call stacks tracking. Maximum depth of async call stacks. Setting to `0` will effectively disable collecting asynccall stacks (default). returns System.Threading.Tasks.Task<DevToolsMethodResponse> SetCustomObjectFormatterEnabled enabled returns System.Threading.Tasks.Task<DevToolsMethodResponse> SetMaxCallStackSizeToCapture size returns System.Threading.Tasks.Task<DevToolsMethodResponse> Terminate current or next JavaScript execution. Will cancel the termination when the outer-most script execution ends. returns System.Threading.Tasks.Task<DevToolsMethodResponse> If executionContextId is empty, adds binding with the given name on the global objects of all inspected contexts, including those created later, bindings survive reloads. Binding function takes exactly one argument, this argument should be string, in case of any other input, function throws an exception. Each binding function call produces Runtime.bindingCalled notification. name If specified, the binding would only be exposed to the specifiedexecution context. If omitted and `executionContextName` is not set,the binding is exposed to all execution contexts of the target.This parameter is mutually exclusive with `executionContextName`. If specified, the binding is exposed to the executionContext withmatching name, even for contexts created after the binding is added.See also `ExecutionContext.name` and `worldName` parameter to`Page.addScriptToEvaluateOnNewDocument`.This parameter is mutually exclusive with `executionContextId`. returns System.Threading.Tasks.Task<DevToolsMethodResponse> This method does not remove binding function from global object but unsubscribes current runtime agent from Runtime.bindingCalled notifications. name returns System.Threading.Tasks.Task<DevToolsMethodResponse> DeviceOrientation DeviceOrientation DevToolsClient Clears the overridden Device Orientation. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Overrides the Device Orientation. Mock alpha Mock beta Mock gamma returns System.Threading.Tasks.Task<DevToolsMethodResponse> ReadResponse base64Encoded data eof ResolveBlobResponse uuid Input/Output operations for streams produced by DevTools. IO DevToolsClient Close the stream, discard any temporary backing storage. Handle of the stream to close. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Read a chunk of the stream Handle of the stream to read. Seek to the specified offset before reading (if not specificed, proceed with offsetfollowing the last read). Some types of streams may only support sequential reads. Maximum number of bytes to read (left upon the agent discretion if not specified). returns System.Threading.Tasks.Task<ReadResponse> Return UUID of Blob object specified by a remote object id. Object id of a Blob object wrapper. returns System.Threading.Tasks.Task<ResolveBlobResponse> Inspector Inspector DevToolsClient Disables inspector domain notifications. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Enables inspector domain notifications. returns System.Threading.Tasks.Task<DevToolsMethodResponse> The Tethering domain defines methods and events for browser port binding. Tethering DevToolsClient Request browser port binding. Port number to bind. returns System.Threading.Tasks.Task<DevToolsMethodResponse> Request browser port unbinding. Port number to unbind. returns System.Threading.Tasks.Task<DevToolsMethodResponse> The exception that is thrown when there's a problem executing a DevTools protocol method. Get the Error Response Initializes a new instance of the class with its message string set to a default message. Initializes a new instance of the class with a specified error message. message Initializes a new instance of the class with a specified error message. message error response Initializes a new instance of the class with a specified error message and an inner exception. message inner exception Common Base class for DevTools Domain Model classes Error Message parsed from JSON e.g. {"code":-32601,"message":"'Browser.getWindowForTarget' wasn't found"} Message Id Error Code Error Message DevTools Event EventAargs Method Event paramaters as Json string DevTools Method Response MessageId Success Method Response as Json string DevTools Client Execute a method call over the DevTools protocol. This method can be called on any thread. See the DevTools protocol documentation at https://chromedevtools.github.io/devtools-protocol/ for details of supported methods and the expected dictionary contents. is the method name are the method parameters represented as a dictionary, which may be empty. return a Task that can be awaited to obtain the method result Composition underline style. Solid Dot Dash None Cookie priority values. Low Priority Medium Priority High Priority Cookie same site values. See https://source.chromium.org/chromium/chromium/src/+/master:net/cookies/cookie_constants.h Unspecified Cookies will be sent in all contexts, i.e sending cross-origin is allowed. None used to be the default value, but recent browser versions made Lax the default value to have reasonably robust defense against some classes of cross-site request forgery (CSRF) attacks. Cookies are allowed to be sent with top-level navigations and will be sent along with GET request initiated by third party website. This is the default value in modern browsers. Cookies will only be sent in a first-party context and not be sent along with requests initiated by third party websites. Configuration options for registering a custom scheme. These values are used when calling AddCustomScheme. Register scheme without options set If Standard is set the scheme will be treated as a standard scheme. Standard schemes are subject to URL canonicalization and parsing rules as defined in the Common Internet Scheme Syntax RFC 1738 Section 3.1 available at http://www.ietf.org/rfc/rfc1738.txt In particular, the syntax for standard scheme URLs must be of the form:
              [scheme]://[username]:[password]@[host]:[port]/[url-path]
             
Standard scheme URLs must have a host component that is a fully qualified domain name as defined in Section 3.5 of RFC 1034 [13] and Section 2.1 of RFC 1123. These URLs will be canonicalized to "scheme://host/path" in the simplest case and "scheme://username:password@host:port/path" in the most explicit case. For example, "scheme:host/path" and "scheme:///host/path" will both be canonicalized to "scheme://host/path". The origin of a standard scheme URL is the combination of scheme, host and port (i.e., "scheme://host:port" in the most explicit case). For non-standard scheme URLs only the "scheme:" component is parsed and canonicalized. The remainder of the URL will be passed to the handler as- is. For example, "scheme:///some%20text" will remain the same. Non-standard scheme URLs cannot be used as a target for form submission.
If Local is set the scheme will be treated with the same security rules as those applied to "file" URLs. Normal pages cannot link to or access local URLs. Also, by default, local URLs can only perform XMLHttpRequest calls to the same URL (origin + path) that originated the request. To allow XMLHttpRequest calls from a local URL to other URLs with the same origin set the CefSettings.FileAccessFromFileUrlsAllowed value to true. To allow XMLHttpRequest calls from a local URL to all origins set the CefSettings.UniversalAccessFromFileUrlsAllowed value to true. If DisplayIsolated is set the scheme can only be displayed from other content hosted with the same scheme. For example, pages in other origins cannot create iframes or hyperlinks to URLs with the scheme. For schemes that must be accessible from other schemes don't set this, set CorsEnabled, and use CORS "Access-Control-Allow-Origin" headers to further restrict access. If Secure is set the scheme will be treated with the same security rules as those applied to "https" URLs. For example, loading this scheme from other secure schemes will not trigger mixed content warnings. If CorsEnabled is set the scheme can be sent CORS requests. This value should be set in most cases where Standard is set. If CspBypassing is set the scheme can bypass Content-Security-Policy (CSP) checks. This value should not be set in most cases where Standard is set. If FetchEnabled is set the scheme can perform Fetch API requests. Describes how to interpret the alpha component of a pixel. No transparency. The alpha component is ignored. Transparency with pre-multiplied alpha component. Transparency with post-multiplied alpha component. Enumerates the various representations of the ordering of audio channels. Logged to UMA, so never reuse a value, always add new/greater ones! See media\base\channel_layout.h None Unsupported Front C Front L, Front R Front L, Front R, Back C Front L, Front R, Front C Front L, Front R, Front C, Back C Front L, Front R, Side L, Side R Front L, Front R, Back L, Back R Front L, Front R, Front C, Side L, Side R Front L, Front R, Front C, LFE, Side L, Side R Front L, Front R, Front C, Back L, Back R Front L, Front R, Front C, LFE, Back L, Back R Front L, Front R, Front C, Side L, Side R, Back L, Back R Front L, Front R, Front C, LFE, Side L, Side R, Back L, Back R Front L, Front R, Front C, LFE, Side L, Side R, Front LofC, Front RofC Stereo L, Stereo R Stereo L, Stereo R, LFE Stereo L, Stereo R, Front C, LFE Stereo L, Stereo R, Front C, Rear C, LFE Stereo L, Stereo R, Front C, Side L, Side R, Back C Stereo L, Stereo R, Side L, Side R, Front LofC, Front RofC Stereo L, Stereo R, Front C, Rear L, Rear R, Rear C Stereo L, Stereo R, Front C, LFE, Side L, Side R, Rear Center Stereo L, Stereo R, Front C, LFE, Back L, Back R, Rear Center Stereo L, Stereo R, Side L, Side R, Front LofC, Front RofC, LFE Front L, Front R, Front C, Side L, Side R, Front LofC, Front RofC Front L, Front R, Front C, LFE, Back L, Back R, Front LofC, Front RofC Front L, Front R, Front C, Side L, Side R, Rear L, Back R, Back C. Channels are not explicitly mapped to speakers. Front L, Front R, Front C. Front C contains the keyboard mic audio. This layout is only intended for input for WebRTC. The Front C channel is stripped away in the WebRTC audio input pipeline and never seen outside of that. Front L, Front R, Side L, Side R, LFE Actual channel layout is specified in the bitstream and the actual channel count is unknown at Chromium media pipeline level (useful for audio pass-through mode). The device type that caused the event. An enum constant representing the touch option. An enum constant representing the mouse option. An enum constant representing the pen option. An enum constant representing the eraser option. An enum constant representing the unknown option. Input mode of a virtual keyboard. These constants match their equivalents in Chromium's text_input_mode.h and should not be renumbered. See https://html.spec.whatwg.org/#input-modalities:-the-inputmode-attribute An enum constant representing the default option. An enum constant representing the none option. An enum constant representing the text option. An enum constant representing the tel option. An enum constant representing the URL option. An enum constant representing the mail option. An enum constant representing the numeric option. An enum constant representing the decimal option. An enum constant representing the search option. An enum constant representing the Maximum option. Touch Event Type An enum constant representing the released option. An enum constant representing the pressed option. An enum constant representing the moved option. An enum constant representing the cancelled option. Value types supported by Invalid type Null Boolean Integer Double String Binary Dictionary List Describes how to interpret the components of a pixel. RGBA with 8 bits per pixel (32bits total). BGRA with 8 bits per pixel (32bits total). Cursor type values. Pointer An enum constant representing the cross option. An enum constant representing the hand option. An enum constant representing the beam option. An enum constant representing the wait option. An enum constant representing the help option. An enum constant representing the east resize option. An enum constant representing the north resize option. An enum constant representing the northeast resize option. An enum constant representing the northwest resize option. An enum constant representing the south resize option. An enum constant representing the southeast resize option. An enum constant representing the southwest resize option. An enum constant representing the west resize option. An enum constant representing the north south resize option. An enum constant representing the east west resize option. An enum constant representing the northeast southwest resize option. An enum constant representing the northwest southeast resize option. An enum constant representing the column resize option. An enum constant representing the row resize option. An enum constant representing the middle panning option. An enum constant representing the east panning option. An enum constant representing the north panning option. An enum constant representing the northeast panning option. An enum constant representing the northwest panning option. An enum constant representing the south panning option. An enum constant representing the southeast panning option. An enum constant representing the southwest panning option. An enum constant representing the west panning option. An enum constant representing the move option. An enum constant representing the vertical text option. An enum constant representing the cell option. An enum constant representing the context menu option. An enum constant representing the alias option. An enum constant representing the progress option. An enum constant representing the no drop option. An enum constant representing the copy option. An enum constant representing the none option. An enum constant representing the not allowed option. An enum constant representing the zoom in option. An enum constant representing the zoom out option. An enum constant representing the grab option. An enum constant representing the grabbing option. An enum constant representing the MiddlePanningVertical option. An enum constant representing the MiddlePanningHorizontal option. An enum constant representing the custom option. DndNone DndMove DndCopy DndLink "Verb" of a drag-and-drop operation as negotiated between the source and destination. None Copy Link Generic Private Move Delete Every drag operation. Inherit from this class to receive accessibility notification when accessibility events have been registered. It's important to note that the methods of this interface are called on a CEF UI thread, which by default is not the same as your application UI thread. Called after renderer process sends accessibility location changes to the browser process. Updated location info. Called after renderer process sends accessibility tree changes to the browser process. Updated tree info. Inherit from this class to handle audio events All methods will be called on the CEF UI thread Gets a value indicating this instance has been disposed. Called on the CEF UI thread to allow configuration of audio stream parameters. Audio stream paramaters can optionally be configured by modifying the ChromiumWebBrowser control the browser object audio stream parameters can optionally be configured here, they are pre-filled with some sensible defaults. Return true to proceed with audio stream capture, or false to cancel it Called on a browser audio capture thread when the browser starts streaming audio. OnAudioSteamStopped will always be called after OnAudioStreamStarted; both methods may be called multiple times for the same browser. the ChromiumWebBrowser control the browser object contains the audio parameters like sample rate and channel layout. Changing the param values will have no effect here. is the number of channels Called on the audio stream thread when a PCM packet is received for the stream. Based on and the value passed to you can calculate the size of the array in bytes. is an array representing the raw PCM data as a floating point type, i.e. 4-byte value(s). is the number of frames in the PCM packet is the presentation timestamp (in milliseconds since the Unix Epoch) and represents the time at which the decompressed packet should be presented to the user Called on the CEF UI thread when the stream has stopped. OnAudioSteamStopped will always be called after ; both methods may be called multiple times for the same stream. the ChromiumWebBrowser control the browser object Called on the CEF UI thread or audio stream thread when an error occurred. During the stream creation phase this callback will be called on the UI thread while in the capturing phase it will be called on the audio stream thread. The stream will be stopped immediately. the ChromiumWebBrowser control the browser object error message Releases unmanaged and managed resources to release both managed and unmanaged resources; to release only unmanaged resources. Inherit from this class to handle events related to browser process callbacks. The methods of this class will be called on the CEF UI thread unless otherwise indicated. . Called on the CEF UI thread immediately after the CEF context has been initialized. You can now access the Global RequestContext through Cef.GetGlobalRequestContext() - this is the first place you can set Preferences (e.g. proxy settings, spell check dictionaries). Called from any thread when work has been scheduled for the browser process main (UI) thread. This callback is used in combination with CefSettings. ExternalMessagePump and Cef.DoMessageLoopWork() in cases where the CEF message loop must be integrated into an existing application message loop (see additional comments and warnings on Cef.DoMessageLoopWork). This callback should schedule a Cef.DoMessageLoopWork() call to happen on the main (UI) thread. is the requested delay in milliseconds. If delay is less than or equal to 0 then the call should happen reasonably soon. If delay is greater than 0 then the call should be scheduled to happen after the specified delay and any currently pending scheduled call should be cancelled. IsDisposed Called before a context menu is displayed. The model can be cleared to show no context menu or modified to show a custom menu. the ChromiumWebBrowser control the browser object The frame the request is coming from provides information about the context menu state initially contains the default context menu Called to execute a command selected from the context menu. See cef_menu_id_t for the command ids that have default implementations. All user-defined command ids should be between MENU_ID_USER_FIRST and MENU_ID_USER_LAST. the ChromiumWebBrowser control the browser object The frame the request is coming from will have the same values as what was passed to menu command id event flags Return true if the command was handled or false for the default implementation. Called when the context menu is dismissed irregardless of whether the menu was empty or a command was selected. the ChromiumWebBrowser control the browser object The frame the request is coming from Called to allow custom display of the context menu. For custom display return true and execute callback either synchronously or asynchronously with the selected command Id. For default display return false. Do not keep references to parameters or model outside of this callback. the ChromiumWebBrowser control the browser object The frame the request is coming from provides information about the context menu state contains the context menu model resulting from OnBeforeContextMenu the callback to execute for custom display For custom display return true and execute callback either synchronously or asynchronously with the selected command ID. Inherit from this class to filter cookies that may be sent or received from resource requests. The methods of this class will be called on the CEF IO thread unless otherwise indicated. Called on the CEF IO thread before a resource request is sent. The ChromiumWebBrowser control the browser object - may be null if originating from ServiceWorker or CefURLRequest the frame object - may be null if originating from ServiceWorker or CefURLRequest the request object - cannot be modified in this callback the cookie object Return true if the specified cookie can be sent with the request or false otherwise. Called on the CEF IO thread after a resource response is received. The ChromiumWebBrowser control the browser object - may be null if originating from ServiceWorker or CefURLRequest the frame object - may be null if originating from ServiceWorker or CefURLRequest the request object - cannot be modified in this callback the response object - cannot be modified in this callback the cookie object Return true if the specified cookie returned with the response can be saved or false otherwise. Implement this interface to handle dialog events. The methods of this class will be called on the CEF UI thread. Runs a file chooser dialog. To test assign something like TempFileDialogHandler (from CefSharp.Example) to DialogHandler e.g. browser.DialogHandler = new TempFileDialogHandler(); Example URL to use for file browsing http://www.cs.tut.fi/~jkorpela/forms/file.html#example Simply click browse, the space next to the browse button should be populated with a randomly generated filename. the ChromiumWebBrowser control the browser object represents the type of dialog to display further specifies behavior dialog should exhibit the title to be used for the dialog. It may be empty to show the default title ("Open" or "Save" depending on the mode). is the path with optional directory and/or file name component that should be initially selected in the dialog. are used to restrict the selectable file types and may any combination of (a) valid lower-cased MIME types (e.g. "text/*" or "image/*"), (b) individual file extensions (e.g. ".txt" or ".png"), (c) combined description and file extension delimited using "|" and ";" (e.g. "Image Types|.png;.gif;.jpg"). is the 0-based index of the filter that should be selected by default. Callback interface for asynchronous continuation of file dialog requests. To display a custom dialog return true. To display the default dialog return false. Handle events related to browser display state. Called when a frame's address has changed. the ChromiumWebBrowser control args Called when auto-resize is enabled via IBrowserHost.SetAutoResizeEnabled and the contents have auto-resized. the ChromiumWebBrowser control the browser object will be the desired size in view coordinates Return true if the resize was handled or false for default handling. Called when the browser's cursor has changed. the ChromiumWebBrowser control the browser object If type is Custom then customCursorInfo will be populated with the custom cursor information cursor type custom cursor Information Return true if the cursor change was handled or false for default handling. Called when the page title changes. the ChromiumWebBrowser control args Called when the page icon changes. the ChromiumWebBrowser control the browser object list of urls where the favicons can be downloaded Called when web content in the page has toggled fullscreen mode. The client is responsible for resizing the browser if desired. The ChromiumWebBrowser control the browser object If true the content will automatically be sized to fill the browser content area. If false the content will automatically return to its original size and position. Called when the overall page loading progress has changed The ChromiumWebBrowser control the browser object ranges from 0.0 to 1.0. Called when the browser is about to display a tooltip. text contains the text that will be displayed in the tooltip. You can optionally modify text and then return false to allow the browser to display the tooltip. When window rendering is disabled the application is responsible for drawing tooltips and the return value is ignored. The ChromiumWebBrowser control the text that will be displayed in the tooltip To handle the display of the tooltip yourself return true otherwise return false to allow the browser to display the tooltip. Only called when using Off-screen rendering (WPF and OffScreen) Called when the browser receives a status message. The control this popup is related to. args Called to display a console message. The ChromiumWebBrowser control args Return true to stop the message from being output to the console. Class used to handle file downloads. The methods of this class will called on the CEF UI thread. Called before a download begins. the ChromiumWebBrowser control The browser instance Represents the file being downloaded. Callback interface used to asynchronously continue a download. Called before a download begins. the ChromiumWebBrowser control The browser instance Represents the file being downloaded. Callback interface used to asynchronously continue a download. Called when a download's status or progress information has been updated. This may be called multiple times before and after . the ChromiumWebBrowser control The browser instance Represents the file being downloaded. The callback used to Cancel/Pause/Resume the process Called when a download's status or progress information has been updated. This may be called multiple times before and after . the ChromiumWebBrowser control The browser instance Represents the file being downloaded. The callback used to Cancel/Pause/Resume the process Inherit from this class to handle events related to dragging. The methods of this class will be called on the UI thread. Called when an external drag event enters the browser window. the ChromiumWebBrowser control the browser object contains the drag event data represents the type of drag operation Return false for default drag handling behavior or true to cancel the drag event. Called when an external drag event enters the browser window. the ChromiumWebBrowser control the browser object contains the drag event data represents the type of drag operation Return false for default drag handling behavior or true to cancel the drag event. Called whenever draggable regions for the browser window change. These can be specified using the '-webkit-app-region: drag/no-drag' CSS-property. If draggable regions are never defined in a document this method will also never be called. If the last draggable region is removed from a document this method will be called with an empty IList. the ChromiumWebBrowser control the browser object The frame List of objects or null if last region was removed. Called whenever draggable regions for the browser window change. These can be specified using the '-webkit-app-region: drag/no-drag' CSS-property. If draggable regions are never defined in a document this method will also never be called. If the last draggable region is removed from a document this method will be called with an empty IList. the ChromiumWebBrowser control the browser object The frame List of objects or null if last region was removed. Implement this interface to handle events related to browser extensions. The methods of this class will be called on the CEF UI thread. See for information about extension loading. Called if the request fails. error code Called if the request fails. error code Called if the request succeeds. is the loaded extension. Called if the request succeeds. is the loaded extension. Called after the IExtension.Unload request has completed. is the unloaded extension Called after the IExtension.Unload request has completed. is the unloaded extension Called when an extension needs a browser to host a background script specified via the "background" manifest key. The browser will have no visible window and cannot be displayed. To allow creation of the browser optionally modify newBrowser and settings and return false. To cancel creation of the browser (and consequently cancel load of the background script) return true. Successful creation will be indicated by a call to ILifeSpanHandler.OnAfterCreated, and IBrowserHost.IsBackgroundHost will return true for the resulting browser. See https://developer.chrome.com/extensions/event_pages for more information about extension background script usage. is the extension that is loading the background script is an internally generated reference to an HTML page that will be used to load the background script via a script src attribute browser settings To cancel creation of the browser (and consequently cancel load of the background script) return true, otherwise return false. Called when an extension needs a browser to host a background script specified via the "background" manifest key. The browser will have no visible window and cannot be displayed. To allow creation of the browser optionally modify newBrowser and settings and return false. To cancel creation of the browser (and consequently cancel load of the background script) return true. Successful creation will be indicated by a call to ILifeSpanHandler.OnAfterCreated, and IBrowserHost.IsBackgroundHost will return true for the resulting browser. See https://developer.chrome.com/extensions/event_pages for more information about extension background script usage. is the extension that is loading the background script is an internally generated reference to an HTML page that will be used to load the background script via a script src attribute browser settings To cancel creation of the browser (and consequently cancel load of the background script) return true, otherwise return false. Called when an extension API (e.g. chrome.tabs.create) requests creation of a new browser. Successful creation will be indicated by a call to . the source of the API call the source of the API call may optionally be specified via the windowId property or returned via the GetActiveBrowser() callback and provides the default for the new browser is the position value optionally specified via the index property is the URL that will be loaded in the browser is true if the new browser should be active when opened optionally modify if you are going to allow creation of the browser optionally modify browser settings To cancel creation of the browser return true. To allow creation return false and optionally modify windowInfo and settings Called when an extension API (e.g. chrome.tabs.create) requests creation of a new browser. Successful creation will be indicated by a call to . the source of the API call the source of the API call may optionally be specified via the windowId property or returned via the GetActiveBrowser() callback and provides the default for the new browser is the position value optionally specified via the index property is the URL that will be loaded in the browser is true if the new browser should be active when opened optionally modify if you are going to allow creation of the browser optionally modify browser settings To cancel creation of the browser return true. To allow creation return false and optionally modify windowInfo and settings Called when no tabId is specified to an extension API call that accepts a tabId parameter (e.g. chrome.tabs.*). extension the call originates from browser the call originates from Incognito browsers should not be considered unless the source extension has incognito access enabled, inwhich case this will be true Return the browser that will be acted on by the API call or return null to act on . The returned browser must share the same IRequestContext as Called when no tabId is specified to an extension API call that accepts a tabId parameter (e.g. chrome.tabs.*). extension the call originates from browser the call originates from Incognito browsers should not be considered unless the source extension has incognito access enabled, inwhich case this will be true Return the browser that will be acted on by the API call or return null to act on . The returned browser must share the same IRequestContext as Called when the tabId associated with is specified to an extension API call that accepts a tabId parameter (e.g. chrome.tabs.*). extension the call originates from browser the call originates from Access to incognito browsers should not be allowed unless the source extension has incognito access enabled, in which case this will be true. Return true to allow access of false to deny access. Called when the tabId associated with is specified to an extension API call that accepts a tabId parameter (e.g. chrome.tabs.*). extension the call originates from browser the call originates from Access to incognito browsers should not be allowed unless the source extension has incognito access enabled, in which case this will be true. Return true to allow access of false to deny access. Called to retrieve an extension resource that would normally be loaded from disk (e.g. if a file parameter is specified to chrome.tabs.executeScript). Localization substitutions will not be applied to resources handled via this method. extension the call originates from browser the call originates from is the requested relative file path. callback used to handle custom resource requests To handle the resource request return true and execute either synchronously or asynchronously. For the default behavior which reads the resource from the extension directory on disk return false Called to retrieve an extension resource that would normally be loaded from disk (e.g. if a file parameter is specified to chrome.tabs.executeScript). Localization substitutions will not be applied to resources handled via this method. extension the call originates from browser the call originates from is the requested relative file path. callback used to handle custom resource requests To handle the resource request return true and execute either synchronously or asynchronously. For the default behavior which reads the resource from the extension directory on disk return false IsDisposed Implement this interface to handle events related to find results. The methods of this class will be called on the CEF UI thread. Called to report find results returned by the ChromiumWebBrowser control the browser object is the identifier passed to Find() is the number of matches currently identified is the location of where the match was found (in window coordinates) is the current position in the search results is true if this is the last find notification. Called to report find results returned by the ChromiumWebBrowser control the browser object is the identifier passed to Find() is the number of matches currently identified is the location of where the match was found (in window coordinates) is the current position in the search results is true if this is the last find notification. Implement this interface to handle events related to focus. The methods of this class will be called on the CEF UI thread. Called when the browser component has received focus. the ChromiumWebBrowser control the browser object Called when the browser component has received focus. the ChromiumWebBrowser control the browser object Called when the browser component is requesting focus. the ChromiumWebBrowser control the browser object, do not keep a reference to this object outside of this method Indicates where the focus request is originating from. Return false to allow the focus to be set or true to cancel setting the focus. Called when the browser component is requesting focus. the ChromiumWebBrowser control the browser object, do not keep a reference to this object outside of this method Indicates where the focus request is originating from. Return false to allow the focus to be set or true to cancel setting the focus. Called when the browser component is about to lose focus. For instance, if focus was on the last HTML element and the user pressed the TAB key. the ChromiumWebBrowser control the browser object Will be true if the browser is giving focus to the next component and false if the browser is giving focus to the previous component. Called when the browser component is about to lose focus. For instance, if focus was on the last HTML element and the user pressed the TAB key. the ChromiumWebBrowser control the browser object Will be true if the browser is giving focus to the next component and false if the browser is giving focus to the previous component. Implement this interface to handle events related to browser load status. The methods of this interface will be called on the CEF UI thread. Blocking in these methods will likely cause your UI to become unresponsive and/or hang. Called when the loading state has changed. This callback will be executed twice once when loading is initiated either programmatically or by user action, and once when loading is terminated due to completion, cancellation of failure. This method will be called on the CEF UI thread. Blocking this thread will likely cause your UI to become unresponsive and/or hang. the ChromiumWebBrowser control args Called when the loading state has changed. This callback will be executed twice once when loading is initiated either programmatically or by user action, and once when loading is terminated due to completion, cancellation of failure. This method will be called on the CEF UI thread. Blocking this thread will likely cause your UI to become unresponsive and/or hang. the ChromiumWebBrowser control args Called when the browser begins loading a frame. The value will never be empty Check the method to see if this frame is the main frame. Multiple frames may be loading at the same time. Sub-frames may start or continue loading after the main frame load has ended. This method may not be called for a particular frame if the load request for that frame fails. For notification of overall browser load status use instead. This method will be called on the CEF UI thread. Blocking this thread will likely cause your UI to become unresponsive and/or hang. the ChromiumWebBrowser control args Whilst thist may seem like a logical place to execute js, it's called before the DOM has been loaded, implement as it's called when the underlying V8Context is created (Only called for the main frame at this stage) Called when the browser begins loading a frame. The value will never be empty Check the method to see if this frame is the main frame. Multiple frames may be loading at the same time. Sub-frames may start or continue loading after the main frame load has ended. This method may not be called for a particular frame if the load request for that frame fails. For notification of overall browser load status use instead. This method will be called on the CEF UI thread. Blocking this thread will likely cause your UI to become unresponsive and/or hang. the ChromiumWebBrowser control args Whilst thist may seem like a logical place to execute js, it's called before the DOM has been loaded, implement as it's called when the underlying V8Context is created (Only called for the main frame at this stage) Called when the browser is done loading a frame. The value will never be empty Check the method to see if this frame is the main frame. Multiple frames may be loading at the same time. Sub-frames may start or continue loading after the main frame load has ended. This method will always be called for all frames irrespective of whether the request completes successfully. This method will be called on the CEF UI thread. Blocking this thread will likely cause your UI to become unresponsive and/or hang. the ChromiumWebBrowser control args Called when the browser is done loading a frame. The value will never be empty Check the method to see if this frame is the main frame. Multiple frames may be loading at the same time. Sub-frames may start or continue loading after the main frame load has ended. This method will always be called for all frames irrespective of whether the request completes successfully. This method will be called on the CEF UI thread. Blocking this thread will likely cause your UI to become unresponsive and/or hang. the ChromiumWebBrowser control args Called when the resource load for a navigation fails or is canceled. is the error code number, is the error text and is the URL that failed to load. See net\base\net_error_list.h for complete descriptions of the error codes. This method will be called on the CEF UI thread. Blocking this thread will likely cause your UI to become unresponsive and/or hang. the ChromiumWebBrowser control args Called when the resource load for a navigation fails or is canceled. is the error code number, is the error text and is the URL that failed to load. See net\base\net_error_list.h for complete descriptions of the error codes. This method will be called on the CEF UI thread. Blocking this thread will likely cause your UI to become unresponsive and/or hang. the ChromiumWebBrowser control args Inherit from this class to handle events related to keyboard input. Called before a keyboard event is sent to the renderer. Return true if the event was handled or false otherwise. If the event will be handled in as a keyboard shortcut set isKeyboardShortcut to true and return false. the ChromiumWebBrowser control The browser instance. Whether this was a key up/down/raw/etc... The Windows key code for the key event. This value is used by the DOM specification. Sometimes it comes directly from the event (i.e. on Windows) and sometimes it's determined using a mapping function. See WebCore/platform/chromium/KeyboardCodes.h for the list of values. The native key code. On Windows this appears to be in the format of WM_KEYDOWN/WM_KEYUP/etc... lParam data. What other modifier keys are currently down: Shift/Control/Alt/OS X Command/etc... Indicates whether the event is considered a "system key" event (see http://msdn.microsoft.com/en-us/library/ms646286(VS.85).aspx for details). See the summary for an explanation of when to set this to true. Returns true if the event was handled or false otherwise. Called before a keyboard event is sent to the renderer. Return true if the event was handled or false otherwise. If the event will be handled in as a keyboard shortcut set isKeyboardShortcut to true and return false. the ChromiumWebBrowser control The browser instance. Whether this was a key up/down/raw/etc... The Windows key code for the key event. This value is used by the DOM specification. Sometimes it comes directly from the event (i.e. on Windows) and sometimes it's determined using a mapping function. See WebCore/platform/chromium/KeyboardCodes.h for the list of values. The native key code. On Windows this appears to be in the format of WM_KEYDOWN/WM_KEYUP/etc... lParam data. What other modifier keys are currently down: Shift/Control/Alt/OS X Command/etc... Indicates whether the event is considered a "system key" event (see http://msdn.microsoft.com/en-us/library/ms646286(VS.85).aspx for details). See the summary for an explanation of when to set this to true. Returns true if the event was handled or false otherwise. Called after the renderer and JavaScript in the page has had a chance to handle the event. Return true if the keyboard event was handled or false otherwise. the ChromiumWebBrowser control The browser instance. Whether this was a key up/down/raw/etc... The Windows key code for the key event. This value is used by the DOM specification. Sometimes it comes directly from the event (i.e. on Windows) and sometimes it's determined using a mapping function. See WebCore/platform/chromium/KeyboardCodes.h for the list of values. The native key code. On Windows this appears to be in the format of WM_KEYDOWN/WM_KEYUP/etc... lParam data. What other modifier keys are currently down: Shift/Control/Alt/OS X Command/etc... Indicates whether the event is considered a "system key" event (see http://msdn.microsoft.com/en-us/library/ms646286(VS.85).aspx for details). Return true if the keyboard event was handled or false otherwise. Called after the renderer and JavaScript in the page has had a chance to handle the event. Return true if the keyboard event was handled or false otherwise. the ChromiumWebBrowser control The browser instance. Whether this was a key up/down/raw/etc... The Windows key code for the key event. This value is used by the DOM specification. Sometimes it comes directly from the event (i.e. on Windows) and sometimes it's determined using a mapping function. See WebCore/platform/chromium/KeyboardCodes.h for the list of values. The native key code. On Windows this appears to be in the format of WM_KEYDOWN/WM_KEYUP/etc... lParam data. What other modifier keys are currently down: Shift/Control/Alt/OS X Command/etc... Indicates whether the event is considered a "system key" event (see http://msdn.microsoft.com/en-us/library/ms646286(VS.85).aspx for details). Return true if the keyboard event was handled or false otherwise. Inherit from this class to handle events related to JavaScript dialogs. The methods of this class will be called on the CEF UI thread. Called to run a JavaScript dialog. the ChromiumWebBrowser control the browser object originating url Dialog Type Message Text value will be specified for prompt dialogs only Callback can be executed inline or in an async fashion Set suppressMessage to true and return false to suppress the message (suppressing messages is preferable to immediately executing the callback as this is used to detect presumably malicious behavior like spamming alert messages in onbeforeunload). Set suppressMessage to false and return false to use the default implementation (the default implementation will show one modal dialog at a time and suppress any additional dialog requests until the displayed dialog is dismissed). Return true if the application will use a custom dialog or if the callback has been executed immediately. Custom dialogs may be either modal or modeless. If a custom dialog is used the application must execute |callback| once the custom dialog is dismissed. Called to run a JavaScript dialog. the ChromiumWebBrowser control the browser object originating url Dialog Type Message Text value will be specified for prompt dialogs only Callback can be executed inline or in an async fashion Set suppressMessage to true and return false to suppress the message (suppressing messages is preferable to immediately executing the callback as this is used to detect presumably malicious behavior like spamming alert messages in onbeforeunload). Set suppressMessage to false and return false to use the default implementation (the default implementation will show one modal dialog at a time and suppress any additional dialog requests until the displayed dialog is dismissed). Return true if the application will use a custom dialog or if the callback has been executed immediately. Custom dialogs may be either modal or modeless. If a custom dialog is used the application must execute |callback| once the custom dialog is dismissed. Called to run a dialog asking the user if they want to leave a page. Return false to use the default dialog implementation. Return true if the application will use a custom dialog or if the callback has been executed immediately. Custom dialogs may be either modal or modeless. If a custom dialog is used the application must execute once the custom dialog is dismissed. the ChromiumWebBrowser control the browser object message text (optional) indicates a page reload Callback can be executed inline or in an async fashion Return false to use the default dialog implementation otherwise return true to handle with your own custom implementation. Called to run a dialog asking the user if they want to leave a page. Return false to use the default dialog implementation. Return true if the application will use a custom dialog or if the callback has been executed immediately. Custom dialogs may be either modal or modeless. If a custom dialog is used the application must execute once the custom dialog is dismissed. the ChromiumWebBrowser control the browser object message text (optional) indicates a page reload Callback can be executed inline or in an async fashion Return false to use the default dialog implementation otherwise return true to handle with your own custom implementation. Called to cancel any pending dialogs and reset any saved dialog state. Will be called due to events like page navigation irregardless of whether any dialogs are currently pending. the ChromiumWebBrowser control the browser object Called to cancel any pending dialogs and reset any saved dialog state. Will be called due to events like page navigation irregardless of whether any dialogs are currently pending. the ChromiumWebBrowser control the browser object Called when the default implementation dialog is closed. the ChromiumWebBrowser control the browser object Called when the default implementation dialog is closed. the ChromiumWebBrowser control the browser object Default implementation of . This class provides default implementations of the methods from , therefore providing a convenience base class for a custom implementation. You need only override the methods you require. IMPORTANT: behaviour of this implementation differs from the default, the WM_CLOSE message is only sent by default for popups (return false), for the main browser we return true to cancel this behaviour. Called when a browser has recieved a request to close. This may result directly from a call to CefBrowserHost::CloseBrowser() or indirectly if the browser is a top-level OS window created by CEF and the user attempts to close the window. This method will be called after the JavaScript 'onunload' event has been fired. It will not be called for browsers after the associated OS window has been destroyed (for those browsers it is no longer possible to cancel the close). If CEF created an OS window for the browser returning false will send an OS close notification to the browser window's top-level owner (e.g. WM_CLOSE on Windows). If no OS window exists (window rendering disabled) returning false will cause the browser object to be destroyed immediately. Return true if the browser is parented to another window and that other window needs to receive close notification via some non-standard technique. !!IMPORTANT!!: Behaviour of this implementation differs from the default, the WM_CLOSE message is only sent by default for popups (return false), for the main browser we return true to cancel this behaviour. If an application provides its own top-level window it should handle OS close notifications by calling CefBrowserHost::CloseBrowser(false) instead of immediately closing (see the example below). This gives CEF an opportunity to process the 'onbeforeunload' event and optionally cancel the close before DoClose() is called. The CefLifeSpanHandler::OnBeforeClose() method will be called immediately before the browser object is destroyed. The application should only exit after OnBeforeClose() has been called for all existing browsers. If the browser represents a modal window and a custom modal loop implementation was provided in CefLifeSpanHandler::RunModal() this callback should be used to restore the opener window to a usable state. By way of example consider what should happen during window close when the browser is parented to an application-provided top-level OS window. 1. User clicks the window close button which sends an OS close notification (e.g. WM_CLOSE on Windows, performClose: on OS-X and "delete_event" on Linux). 2. Application's top-level window receives the close notification and: A. Calls CefBrowserHost::CloseBrowser(false). B. Cancels the window close. 3. JavaScript 'onbeforeunload' handler executes and shows the close confirmation dialog (which can be overridden via CefJSDialogHandler::OnBeforeUnloadDialog()). 4. User approves the close. 5. JavaScript 'onunload' handler executes. 6. Application's DoClose() handler is called. Application will: A. Set a flag to indicate that the next close attempt will be allowed. B. Return false. 7. CEF sends an OS close notification. 8. Application's top-level window receives the OS close notification and allows the window to close based on the flag from #6B. 9. Browser OS window is destroyed. 10. Application's CefLifeSpanHandler::OnBeforeClose() handler is called and the browser object is destroyed. 11. Application exits by calling CefQuitMessageLoop() if no other browsers exist. the ChromiumWebBrowser control The browser instance - check if IsDisposed as it's possible when the browser is disposing For default behaviour return false Called after a new browser is created. the ChromiumWebBrowser control The browser instance Called before a CefBrowser window (either the main browser for , or one of its children) the ChromiumWebBrowser control The browser instance Called before a popup window is created. the ChromiumWebBrowser control The browser instance that launched this popup. The HTML frame that launched this popup. The URL of the popup content. (This may be empty/null) The name of the popup. (This may be empty/null) The value indicates where the user intended to open the popup (e.g. current tab, new tab, etc) The value will be true if the popup was opened via explicit user gesture (e.g. clicking a link) or false if the popup opened automatically (e.g. via the DomContentLoaded event). structure contains additional information about the requested popup window window information browser settings, defaults to source browsers value indicates whether the new browser window should be scriptable and in the same process as the source browser. EXPERIMENTAL - A newly created browser that will host the popup. Set to null for default behaviour. To cancel creation of the popup window return true otherwise return false. CEF documentation: Called on the IO thread before a new popup window is created. The |browser| and |frame| parameters represent the source of the popup request. The |target_url| and |target_frame_name| values may be empty if none were specified with the request. The |popupFeatures| structure contains information about the requested popup window. To allow creation of the popup window optionally modify |windowInfo|, |client|, |settings| and |no_javascript_access| and return false. To cancel creation of the popup window return true. The |client| and |settings| values will default to the source browser's values. The |no_javascript_access| value indicates whether the new browser window should be scriptable and in the same process as the source browser. Implement this interface to provide handler implementations. The handler instance will not be released until all objects related to the context have been destroyed. Implement this interface to cancel loading of specific plugins The is executed when the RequestContext has been initialized, after the preferences/proxy preferences have been set, before OnRequestContextInitialized. action to perform on context initialize A instance allowing you to chain multiple AddPreference calls together Only a single action reference is maintained, multiple calls will result in the previous action reference being overriden. Sets the preferences when the method is called. If is null the preference will be restored to its default value. Preferences set via the command-line usually cannot be modified. preference name preference value A instance allowing you to chain multiple AddPreference calls together Sets the proxy preferences when the method is called. Proxy set via the command-line usually cannot be modified. proxy host proxy port A instance allowing you to chain multiple AddPreference calls together Sets the proxy preferences when the method is called. Proxy set via the command-line usually cannot be modified. is the protocol of the proxy server, and is one of: 'http', 'socks', 'socks4', 'socks5'. Also note that 'socks' is equivalent to 'socks5'. proxy host proxy port A instance allowing you to chain multiple AddPreference calls together Called on the CEF IO thread before a resource request is initiated. This method will not be called if the client associated with returns a non-NULL value from for the same request (identified by ). represent the source browser of the request, and may be null for requests originating from service workers. represent the source frame of the request, and may be null for requests originating from service workers. represents the request contents and cannot be modified in this callback will be true if the resource request is a navigation will be true if the resource request is a download is the origin (scheme + domain) of the page that initiated the request Set to true to disable default handling of the request, in which case it will need to be handled via or it will be canceled To allow the resource load to proceed with default handling return null. To specify a handler for the resource return a object. Called on the CEF IO thread before a plugin instance is loaded. The default plugin policy can be set at runtime using the `--plugin-policy=[allow|detect|block]` command-line flag. is the mime type of the plugin that will be loaded is the content URL that the plugin will load and may be empty will be true if the plugin is being loaded in the main (top-level) frame is the URL for the top-level frame that contains the plugin includes additional information about the plugin that will be loaded Modify and return true to change the policy. Return false to use the recommended policy. Modify and return true to change the policy. Called immediately after the request context has been initialized. It's important to note this event is fired on a CEF UI thread, which by default is not the same as your application UI thread. the request context Default implementation of . This class provides default implementations of the methods from , therefore providing a convenience base class for any custom request handler. Called before browser navigation. If the navigation is allowed and will be called. If the navigation is canceled will be called with an ErrorCode value of . the ChromiumWebBrowser control. the browser object. The frame the request is coming from. the request object - cannot be modified in this callback. The value will be true if the browser navigated via explicit user gesture (e.g. clicking a link) or false if it navigated automatically (e.g. via the DomContentLoaded event). has the request been redirected. Return true to cancel the navigation or false to allow the navigation to proceed. Called on the UI thread before OnBeforeBrowse in certain limited cases where navigating a new or different browser might be desirable. This includes user-initiated navigation that might open in a special way (e.g. links clicked via middle-click or ctrl + left-click) and certain types of cross-origin navigation initiated from the renderer process (e.g. navigating the top- level frame to/from a file URL). the ChromiumWebBrowser control. the browser object. The frame object. target url. The value indicates where the user intended to navigate the browser based on standard Chromium behaviors (e.g. current tab, new tab, etc). The value will be true if the browser navigated via explicit user gesture (e.g. clicking a link) or false if it navigated automatically (e.g. via the DomContentLoaded event). Return true to cancel the navigation or false to allow the navigation to proceed in the source browser's top-level frame. Called on the CEF IO thread before a resource request is initiated. the ChromiumWebBrowser control. represent the source browser of the request. represent the source frame of the request. represents the request contents and cannot be modified in this callback. will be true if the resource request is a navigation. will be true if the resource request is a download. is the origin (scheme + domain) of the page that initiated the request. [in,out] to true to disable default handling of the request, in which case it will need to be handled via or it will be canceled. To allow the resource load to proceed with default handling return null. To specify a handler for the resource return a object. If this callback returns null the same method will be called on the associated , if any. Called when the browser needs credentials from the user. The ChromiumWebBrowser control. the browser object. is the origin making this authentication request. indicates whether the host is a proxy server. hostname. port number. realm. scheme. Callback interface used for asynchronous continuation of authentication requests. Return true to continue the request and call when the authentication information is available. Return false to cancel the request. Called when JavaScript requests a specific storage quota size via the webkitStorageInfo.requestQuota function. For async processing return true and execute at a later time to grant or deny the request or to cancel. The ChromiumWebBrowser control. the browser object. the origin of the page making the request. is the requested quota size in bytes. Callback interface used for asynchronous continuation of url requests. Return false to cancel the request immediately. Return true to continue the request and call either in this method or at a later time to grant or deny the request. Called to handle requests for URLs with an invalid SSL certificate. Return true and call either in this method or at a later time to continue or cancel the request. If CefSettings.IgnoreCertificateErrors is set all invalid certificates will be accepted without calling this method. the ChromiumWebBrowser control. the browser object. the error code for this invalid certificate. the url of the request for the invalid certificate. ssl certificate information. Callback interface used for asynchronous continuation of url requests. If empty the error cannot be recovered from and the request will be canceled automatically. Return false to cancel the request immediately. Return true and use to execute in an async fashion. Called when the browser needs user to select Client Certificate for authentication requests (eg. PKI authentication). The ChromiumWebBrowser control. the browser object. indicates whether the host is a proxy server. hostname. port number. List of Client certificates for selection. Callback interface used for asynchronous continuation of client certificate selection for authentication requests. Return true to continue the request and call ISelectClientCertificateCallback.Select() with the selected certificate for authentication. Return false to use the default behavior where the browser selects the first certificate from the list. Called when a plugin has crashed. the ChromiumWebBrowser control. the browser object. path of the plugin that crashed. Called on the CEF UI thread when the render view associated with browser is ready to receive/handle IPC messages in the render process. The ChromiumWebBrowser control. the browser object. Called when the render process terminates unexpectedly. The ChromiumWebBrowser control. the browser object. indicates how the process terminated. Called on the CEF UI thread when the window.document object of the main frame has been created. the ChromiumWebBrowser control the browser object Default implementation of . This class provides default implementations of the methods from , therefore providing a convenience base class for any custom resource request handler. Called on the CEF IO thread before a resource request is loaded. To optionally filter cookies for the request return a object. The ChromiumWebBrowser control. the browser object - may be null if originating from ServiceWorker or CefURLRequest. the frame object - may be null if originating from ServiceWorker or CefURLRequest. the request object - can be modified in this callback. To optionally filter cookies for the request return a ICookieAccessFilter instance otherwise return null. Called on the CEF IO thread before a resource request is loaded. To optionally filter cookies for the request return a object. The ChromiumWebBrowser control. the browser object - may be null if originating from ServiceWorker or CefURLRequest. the frame object - may be null if originating from ServiceWorker or CefURLRequest. the request object - can be modified in this callback. To optionally filter cookies for the request return a ICookieAccessFilter instance otherwise return null. Called on the CEF IO thread before a resource is loaded. To specify a handler for the resource return a object. The browser UI control. the browser object - may be null if originating from ServiceWorker or CefURLRequest. the frame object - may be null if originating from ServiceWorker or CefURLRequest. the request object - cannot be modified in this callback. To allow the resource to load using the default network loader return null otherwise return an instance of with a valid stream. Called on the CEF IO thread before a resource is loaded. To specify a handler for the resource return a object. The browser UI control. the browser object - may be null if originating from ServiceWorker or CefURLRequest. the frame object - may be null if originating from ServiceWorker or CefURLRequest. the request object - cannot be modified in this callback. To allow the resource to load using the default network loader return null otherwise return an instance of with a valid stream. Called on the CEF IO thread to optionally filter resource response content. The ChromiumWebBrowser control. the browser object - may be null if originating from ServiceWorker or CefURLRequest. the frame object - may be null if originating from ServiceWorker or CefURLRequest. the request object - cannot be modified in this callback. the response object - cannot be modified in this callback. Return an IResponseFilter to intercept this response, otherwise return null. Called on the CEF IO thread to optionally filter resource response content. The ChromiumWebBrowser control. the browser object - may be null if originating from ServiceWorker or CefURLRequest. the frame object - may be null if originating from ServiceWorker or CefURLRequest. the request object - cannot be modified in this callback. the response object - cannot be modified in this callback. Return an IResponseFilter to intercept this response, otherwise return null. Called on the CEF IO thread before a resource request is loaded. To redirect or change the resource load optionally modify . Modification of the request URL will be treated as a redirect. The ChromiumWebBrowser control. the browser object - may be null if originating from ServiceWorker or CefURLRequest. the frame object - may be null if originating from ServiceWorker or CefURLRequest. the request object - can be modified in this callback. Callback interface used for asynchronous continuation of url requests. Return to continue the request immediately. Return and call or at a later time to continue or the cancel the request asynchronously. Return to cancel the request immediately. Called on the CEF IO thread before a resource request is loaded. To redirect or change the resource load optionally modify . Modification of the request URL will be treated as a redirect. The ChromiumWebBrowser control. the browser object - may be null if originating from ServiceWorker or CefURLRequest. the frame object - may be null if originating from ServiceWorker or CefURLRequest. the request object - can be modified in this callback. Callback interface used for asynchronous continuation of url requests. Return to continue the request immediately. Return and call or at a later time to continue or the cancel the request asynchronously. Return to cancel the request immediately. Called on the CEF UI thread to handle requests for URLs with an unknown protocol component. SECURITY WARNING: YOU SHOULD USE THIS METHOD TO ENFORCE RESTRICTIONS BASED ON SCHEME, HOST OR OTHER URL ANALYSIS BEFORE ALLOWING OS EXECUTION. The ChromiumWebBrowser control. the browser object - may be null if originating from ServiceWorker or CefURLRequest. the frame object - may be null if originating from ServiceWorker or CefURLRequest. the request object - cannot be modified in this callback. return to true to attempt execution via the registered OS protocol handler, if any. Otherwise return false. Called on the CEF UI thread to handle requests for URLs with an unknown protocol component. SECURITY WARNING: YOU SHOULD USE THIS METHOD TO ENFORCE RESTRICTIONS BASED ON SCHEME, HOST OR OTHER URL ANALYSIS BEFORE ALLOWING OS EXECUTION. The ChromiumWebBrowser control. the browser object - may be null if originating from ServiceWorker or CefURLRequest. the frame object - may be null if originating from ServiceWorker or CefURLRequest. the request object - cannot be modified in this callback. return to true to attempt execution via the registered OS protocol handler, if any. Otherwise return false. Called on the CEF IO thread when a resource load has completed. This method will be called for all requests, including requests that are aborted due to CEF shutdown or destruction of the associated browser. In cases where the associated browser is destroyed this callback may arrive after the callback for that browser. The method can be used to test for this situation, and care should be taken not to call or methods that modify state (like LoadURL, SendProcessMessage, etc.) if the frame is invalid. The ChromiumWebBrowser control. the browser object - may be null if originating from ServiceWorker or CefURLRequest. the frame object - may be null if originating from ServiceWorker or CefURLRequest. the request object - cannot be modified in this callback. the response object - cannot be modified in this callback. indicates the load completion status. is the number of response bytes actually read. Called on the CEF IO thread when a resource load has completed. This method will be called for all requests, including requests that are aborted due to CEF shutdown or destruction of the associated browser. In cases where the associated browser is destroyed this callback may arrive after the callback for that browser. The method can be used to test for this situation, and care should be taken not to call or methods that modify state (like LoadURL, SendProcessMessage, etc.) if the frame is invalid. The ChromiumWebBrowser control. the browser object - may be null if originating from ServiceWorker or CefURLRequest. the frame object - may be null if originating from ServiceWorker or CefURLRequest. the request object - cannot be modified in this callback. the response object - cannot be modified in this callback. indicates the load completion status. is the number of response bytes actually read. Called on the CEF IO thread when a resource load is redirected. The parameter will contain the old URL and other request-related information. The parameter will contain the response that resulted in the redirect. The parameter will contain the new URL and can be changed if desired. The ChromiumWebBrowser control. the browser object - may be null if originating from ServiceWorker or CefURLRequest. the frame object - may be null if originating from ServiceWorker or CefURLRequest. the request object - cannot be modified in this callback. the response object - cannot be modified in this callback. [in,out] the new URL and can be changed if desired. Called on the CEF IO thread when a resource load is redirected. The parameter will contain the old URL and other request-related information. The parameter will contain the response that resulted in the redirect. The parameter will contain the new URL and can be changed if desired. The ChromiumWebBrowser control. the browser object - may be null if originating from ServiceWorker or CefURLRequest. the frame object - may be null if originating from ServiceWorker or CefURLRequest. the request object - cannot be modified in this callback. the response object - cannot be modified in this callback. [in,out] the new URL and can be changed if desired. Called on the CEF IO thread when a resource response is received. To allow the resource load to proceed without modification return false. To redirect or retry the resource load optionally modify and return true. Modification of the request URL will be treated as a redirect. Requests handled using the default network loader cannot be redirected in this callback. WARNING: Redirecting using this method is deprecated. Use OnBeforeResourceLoad or GetResourceHandler to perform redirects. The ChromiumWebBrowser control. the browser object - may be null if originating from ServiceWorker or CefURLRequest. the frame object - may be null if originating from ServiceWorker or CefURLRequest. the request object. the response object - cannot be modified in this callback. To allow the resource load to proceed without modification return false. To redirect or retry the resource load optionally modify and return true. Modification of the request URL will be treated as a redirect. Requests handled using the default network loader cannot be redirected in this callback. Called on the CEF IO thread when a resource response is received. To allow the resource load to proceed without modification return false. To redirect or retry the resource load optionally modify and return true. Modification of the request URL will be treated as a redirect. Requests handled using the default network loader cannot be redirected in this callback. WARNING: Redirecting using this method is deprecated. Use OnBeforeResourceLoad or GetResourceHandler to perform redirects. The ChromiumWebBrowser control. the browser object - may be null if originating from ServiceWorker or CefURLRequest. the frame object - may be null if originating from ServiceWorker or CefURLRequest. the request object. the response object - cannot be modified in this callback. To allow the resource load to proceed without modification return false. To redirect or retry the resource load optionally modify and return true. Modification of the request URL will be treated as a redirect. Requests handled using the default network loader cannot be redirected in this callback. Called when the unmanaged resource is freed. Unmanaged resources are ref counted and freed when the last reference is released, this works differently to .Net garbage collection. To access the CEF threads we expose a TaskFactory, as this requires managed vc++ this exists in CefSharp.Core it cannot be directly accessed in CefSharp.dll. When Cef.Initialized is called we pass a reference to the TaskFactory here so we can write methods (typically extension methods) in this assembly. TODO: This can likely be removed and code that depends on this can be moved to CefSharp.Core and interact directly with the C++ api TaskFactory will be null before Cef.Initialize is called and null after Cef.Shutdown is called. Event fired after Cef.Initialze has been called, we can now start posting Tasks to the CEF UI Thread. Delegate used to wrap the native call to CefCurrentlyOn(CefThreadId::TID_UI). true if we have a reference to the UiThreadTaskFactory TaskFactory, otherwise false The current implementation isn't thread safe, generally speaking this shouldn't be a problem Currently on the CEF UI Thread returns true if Cef.Shutdown been called, otherwise false. Execute the provided function on the CEF UI Thread result function Task{Result} Wait for CEF to Initialize, continuation happens on the CEF UI Thraed. Task that can be awaited Called when the CEF UI Thread is a !!WARNING!! DO NOT CALL THIS YOURSELF, THIS WILL BE CALLED INTERNALLY. Called when Cef.Shutdown is called to cleanup our references and release any event handlers. Base classes for Feezable settings objects Internal Mime Type Mappings. Dictionary containing our custom mimeType mapping, you can add your own file extension to mimeType mappings to this dictionary. Lookup MimeType from the dictionary based on file extension. extension custom mimeType or application/octet-stream if no mapping found TaskCompletionSource that executes it's continuation on the captured . If is null. then the current **executing** thread will be called. e.g. The thread that called (or other Set/Try set methods). Result Type Captured Sync Context Provides a task scheduler that ensures a maximum concurrency level while running on top of the ThreadPool. Whether the current thread is processing work items. The list of tasks to be executed. The maximum concurrency level allowed by this scheduler. Whether the scheduler is currently processing work items. Initializes an instance of the LimitedConcurrencyLevelTaskScheduler class with the specified degree of parallelism. The maximum degree of parallelism provided by this scheduler. Queues a task to the scheduler. The task to be queued. Informs the ThreadPool that there's work to be executed for this scheduler. Attempts to execute the specified task on the current thread. The task to be executed. Whether the task could be executed on the current thread. Attempts to remove a previously scheduled task from the scheduler. The task to be removed. Whether the task could be found and removed. Gets the maximum concurrency level supported by this scheduler. Gets an enumerable of the tasks currently scheduled on this scheduler. An enumerable of the tasks currently scheduled. Path Validation utility class Allow user to disable the assert. As a temporary measure we'll allow users to disable the assert as the check may not yet be 100% bulletproof. True if the given character is a directory separator. Throw exception if the path provided is non-asbolute CEF now explicitly requires absolute paths https://bitbucket.org/chromiumembedded/cef/issues/2916/not-persisting-in-local-stoage-when-using Empty paths are ignored path string to appear at the start of the exception, e.g. CefSettings.BrowserSubProcessPath Valid path is absolute, based on Chromium implementation. path Tracks the number of browser instances currently open The cound will be incrmented and decremented each time a CefBrowser is created/closed. This includes CefBrowser popup instances. Roughtly based on , unforeunately doesn't reset the internal when Count is aleady 0. In our case it's valid to increase the number of browsers and reset the event. TODO: Refactor this so it's not static. Increment browser count Decrement browser count Gets the number of CefBrowser instances currently open (this includes popups) The count. Blocks until the CefBrowser count has reached 0 or the timeout has been reached (Optional) The timeout in miliseconds. Blocks until the CefBrowser count has reached 0 or the timeout has been reached (Optional) The timeout in miliseconds. (Optional) The cancellation token. Custom Dictionary that provides an Add(string) method for appending CEF Command line args that don't have a switch value. Adds the command line argument command line argument CookieManager with additional checks to ensure the store is initialized. Throws an exception when attempting to access the store before it's ready. Monitor the parent process and exit if the parent process closes before the subprocess. This class is used by the CefSharp.BrowserSubprocess to self terminate if the parent dies without notifying it to exit. See https://github.com/cefsharp/CefSharp/issues/2359 for more information. Starts a long running task (spawns new thread) used to monitor the parent process and calls if the parent exits unexpectedly (usually result of a crash). process Id of the parent application A implementation that can optionally be set to ReadOnly (used to represent the CefHeaderMap) Set the NameValueCollection to Readonly after it's been updated String validation Regex check to ensure string contains only letters, numbers and underscores. false if string is invalid Return true if the first chracter of the specified string is lowercase string returns false if empty or null, otherwise true if first character is lowercase ConcurrentMethodRunnerQueue - Async Javascript Binding methods are run on the ThreadPool in parallel, when a method returns a Task the we use ContinueWith to be notified of completion then raise the MethodInvocationComplete event Mapping to/from CefTime Converts a cef year month day hour minute second millisecond DateTime Returns epoch (different from 01/01/1970) datetime epoch IRenderWebBrowser is an internal interface used by CefSharp for the WPF/Offscreen implementation The ChromiumWebBrowser instances implement this interface Implement to handle events related to accessibility. The accessibility handler. Called to allow the client to return a ScreenInfo object with appropriate values. If null is returned then the rectangle from GetViewRect will be used. If the rectangle is still empty or invalid popups may not be drawn correctly. Return null if no screenInfo structure is provided. Called to retrieve the view rectangle which is relative to screen coordinates. Return a ViewRect strict containing the rectangle or null. If the rectangle is still empty or invalid popups may not be drawn correctly. Called to retrieve the translation from view coordinates to actual screen coordinates. x y screen x screen y Return true if the screen coordinates were provided. Called when an element has been rendered to the shared texture handle. This method is only called when is set to true indicates whether the element is the view or the popup widget. contains the set of rectangles in pixel coordinates that need to be repainted is the handle for a D3D11 Texture2D that can be accessed via ID3D11Device using the OpenSharedResource method. Called when an element should be painted. Pixel values passed to this method are scaled relative to view coordinates based on the value of returned from . Called on the CEF UI Thread indicates whether the element is the view or the popup widget. contains the set of rectangles in pixel coordinates that need to be repainted The bitmap will be will be width * height *4 bytes in size and represents a BGRA image with an upper-left origin width height Called when the browser's cursor has changed. . If type is Custom then customCursorInfo will be populated with the custom cursor information cursor type custom cursor Information Called when the user starts dragging content in the web view. Contextual information about the dragged content is supplied by dragData. (|x|, |y|) is the drag start location in screen coordinates. OS APIs that run a system message loop may be used within the StartDragging call. Return false to abort the drag operation. Don't call any of CefBrowserHost::DragSource*Ended* methods after returning false. Return true to handle the drag operation. Call IBrowserHost::DragSourceEndedAt and DragSourceSystemDragEnded either synchronously or asynchronously to inform the web view that the drag operation has ended. drag data operation mask x coordinate y coordinate Return false to abort the drag operation. Called when the web view wants to update the mouse cursor during a drag & drop operation. describes the allowed operation (none, move, copy, link). Called when the browser wants to show or hide the popup widget. The popup should be shown if show is true and hidden if show is false. Called when the browser wants to move or resize the popup widget. contains the new location and size in view coordinates. Called when the IME composition range has changed. is the range of characters that have been selected is the bounds of each character in view coordinates. Called when an on-screen keyboard should be shown or hidden for the specified browser. the browser specifies what kind of keyboard should be opened. If , any existing keyboard for this browser should be hidden. Simple helper class used for checking/parsing command line arguments Interface used to break reference cycles in CefSharp.Core C++ code. This will ALWAYS be a ManagedCefBrowserAdapter instance. Interface to convert a JavascriptCallback dto to a callable implementation. Do an unchecked conversion from IntPtr to int so overflow exceptions don't get thrown. the IntPtr to cast a 32-bit signed integer Class to store TaskCompletionSources indexed by a unique id. The type of the result produced by the tasks held. Creates a new pending task with a timeout. The maximum running time of the task. The unique id of the newly created pending task and the newly created . Gets and removed pending task by id. Unique id of the pending task. The associated with the given id. TaskExtension based on the following https://github.com/ChadBurggraf/parallel-extensions-extras/blob/master/Extensions/TaskExtrasExtensions.cs https://github.com/ChadBurggraf/parallel-extensions-extras/blob/ec803e58eee28c698e44f55f49c5ad6671b1aa58/Extensions/TaskCompletionSourceExtensions.cs Creates a new Task that mirrors the supplied task but that will be canceled after the specified timeout. Specifies the type of data contained in the task. The task. The timeout. The new Task that may time out. Attempts to transfer the result of a Task to the TaskCompletionSource. Specifies the type of the result. The TaskCompletionSource. The task whose completion results should be transfered. Whether the transfer could be completed. Attempts to transfer the result of a Task to the TaskCompletionSource. Specifies the type of the result. The TaskCompletionSource. The task whose completion results should be transfered. Whether the transfer could be completed. Set the TaskCompletionSource in an async fashion. This prevents the Task Continuation being executed sync on the same thread This is required otherwise continuations will happen on CEF UI threads Generic param tcs result Calls in an async fashion. This prevents the Task Continuation being executed sync on the same thread This is required otherwise continuations will happen on CEF UI threads Generic param tcs result Gets or sets a delegate which is used to invoke the method if the member is a method. Identifies the for BrowserProcess to RenderProcess communication Gets or sets the name of the managed property. Gets or sets the name of the property in the JavaScript runtime. Params this method expects Number of Params this function exepects The Return type of the method This maps the registered objects in the browser process to the reflection data necessary to update the objects, and mapping information to how the object/method/proprerty will be exposed to JavaScript. Identifies the for BrowserProcess to RenderProcess communication Indicate if this object bound as async Gets the methods of the . Gets the properties of the . A javascript object is created for every object, even those that are sub objects it's important we only transmit the Root Objects (top level/parent) Gets or sets the value. This class manages the registration of objects in the browser process to be exposed to JavaScript in the renderer process. Registration performs method, parameter, property type analysis of the registered objects into meta-data tied to reflection data for later use. This class also is the adaptation layer between the BrowserProcessService and the registered objects. This means when the renderer wants to call an exposed method, get a property of an object, or set a property of an object in the browser process, that this class does deals with the previously created meta-data and invokes the correct behavior via reflection APIs. All of the registered objects are tracked via meta-data for the objects expressed starting with the JavaScriptObject type. A hash from assigned object ids to the objects, this is done to speed up finding the object in O(1) time instead of traversing the JavaScriptRootObject tree. Javascript Name converter Has the browser this repository is associated with been initilized (set in OnAfterCreated) Configurable settings for this repository, such as the property names CefSharp injects into the window. Converted .Net method/property/field names to the name that will be used in Javasript. Used for when .Net naming conventions differ from Javascript naming conventions. Analyse the object and generate metadata which will be used by the browser subprocess to interact with Cef. Method is called recursively Javascript object Analyse methods for inclusion in metadata model Analyse properties for inclusion in metadata model When analysis is done on a property, if true then get it's value for transmission over WCF convert names of properties/methods Gets or sets a delegate which is used to set the property / field value in the managed object. Gets or sets a delegate which is used to get the property / field value from the managed object. Identifies the for BrowserProcess to RenderProcess communication Gets or sets the name of the managed property. Gets or sets the name of the property in the JavaScript runtime. Gets or sets if this property represents a complex type Gets or sets if this property is read-only Gets or sets the property value Only primative types can be stored in this property Interface implemented by UI control that contains a ManagedCefBrowserAdapter instance. Generic callback interface used for managing the lifespan of a registration. Response returned from Error Code. If the network request was made successfully this value will be (no error occured) Http Status Code. If is not equal to then this value will be -1. If is equal to and is equal to 200 (OK) then the main frame loaded without critical error. Default constructor CEF Error Code Http Status Code Interface that should be implemented by the CefURLRequest client. The methods of this class will be called on the same thread that created the request unless otherwise documented. Called on the CEF IO thread when the browser needs credentials from the user. This method will only be called for requests initiated from the browser process. indicates whether the host is a proxy server. the hostname. the port number. realm scheme is a callback for authentication information Return true to continue the request and call when the authentication information is available. If the request has an associated browser/frame then returning false will result in a call to on the associated with that browser, if any. Otherwise, returning false will cancel the request immediately. Called on the CEF IO thread when the browser needs credentials from the user. This method will only be called for requests initiated from the browser process. indicates whether the host is a proxy server. the hostname. the port number. realm scheme is a callback for authentication information Return true to continue the request and call when the authentication information is available. If the request has an associated browser/frame then returning false will result in a call to on the associated with that browser, if any. Otherwise, returning false will cancel the request immediately. Called when some part of the response is read. This method will not be called if the flag is set on the request. request A stream containing the bytes received since the last call. Cannot be used outside the scope of this method. Called when some part of the response is read. This method will not be called if the flag is set on the request. request A stream containing the bytes received since the last call. Cannot be used outside the scope of this method. Notifies the client of download progress. request denotes the number of bytes received up to the call is the expected total size of the response (or -1 if not determined). Notifies the client of download progress. request denotes the number of bytes received up to the call is the expected total size of the response (or -1 if not determined). Notifies the client that the request has completed. Use the property to determine if the request was successful or not. request Notifies the client that the request has completed. Use the property to determine if the request was successful or not. request Notifies the client of upload progress. This method will only be called if the UR_FLAG_REPORT_UPLOAD_PROGRESS flag is set on the request. request denotes the number of bytes sent so far. is the total size of uploading data (or -1 if chunked upload is enabled). Notifies the client of upload progress. This method will only be called if the UR_FLAG_REPORT_UPLOAD_PROGRESS flag is set on the request. request denotes the number of bytes sent so far. is the total size of uploading data (or -1 if chunked upload is enabled). Javascript Binding Settings The Javascript methods that CefSharp provides in relation to JavaScript Binding are created using a Global (window) Object. Settings this property allows you to disable the creation of this object. Features like EvaluateScriptAsPromiseAsync that rely on the creation of this object will no longer function. The Javascript methods that CefSharp provides in relation to JavaScript Binding are created using a Global (window) Object. Settings this property allows you to customise the name of this object. If not specified then both cefSharp and CefSharp objects will be created e.g. cefSharp.bindObjectAsync, CefSharp.BindObjectAsync. If specified then your custom name will be used, if the name starts with a lowercase letter then all the functions will be lowercase, e.g. myObjName.bindObjectAsync otherwise the functions will start with a uppercase letter e.g. MyObjName.BindObjectAsync This object is also accessible through the window property. e.g. window.cefSharp.bindObjectAsync Objects registered using will be automatically bound when a V8Context is created. (Soon as the Javascript context is created for a browser). This behaviour is like that seen with Javascript Binding in version 57 and earlier. When using an the method is call for all methods (the default is to call InterceptAsync only for methods that return a Task). This only applies when is of type CamelCaseJavascriptNameConverter converts .Net property/method names to camcel case. Get the javascript name for the property/field/method. Typically this would be based on property/field/method javascript name This method exists for backwards compatability reasons, historically only the bound methods/fields/properties were converted. Objects returned from a method call were not translated. To preserve this functionality for upgrading users we split this into two methods. Typically thie method would return the same result as Issue #2442 property/field/method javascript name Converts the to CamelCase memberInfo camelcased name Implement this interface to have control of how the names are converted when binding/executing javascript. Get the javascript name for the property/field/method. Typically this would be based on property/field/method javascript name This method exists for backwards compatability reasons, historically only the bound methods/fields/properties were converted. Objects returned from a method call were not translated. To preserve this functionality for upgrading users we split this into two methods. Typically thie method would return the same result as Issue #2442 property/field/method javascript name Legacy Naming converter. Used by default for backwards compatability Issue #2442 Class used to make a URL request. URL requests are not associated with a browser instance so no CefClient callbacks will be executed. URL requests can be created on any valid CEF thread in either the browser or render process. Once created the methods of the URL request object must be accessed on the same thread that created it. True if the response was served from the cache. The response, or null if no response information is available The request status. Interface that should be implemented by the CefURLRequest client. The methods of this class will be called on the same thread that created the request unless otherwise documented. Called on the CEF IO thread when the browser needs credentials from the user. This method will only be called for requests initiated from the browser process. indicates whether the host is a proxy server. the hostname. the port number. realm scheme is a callback for authentication information Return true to continue the request and call when the authentication information is available. If the request has an associated browser/frame then returning false will result in a call to on the associated with that browser, if any. Otherwise, returning false will cancel the request immediately. Called when some part of the response is read. This method will not be called if the flag is set on the request. request A stream containing the bytes received since the last call. Cannot be used outside the scope of this method. Notifies the client of download progress. request denotes the number of bytes received up to the call is the expected total size of the response (or -1 if not determined). Notifies the client that the request has completed. Use the property to determine if the request was successful or not. request Notifies the client of upload progress. This method will only be called if the UR_FLAG_REPORT_UPLOAD_PROGRESS flag is set on the request. request denotes the number of bytes sent so far. is the total size of uploading data (or -1 if chunked upload is enabled). Legacy ResourceHandler, will be removed when CEF removes the old code path for it's CefResourceHandler implementation. This is the older and well tested variant. It doesn't however support range request headers (seek). Gets or sets the Charset Gets or sets the Mime Type. Gets or sets the resource stream. Gets or sets the http status code. Gets or sets the status text. Gets or sets ResponseLength, when you know the size of your Stream (Response) set this property. This is optional. If you use a MemoryStream and don't provide a value here then it will be cast and it's size used Gets or sets the headers. The headers. When true the Stream will be Disposed when this instance is Disposed. The default value for this property is false. If the ErrorCode is set then the response will be ignored and the errorCode returned. Initializes a new instance of the class. Optional mimeType defaults to Optional Stream - must be set at some point to provide a valid response When true the Stream will be disposed when this instance is Diposed, you will be unable to use this ResourceHandler after the Stream has been disposed response charset Begin processing the request. If you have the data in memory you can execute the callback immediately and return true. For Async processing you would typically spawn a Task to perform processing, then return true. When the processing is complete execute callback.Continue(); In your processing Task, simply set the StatusCode, StatusText, MimeType, ResponseLength and Stream The request object. The callback used to Continue or Cancel the request (async). To handle the request return true and call once the response header information is available can also be called from inside this method if header information is available immediately). To cancel the request return false. Called if the request is cancelled Dispose of resources here Populate the response stream, response length. When this method is called the response should be fully populated with data. It is possible to redirect to another url at this point in time. NOTE: It's no longer manditory to implement this method, you can simply populate the properties of this instance and they will be set by the default implementation. The response object used to set Headers, StatusCode, etc length of the response If set the request will be redirect to specified Url The response stream Provides the capability intercept async/sync Net method calls made from javascript as part of the JavascriptBinding (JSB) implementation. One example use case is logging method calls. Extends to add async support. Called before an async method is invoked. You are now responsible for evaluating the function and returning the result. Only methods that return a will call this method, other non asynchronous types will call . (async void method will also call Intercept as they do not return a Task). A Func that represents the method to be called paramaters to be passed to Name of the method to be called A Task representing the method result Task<object> IAsyncMethodInterceptor.InterceptAsync(Func<object[], object> method, object[] parameters, string methodName) { object result = method(parameters); Debug.WriteLine("Called " + methodName); return result; } Represents a bindable member of a type, which can be a property or a field. Gets the name of the property or field represented by this BindingMemberInfo. Gets the data type of the property or field represented by this BindingMemberInfo. Constructs a BindingMemberInfo instance for a property. The bindable property to represent. Constructs a BindingMemberInfo instance for a field. The bindable field to represent. Sets the value from a specified object associated with the property or field represented by this BindingMemberInfo. The object whose property or field should be assigned. The value to assign in the specified object to this BindingMemberInfo's property or field. Returns an enumerable sequence of bindable properties for the specified type. The type to enumerate. Bindable properties. Default binder - used as a fallback when a specific modelbinder is not available. Bind to the given model type object to be converted into a model the target param type Bound model Bind collection. the target param type. Type of the object. object to be converted into a model. An object. Bind object. the target param type. Type of the object. object to be converted into a model. An object. Provides the capability intercept Net method calls made from javascript as part of the JavascriptBinding (JSB) implementation. One example use case is logging method calls. Called before the method is invokved. You are now responsible for evaluating the function and returning the result. A Func that represents the method to be called paramaters to be passed to Name of the method to be called The method result object IMethodInterceptor.Intercept(Func<object[], object> method, object[] parameters, string methodName) { object result = method(parameters); Debug.WriteLine("Called " + methodName); return result; } Converts input params into complex .Net types (can also be used for type conversion). This feature is similar in concept to ASP.NET MVC Model Binding. Objects passed from javascript are represented as and arrays/lists as See for the default implementation. A model binder can be specified in and passed into Bind to the given model type, can also be used for type conversion e.g. int to uint object to be converted into a model the target param type if the modelType is directly assignable then do so, otherwise perform a conversion or create a complex object that matches Containing extensions for the object. Checks if a type is an array or not The type to check. if the type is an array, otherwise . Checks if a type is an collection or not The type to check. if the type is a collection, otherwise . Checks if a type is enumerable or not The type to check. if the type is an enumerable, otherwise . Response when is called. Default constructor success error message Response when is called in an async fashion Success Error Message Default constructor success error message Default implementation of it's used internally for the LoadHtml implementation - basically a resource handler is registered for a specific Url. Resource handler thread safe dictionary Create a new instance of DefaultResourceHandlerFactory string equality comparer Register a handler for the specified Url url The data in byte[] format that will be used for the response mime type Whether or not the handler should be used once (true) or until manually unregistered (false) returns true if the Url was successfully parsed into a Uri otherwise false Unregister a handler for the specified Url Url returns true if successfully removed Are there any 's registered? Called on the CEF IO thread before a resource request is initiated. the ChromiumWebBrowser control represent the source browser of the request represent the source frame of the request represents the request contents and cannot be modified in this callback will be true if the resource request is a navigation will be true if the resource request is a download is the origin (scheme + domain) of the page that initiated the request to true to disable default handling of the request, in which case it will need to be handled via or it will be canceled To allow the resource load to proceed with default handling return null. To specify a handler for the resource return a object. If this callback returns null the same method will be called on the associated , if any A resource request handler factory item. Data Mime Type Whether or not the handler should be used once (true) or until manually unregistered (false) DefaultResourceHandlerFactoryItem constructor The data in byte[] format that will be used for the response mime type Whether or not the handler should be used once (true) or until manually unregistered (false) Event arguments for the event The javascript object repository, used to register objects Name of the object Was the object already bound. The default is false for the first js call to CefSharp.BindObjectAsync, and subsequently true if already bound in a given context. Is the object cached JavascriptBindingCompleteEventArgs javascript object repository object name is the object already bound is the object cached Event arguments for the event The javascript object repository, used to register objects Name of the object Constructor object repository object name Event arguments for the event The javascript object repository, used to register objects Name of the objects bound JavascriptBindingMultipleCompleteEventArgs Javascript object repository object names FileDialog Flags Prompt to overwrite if the user selects an existing file with the Save dialog. Do not display read-only files. Calling CefSharp.PostMessage in Javascript triggers the JavascriptMessageReceived This event args contains the frame, browser and message corrisponding to that call The frame that called CefSharp.PostMessage in Javascript The browser that hosts the Message can be a primative type or a simple object that represents a copy of the data sent from the browser Constructor. The browser that hosts the The frame that called CefSharp.PostMessage in Javascript. Message can be a primative type or a simple object that represents a copy of the data sent from the browser. Converts the to a specific type using the that CefSharp provides Type Type Flags used to customize the behavior of CefURLRequest. Default behavior. If set the cache will be skipped when handling the request. Setting this value is equivalent to specifying the "Cache-Control: no-cache" request header. Setting this value in combination with OnlyFromCache will cause the request to fail. If set the request will fail if it cannot be served from the cache (or some equivalent local store). Setting this value is equivalent to specifying the "Cache-Control: only-if-cached" request header. Setting this value in combination with SkipCache or DisableCache will cause the request to fail. If set the cache will not be used at all. Setting this value is equivalent to specifying the "Cache-Control: no-store" request header. Setting this value in combination with OnlyFromCache will cause the request to fail. If set user name, password, and cookies may be sent with the request, and cookies may be saved from the response. If set upload progress events will be generated when a request has a body. If set the CefURLRequestClient::OnDownloadData method will not be called. If set 5XX redirect errors will be propagated to the observer instead of automatically re-tried. This currently only applies for requests originated in the browser process. If set 3XX responses will cause the fetch to halt immediately rather than continue through the redirect. Implement this interface to receive accessibility notification when accessibility events have been registered. It's important to note that the methods of this interface are called on a CEF UI thread, which by default is not the same as your application UI thread. Called after renderer process sends accessibility location changes to the browser process. Updated location info. Called after renderer process sends accessibility tree changes to the browser process. Updated tree info. Implement this interface to handle events related to browser extensions. The methods of this class will be called on the CEF UI thread. See for information about extension loading. Called if the request fails. error code Called if the request succeeds. is the loaded extension. Called after the IExtension.Unload request has completed. is the unloaded extension Called when an extension needs a browser to host a background script specified via the "background" manifest key. The browser will have no visible window and cannot be displayed. To allow creation of the browser optionally modify newBrowser and settings and return false. To cancel creation of the browser (and consequently cancel load of the background script) return true. Successful creation will be indicated by a call to ILifeSpanHandler.OnAfterCreated, and IBrowserHost.IsBackgroundHost will return true for the resulting browser. See https://developer.chrome.com/extensions/event_pages for more information about extension background script usage. is the extension that is loading the background script is an internally generated reference to an HTML page that will be used to load the background script via a script src attribute browser settings To cancel creation of the browser (and consequently cancel load of the background script) return true, otherwise return false. Called when an extension API (e.g. chrome.tabs.create) requests creation of a new browser. Successful creation will be indicated by a call to . the source of the API call the source of the API call may optionally be specified via the windowId property or returned via the GetActiveBrowser() callback and provides the default for the new browser is the position value optionally specified via the index property is the URL that will be loaded in the browser is true if the new browser should be active when opened optionally modify if you are going to allow creation of the browser optionally modify browser settings To cancel creation of the browser return true. To allow creation return false and optionally modify windowInfo and settings Called when no tabId is specified to an extension API call that accepts a tabId parameter (e.g. chrome.tabs.*). extension the call originates from browser the call originates from Incognito browsers should not be considered unless the source extension has incognito access enabled, inwhich case this will be true Return the browser that will be acted on by the API call or return null to act on . The returned browser must share the same IRequestContext as Called when the tabId associated with is specified to an extension API call that accepts a tabId parameter (e.g. chrome.tabs.*). extension the call originates from browser the call originates from Access to incognito browsers should not be allowed unless the source extension has incognito access enabled, in which case this will be true. Return true to allow access of false to deny access. Called to retrieve an extension resource that would normally be loaded from disk (e.g. if a file parameter is specified to chrome.tabs.executeScript). Localization substitutions will not be applied to resources handled via this method. extension the call originates from browser the call originates from is the requested relative file path. callback used to handle custom resource requests To handle the resource request return true and execute either synchronously or asynchronously. For the default behavior which reads the resource from the extension directory on disk return false Implement this interface to filter cookies that may be sent or received from resource requests. The methods of this class will be called on the CEF IO thread unless otherwise indicated. Called on the CEF IO thread before a resource request is sent. The ChromiumWebBrowser control the browser object - may be null if originating from ServiceWorker or CefURLRequest the frame object - may be null if originating from ServiceWorker or CefURLRequest the request object - cannot be modified in this callback the cookie object Return true if the specified cookie can be sent with the request or false otherwise. Called on the CEF IO thread after a resource response is received. The ChromiumWebBrowser control the browser object - may be null if originating from ServiceWorker or CefURLRequest the frame object - may be null if originating from ServiceWorker or CefURLRequest the request object - cannot be modified in this callback the response object - cannot be modified in this callback the cookie object Return true if the specified cookie returned with the response can be saved or false otherwise. Implement this interface to handle events related to browser requests. The methods of this class will be called on the CEF IO thread unless otherwise indicated. Called on the CEF IO thread before a resource request is loaded. To optionally filter cookies for the request return a object. The ChromiumWebBrowser control the browser object - may be null if originating from ServiceWorker or CefURLRequest the frame object - may be null if originating from ServiceWorker or CefURLRequest the request object - can be modified in this callback. To optionally filter cookies for the request return a ICookieAccessFilter instance otherwise return null. Called on the CEF IO thread before a resource request is loaded. To redirect or change the resource load optionally modify . Modification of the request URL will be treated as a redirect The ChromiumWebBrowser control the browser object - may be null if originating from ServiceWorker or CefURLRequest the frame object - may be null if originating from ServiceWorker or CefURLRequest the request object - can be modified in this callback. Callback interface used for asynchronous continuation of url requests. Return to continue the request immediately. Return and call or at a later time to continue or the cancel the request asynchronously. Return to cancel the request immediately. Called on the CEF IO thread before a resource is loaded. To specify a handler for the resource return a object The browser UI control the browser object - may be null if originating from ServiceWorker or CefURLRequest the frame object - may be null if originating from ServiceWorker or CefURLRequest the request object - cannot be modified in this callback To allow the resource to load using the default network loader return null otherwise return an instance of with a valid stream Called on the CEF IO thread when a resource load is redirected. The parameter will contain the old URL and other request-related information. The parameter will contain the response that resulted in the redirect. The parameter will contain the new URL and can be changed if desired. The ChromiumWebBrowser control the browser object - may be null if originating from ServiceWorker or CefURLRequest the frame object - may be null if originating from ServiceWorker or CefURLRequest the request object - cannot be modified in this callback the response object - cannot be modified in this callback the new URL and can be changed if desired Called on the CEF IO thread when a resource response is received. To allow the resource load to proceed without modification return false. To redirect or retry the resource load optionally modify and return true. Modification of the request URL will be treated as a redirect. Requests handled using the default network loader cannot be redirected in this callback. WARNING: Redirecting using this method is deprecated. Use OnBeforeResourceLoad or GetResourceHandler to perform redirects. The ChromiumWebBrowser control the browser object - may be null if originating from ServiceWorker or CefURLRequest the frame object - may be null if originating from ServiceWorker or CefURLRequest the request object the response object - cannot be modified in this callback To allow the resource load to proceed without modification return false. To redirect or retry the resource load optionally modify and return true. Modification of the request URL will be treated as a redirect. Requests handled using the default network loader cannot be redirected in this callback. Called on the CEF IO thread to optionally filter resource response content. The ChromiumWebBrowser control the browser object - may be null if originating from ServiceWorker or CefURLRequest the frame object - may be null if originating from ServiceWorker or CefURLRequest the request object - cannot be modified in this callback the response object - cannot be modified in this callback Return an IResponseFilter to intercept this response, otherwise return null Called on the CEF IO thread when a resource load has completed. This method will be called for all requests, including requests that are aborted due to CEF shutdown or destruction of the associated browser. In cases where the associated browser is destroyed this callback may arrive after the callback for that browser. The method can be used to test for this situation, and care should be taken not to call or methods that modify state (like LoadURL, SendProcessMessage, etc.) if the frame is invalid. The ChromiumWebBrowser control the browser object - may be null if originating from ServiceWorker or CefURLRequest the frame object - may be null if originating from ServiceWorker or CefURLRequest the request object - cannot be modified in this callback the response object - cannot be modified in this callback indicates the load completion status is the number of response bytes actually read. Called on the CEF UI thread to handle requests for URLs with an unknown protocol component. SECURITY WARNING: YOU SHOULD USE THIS METHOD TO ENFORCE RESTRICTIONS BASED ON SCHEME, HOST OR OTHER URL ANALYSIS BEFORE ALLOWING OS EXECUTION. The ChromiumWebBrowser control the browser object - may be null if originating from ServiceWorker or CefURLRequest the frame object - may be null if originating from ServiceWorker or CefURLRequest the request object - cannot be modified in this callback return to true to attempt execution via the registered OS protocol handler, if any. Otherwise return false. Implement this interface to provide handler implementations. Methods will be called by the process and/or thread indicated. Return the handler for functionality specific to the browser process. This method is called on multiple threads. Provides an opportunity to register custom schemes. Do not keep a reference to the object. This method is called on the main thread for each process and the registered schemes should be the same across all processes. scheme registra Implement this interface to handle audio events All methods will be called on the CEF UI thread Called on the CEF UI thread to allow configuration of audio stream parameters. Audio stream paramaters can optionally be configured by modifying the ChromiumWebBrowser control the browser object audio stream parameters can optionally be configured here, they are pre-filled with some sensible defaults. Return true to proceed with audio stream capture, or false to cancel it Called on a browser audio capture thread when the browser starts streaming audio. OnAudioSteamStopped will always be called after OnAudioStreamStarted; both methods may be called multiple times for the same browser. the ChromiumWebBrowser control the browser object contains the audio parameters like sample rate and channel layout. Changing the param values will have no effect here. is the number of channels Called on the audio stream thread when a PCM packet is received for the stream. Based on and the value passed to you can calculate the size of the array in bytes. is an array representing the raw PCM data as a floating point type, i.e. 4-byte value(s). is the number of frames in the PCM packet is the presentation timestamp (in milliseconds since the Unix Epoch) and represents the time at which the decompressed packet should be presented to the user Called on the CEF UI thread when the stream has stopped. OnAudioSteamStopped will always be called after ; both methods may be called multiple times for the same stream. the ChromiumWebBrowser control the browser object Called on the CEF UI thread or audio stream thread when an error occurred. During the stream creation phase this callback will be called on the UI thread while in the capturing phase it will be called on the audio stream thread. The stream will be stopped immediately. the ChromiumWebBrowser control the browser object error message Object representing an extension. Methods may be called on any thread unless otherwise indicated. Returns the unique extension identifier. This is calculated based on the extension public key, if available, or on the extension path. See https://developer.chrome.com/extensions/manifest/key for details. Returns the absolute path to the extension directory on disk. This value will be prefixed with PK_DIR_RESOURCES if a relative path was passed to IRequestContext.LoadExtension. Returns the extension manifest contents as a CefDictionaryValue object. See https://developer.chrome.com/extensions/manifest for details. Returns true if this object is the same extension as that object. Extensions are considered the same if identifier, path and loader context match. extension to compare return true if the same extension Returns the request context that loaded this extension. Will return NULL for internal extensions or if the extension has been unloaded. See the CefRequestContext::LoadExtension documentation for more information about loader contexts. Must be called on the CEF UI thread. Returns true if this extension is currently loaded. Must be called on the CEF UI thread. Unload this extension if it is not an internal extension and is currently loaded. Will result in a call to IExtensionHandler.OnExtensionUnloaded on success. Class that creates instances for handling custom requests. The methods of this class will always be called on the CEF IO thread. This interface maps to the CefRequestHandler::GetResourceHandler method. It was split out to allow for the implementation that provides support for the LoadHtml extension method. Are there any 's registered? Called on the CEF IO thread before a resource request is initiated. the ChromiumWebBrowser control represent the source browser of the request represent the source frame of the request represents the request contents and cannot be modified in this callback will be true if the resource request is a navigation will be true if the resource request is a download is the origin (scheme + domain) of the page that initiated the request to true to disable default handling of the request, in which case it will need to be handled via or it will be canceled To allow the resource load to proceed with default handling return null. To specify a handler for the resource return a object. If this callback returns null the same method will be called on the associated , if any Manages custom scheme registrations. Register a custom scheme. This method should not be called for the built-in HTTP, HTTPS, FILE, FTP, ABOUT and DATA schemes. See for possible values for This function may be called on any thread. It should only be called once per unique value. scheme name scheme options If is already registered or if an error occurs this method will return false. Interface representing CefValue. Returns the underlying value type. Returns the underlying value type. Returns the underlying value as type bool. Returns the underlying value as type bool. Returns the underlying value as type double. Returns the underlying value as type double. Returns the underlying value as type int. Returns the underlying value as type int. Returns the underlying value as type string. Returns the underlying value as type string. Returns the underlying value as type dictionary. Returns the underlying value as type dictionary. Returns the underlying value as type list. Returns the underlying value as type list. Returns the underlying value converted to a managed object. Returns the underlying value converted to a managed object. Container for a single image represented at different scale factors. All image representations should be the same size in density independent pixel (DIP) units. For example, if the image at scale factor 1.0 is 100x100 pixels then the image at scale factor 2.0 should be 200x200 pixels -- both images will display with a DIP size of 100x100 units. The methods of this class must be called on the browser process UI thread. Returns the bitmap representation that most closely matches scaleFactor. scale factor color type alpha type pixel width pixel height A stream represending the bitmap or null. Returns the JPEG representation that most closely matches scaleFactor. scale factor image quality pixel width pixel height A stream representing the JPEG or null. Returns the PNG representation that most closely matches scaleFactor. scale factor is the PNG transparent pixel width pixel height A stream represending the PNG or null. Returns information for the representation that most closely matches scaleFactor. scale factor actual scale factor pixel width pixel height return if information found for scale factor Returns the image height in density independent pixel(DIP) units. Returns true if this image contains a representation for scaleFactor. Returns true if this Image is empty. Returns true if this Image and that Image share the same underlying storage. image to compare returns true if share same underlying storage Removes the representation for scaleFactor. true for success Returns the image width in density independent pixel(DIP) units. Javascript object repository, object are registered for binding One repository per ChromiumWebBrowser instance Javascript Binding Settings Converted .Net method/property/field names to the name that will be used in Javasript. Used for when .Net naming conventions differ from Javascript naming conventions. binding options, by default method/property names are camelCased, you can control this and other advanced options though this class. UnRegister all the currently bound objects from the repository. If you unregister an object that is currently bound in JavaScript then the method/property calls will fail. UnRegister a bound object from the repository. If you unregister an object that is currently bound in JavaScript then the method/property calls will fail. object name returns true if the object was successfully unbound otherwise false. Has bound objects Is object bound name true if object with matching name bound Event handler is called when an object with a given name is requested for binding and is not yet registered with the repository. Use to register objects (using Event handler is triggered when a object has been successfully bound in javascript Event handler is triggered when multiple objects has been successfully bound in javascript, this event only contains the names of objects successfully bound. ByteArrayResourceHandler is used as a placeholder class which uses native CEF implementations. CefStreamReader::CreateForData(); reads the byte array that is passed to a new instance of CefStreamResourceHandler TODO: Move this class into Handler namespace Underlying byte array that represents the data Gets or sets the Mime Type. Initializes a new instance of the class. mimeType byte array FileResourceHandler is used as a placeholder class which uses native CEF implementations. CefStreamReader::CreateForFile is used to create a CefStreamReader instance which is passed to a new instance of CefStreamResourceHandler (Was previously ResourceHandlerType::File to differentiate, going for a more flexible approach now) TODO: Move this class into Handler namespace Path of the underlying file Gets or sets the Mime Type. Initializes a new instance of the class. mimeType filePath Class used to implement render process callbacks. The methods of this class will be called on the render process main thread (TID_RENDERER) unless otherwise indicated. Called immediately after the V8 context for a frame has been created. V8 handles can only be accessed from the thread on which they are created. the browser the frame the V8Context Called immediately before the V8 context for a frame is released. No references to the context should be kept after this method is called. the browser the frame the V8Context Called after WebKit has been initialized. Execute a string of JavaScript code in this V8 context. JavaScript code to execute Is the URL where the script in question can be found, if any Is the base line number to use for error reporting. Is the exception if any. On success the function will return true. On failure will be set to the exception, if any, and the function will return false. Class representing a V8 exception. Returns the index within the line of the last character where the error occurred. Returns the index within the line of the last character where the error occurred. Returns the index within the script of the last character where the error occurred. Returns the index within the script of the last character where the error occurred. Returns the 1-based number of the line where the error occurred or 0 if the line number is unknown. Returns the 1-based number of the line where the error occurred or 0 if the line number is unknown. Returns the exception message. Returns the exception message. Returns the resource name for the script from where the function causing the error originates. Returns the resource name for the script from where the function causing the error originates. Returns the line of source code that the exception occurred within. Returns the line of source code that the exception occurred within. Returns the index within the line of the first character where the error occurred. Returns the index within the line of the first character where the error occurred. Returns the index within the script of the first character where the error occurred. Returns the index within the script of the first character where the error occurred. RequestContext extensions. Array of valid proxy schemes Load an extension from the given directory. To load a crx file you must unzip it first. For further details see request context absolute path to the directory that contains the extension to be loaded. handle events related to browser extensions Load extension(s) from the given directory. This methods obtains all the sub directories of and calls if manifest.json is found in the sub folder. To load crx file(s) you must unzip them first. For further details see request context absolute path to the directory that contains the extension(s) to be loaded. handle events related to browser extensions 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. request context preference key preference value out error returns true if successfull, false otherwise. Use Cef.UIThreadTaskFactory to execute this method if required, and ChromiumWebBrowser.IsBrowserInitializedChanged are both executed on the CEF UI thread, so can be called directly. When CefSettings.MultiThreadedMessageLoop == false (the default is true) then the main application thread will be the CEF UI thread. Sets the proxy server for the specified . Protocol for the proxy server is http request context proxy host proxy port returns true if successfull, false otherwise. Internally calls with preference 'proxy' and mode of 'fixed_servers' Sets the proxy server for the specified request context is the protocol of the proxy server, and is one of: 'http', 'socks', 'socks4', 'socks5'. Also note that 'socks' is equivalent to 'socks5'. proxy host proxy port returns true if successfull, false otherwise. Internally calls with preference 'proxy' and mode of 'fixed_servers' Sets the proxy server for the specified MUST be called on the CEF UI Thread request context is the protocol of the proxy server, and is one of: 'http', 'socks', 'socks4', 'socks5'. Also note that 'socks' is equivalent to 'socks5'. proxy host proxy port error message returns true if successfull, false otherwise. Internally calls with preference 'proxy' and mode of 'fixed_servers' Sets the proxy server for the specified . Protocol for the proxy server is http MUST be called on the CEF UI Thread request context proxy host proxy port error message returns true if successfull, false otherwise. Internally calls with preference 'proxy' and mode of 'fixed_servers' Sets the proxy server for the specified . Protocol for the proxy server is http MUST be called on the CEF UI Thread request context proxy host error message returns true if successfull, false otherwise. Internally calls with preference 'proxy' and mode of 'fixed_servers' Creates a Dictionary that can be used with is the protocol of the proxy server, and is one of: 'http', 'socks', 'socks4', 'socks5'. Also note that 'socks' is equivalent to 'socks5'. proxy host proxy port Clears all HTTP authentication credentials that were added as part of handling . request context A task that represents the ClearHttpAuthCredentials operation. Result indicates if the credentials cleared successfully. Extension method to register a instance of the with the provided for the request context scheme name, e.g. http(s). If registering for a custom scheme then that scheme must be already registered. It's recommended that you use https or http with a domain name rather than using a custom scheme. Optional domain name OWIN AppFunc as defined at owin.org StreamResponseFilter - copies all data from IResponseFilter.Filter to the provided Stream. The must be writable, no data will be copied otherwise. The StreamResponseFilter will release it's reference (set to null) to the when it's Disposed. StreamResponseFilter constructor a writable stream implementation that uses an OWIN capable host of fulfilling requests. Can be used with NancyFx or AspNet Core TODO: - Multipart post data - Cancellation Token Read the request, then process it through the OWEN pipeline then populate the response properties. request callback always returns true as we'll handle all requests this handler is registered for. implementation that takes an OWIN AppFunc and uses an to fulfill each requests. FolderSchemeHandlerFactory is a very simple scheme handler that allows you to map requests for urls to a folder on your file system. For example creating a setting the rootFolder to c:\projects\CefSharp\CefSharp.Example\Resources registering the scheme handler is being deprecated in favour of using Chromiums native mimeType lookup which is accessible using Cef.GetMimeType, this method is however not directly available as it exists in CefSharp.Core, to get around this we set this static delegate with a reference to Cef.GetMimeType when Cef.Initialize is called. Initialize a new instance of FolderSchemeHandlerFactory Root Folder where all your files exist, requests cannot be made outside of this folder if not null then schemeName checking will be implemented if not null then hostName checking will be implemented default page if no page specified, defaults to index.html file share mode used to open resources, defaults to FileShare.Read If the file requested is within the rootFolder then a IResourceHandler reference to the file requested will be returned otherwise a 404 ResourceHandler will be returned. 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) A IResourceHandler If the file requested is within the rootFolder then a IResourceHandler reference to the file requested will be returned otherwise a 404 ResourceHandler will be returned. 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) A IResourceHandler Structure representing the audio parameters for setting up the audio handler. Layout of the audio channels Sample rate Number of frames per buffer Init with default values channel layout sample rate frames per buffer Touch Event Id of a touch point. Must be unique per touch, can be any number except -1. Note that a maximum of 16 concurrent touches will be tracked; touches beyond that will be ignored. X coordinate relative to the left side of the view. Y coordinate relative to the top side of the view. X radius in pixels. Set to 0 if not applicable. Y radius in pixels. Set to 0 if not applicable. Rotation angle in radians. Set to 0 if not applicable. The device type that caused the event. The normalized pressure of the pointer input in the range of [0,1]. Set to 0 if not applicable. The state of the touch point. Touches begin with one event followed by zero or more events and finally one or event. Events not respecting this order will be ignored. Bit flags describing any pressed modifier keys. Represents an IME composition underline. Underline character range. Text color. 32-bit ARGB color value, not premultiplied. The color components are always in a known order. Equivalent to the SkColor type. Background color. 32-bit ARGB color value, not premultiplied. The color components are always in a known order. Equivalent to the SkColor type. true for thickunderline Style Constructor. Underline character range. Text color. 32-bit ARGB color value, not premultiplied. The color components are always in a known order. Equivalent to the SkColor type. Background color. 32-bit ARGB color value, not premultiplied. The color components are always in a known order. Equivalent to the SkColor type. True for thickunderline. Constructor. Underline character range. Text color. 32-bit ARGB color value, not premultiplied. The color components are always in a known order. Equivalent to the SkColor type. Background color. 32-bit ARGB color value, not premultiplied. The color components are always in a known order. Equivalent to the SkColor type. True for thickunderline. Style Struct representing cursor information. Cursor buffer Hotspot Image scale factor Size CursorInfo buffer hotspot image scale factor size Class representing a point. X coordinate Y coordinate Point x coordinate y coordinate Structure representing a size. Width Height Size width height Represents a range From To Range from to Represents a rectangle X coordinate Y coordinate Width Height Rect x coordinate y coordinate width height Returns a new Rect with Scaled values Dpi to scale by New rect with scaled values Class representing the virtual screen information for use when window rendering is disabled. See also Chrome Source Device scale factor. Specifies the ratio between physical and logical pixels. The screen depth in bits per pixel. The bits per color component. This assumes that the colors are balanced equally. This can be true for black and white printers. This is set from the rcMonitor member of MONITORINFOEX, to whit: "A RECT structure that specifies the display monitor rectangle, expressed in virtual-screen coordinates. Note that if the monitor is not the primary display monitor, some of the rectangle's coordinates may be negative values." The Rect and AvailableRect properties are used to determine the available surface for rendering popup views. This is set from the rcWork member of MONITORINFOEX, to whit: "A RECT structure that specifies the work area rectangle of the display monitor that can be used by applications, expressed in virtual-screen coordinates. Windows uses this rectangle to maximize an application on the monitor. The rest of the area in rcMonitor contains system windows such as the task bar and side bars. Note that if the monitor is not the primary display monitor, some of the rectangle's coordinates may be negative values". The Rect and AvailableRect properties are used to determine the available surface for rendering popup views. CefLibraryHandle is a SafeHandle that Loads libcef.dll and relesases it when disposed/finalized Calls LoadLibraryEx with LoadLibraryFlags.LOAD_WITH_ALTERED_SEARCH_PATH Make sure to set settings.BrowserSubprocessPath and settings.LocalesDirPath Adapted from http://www.pinvoke.net/default.aspx/kernel32.loadlibraryex In general not a fan of having inline classes/enums In this case it's not something that I'd like to see exposed as it's just a helper and outside the scope of the project Default constructor libcef.dll full path. When overridden in a derived class, gets a value indicating whether the handle value is invalid. true if the handle value is invalid; otherwise, false. When overridden in a derived class, executes the code required to free the handle. true if the handle is released successfully; otherwise, in the event of a catastrophic failure, false. In this case, it generates a releaseHandleFailed MDA Managed Debugging Assistant. Javascript exception Message Stack trace in javascript frames Javascript binding extension methods Make sure an object is bound in javascript. Executes against the main frame browser object names List of objects that were bound A Javascript(V8) stack frame TODO: Refactor to pass params in throw constructor and make properties readonly Gets or sets the name of the function. The name of the function. Gets or sets the line number. The line number. Gets or sets the column number. The column number. Gets or sets the name of the source. The name of the source. Represents a node in the browser's DOM. Constructor. Name of the tag. The attributes. Returns a string that represents the current object. A string that represents the current object. Get the value of an attribute. The name of the attribute value to get. The attribute value if the name exists in the DomNode's attributes. Null if the name does not exist. The name of the HTML element. The name of the tag. Get a read only list of the attribute names. A list of names of the attributes. Determine if the DomNode has the requested attribute. The name of the attribute value. True if the attribute exists in the DomNode, false if it does not. Gets the enumerator. The enumerator. Representing a draggable region. Width Height X coordinate Y coordinate Is this region draggable Creates a new DraggableRegion width height x coordinate y coordinate is draggable? Lists the errors that can be reported during Widevine Content Decryption Module (CDM) registration. No error. Registration completed successfully. Required files or manifest contents are missing. The CDM is incompatible with the current Chromium version. CDM registration is not supported at this time. This file contains the list of network errors. For a complete up-to-date list, see the CEF source code (cef_errorcode_t in include/internal/cef_types.h) and the Chromium source code (net/base/net_error_list.h). No error occurred. An asynchronous IO operation is not yet complete. This usually does not indicate a fatal error. Typically this error will be generated as a notification to wait for some external notification that the IO operation finally completed. A generic failure occurred. A request was aborted, possibly by the user. An argument to the function is incorrect. The handle or file descriptor is invalid. The file or directory cannot be found. An operation timed out. The file is too large. An unexpected error. This may be caused by a programming mistake or an invalid assumption Permission to access a resource, other than the network, was denied. The operation failed because of unimplemented functionality. There were not enough resources to complete the operation. Memory allocation failed. The file upload failed because the file's modification time was different from the expectation. The socket is not connected. The file already exists. The path or file name is too long. Not enough room left on the disk. The file has a virus. The client chose to block the request. The network changed. The request was blocked by the URL block list configured by the domain administrator. The socket is already connected. The request was blocked because the forced reenrollment check is still pending. This error can only occur on ChromeOS. The error can be emitted by code in chrome/browser/policy/policy_helpers.cc. A connection was closed (corresponding to a TCP FIN). A connection was reset (corresponding to a TCP RST). A connection attempt was refused. A connection timed out as a result of not receiving an ACK for data sent. This can include a FIN packet that did not get ACK'd. A connection attempt failed. The host name could not be resolved. The Internet connection has been lost. An SSL protocol error occurred. The IP address or port number is invalid (e.g., cannot connect to the IP address 0 or the port 0). The IP address is unreachable. This usually means that there is no route to the specified host or network. The server requested a client certificate for SSL client authentication. A tunnel connection through the proxy could not be established. No SSL protocol versions are enabled. The client and server don't support a common SSL protocol version or cipher suite. The server requested a renegotiation (rehandshake). The proxy requested authentication (for tunnel establishment) with an unsupported method. During SSL renegotiation (rehandshake), the server sent a certificate with an error. Note: this error is not in the -2xx range so that it won't be handled as a certificate error. The SSL handshake failed because of a bad or missing client certificate. A connection attempt timed out. There are too many pending DNS resolves, so a request in the queue was aborted. Failed establishing a connection to the SOCKS proxy server for a target host. The SOCKS proxy server failed establishing connection to the target host because that host is unreachable. The request to negotiate an alternate protocol failed. The peer sent an SSL no_renegotiation alert message. Winsock sometimes reports more data written than passed. This is probably due to a broken LSP. An SSL peer sent us a fatal decompression_failure alert. This typically occurs when a peer selects DEFLATE compression in the mistaken belief that it supports it. An SSL peer sent us a fatal bad_record_mac alert. This has been observed from servers with buggy DEFLATE support. The proxy requested authentication (for tunnel establishment). Could not create a connection to the proxy server. An error occurred either in resolving its name, or in connecting a socket to it. Note that this does NOT include failures during the actual "CONNECT" method of an HTTP proxy. A mandatory proxy configuration could not be used. Currently this means that a mandatory PAC script could not be fetched, parsed or executed. We've hit the max socket limit for the socket pool while preconnecting. We don't bother trying to preconnect more sockets. The permission to use the SSL client certificate's private key was denied. The SSL client certificate has no private key. The certificate presented by the HTTPS Proxy was invalid. An error occurred when trying to do a name resolution (DNS). Permission to access the network was denied. This is used to distinguish errors that were most likely caused by a firewall from other access denied errors. See also ERR_ACCESS_DENIED. The request throttler module cancelled this request to avoid DDOS. A request to create an SSL tunnel connection through the HTTPS proxy received a non-200 (OK) and non-407 (Proxy Auth) response. The response body might include a description of why the request failed. We were unable to sign the CertificateVerify data of an SSL client auth handshake with the client certificate's private key. Possible causes for this include the user implicitly or explicitly denying access to the private key, the private key may not be valid for signing, the key may be relying on a cached handle which is no longer valid, or the CSP won't allow arbitrary data to be signed. The message was too large for the transport. (for example a UDP message which exceeds size threshold). Websocket protocol error. Indicates that we are terminating the connection due to a malformed frame or other protocol violation. Returned when attempting to bind an address that is already in use. An operation failed because the SSL handshake has not completed. SSL peer's public key is invalid. The certificate didn't match the built-in public key pins for the host name. The pins are set in net/http/transport_security_state.cc and require that one of a set of public keys exist on the path from the leaf to the root. Server request for client certificate did not contain any types we support. An SSL peer sent us a fatal decrypt_error alert. This typically occurs when a peer could not correctly verify a signature (in CertificateVerify or ServerKeyExchange) or validate a Finished message. There are too many pending WebSocketJob instances, so the new job was not pushed to the queue. There are too many active SocketStream instances, so the new connect request was rejected. The SSL server certificate changed in a renegotiation. The SSL server sent us a fatal unrecognized_name alert. Failed to set the socket's receive buffer size as requested. Failed to set the socket's send buffer size as requested. Failed to set the socket's receive buffer size as requested, despite success return code from setsockopt. Failed to set the socket's send buffer size as requested, despite success return code from setsockopt. Failed to import a client certificate from the platform store into the SSL library. Resolving a hostname to an IP address list included the IPv4 address "127.0.53.53". This is a special IP address which ICANN has recommended to indicate there was a name collision, and alert admins to a potential problem. The SSL server presented a certificate which could not be decoded. This is not a certificate error code as no X509Certificate object is available. This error is fatal. Certificate Transparency: Received a signed tree head that failed to parse. Certificate Transparency: Received a signed tree head whose JSON parsing was OK but was missing some of the fields. The attempt to reuse a connection to send proxy auth credentials failed before the AuthController was used to generate credentials. The caller should reuse the controller with a new connection. This error is only used internally by the network stack. Certificate Transparency: Failed to parse the received consistency proof. The SSL server required an unsupported cipher suite that has since been removed. This error will temporarily be signaled on a fallback for one or two releases immediately following a cipher suite's removal, after which the fallback will be removed. When a WebSocket handshake is done successfully and the connection has been upgraded, the URLRequest is cancelled with this error code. Socket ReadIfReady support is not implemented. This error should not be user visible, because the normal Read() method is used as a fallback. No socket buffer space is available. There were no common signature algorithms between our client certificate private key and the server's preferences. TLS 1.3 early data was rejected by the server. This will be received before any data is returned from the socket. The request should be retried with early data disabled. TLS 1.3 early data was offered, but the server responded with TLS 1.2 or earlier. This is an internal error code to account for a backwards-compatibility issue with early data and TLS 1.2. It will be received before any data is returned from the socket. The request should be retried with early data disabled. See https://tools.ietf.org/html/rfc8446#appendix-D.3 for details. TLS 1.3 was enabled, but a lower version was negotiated and the server returned a value indicating it supported TLS 1.3. This is part of a security check in TLS 1.3, but it may also indicate the user is behind a buggy TLS-terminating proxy which implemented TLS 1.2 incorrectly. (See https://crbug.com/boringssl/226.) The server's certificate has a keyUsage extension incompatible with the negotiated TLS key exchange method. The server responded with a certificate whose common name did not match the host name. This could mean: 1. An attacker has redirected our traffic to his server and is presenting a certificate for which he knows the private key. 2. The server is misconfigured and responding with the wrong cert. 3. The user is on a wireless network and is being redirected to the network's login page. 4. The OS has used a DNS search suffix and the server doesn't have a certificate for the abbreviated name in the address bar. The server responded with a certificate that, by our clock, appears to either not yet be valid or to have expired. This could mean: 1. An attacker is presenting an old certificate for which he has managed to obtain the private key 2. The server is misconfigured and is not presenting a valid cert. 3. Our clock is wrong. The server responded with a certificate that is signed by an authority we don't trust. The could mean: 1. An attacker has substituted the real certificate for a cert that contains his public key and is signed by his cousin. 2. The server operator has a legitimate certificate from a CA we don't know about, but should trust. 3. The server is presenting a self-signed certificate, providing no defense against active attackers (but foiling passive attackers). The server responded with a certificate that contains errors. This error is not recoverable. MSDN describes this error as follows: "The SSL certificate contains errors." NOTE: It's unclear how this differs from ERR_CERT_INVALID. For consistency, use that code instead of this one from now on. The certificate has no mechanism for determining if it is revoked. In effect, this certificate cannot be revoked. Revocation information for the security certificate for this site is not available. This could mean: 1. An attacker has compromised the private key in the certificate and is blocking our attempt to find out that the cert was revoked. 2. The certificate is unrevoked, but the revocation server is busy or unavailable. The server responded with a certificate has been revoked. We have the capability to ignore this error, but it is probably not the thing to do. The server responded with a certificate that is invalid. This error is not recoverable. The server responded with a certificate that is signed using a weak signature algorithm. The host name specified in the certificate is not unique. The server responded with a certificate that contains a weak key (e.g. a too-small RSA key). The certificate claimed DNS names that are in violation of name constraints. The certificate's validity period is too long. Certificate Transparency was required for this connection, but the server did not provide CT information that complied with the policy. The certificate chained to a legacy Symantec root that is no longer trusted. https://g.co/chrome/symantecpkicerts The certificate is known to be used for interception by an entity other the device owner. The connection uses an obsolete version of SSL/TLS. Add new certificate error codes here. Update the value of CERT_END whenever you add a new certificate error code. The value immediately past the last certificate error code. The URL is invalid. The scheme of the URL is disallowed. The scheme of the URL is unknown. Attempting to load an URL resulted in too many redirects. Attempting to load an URL resulted in an unsafe redirect (e.g., a redirect to file:// is considered unsafe). Attempting to load an URL with an unsafe port number. These are port numbers that correspond to services, which are not robust to spurious input that may be constructed as a result of an allowed web construct (e.g., HTTP looks a lot like SMTP, so form submission to port 25 is denied). The server's response was invalid. Error in chunked transfer encoding. The server did not support the request method. The response was 407 (Proxy Authentication Required), yet we did not send the request to a proxy. The server closed the connection without sending any data. The headers section of the response is too large. The evaluation of the PAC script failed. The response was 416 (Requested range not satisfiable) and the server cannot satisfy the range requested. The identity used for authentication is invalid. Content decoding of the response body failed. An operation could not be completed because all network IO is suspended. FLIP data received without receiving a SYN_REPLY on the stream. Converting the response to target encoding failed. The server sent an FTP directory listing in a format we do not understand. There are no supported proxies in the provided list. There is a SPDY protocol error. Credentials could not be established during HTTP Authentication. An HTTP Authentication scheme was tried which is not supported on this machine. Detecting the encoding of the response failed. (GSSAPI) No Kerberos credentials were available during HTTP Authentication. An unexpected, but documented, SSPI or GSSAPI status code was returned. The environment was not set up correctly for authentication (for example, no KDC could be found or the principal is unknown. An undocumented SSPI or GSSAPI status code was returned. The HTTP response was too big to drain. The HTTP response contained multiple distinct Content-Length headers. SPDY Headers have been received, but not all of them - status or version headers are missing, so we're expecting additional frames to complete them. No PAC URL configuration could be retrieved from DHCP. This can indicate either a failure to retrieve the DHCP configuration, or that there was no PAC URL configured in DHCP. The HTTP response contained multiple Content-Disposition headers. The HTTP response contained multiple Location headers. SPDY server refused the stream. Client should retry. This should never be a user-visible error. SPDY server didn't respond to the PING message. The HTTP response body transferred fewer bytes than were advertised by the Content-Length header when the connection is closed. The HTTP response body is transferred with Chunked-Encoding, but the terminating zero-length chunk was never sent when the connection is closed. There is a QUIC protocol error. The HTTP headers were truncated by an EOF. The QUIC crytpo handshake failed. This means that the server was unable to read any requests sent, so they may be resent. Transport security is inadequate for the SPDY version. The peer violated SPDY flow control. The peer sent an improperly sized SPDY frame. Decoding or encoding of compressed SPDY headers failed. Proxy Auth Requested without a valid Client Socket Handle. HTTP_1_1_REQUIRED error code received on HTTP/2 session. HTTP_1_1_REQUIRED error code received on HTTP/2 session to proxy. The PAC script terminated fatally and must be reloaded. The server was expected to return an HTTP/1.x response, but did not. Rather than treat it as HTTP/0.9, this error is returned. Initializing content decoding failed. Received HTTP/2 RST_STREAM frame with NO_ERROR error code. This error should be handled internally by HTTP/2 code, and should not make it above the SpdyStream layer. The pushed stream claimed by the request is no longer available. A pushed stream was claimed and later reset by the server. When this happens, the request should be retried. An HTTP transaction was retried too many times due for authentication or invalid certificates. This may be due to a bug in the net stack that would otherwise infinite loop, or if the server or proxy continually requests fresh credentials or presents a fresh invalid certificate. Received an HTTP/2 frame on a closed stream. Client is refusing an HTTP/2 stream. A pushed HTTP/2 stream was claimed by a request based on matching URL and request headers, but the pushed response headers do not match the request. The server returned a non-2xx HTTP response code. Not that this error is only used by certain APIs that interpret the HTTP response itself. URLRequest for instance just passes most non-2xx response back as success. The certificate presented on a QUIC connection does not chain to a known root and the origin connected to is not on a list of domains where unknown roots are allowed. The cache does not have the requested entry. Unable to read from the disk cache. Unable to write to the disk cache. The operation is not supported for this entry. The disk cache is unable to open this entry. The disk cache is unable to create this entry. Multiple transactions are racing to create disk cache entries. This is an internal error returned from the HttpCache to the HttpCacheTransaction that tells the transaction to restart the entry-creation logic because the state of the cache has changed. The cache was unable to read a checksum record on an entry. This can be returned from attempts to read from the cache. It is an internal error, returned by the SimpleCache backend, but not by any URLRequest methods or members. The cache found an entry with an invalid checksum. This can be returned from attempts to read from the cache. It is an internal error, returned by the SimpleCache backend, but not by any URLRequest methods or members. Internal error code for the HTTP cache. The cache lock timeout has fired. Received a challenge after the transaction has read some data, and the credentials aren't available. There isn't a way to get them at that point. Internal not-quite error code for the HTTP cache. In-memory hints suggest that the cache entry would not have been useable with the transaction's current configuration (e.g. load flags, mode, etc.) The disk cache is unable to doom this entry. The disk cache is unable to open or create this entry. The server's response was insecure (e.g. there was a cert error). The server responded to a <keygen> with a generated client cert that we don't have the matching private key for. An error adding to the OS certificate database (e.g. OS X Keychain). An error occurred while handling a signed exchange. An error occurred while handling a Web Bundle source. A generic error for failed FTP control connection command. If possible, please use or add a more specific error code. The server cannot fulfill the request at this point. This is a temporary error. FTP response code 421. The server has aborted the transfer. FTP response code 426. The file is busy, or some other temporary error condition on opening the file. FTP response code 450. Server rejected our command because of syntax errors. FTP response codes 500, 501. Server does not support the command we issued. FTP response codes 502, 504. Server rejected our command because we didn't issue the commands in right order. FTP response code 503. PKCS #12 import failed due to incorrect password. PKCS #12 import failed due to other error. CA import failed - not a CA cert. Import failed - certificate already exists in database. Note it's a little weird this is an error but reimporting a PKCS12 is ok (no-op). That's how Mozilla does it, though. CA import failed due to some other error. Server certificate import failed due to some internal error. PKCS #12 import failed due to invalid MAC. PKCS #12 import failed due to invalid/corrupt file. PKCS #12 import failed due to unsupported features. Key generation failed. Failure to export private key. Self-signed certificate generation failed. The certificate database changed in some way. DNS resolver received a malformed response. DNS server requires TCP DNS server failed. This error is returned for all of the following error conditions: 1 - Format error - The name server was unable to interpret the query. 2 - Server failure - The name server was unable to process this query due to a problem with the name server. 4 - Not Implemented - The name server does not support the requested kind of query. 5 - Refused - The name server refuses to perform the specified operation for policy reasons. DNS transaction timed out. The entry was not found in cache, for cache-only lookups. Suffix search list rules prevent resolution of the given host name. Failed to sort addresses according to RFC3484. Failed to resolve the hostname of a DNS-over-HTTPS server. Supported event bit flags. Mac OS-X command key. CefFileDialogMode (Based on cef_file_dialog_mode_t) Requires that the file exists before allowing the user to pick it. Like Open, but allows picking multiple files to open. Like Open, but selects a folder to open. Allows picking a nonexistent file, and prompts to overwrite if the file already exists. Focus Source The source is explicit navigation via the API (LoadURL(), etc). The source is a system-generated focus event. Supported JavaScript dialog types. Alert Dialog Confirm Dialog Prompt Dialog Custom menu items originating from the renderer process. For example, plugin placeholder menu items or Flash menu items. This is the first entry Custom menu items originating from the renderer process. For example, plugin placeholder menu items or Flash menu items. This is the last entry Margin type for PDF printing. Default margins. No margins. Minimum margins Custom margins. Return value types. Cancel immediately. Continue immediately. Continue asynchronously (usually via a callback). Represents the state of a setting. Use the default state for the setting. Enable or allow the setting. Disable or disallow the setting. Process termination status values. Non-zero exit status. SIGKILL or task manager kill. Segmentation fault. Out of memory. Some platforms may use ProcessCrashed instead. Managed enum for cef_thread_id_t/CefThreadId The CEF UI thread in the browser. In CefSharp this is by default different from your main applications UI Thread (e.g. WPF/WinForms UI Threads). Only when MultiThreadedMessageLoop is false will this be the same as your app UI Thread. Used for blocking tasks (e.g. file system access) where the user won't notice if the task takes an arbitrarily long time to complete. All tasks posted after and before Cef.Shutdown() are guaranteed to run. Used for blocking tasks (e.g. file system access) that affect UI or responsiveness of future user interactions. Do not use if an immediate response to a user interaction is expected. All tasks posted after and before Cef.Shutdown() are guaranteed to run. Examples: - Updating the UI to reflect progress on a long task. - Loading data that might be shown in the UI after a future user interaction. Used for blocking tasks (e.g. file system access) that affect UI immediately after a user interaction. All tasks posted after and before Cef.Shutdown() are guaranteed to run. Example: Generating data shown in the UI immediately after a click. Used to launch and terminate browser processes. Used to process IPC and network messages. Do not perform blocking tasks on this thread. All tasks posted after and before Cef.Shutdown() are guaranteed to run. The main thread in the renderer. Used for all WebKit and V8 interaction. Tasks may be posted to this thread after CefRenderProcessHandler::OnWebKitInitialized but are not guaranteed to run before sub-process termination (sub-processes may be killed at any time without warning). Supported certificate status code values. See net\cert\cert_status_flags.h for more information. CERT_STATUS_NONE is new in CEF because we use an enum while cert_status_flags.h uses a typedef and static const variables. None CommonNameInvalid DateInvalid AuthorityInvalid NoRevocation_Mechanism UnableToCheckRevocation Revoked Invalid WeakSignatureAlgorithm NonUniqueName WeakKey PinnedKeyMissing NameConstraintViolation ValidityTooLong IsEv RevCheckingEnabled Sha1SignaturePresent CtComplianceFailed Supported context menu edit state bit flags. A binary constant representing the none flag. A binary constant representing the can undo flag. A binary constant representing the can redo flag. A binary constant representing the can cut flag. A binary constant representing the can copy flag. A binary constant representing the can paste flag. A binary constant representing the can delete flag. A binary constant representing the can select all flag. A binary constant representing the can translate flag. Supported context menu media state bit flags. None Error Paused Muted Loop CanSave HasAudio HasVideo ControlRootElement CanPrint CanRotate Supported context menu media types. No special node is in context. An image node is selected. A video node is selected. An audio node is selected. A file node is selected. A plugin node is selected. ContextMenuType No node is selected. The top page is selected. A subframe page is selected. A link is selected. A media node is selected. There is a textual or mixed selection that is selected. An editable element is selected. Return values for IResponseFilter Some or all of the pre-filter data was read successfully but more data is needed in order to continue filtering (filtered output is pending). Some or all of the pre-filter data was read successfully and all available filtered output has been written. An error occurred during filtering. Values that represent key event types. Notification that a key transitioned from "up" to "down". Notification that a key was pressed. This does not necessarily correspond to a character depending on the key and language. Use KEYEVENT_CHAR for character input. Notification that a key was released. Notification that a character was typed. Use this for text input. Key down events may generate 0, 1, or more than one character event depending on the key, locale, and operating system. KeyType Enum. Maps to https://magpcss.org/ceforum/apidocs3/projects/(default)/cef_key_event_type_t.html Notification that a key transitioned from"up" to"down". Notification that a key was pressed. This does not necessarily correspond to a character depending on the key and language. Use for character input. Notification that a key was released. Notification that a character was typed. Use this for text input. Key down events may generate 0, 1, or more than one character event depending on the key, locale, and operating system. LogSeverity Default logging (currently Info logging) Verbose logging. Info logging Warning logging Error logging Fatal logging. Disable logging to file for all messages, and to stderr for messages with severity less than FATAL. Supported menu item types. An enum constant representing the none option. An enum constant representing the command option. An enum constant representing the check option. An enum constant representing the radio option. An enum constant representing the separator option. An enum constant representing the sub menu option. Values that represent mouse button types. Left Mouse Button Middle Mouse Button Right Mouse Button Paint element types. An enum constant representing the view option. An enum constant representing the popup option. Plugin policies supported by IPluginHandler.OnBeforePluginLoad. Allow the content Allow important content and block unimportant content based on heuristics. The user can manually load blocked content. Block the content. The user can manually load blocked content. Disable the content. The user cannot load disabled content. Post data elements may represent either bytes or files. An enum constant representing the empty option. An enum constant representing the bytes option. An enum constant representing the file option. Policy for how the Referrer HTTP header value will be sent during navigation. If the `--no-referrers` command-line flag is specified then the policy value will be ignored and the Referrer value will never be sent. Must be kept synchronized with net::URLRequest::ReferrerPolicy from Chromium. Clear the referrer header if the header value is HTTPS but the request destination is HTTP. This is the default behavior. Default which is equivalent to A slight variant on : If the request destination is HTTP, an HTTPS referrer will be cleared. If the request's destination is cross-origin with the referrer (but does not downgrade), the referrer's granularity will be stripped down to an origin rather than a full URL. Same-origin requests will send the full referrer. Strip the referrer down to an origin when the origin of the referrer is different from the destination's origin. Never change the referrer. Strip the referrer down to the origin regardless of the redirect location. Clear the referrer when the request's referrer is cross-origin with the request's destination. Strip the referrer down to the origin, but clear it entirely if the referrer value is HTTPS and the destination is HTTP. Always clear the referrer regardless of the request destination. Always the last value in this enumeration. Resource type for a request. Top level page. Frame or iframe. CSS stylesheet. External script. Image (jpg/gif/png/etc). Font. Some other subresource. This is the default type if the actual type is unknown. Object (or embed) tag for a plugin, or a resource that a plugin requested. Media resource. Main resource of a dedicated worker. Main resource of a shared worker. Explicitly requested prefetch. Favicon. XMLHttpRequest. A request for a ping Main resource of a service worker. A report of Content Security Policy violations. A resource that a plugin requested. Supported SSL content status flags. See content/public/common/ssl_status.h for more information. HTTP page, or HTTPS page with no insecure content.. HTTPS page containing "displayed" HTTP resources (e.g. images, CSS). HTTPS page containing "executed" HTTP resources (i.e. script) Supported SSL version values. See net/ssl/ssl_connection_status_flags.h for more information. Unknown SSL version. An enum constant representing the ssl 2 option. An enum constant representing the ssl 3 option. An enum constant representing the TLS 1.0 option. An enum constant representing the TLS 1.1 option. An enum constant representing the TLS 1.2 option. An enum constant representing the TLS 1.3 option. An enum constant representing the QUIC option. Transition type for a request. Made up of one source value and 0 or more qualifiers. Source is a link click or the JavaScript window.open function. This is also the default value for requests like sub-resource loads that are not navigations. Source is some other "explicit" navigation. This is the default value for navigations where the actual type is unknown. See also . Source is a subframe navigation. This is any content that is automatically loaded in a non-toplevel frame. For example, if a page consists of several frames containing ads, those ad URLs will have this transition type. The user may not even realize the content in these pages is a separate frame, so may not care about the URL. Source is a subframe navigation explicitly requested by the user that will generate new navigation entries in the back/forward list. These are probably more important than frames that were automatically loaded in the background because the user probably cares about the fact that this link was loaded. Source is a form submission by the user. NOTE: In some situations submitting a form does not result in this transition type. This can happen if the form uses a script to submit the contents. Source is a "reload" of the page via the Reload function or by re-visiting the same URL. NOTE: This is distinct from the concept of whether a particular load uses "reload semantics" (i.e. bypasses cached data). General mask defining the bits used for the source values. Attempted to visit a URL but was blocked. Used the Forward or Back function to navigate among browsing history. Will be ORed to the transition type for the original load. Loaded a URL directly via CreateBrowser, LoadURL or LoadRequest. The beginning of a navigation chain. The last transition in a redirect chain. Redirects caused by JavaScript or a meta refresh tag on the page. Redirects sent from the server by HTTP headers. Used to test whether a transition involves a redirect. General mask defining the bits used for the qualifiers. Flags that represent CefURLRequest status. Unknown status. Request succeeded. An IO request is pending, and the caller will be informed when it is completed. Request was canceled programatically. Request failed for some reason. The manner in which a link click should be opened. An enum constant representing the unknown option. An enum constant representing the current tab option. Indicates that only one tab with the url should exist in the same window An enum constant representing the new foreground tab option. An enum constant representing the new background tab option. An enum constant representing the new popup option. An enum constant representing the new window option. An enum constant representing the save to disk option. An enum constant representing the off the record option. An enum constant representing the ignore action option. Event arguments for the AddressChanged event handler. Access to the underlying object The new address Creates a new AddressChangedEventArgs event argument. the browser object the address Event arguments for the ConsoleMessage event handler set up in IWebBrowser. Creates a new ConsoleMessageEventArgs event argument. browser level message source line number Access to the underlying object Log level The message text of the console message. The source of the console message. The line number that generated the console message. Event arguments to the FrameLoadEnd event handler set up in IWebBrowser. Creates a new FrameLoadEnd event args browser frame http statusCode The browser that contains the frame that finished loading. The frame that finished loading. The URL that was loaded. Http Status Code Event arguments to the FrameLoadStart event handler set up in IWebBrowser. Creates a new FrameLoadStart event args browser frame provides information about the source of the navigation and an accurate value is only available in the browser process The browser object The frame that just started loading. The URL that was loaded. TransitionType provides information about the source of the navigation. Event arguments to the LoadError event handler set up in IWebBrowser. LoadErrorEventArgs browser frame error code error text failed url The browser object The frame that failed to load. The URL that failed to load. The error code. The error text. Event arguments to the LoadingStateChanged event handler set up in IWebBrowser. Returns true if the browser can navigate forwards. Returns true if the browser can navigate backwards. Returns true if the browser can reload. Returns true if the browser is loading. Access to the underlying object LoadingStateChangedEventArgs browser can go back can go forward is loading Event arguments to the StatusMessage event handler set up in IWebBrowser. StatusMessageEventArgs browser status message value The browser object The value of the status message. Event arguments to the TitleChanged event handler. Access to the underlying object The new title Creates a new TitleChanged event arg browser the new title Implement this interface to handle events related to browser process callbacks. The methods of this class will be called on the CEF UI thread unless otherwise indicated. . Called on the CEF UI thread immediately after the CEF context has been initialized. You can now access the Global RequestContext through Cef.GetGlobalRequestContext() - this is the first place you can set Preferences (e.g. proxy settings, spell check dictionaries). Called from any thread when work has been scheduled for the browser process main (UI) thread. This callback is used in combination with CefSettings. ExternalMessagePump and Cef.DoMessageLoopWork() in cases where the CEF message loop must be integrated into an existing application message loop (see additional comments and warnings on Cef.DoMessageLoopWork). This callback should schedule a Cef.DoMessageLoopWork() call to happen on the main (UI) thread. is the requested delay in milliseconds. If delay is less than or equal to 0 then the call should happen reasonably soon. If delay is greater than 0 then the call should be scheduled to happen after the specified delay and any currently pending scheduled call should be cancelled. Implement this interface to handle context menu events. Called before a context menu is displayed. The model can be cleared to show no context menu or modified to show a custom menu. the ChromiumWebBrowser control the browser object The frame the request is coming from provides information about the context menu state initially contains the default context menu Called to execute a command selected from the context menu. See cef_menu_id_t for the command ids that have default implementations. All user-defined command ids should be between MENU_ID_USER_FIRST and MENU_ID_USER_LAST. the ChromiumWebBrowser control the browser object The frame the request is coming from will have the same values as what was passed to menu command id event flags Return true if the command was handled or false for the default implementation. Called when the context menu is dismissed irregardless of whether the menu was empty or a command was selected. the ChromiumWebBrowser control the browser object The frame the request is coming from Called to allow custom display of the context menu. For custom display return true and execute callback either synchronously or asynchronously with the selected command Id. For default display return false. Do not keep references to parameters or model outside of this callback. the ChromiumWebBrowser control the browser object The frame the request is coming from provides information about the context menu state contains the context menu model resulting from OnBeforeContextMenu the callback to execute for custom display For custom display return true and execute callback either synchronously or asynchronously with the selected command ID. Implement this interface to handle dialog events. The methods of this class will be called on the CEF UI thread. Runs a file chooser dialog. To test assign something like TempFileDialogHandler (from CefSharp.Example) to DialogHandler e.g. browser.DialogHandler = new TempFileDialogHandler(); Example URL to use for file browsing http://www.cs.tut.fi/~jkorpela/forms/file.html#example Simply click browse, the space next to the browse button should be populated with a randomly generated filename. the ChromiumWebBrowser control the browser object represents the type of dialog to display further specifies behavior dialog should exhibit the title to be used for the dialog. It may be empty to show the default title ("Open" or "Save" depending on the mode). is the path with optional directory and/or file name component that should be initially selected in the dialog. are used to restrict the selectable file types and may any combination of (a) valid lower-cased MIME types (e.g. "text/*" or "image/*"), (b) individual file extensions (e.g. ".txt" or ".png"), (c) combined description and file extension delimited using "|" and ";" (e.g. "Image Types|.png;.gif;.jpg"). is the 0-based index of the filter that should be selected by default. Callback interface for asynchronous continuation of file dialog requests. To display a custom dialog return true. To display the default dialog return false. Handle events related to browser display state. Called when a frame's address has changed. the ChromiumWebBrowser control args Called when auto-resize is enabled via IBrowserHost.SetAutoResizeEnabled and the contents have auto-resized. the ChromiumWebBrowser control the browser object will be the desired size in view coordinates Return true if the resize was handled or false for default handling. Called when the browser's cursor has changed. . the ChromiumWebBrowser control the browser object If type is Custom then customCursorInfo will be populated with the custom cursor information cursor type custom cursor Information Return true if the cursor change was handled or false for default handling. Called when the page title changes. the ChromiumWebBrowser control args Called when the page icon changes. the ChromiumWebBrowser control the browser object list of urls where the favicons can be downloaded Called when web content in the page has toggled fullscreen mode. The client is responsible for resizing the browser if desired. The ChromiumWebBrowser control the browser object If true the content will automatically be sized to fill the browser content area. If false the content will automatically return to its original size and position. Called when the overall page loading progress has changed The ChromiumWebBrowser control the browser object ranges from 0.0 to 1.0. Called when the browser is about to display a tooltip. text contains the text that will be displayed in the tooltip. You can optionally modify text and then return false to allow the browser to display the tooltip. When window rendering is disabled the application is responsible for drawing tooltips and the return value is ignored. The ChromiumWebBrowser control the text that will be displayed in the tooltip To handle the display of the tooltip yourself return true otherwise return false to allow the browser to display the tooltip. Only called when using Off-screen rendering (WPF and OffScreen) Called when the browser receives a status message. The control this popup is related to. args Called to display a console message. The ChromiumWebBrowser control args Return true to stop the message from being output to the console. Class used to handle file downloads. The methods of this class will called on the CEF UI thread. Called before a download begins. the ChromiumWebBrowser control The browser instance Represents the file being downloaded. Callback interface used to asynchronously continue a download. Called when a download's status or progress information has been updated. This may be called multiple times before and after . the ChromiumWebBrowser control The browser instance Represents the file being downloaded. The callback used to Cancel/Pause/Resume the process Implement this interface to handle events related to dragging. The methods of this class will be called on the UI thread. Called when an external drag event enters the browser window. the ChromiumWebBrowser control the browser object contains the drag event data represents the type of drag operation Return false for default drag handling behavior or true to cancel the drag event. Called whenever draggable regions for the browser window change. These can be specified using the '-webkit-app-region: drag/no-drag' CSS-property. If draggable regions are never defined in a document this method will also never be called. If the last draggable region is removed from a document this method will be called with an empty IList. the ChromiumWebBrowser control the browser object The frame List of objects or null if last region was removed. Implement this interface to handle events related to find results. The methods of this class will be called on the CEF UI thread. Called to report find results returned by the ChromiumWebBrowser control the browser object is the identifier passed to Find() is the number of matches currently identified is the location of where the match was found (in window coordinates) is the current position in the search results is true if this is the last find notification. Implement this interface to handle events related to focus. The methods of this class will be called on the CEF UI thread. Called when the browser component has received focus. the ChromiumWebBrowser control the browser object Called when the browser component is requesting focus. the ChromiumWebBrowser control the browser object, do not keep a reference to this object outside of this method Indicates where the focus request is originating from. Return false to allow the focus to be set or true to cancel setting the focus. Called when the browser component is about to lose focus. For instance, if focus was on the last HTML element and the user pressed the TAB key. the ChromiumWebBrowser control the browser object Will be true if the browser is giving focus to the next component and false if the browser is giving focus to the previous component. Implement this interface to handle events related to JavaScript dialogs. The methods of this class will be called on the CEF UI thread. Called to run a JavaScript dialog. the ChromiumWebBrowser control the browser object originating url Dialog Type Message Text value will be specified for prompt dialogs only Callback can be executed inline or in an async fashion Set suppressMessage to true and return false to suppress the message (suppressing messages is preferable to immediately executing the callback as this is used to detect presumably malicious behavior like spamming alert messages in onbeforeunload). Set suppressMessage to false and return false to use the default implementation (the default implementation will show one modal dialog at a time and suppress any additional dialog requests until the displayed dialog is dismissed). Return true if the application will use a custom dialog or if the callback has been executed immediately. Custom dialogs may be either modal or modeless. If a custom dialog is used the application must execute |callback| once the custom dialog is dismissed. Called to run a dialog asking the user if they want to leave a page. Return false to use the default dialog implementation. Return true if the application will use a custom dialog or if the callback has been executed immediately. Custom dialogs may be either modal or modeless. If a custom dialog is used the application must execute once the custom dialog is dismissed. the ChromiumWebBrowser control the browser object message text (optional) indicates a page reload Callback can be executed inline or in an async fashion Return false to use the default dialog implementation otherwise return true to handle with your own custom implementation. Called to cancel any pending dialogs and reset any saved dialog state. Will be called due to events like page navigation irregardless of whether any dialogs are currently pending. the ChromiumWebBrowser control the browser object Called when the default implementation dialog is closed. the ChromiumWebBrowser control the browser object Implement this interface to handle events related to keyboard input. Called before a keyboard event is sent to the renderer. Return true if the event was handled or false otherwise. If the event will be handled in as a keyboard shortcut set isKeyboardShortcut to true and return false. the ChromiumWebBrowser control The browser instance. Whether this was a key up/down/raw/etc... The Windows key code for the key event. This value is used by the DOM specification. Sometimes it comes directly from the event (i.e. on Windows) and sometimes it's determined using a mapping function. See WebCore/platform/chromium/KeyboardCodes.h for the list of values. The native key code. On Windows this appears to be in the format of WM_KEYDOWN/WM_KEYUP/etc... lParam data. What other modifier keys are currently down: Shift/Control/Alt/OS X Command/etc... Indicates whether the event is considered a "system key" event (see http://msdn.microsoft.com/en-us/library/ms646286(VS.85).aspx for details). See the summary for an explanation of when to set this to true. Returns true if the event was handled or false otherwise. Called after the renderer and JavaScript in the page has had a chance to handle the event. Return true if the keyboard event was handled or false otherwise. the ChromiumWebBrowser control The browser instance. Whether this was a key up/down/raw/etc... The Windows key code for the key event. This value is used by the DOM specification. Sometimes it comes directly from the event (i.e. on Windows) and sometimes it's determined using a mapping function. See WebCore/platform/chromium/KeyboardCodes.h for the list of values. The native key code. On Windows this appears to be in the format of WM_KEYDOWN/WM_KEYUP/etc... lParam data. What other modifier keys are currently down: Shift/Control/Alt/OS X Command/etc... Indicates whether the event is considered a "system key" event (see http://msdn.microsoft.com/en-us/library/ms646286(VS.85).aspx for details). Return true if the keyboard event was handled or false otherwise. Implement this interface to handle events related to browser life span. The methods of this class will be called on the CEF UI thread unless otherwise indicated. Called before a popup window is created. the ChromiumWebBrowser control The browser instance that launched this popup. The HTML frame that launched this popup. The URL of the popup content. (This may be empty/null) The name of the popup. (This may be empty/null) The value indicates where the user intended to open the popup (e.g. current tab, new tab, etc) The value will be true if the popup was opened via explicit user gesture (e.g. clicking a link) or false if the popup opened automatically (e.g. via the DomContentLoaded event). structure contains additional information about the requested popup window window information browser settings, defaults to source browsers value indicates whether the new browser window should be scriptable and in the same process as the source browser. EXPERIMENTAL - A newly created browser that will host the popup. Set to null for default behaviour. To cancel creation of the popup window return true otherwise return false. CEF documentation: Called on the IO thread before a new popup window is created. The |browser| and |frame| parameters represent the source of the popup request. The |target_url| and |target_frame_name| values may be empty if none were specified with the request. The |popupFeatures| structure contains information about the requested popup window. To allow creation of the popup window optionally modify |windowInfo|, |client|, |settings| and |no_javascript_access| and return false. To cancel creation of the popup window return true. The |client| and |settings| values will default to the source browser's values. The |no_javascript_access| value indicates whether the new browser window should be scriptable and in the same process as the source browser. Called after a new browser is created. the ChromiumWebBrowser control The browser instance Called when a browser has recieved a request to close. This may result directly from a call to CefBrowserHost::CloseBrowser() or indirectly if the browser is a top-level OS window created by CEF and the user attempts to close the window. This method will be called after the JavaScript 'onunload' event has been fired. It will not be called for browsers after the associated OS window has been destroyed (for those browsers it is no longer possible to cancel the close). If CEF created an OS window for the browser returning false will send an OS close notification to the browser window's top-level owner (e.g. WM_CLOSE on Windows, performClose: on OS-X and "delete_event" on Linux). If no OS window exists (window rendering disabled) returning false will cause the browser object to be destroyed immediately. Return true if the browser is parented to another window and that other window needs to receive close notification via some non-standard technique. If an application provides its own top-level window it should handle OS close notifications by calling CefBrowserHost::CloseBrowser(false) instead of immediately closing (see the example below). This gives CEF an opportunity to process the 'onbeforeunload' event and optionally cancel the close before DoClose() is called. The CefLifeSpanHandler::OnBeforeClose() method will be called immediately before the browser object is destroyed. The application should only exit after OnBeforeClose() has been called for all existing browsers. If the browser represents a modal window and a custom modal loop implementation was provided in CefLifeSpanHandler::RunModal() this callback should be used to restore the opener window to a usable state. By way of example consider what should happen during window close when the browser is parented to an application-provided top-level OS window. 1. User clicks the window close button which sends an OS close notification (e.g. WM_CLOSE on Windows, performClose: on OS-X and "delete_event" on Linux). 2. Application's top-level window receives the close notification and: A. Calls CefBrowserHost::CloseBrowser(false). B. Cancels the window close. 3. JavaScript 'onbeforeunload' handler executes and shows the close confirmation dialog (which can be overridden via CefJSDialogHandler::OnBeforeUnloadDialog()). 4. User approves the close. 5. JavaScript 'onunload' handler executes. 6. Application's DoClose() handler is called. Application will: A. Set a flag to indicate that the next close attempt will be allowed. B. Return false. 7. CEF sends an OS close notification. 8. Application's top-level window receives the OS close notification and allows the window to close based on the flag from #6B. 9. Browser OS window is destroyed. 10. Application's CefLifeSpanHandler::OnBeforeClose() handler is called and the browser object is destroyed. 11. Application exits by calling CefQuitMessageLoop() if no other browsers exist. the ChromiumWebBrowser control The browser instance - check if IsDisposed as it's possible when the browser is disposing For default behaviour return false Called before a CefBrowser window (either the main browser for , or one of its children) the ChromiumWebBrowser control The browser instance Implement this interface to handle events related to browser load status. The methods of this interface will be called on the CEF UI thread. Blocking in these methods will likely cause your UI to become unresponsive and/or hang. Called when the loading state has changed. This callback will be executed twice once when loading is initiated either programmatically or by user action, and once when loading is terminated due to completion, cancellation of failure. This method will be called on the CEF UI thread. Blocking this thread will likely cause your UI to become unresponsive and/or hang. the ChromiumWebBrowser control args Called when the browser begins loading a frame. The value will never be empty Check the method to see if this frame is the main frame. Multiple frames may be loading at the same time. Sub-frames may start or continue loading after the main frame load has ended. This method may not be called for a particular frame if the load request for that frame fails. For notification of overall browser load status use instead. This method will be called on the CEF UI thread. Blocking this thread will likely cause your UI to become unresponsive and/or hang. the ChromiumWebBrowser control args Whilst thist may seem like a logical place to execute js, it's called before the DOM has been loaded, implement as it's called when the underlying V8Context is created (Only called for the main frame at this stage) Called when the browser is done loading a frame. The value will never be empty Check the method to see if this frame is the main frame. Multiple frames may be loading at the same time. Sub-frames may start or continue loading after the main frame load has ended. This method will always be called for all frames irrespective of whether the request completes successfully. This method will be called on the CEF UI thread. Blocking this thread will likely cause your UI to become unresponsive and/or hang. the ChromiumWebBrowser control args Called when the resource load for a navigation fails or is canceled. is the error code number, is the error text and is the URL that failed to load. See net\base\net_error_list.h for complete descriptions of the error codes. This method will be called on the CEF UI thread. Blocking this thread will likely cause your UI to become unresponsive and/or hang. the ChromiumWebBrowser control args Messages sent by the render process can be handled by implementing this interface. OnContextCreated is called in the Render process immediately after a CefV8Context is created. An IPC message is immediately sent to notify the context has been created (should be safe to execute javascript). If the page has no javascript then no V8Context will be created and as a result this method will not be called. Called for every V8Context. To determine if V8Context is from Main frame check The ChromiumWebBrowser control The browser object The frame. OnContextReleased is called in the Render process immediately before the CefV8Context is released. An IPC message is immediately sent to notify the context has been released (cannot execute javascript this point). If the page had no javascript then the context would not have been created and as a result this method will not be called. Called for every V8Context. To determine if V8Context is from Main frame check The ChromiumWebBrowser control The browser object The frame. Invoked when an element in the UI gains focus (or possibly no element gains focus; i.e. an element lost focus). The ChromiumWebBrowser control The browser object The frame object An object with information about the node (if any) that has focus. OnUncaughtException is called for global uncaught exceptions in a frame. Execution of this callback is disabled by default. To enable set CefSettings.UncaughtExceptionStackSize > 0. The ChromiumWebBrowser control The browser object The frame The exception object with the message and stacktrace. Implement this interface to provide handler implementations. The handler instance will not be released until all objects related to the context have been destroyed. Implement this interface to cancel loading of specific plugins Called immediately after the request context has been initialized. It's important to note this event is fired on a CEF UI thread, which by default is not the same as your application UI thread. the request context Called on the CEF IO thread before a plugin instance is loaded. The default plugin policy can be set at runtime using the `--plugin-policy=[allow|detect|block]` command-line flag. is the mime type of the plugin that will be loaded is the content URL that the plugin will load and may be empty will be true if the plugin is being loaded in the main (top-level) frame is the URL for the top-level frame that contains the plugin includes additional information about the plugin that will be loaded Modify and return true to change the policy. Return false to use the recommended policy. Modify and return true to change the policy. Called on the CEF IO thread before a resource request is initiated. This method will not be called if the client associated with returns a non-NULL value from for the same request (identified by ). represent the source browser of the request, and may be null for requests originating from service workers. represent the source frame of the request, and may be null for requests originating from service workers. represents the request contents and cannot be modified in this callback will be true if the resource request is a navigation will be true if the resource request is a download is the origin (scheme + domain) of the page that initiated the request Set to true to disable default handling of the request, in which case it will need to be handled via or it will be canceled To allow the resource load to proceed with default handling return null. To specify a handler for the resource return a object. Implement this interface to handle events related to browser requests. The methods of this class will be called on the thread indicated. Called before browser navigation. If the navigation is allowed and will be called. If the navigation is canceled will be called with an ErrorCode value of . the ChromiumWebBrowser control the browser object The frame the request is coming from the request object - cannot be modified in this callback The value will be true if the browser navigated via explicit user gesture (e.g. clicking a link) or false if it navigated automatically (e.g. via the DomContentLoaded event). has the request been redirected Return true to cancel the navigation or false to allow the navigation to proceed. Called on the CEF UI thread when the window.document object of the main frame has been created. the ChromiumWebBrowser control the browser object Called on the UI thread before OnBeforeBrowse in certain limited cases where navigating a new or different browser might be desirable. This includes user-initiated navigation that might open in a special way (e.g. links clicked via middle-click or ctrl + left-click) and certain types of cross-origin navigation initiated from the renderer process (e.g. navigating the top-level frame to/from a file URL). the ChromiumWebBrowser control the browser object The frame object target url The value indicates where the user intended to navigate the browser based on standard Chromium behaviors (e.g. current tab, new tab, etc). The value will be true if the browser navigated via explicit user gesture (e.g. clicking a link) or false if it navigated automatically (e.g. via the DomContentLoaded event). Return true to cancel the navigation or false to allow the navigation to proceed in the source browser's top-level frame. Called on the CEF IO thread before a resource request is initiated. the ChromiumWebBrowser control represent the source browser of the request represent the source frame of the request represents the request contents and cannot be modified in this callback will be true if the resource request is a navigation will be true if the resource request is a download is the origin (scheme + domain) of the page that initiated the request to true to disable default handling of the request, in which case it will need to be handled via or it will be canceled To allow the resource load to proceed with default handling return null. To specify a handler for the resource return a object. If this callback returns null the same method will be called on the associated , if any Called when the browser needs credentials from the user. The ChromiumWebBrowser control the browser object is the origin making this authentication request indicates whether the host is a proxy server hostname port number realm scheme Callback interface used for asynchronous continuation of authentication requests. Return true to continue the request and call when the authentication information is available. Return false to cancel the request. Called when JavaScript requests a specific storage quota size via the webkitStorageInfo.requestQuota function. For async processing return true and execute at a later time to grant or deny the request or to cancel. The ChromiumWebBrowser control the browser object the origin of the page making the request is the requested quota size in bytes Callback interface used for asynchronous continuation of url requests. Return false to cancel the request immediately. Return true to continue the request and call either in this method or at a later time to grant or deny the request. Called to handle requests for URLs with an invalid SSL certificate. Return true and call either in this method or at a later time to continue or cancel the request. If CefSettings.IgnoreCertificateErrors is set all invalid certificates will be accepted without calling this method. the ChromiumWebBrowser control the browser object the error code for this invalid certificate the url of the request for the invalid certificate ssl certificate information Callback interface used for asynchronous continuation of url requests. If empty the error cannot be recovered from and the request will be canceled automatically. Return false to cancel the request immediately. Return true and use to execute in an async fashion. Called when the browser needs user to select Client Certificate for authentication requests (eg. PKI authentication). The ChromiumWebBrowser control the browser object indicates whether the host is a proxy server hostname port number List of Client certificates for selection Callback interface used for asynchronous continuation of client certificate selection for authentication requests. Return true to continue the request and call ISelectClientCertificateCallback.Select() with the selected certificate for authentication. Return false to use the default behavior where the browser selects the first certificate from the list. Called when a plugin has crashed the ChromiumWebBrowser control the browser object path of the plugin that crashed Called on the CEF UI thread when the render view associated with browser is ready to receive/handle IPC messages in the render process. The ChromiumWebBrowser control the browser object Called when the render process terminates unexpectedly. The ChromiumWebBrowser control the browser object indicates how the process terminated. Class used to implement a custom resource handler. The methods of this class will always be called on the CEF IO thread. Blocking the CEF IO thread will adversely affect browser performance. We suggest you execute your code in a Task (or similar). To implement async handling, spawn a new Task (or similar), keep a reference to the callback. When you have a fully populated stream, execute the callback. Once the callback Executes, GetResponseHeaders will be called where you can modify the response including headers, or even redirect to a new Url. Set your responseLength and headers Populate the dataOut stream in ReadResponse. For those looking for a sample implementation or upgrading from a previous version . For those upgrading, inherit from ResourceHandler instead of IResourceHandler add the override keyword to existing methods e.g. ProcessRequestAsync. Open the response stream. - To handle the request immediately set to true and return true. - To decide at a later time set to false, return true, and execute to continue or cancel the request. - To cancel the request immediately set to true and return false. This method will be called in sequence but not from a dedicated thread. For backwards compatibility set to false and return false and the method will be called. request see main summary callback see main summary Begin processing the request. The request object. The callback used to Continue or Cancel the request (async). To handle the request return true and call once the response header information is available can also be called from inside this method if header information is available immediately). To cancel the request return false. Retrieve response header information. If the response length is not known set to -1 and ReadResponse() will be called until it returns false. If the response length is known set to a positive value and ReadResponse() will be called until it returns false or the specified number of bytes have been read. It is also possible to set to a redirect http status code and pass the new URL via a Location header. Likewise with it is valid to set a relative or fully qualified URL as the Location header value. If an error occured while setting up the request you can call on to indicate the error condition. Use the response object to set the mime type, http status code and other optional header values. If the response length is not known set responseLength to -1 To redirect the request to a new URL set this to the new URL. Can be either a relative or fully qualified URL. Skip response data when requested by a Range header. Skip over and discard bytesToSkip bytes of response data. - If data is available immediately set bytesSkipped to the number of of bytes skipped and return true. - To read the data at a later time set bytesSkipped to 0, return true and execute callback when the data is available. - To indicate failure set bytesSkipped to < 0 (e.g. -2 for ERR_FAILED) and return false. This method will be called in sequence but not from a dedicated thread. number of bytes to be skipped If data is available immediately set bytesSkipped to the number of of bytes skipped and return true. To read the data at a later time set bytesSkipped to 0, return true and execute callback when the data is available. To read the data at a later time set bytesSkipped to 0, return true and execute callback when the data is available. See summary Read response data. If data is available immediately copy up to dataOut.Length bytes into dataOut, set bytesRead to the number of bytes copied, and return true. To read the data at a later time keep a pointer to dataOut, set bytesRead to 0, return true and execute callback when the data is available (dataOut will remain valid until the callback is executed). To indicate response completion set bytesRead to 0 and return false. To indicate failure set bytesRead to < 0 (e.g. -2 for ERR_FAILED) and return false. This method will be called in sequence but not from a dedicated thread. For backwards compatibility set bytesRead to -1 and return false and the ReadResponse method will be called. If data is available immediately copy up to bytes into dataOut. To indicate response completion set bytesRead to 0 and return false. set to 0, return true and execute callback when the data is available (dataOut will remain valid until the callback is executed). If you have no need of the callback then Dispose of it immediately. return true or false depending on the criteria, see summary. Read response data. If data is available immediately copy to dataOut, set bytesRead to the number of bytes copied, and return true. To read the data at a later time set bytesRead to 0, return true and call ICallback.Continue() when the data is available. To indicate response completion return false. Stream to write to Number of bytes copied to the stream The callback used to Continue or Cancel the request (async). If data is available immediately copy to dataOut, set bytesRead to the number of bytes copied, and return true.To indicate response completion return false. Depending on this size of your response this method may be called multiple times Request processing has been canceled. Interface representing browser initialization settings. StandardFontFamily FixedFontFamily SerifFontFamily SansSerifFontFamily CursiveFontFamily FantasyFontFamily DefaultFontSize DefaultFixedFontSize MinimumFontSize MinimumLogicalFontSize Default encoding for Web content. If empty "ISO-8859-1" will be used. Also configurable using the "default-encoding" command-line switch. Controls the loading of fonts from remote sources. Also configurable using the "disable-remote-fonts" command-line switch. Controls whether JavaScript can be executed. (Used to Enable/Disable javascript) Also configurable using the "disable-javascript" command-line switch. Controls whether JavaScript can be used to close windows that were not opened via JavaScript. JavaScript can still be used to close windows that were opened via JavaScript. Also configurable using the "disable-javascript-close-windows" command-line switch. Controls whether JavaScript can access the clipboard. Also configurable using the "disable-javascript-access-clipboard" command-line switch. Controls whether DOM pasting is supported in the editor via execCommand("paste"). The |javascript_access_clipboard| setting must also be enabled. Also configurable using the "disable-javascript-dom-paste" command-line switch. Controls whether any plugins will be loaded. Also configurable using the "disable-plugins" command-line switch. Controls whether file URLs will have access to all URLs. Also configurable using the "allow-universal-access-from-files" command-line switch. Controls whether file URLs will have access to other file URLs. Also configurable using the "allow-access-from-files" command-line switch. Controls whether image URLs will be loaded from the network. A cached image will still be rendered if requested. Also configurable using the "disable-image-loading" command-line switch. Controls whether standalone images will be shrunk to fit the page. Also configurable using the "image-shrink-standalone-to-fit" command-line switch. Controls whether text areas can be resized. Also configurable using the "disable-text-area-resize" command-line switch. Controls whether the tab key can advance focus to links. Also configurable using the "disable-tab-to-links" command-line switch. Controls whether local storage can be used. Also configurable using the "disable-local-storage" command-line switch. Controls whether databases can be used. Also configurable using the "disable-databases" command-line switch. Controls whether the application cache can be used. Also configurable using the "disable-application-cache" command-line switch. Controls whether WebGL can be used. Note that WebGL requires hardware support and may not work on all systems even when enabled. Also configurable using the "disable-webgl" command-line switch. Opaque background color used for the browser before a document is loaded and when no document color is specified. By default the background color will be the same as CefSettings.BackgroundColor. Only the RGB compontents of the specified value will be used. The alpha component must greater than 0 to enable use of the background color but will be otherwise ignored. Comma delimited ordered list of language codes without any whitespace that will be used in the "Accept-Language" HTTP header. May be overridden on a per-browser basis using the CefBrowserSettings.AcceptLanguageList value. If both values are empty then "en-US,en" will be used. Can be overridden for individual RequestContext instances via the RequestContextSettings.AcceptLanguageList value. The maximum rate in frames per second (fps) that CefRenderHandler::OnPaint will be called for a windowless browser. The actual fps may be lower if the browser cannot generate frames at the requested rate. The minimum value is 1 and the maximum value is 60 (default 30). This value can also be changed dynamically via IBrowserHost.SetWindowlessFrameRate. Gets a value indicating if the browser settings has been disposed. Gets a value indicating if the browser settings instance was created internally by CefSharp. Instances created by CefSharp will be Disposed of after use. To control the lifespan yourself create an set BrowserSettings yourself. Used internally to get the underlying instance. Unlikely you'll use this yourself. the inner most instance Represents the tag name and attribute data belonging to a node in the browser's DOM. Get the value of an attribute. The name of the attribute value to get. The attribute value if the name exists in the DomNode's attributes. Null if the name does not exist. The name of the HTML element. Get a read only list of the attribute names. Determine if the DomNode has the requested attribute. The name of the attribute value. True if the attribute exists in the DomNode, false if it does not. Class representing popup window features. Gets the x coordinate. The x coordinate. Gets the y coordinate. The y coordinate. Gets the width. The width. Gets the height. The height. Gets a value indicating whether the menu bar is visible. True if menu bar visible, false if not. Gets a value indicating whether the status bar is visible. True if status bar visible, false if not. Gets a value indicating whether the tool bar is visible. True if tool bar visible, false if not. Gets a value indicating whether the scrollbars is visible. True if scrollbars visible, false if not. A request context provides request handling for a set of related browser or URL request objects. A request context can be specified when creating a new browser by setting the property (Passing in via the constructor for the OffScreen control is preferred). 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. Gets a value indicating whether the RequestContext has been disposed of. Returns true if this object is pointing to the same context object. context to compare Returns true if the same Returns true if this object is sharing the same storage as the specified context. context to compare Returns true if same storage 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. Returns the default cookie manager for this object. This will be the global cookie manager if this object is the global request context. If callback is non-NULL it will be executed asynchronously on the CEF IO thread after the manager's storage has been initialized. Returns the default cookie manager for this object 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 CefApp::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. Scheme Name Optional domain name Scheme handler factory Returns false if an error occurs. Clear all registered scheme handler factories. Returns false on error. Returns the cache path for this object. If empty an "incognito mode" in-memory cache is being used. 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. reload any pages with pluginst Returns true if a preference with the specified name exists. This method must be called on the CEF UI thread. name of preference bool if the preference exists Use Cef.UIThreadTaskFactory to execute this method if required, and ChromiumWebBrowser.IsBrowserInitializedChanged are both executed on the CEF UI thread, so can be called directly. When CefSettings.MultiThreadedMessageLoop == false (the default is true) then the main application thread will be the CEF UI thread. 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. preference name Returns the value for the preference with the specified name Use Cef.UIThreadTaskFactory to execute this method if required, and ChromiumWebBrowser.IsBrowserInitializedChanged are both executed on the CEF UI thread, so can be called directly. When CefSettings.MultiThreadedMessageLoop == false (the default is true) then the main application thread will be the CEF UI thread. 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. If true then preferences currently at their default value will be included. Preferences (dictionary can have sub dictionaries) 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. preference key Returns true if the preference with the specified name can be modified using SetPreference Use Cef.UIThreadTaskFactory to execute this method if required, and ChromiumWebBrowser.IsBrowserInitializedChanged are both executed on the CEF UI thread, so can be called directly. When CefSettings.MultiThreadedMessageLoop == false (the default is true) then the main application thread will be the CEF UI thread. 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. preference key preference value out error Returns true if the value is set successfully and false otherwise. Use Cef.UIThreadTaskFactory to execute this method if required, and ChromiumWebBrowser.IsBrowserInitializedChanged are both executed on the CEF UI thread, so can be called directly. When CefSettings.MultiThreadedMessageLoop == false (the default is true) then the main application thread will be the CEF UI thread. Clears all certificate exceptions that were added as part of handling . If you call this it is recommended that you also call or you risk not being prompted again for server certificates if you reconnect quickly. If is non-NULL it will be executed on the CEF UI thread after completion. This param is optional Clears all HTTP authentication credentials that were added as part of handling . If is non-NULL it will be executed on the CEF UI thread after completion. This param is optional 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(). If is non-NULL it will be executed on the CEF UI thread after completion. This param is optional Attempts to resolve origin to a list of associated IP addresses. host name to resolve A task that represents the Resoolve Host operation. The value of the TResult parameter contains ResolveCallbackResult. 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. Returns true if this context was used to load the extension identified by extensionId 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. extension Id Returns the extension matching extensionId or null if no matching extension is accessible in this context Retrieve the list of all extensions that this context has access to (see HasExtension). will be populated with the list of extension ID values. This method must be called on the CEF UI thread. output a list of extensions Ids returns true on success otherwise false 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. extension id Returns true if this context has access to the extension identified by extensionId 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. will be called on load success or will be called on load failure. If the extension specifies a background script via the "background" manifest key then 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 load the extension URL in a ChromiumWebBrowser instance 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://<extension_id>/<path>" 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. - returns the hosted extension. - CefBrowserHost::IsBackgroundHost returns true for background hosts. See https://developer.chrome.com/extensions for extension implementation and usage documentation. 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 then rootDirectory should be a path component unique to the extension and manifestJson should contain the contents that would otherwise be read from the manifest.json file on disk handle events related to browser extensions For extensions that load a popup you are required to query the Manifest, build a Url in the format chrome-extension://{extension.Identifier}/{default_popup} with default_popup url coming from the mainfest. With the extension url you then need to open a new Form/Window/Tab and create a new ChromiumWebBrowser instance to host the extension popup. To load a crx file you must first unzip them to a folder and pass the path containing the extension as . It in theory should be possible to load a crx file in memory, passing it's manifest.json file content as then fulfilling the resource rquests made to . Used internally to get the underlying instance. Unlikely you'll use this yourself. the inner most instance Implement this interface to filter resource response content. The methods of this class will be called on the CEF IO thread. Initialize the response filter. Will only be called a single time. The filter will not be installed if this method returns false. The filter will not be installed if this method returns false. Called to filter a chunk of data. This method will be called repeatedly until there is no more data to filter (resource response is complete), dataInRead matches dataIn.Length (all available pre-filter bytes have been read), and the method returns FilterStatus.Done or FilterStatus.Error. is a Stream wrapping the underlying input buffer containing pre-filter data. Can be null. Set to the number of bytes that were read from dataIn is a Stream wrapping the underlying output buffer that can accept filtered output data. Check dataOut.Length for maximum buffer size Set to the number of bytes that were written into dataOut If some or all of the pre-filter data was read successfully but more data is needed in order to continue filtering (filtered output is pending) return FilterStatus.NeedMoreData. If some or all of the pre-filter data was read successfully and all available filtered output has been written return FilterStatus.Done. If an error occurs during filtering return FilterStatus.Error. Do not keep a reference to the buffers(Streams) passed to this method. Represents an entry in navigation history. Returns the time for the last known successful navigation completion. Returns a display-friendly version of the URL. Returns the HTTP status code for the last known successful navigation response. Returns the original URL that was entered by the user before any redirects. Returns the title set by the page. Returns the transition type which indicates what the user did to move to this page from the previous page. Returns the actual URL of the page. Returns true if this navigation includes post data. Returns true if this object is valid. If true if this entry is the currently loaded navigation entry Returns the SSL information for this navigation entry. NavigationEntry completionTime displayUrl httpStatusCode originalUrl title transitionType url hasPostData isValid is the current entry the ssl status Print to Pdf Settings Page title to display in the header. Only used if is set to true. URL to display in the footer. Only used if is set to true. Output page size in microns. If either of these values is less than or equal to zero then the default paper size (A4) will be used. Output page size in microns. If either of these values is less than or equal to zero then the default paper size (A4) will be used. Margin in points (1"/72). Only used if MarginType is set to Custom. Margin in points (1"/72). Only used if MarginType is set to Custom. Margin in points (1"/72). Only used if MarginType is set to Custom. Margin in points (1"/72). Only used if MarginType is set to Custom. Margin type. Scale the PDF by the specified amount, defaults to 100%. Set to true to print headers and footers or false to not print headers and footers. Set to true to print the selection only or false to print all. Set to true for landscape mode or false for portrait mode. Set to true to print background graphics or false to not print background graphics. Used for managing cookies. The methods may be called on any thread unless otherwise indicated. Delete all cookies that match the specified parameters. If both and values are specified all host and domain cookies matching both will be deleted. If only is specified all host cookies (but not domain cookies) irrespective of path will be deleted. If is empty all cookies for all hosts and domains will be deleted. Cookies can alternately be deleted using the Visit*Cookies() methods. The cookie URL. The name of the cookie. If non-NULL it will be executed asynchronously on the CEF UI thread after the cookies have been deleted. Returns false if a non-empty invalid URL is specified or if cookies cannot be accessed; otherwise, true. Sets a cookie given a valid URL and explicit user-provided cookie attributes. This function expects each attribute to be well-formed. It will check for disallowed characters (e.g. the ';' character is disallowed within the cookie value attribute) and fail without setting the cookie if such characters are found. This method will be executed on the CEF UI thread in an async fashion, to be notified upon completion implement and pass in as The cookie URL The cookie If non-NULL it will be executed asynchronously on the CEF UI thread after the cookie has been set. Returns false if an invalid URL is specified or if cookies cannot be accessed. Visit all cookies on the UI thread. The returned cookies are ordered by longest path, then by earliest creation date. A user-provided Cookie Visitor implementation. Returns false if cookies cannot be accessed; otherwise, true. Visit a subset of cookies on the CEF UI thread. The results are filtered by the given url scheme, host, domain and path. The returned cookies are ordered by longest path, then by earliest creation date. The URL to use for filtering a subset of the cookies available. If true HTTP-only cookies will also be included in the results. A user-provided Cookie Visitor implementation. Returns false if cookies cannot be accessed; otherwise, true. Flush the backing store (if any) to disk This method will be executed on the CEF UI thread in an async fashion, to be notified upon completion implement and pass in as If non-NULL it will be executed asynchronously on the CEF UI thread after the flush is complete. Returns false if cookies cannot be accessed. Returns true if disposed Supports creation and modification of menus. See for the command ids that have default implementations. All user-defined command ids should be between and . The methods of this class can only be accessed on the CEF UI thread, which by default is not the same as your application UI thread. Returns the number of items in this menu. Remove all menu items. Can be used to disable the context menu. Returns true on success. Returns true on success Returns the label at the specified index or empty if not found due to invalid range or the index being a separator. specified index Label or empty if not found due to invalid range or the index being a separator. Returns the command id at the specified index or -1 if not found due to invalid range or the index being a separator. the index Command or -1 if not found due to invalid range or the index being a separator. Removes the item with the specified commandId. the command Id Returns true on success Add an item to the menu. the command Id the label of the item Returns true on success. Add a separator to the menu. Returns true on success. Add a check item to the menu. the command Id the label of the item Returns true on success. Add a radio item to the menu. Only a single item with the specified groupId can be checked at a time. the command Id the label of the item the group id Returns true on success. Add a sub-menu to the menu. The new sub-menu is returned. the command Id the label of the item Returns the newly created . Insert a separator in the menu at the specified index. index Returns true on success. Insert an item in the menu at the specified index. index the command Id the label of the item Returns true on success. Insert a check item in the menu at the specified index. index the command Id the label of the item Returns true on success. Insert a radio item in the menu at the specified index. Only a single item with the specified groupId can be checked at a time. index the command Id the label of the item the group id Returns true on success. Insert a sub-menu in the menu at the specified index. index the command Id the label of the item Returns the newly created . Removes the item at the specified index. index Returns true on success. Returns the index associated with the specified commandId or -1 if not found due to the command id not existing in the menu. the command Id Returns the index associated with the specified commandId or -1 if not found due to the command id not existing in the menu. Sets the command id at the specified index. index the command Id Returns true on success. Returns the label for the specified commandId or empty if not found. the command Id Returns the label for the specified commandId or empty if not found. Sets the label for the specified commandId. the command Id the label Returns true on success. Set the label at the specified index. index the label Returns true on success. Returns the item type for the specified commandId. the command Id Returns the item type for the specified commandId. Returns the item type at the specified index. index Returns the item type at the specified index. Returns the group id for the specified commandId or -1 if invalid. the command Id Returns the group id for the specified commandId or -1 if invalid. Returns the group id at the specified index or -1 if invalid. index Returns the group id at the specified index or -1 if invalid. Sets the group id for the specified commandId. the command Id the group id Returns true on success. Sets the group id at the specified index. index the group id Returns true on success. Returns the for the specified commandId or null if invalid. the command Id Returns the for the specified commandId or null if invalid. Returns the at the specified index or empty if invalid. index Returns the for the specified commandId or null if invalid. Returns true if the specified commandId is visible. the command Id Returns true if the specified commandId is visible. Returns true if the specified index is visible. index Returns true if the specified index is visible. Change the visibility of the specified commandId. the command Id visible Returns true on success. Change the visibility at the specified index. index visible Returns true on success. Returns true if the specified commandId is enabled. the command Id Returns true if the specified commandId is enabled. Returns true if the specified index is enabled. index Returns true if the specified index is enabled. Change the enabled status of the specified commandId. the command Id is enabled Returns true on success. Change the enabled status at the specified index. index is enabled Returns true on success. Returns true if the specified commandId is checked. Only applies to check and radio items. the command Id Returns true if the specified commandId is checked. Only applies to check and radio items. Returns true if the specified index is checked. Only applies to check and radio items. index Returns true if the specified index is checked. Only applies to check and radio items. Check the specified commandId. Only applies to check and radio items. the command Id set checked Returns true on success. Check the specified index. Only applies to check and radio items. index set checked Returns true on success. Returns true if the specified commandId has a keyboard accelerator assigned. the command Id Returns true if the specified commandId has a keyboard accelerator assigned. Returns true if the specified index has a keyboard accelerator assigned. index Returns true if the specified index has a keyboard accelerator assigned. Set the keyboard accelerator for the specified commandId. the command Id keyCode can be any key or character value. shift key pressed ctrl key pressed alt key pressed Returns true on success. Set the keyboard accelerator at the specified index. keyCode can be any key or character value. index keyCode can be any key or character value. shift key pressed ctrl key pressed alt key pressed Returns true on success. Remove the keyboard accelerator for the specified commandId. the command Id Returns true on success. Remove the keyboard accelerator at the specified index. index Returns true on success. Retrieves the keyboard accelerator for the specified commandId. the command Id keyCode can be any key or character value. shift key pressed ctrl key pressed alt key pressed Returns true on success. Retrieves the keyboard accelerator for the specified index. index keyCode can be any key or character value. shift key pressed ctrl key pressed alt key pressed Returns true on success. Proxy options The IP address for the proxy The port for the proxy The username for authentication The password for authentication The list of domains that shouldn't be affected by the proxy, Format: example.com;example2.com Checks if username and password is set Returns true if both username and password is set, otherwise false The IP address for the proxy The port for the proxy The username required for authentication The password required for authentication The list of domains that shouldn't be affected by the proxy, Format: example.com;example2.com Class representing SSL information. Returns a bitmask containing any and all problems verifying the server certificate. Returns the X.509 certificate. Class representing a a keyboard event. The type of keyboard event. Bit flags describing any pressed modifier keys. See cef_event_flags_t for values. The Windows key code for the key event. This value is used by the DOM specification. Sometimes it comes directly from the event (i.e. on Windows) and sometimes it's determined using a mapping function. See WebCore/platform/chromium/KeyboardCodes.h for the list of values. The actual key code genenerated by the platform. Indicates whether the event is considered a "system key" event (see http://msdn.microsoft.com/en-us/library/ms646286(VS.85).aspx for details). This value will always be false on non-Windows platforms. True if the focus is currently on an editable field on the page. This is useful for determining if standard key events should be intercepted. Class used to represent post data for a web request. The methods of this class may be called on any thread. Add the specified . element to be added. Returns true if the add succeeds. Remove the specified . element to be removed. Returns true if the add succeeds. Retrieve the post data elements. Returns true if this object is read-only. Remove all existing post data elements. Gets a value indicating whether the object has been disposed of. Create a new instance PostDataElement Returns true if the underlying POST data includes elements that are not represented by this IPostData object (for example, multi-part file upload data). Modifying IPostData objects with excluded elements may result in the request failing. Used internally to get the underlying instance. Unlikely you'll use this yourself. the inner most instance Class used to represent a single element in the request post data. The methods of this class may be called on any thread. Gets or sets the file name. Gets if the object is read-only. Remove all contents from the post data element. Gets the type of this . Gets or sets the bytes of this . Used internally to get the underlying instance. Unlikely you'll use this yourself. the inner most instance Use this static class to configure some CefSharp specific settings like WcfTimeout Set default values for CefSharpSettings WCF is used by JavascriptObjectRepository.Register(isAsync: false) feature for Javascript Binding. It's recomended that anyone developing a new application use the JavascriptObjectRepository.Register(isAsync: true) version which communicates using native Chromium IPC. Change the Close timeout for the WCF channel used by the sync JSB binding. The default value is currently 2 seconds. Changing this to will result on Abort() being called on the WCF Channel Host For the WinForms and WPF instances of ChromiumWebBrowser the relevant Application Exit event is hooked and Cef.Shutdown() called by default. Set this to false to disable this behaviour. This value needs to be set before the first instance of ChromiumWebBrowser is created as the event handlers are hooked in the static constructor for the ChromiumWebBrowser class CefSharp.BrowserSubprocess will monitor the parent process and exit if the parent process closes before the subprocess. This currently defaults to true. See https://github.com/cefsharp/CefSharp/issues/2359 for more information. The proxy options that will be used for all connections If set before the call to Cef.Initialize, command line arguments will be set for you If a username and password is provided and the IPs match authentication is done automatically NOTE: GetAuthCredentials won't be called for a proxy server that matches the IP NOTE: It isn't possble to change the proxy after the call to Cef.Initialize This influences the behavior of how methods are executed for objects registered using . By default the queues Tasks for execution in a sequential order. A single method is exeucted at a time. Setting this property to true allows for concurrent task execution. Method calls are executed on (ThreadPool). If true a message will be sent from the render subprocess to the browser when a DOM node (or no node) gets focus. The default is false. Class used to Represent a cookie. The built in .Net Cookie class isn't used as some of it's properties have internal setters The cookie name The cookie value. If domain is empty a host cookie will be created instead of a domain cookie. Domain cookies are stored with a leading "." and are visible to sub-domains whereas host cookies are not. Ss non-empty only URLs at or below the path will get the cookie value. If true the cookie will only be sent for HTTPS requests. Ss true the cookie will only be sent for HTTP requests. Expires or null if no expiry The cookie creation date. This is automatically populated by the system on cookie creation. The cookie last access date. This is automatically populated by the system on access. Same site. Priority DependencyChecker provides a known list of Cef/CefSharp dependencies and provides helper methods to check for their existance. en-US Locales pak file location List of Cef Dependencies List of Cef Resources (pack files) List of Optional CEF Dependencies List of CefSharp Managed Dependencies (Those that are AnyCPU written in c#) List of CefSharp Arch Specific Dependencies Those that are arch specific, distributed as x86, x64 and ARM64 (coming soon for .Net 5.0 only) List of CefSharp.BrowserSubprocess.exe dependencies. CheckDependencies iterates through the list of Cef and CefSharp dependencines relative to the path provided and returns a list of missing ones check to see if optional dependencies are present Is loading of pack files disabled? path to check for dependencies The path to the resources directory, if empty the Executing Assembly path is used. The path to a separate executable that will be launched for sub-processes. The locale pack file e.g. List of missing dependencies, if all present an empty List will be returned CheckDependencies iterates through the list of Cef and CefSharp dependencines relative to the path provided and returns a list of missing ones check to see if optional dependencies are present Is loading of pack files disabled? path to check for mangaed dependencies path to check for native (unmanged) dependencies The path to the resources directory, if empty the Executing Assembly path is used. The path to a separate executable that will be launched for sub-processes. The locale pack file e.g. List of missing dependencies, if all present an empty List will be returned Loop through dependencies and add to the returned missing dependency list if not found. The directory of the dependencies, or the current directory if null. The dependencies to check. List of missing dependencies, if all present an empty List will be returned Checks if all Cef and CefSharp dependencies were found relative to the Executing Assembly. Shortcut method that calls , throws an Exception if not files are missing. The locale, if empty then en-US will be used. The path to the locales directory, if empty locales\ will be used. The path to the resources directory, if empty the Executing Assembly path is used. Is loading of pack files disabled? The path to a separate executable that will be launched for sub-processes. Throw when not all dependencies are present CefSharp interface for CefBrowser. Returns the browser host object. This method can only be called in the browser process. the browser host object Returns true if the browser can navigate backwards. Navigate backwards. Returns true if the browser can navigate forwards. Navigate forwards. Returns true if the browser is currently loading. Request that the browser close. The JavaScript 'onbeforeunload' event will be fired. If forceClose is false the event handler, if any, will be allowed to prompt the user and the user can optionally cancel the close. If forceClose is true the prompt will not be displayed and the close will proceed. Results in a call to if the event handler allows the close or if forceClose is true See documentation for additional usage information. Reload the current page. true a reload is performed ignoring browser cache; false a reload is performed using files from the browser cache, if available. Stop loading the page. Returns the globally unique identifier for this browser. Returns true if this object is pointing to the same handle as that object. compare browser instances returns true if the same instance Returns true if the window is a popup window. Returns true if a document has been loaded in the browser. Returns the main (top-level) frame for the browser window. Returns the focused frame for the browser window. Returns the frame with the specified identifier, or NULL if not found. identifier frame or null Returns the frame with the specified name, or NULL if not found. name of frame frame or null Returns the number of frames that currently exist. the number of frames Returns the identifiers of all existing frames. list of frame identifiers Returns the names of all existing frames. frame names Gets a value indicating whether the browser has been disposed of. Interface used to represent the browser process aspects of a browser window. They may be called on any thread in that process unless otherwise indicated in the comments. Add the specified word to the spelling dictionary. custom word to be added to dictionary Request that the browser close. The JavaScript 'onbeforeunload' event will be fired. If forceClose is false the event handler, if any, will be allowed to prompt the user and the user can optionally cancel the close. If forceClose is true the prompt will not be displayed and the close will proceed. Results in a call to if the event handler allows the close or if forceClose is true See documentation for additional usage information. Helper for closing a browser. Call this method from the top-level window close handler. Internally this calls CloseBrowser(false) if the close has not yet been initiated. This method returns false while the close is pending and true after the close has completed. See and documentation for additional usage information. This method must be called on the CEF UI thread. This method returns false while the close is pending and true after the close has completed Explicitly close the developer tools window if one exists for this browser instance. Returns true if this browser currently has an associated DevTools browser. Must be called on the CEF UI thread. Send a method call message over the DevTools protocol. must be a UTF8-encoded JSON dictionary that contains "id" (int), "method" (string) and "params" (dictionary, optional) values. See the DevTools protocol documentation at https://chromedevtools.github.io/devtools-protocol/ for details of supported methods and the expected "params" dictionary contents. will be copied if necessary. This method will return true if called on the CEF UI thread and the message was successfully submitted for validation, otherwise false. Validation will be applied asynchronously and any messages that fail due to formatting errors or missing parameters may be discarded without notification. Prefer ExecuteDevToolsMethod if a more structured approach to message formatting is desired. Every valid method call will result in an asynchronous method result or error message that references the sent message "id". Event messages are received while notifications are enabled (for example, between method calls for "Page.enable" and "Page.disable"). All received messages will be delivered to the observer(s) registered with AddDevToolsMessageObserver. See documentation for details of received message contents. Usage of the SendDevToolsMessage, ExecuteDevToolsMethod and AddDevToolsMessageObserver methods does not require an active DevTools front-end or remote-debugging session. Other active DevTools sessions will continue to function independently. However, any modification of global browser state by one session may not be reflected in the UI of other sessions. Communication with the DevTools front-end (when displayed) can be logged for development purposes by passing the `--devtools-protocol-log-file=<path>` command-line flag. must be a UTF8-encoded JSON dictionary that contains "id" (int), "method" (string) and "params" (dictionary, optional) values. See comments above for further details. returns true if called on the CEF UI thread and the message was successfully submitted for validation, otherwise false. Execute a method call over the DevTools protocol. This is a more structured version of SendDevToolsMessage. See the DevTools protocol documentation at https://chromedevtools.github.io/devtools-protocol/ for details of supported methods and the expected dictionary contents. See the SendDevToolsMessage documentation for additional usage information. is an incremental number that uniquely identifies the message (pass 0 to have the next number assigned automatically based on previous values) is the method name are the method parameters represented as a JSON string, which may be empty. return the assigned message Id if called on the CEF UI thread and the message was successfully submitted for validation, otherwise 0 Execute a method call over the DevTools protocol. This is a more structured version of SendDevToolsMessage. See the DevTools protocol documentation at https://chromedevtools.github.io/devtools-protocol/ for details of supported methods and the expected dictionary contents. See the SendDevToolsMessage documentation for additional usage information. is an incremental number that uniquely identifies the message (pass 0 to have the next number assigned automatically based on previous values) is the method name are the method parameters represented as a dictionary, which may be empty. return the assigned message Id if called on the CEF UI thread and the message was successfully submitted for validation, otherwise 0 Add an observer for DevTools protocol messages (method results and events). The observer will remain registered until the returned Registration object is destroyed. See the SendDevToolsMessage documentation for additional usage information. DevTools observer The observer will remain registered until the returned IRegistration object is Disposed. Call this method when the user drags the mouse into the web view (before calling //). Call this method each time the mouse is moved across the web view during a drag operation (after calling and before calling /). This method is only used when window rendering is disabled. Call this method when the user completes the drag operation by dropping the object onto the web view (after calling ). The object being dropped is , given as an argument to the previous call. This method is only used when window rendering is disabled. Call this method when the drag operation started by a call has ended either in a drop or by being cancelled. If the web view is both the drag source and the drag target then all DragTarget* methods should be called before DragSource* methods. This method is only used when window rendering is disabled. x mouse coordinate relative to the upper-left corner of the view. y mouse coordinate relative to the upper-left corner of the view. Drag Operations mask Call this method when the user drags the mouse out of the web view (after calling ). This method is only used when window rendering is disabled. Call this method when the drag operation started by a call has completed. This method may be called immediately without first calling DragSourceEndedAt to cancel a drag operation. If the web view is both the drag source and the drag target then all DragTarget* methods should be called before DragSource* mthods. This method is only used when window rendering is disabled. Search for . must be a unique ID and these IDs must strictly increase so that newer requests always have greater IDs than older requests. If identifier is zero or less than the previous ID value then it will be automatically assigned a new valid ID. text to search for indicates whether to search forward or backward within the page indicates whether the search should be case-sensitive indicates whether this is the first request or a follow-up The instance, if any, will be called to report find results. Returns the extension hosted in this browser or null if no extension is hosted. See for details. Retrieve the window handle of the browser that opened this browser. The handler Retrieve the window handle for this browser. The handler Gets the current zoom level. The default zoom level is 0.0. This method can only be called on the CEF UI thread. zoom level (default is 0.0) Get the current zoom level. The default zoom level is 0.0. This method executes GetZoomLevel on the CEF UI thread in an async fashion. a that when executed returns the zoom level as a double. Invalidate the view. The browser will call CefRenderHandler::OnPaint asynchronously. This method is only used when window rendering is disabled (OSR). indicates which surface to re-paint either View or Popup. Returns true if this browser is hosting an extension background script. Background hosts do not have a window and are not displayable. See for details. Returns true if this browser is hosting an extension background script. Begins a new composition or updates the existing composition. Blink has a special node (a composition node) that allows the input method to change text without affecting other DOM nodes. This method may be called multiple times as the composition changes. When the client is done making changes the composition should either be canceled or completed. To cancel the composition call ImeCancelComposition. To complete the composition call either ImeCommitText or ImeFinishComposingText. Completion is usually signaled when: The client receives a WM_IME_COMPOSITION message with a GCS_RESULTSTR flag (on Windows). This method is only used when window rendering is disabled. (WPF and OffScreen) is the optional text that will be inserted into the composition node is an optional set of ranges that will be underlined in the resulting text. is an optional range of the existing text that will be replaced. (MAC OSX ONLY) is an optional range of the resulting text that will be selected after insertion or replacement. Completes the existing composition by optionally inserting the specified text into the composition node. This method is only used when window rendering is disabled. (WPF and OffScreen) text that will be committed is an optional range of the existing text that will be replaced. (MAC OSX ONLY) is where the cursor will be positioned relative to the current cursor position. (MAC OSX ONLY) Completes the existing composition by applying the current composition node contents. See comments on ImeSetComposition for usage. This method is only used when window rendering is disabled. (WPF and OffScreen) If keepSelection is false the current selection, if any, will be discarded. Cancels the existing composition and discards the composition node contents without applying them. See comments on ImeSetComposition for usage. This method is only used when window rendering is disabled. (WPF and OffScreen) Notify the browser that the window hosting it is about to be moved or resized. This will dismiss any existing popups (dropdowns). Send a notification to the browser that the screen info has changed. The browser will then call CefRenderHandler::GetScreenInfo to update the screen information with the new values. This simulates moving the webview window from one display to another, or changing the properties of the current display. This method is only used when window rendering is disabled. Print the current browser contents. Asynchronously prints the current browser contents to the Pdf file specified. The caller is responsible for deleting the file when done. Output file location. Print Settings, can be null Callback executed when printing complete If a misspelled word is currently selected in an editable node calling this method will replace it with the specified word. word to be replaced Call to run a file chooser dialog. Only a single file chooser dialog may be pending at any given time. The dialog will be initiated asynchronously on the CEF UI thread. represents the type of dialog to display to the title to be used for the dialog and may be empty to show the default title ("Open" or "Save" depending on the mode) is the path with optional directory and/or file name component that will be initially selected in the dialog are used to restrict the selectable file types and may any combination of (a) valid lower-cased MIME types (e.g. "text/*" or "image/*"), (b) individual file extensions (e.g. ".txt" or ".png"), or (c) combined description and file extension delimited using "|" and ";" (e.g. "Image Types|.png;.gif;.jpg") is the 0-based index of the filter that will be selected by default will be executed after the dialog is dismissed or immediately if another dialog is already pending. Returns the request context for this browser. Issue a BeginFrame request to Chromium. Only valid when is set to true. Send a capture lost event to the browser. Send a focus event to the browser. . (Used for OSR Rendering e.g. WPF or OffScreen) set focus Send a key event to the browser. represents keyboard event Send key event to browser based on operating system message message wParam lParam Send a mouse click event to the browser. mouse event - x, y and modifiers Mouse ButtonType mouse up click count Send a mouse wheel event to the browser. mouse event - x, y and modifiers Movement delta for X direction. movement delta for Y direction. Send a touch event to the browser. WPF and OffScreen browsers only touch event Set accessibility state for all frames. If accessibilityState is Default then accessibility will be disabled by default and the state may be further controlled with the "force-renderer-accessibility" and "disable-renderer-accessibility" command-line switches. If accessibilityState is STATE_ENABLED then accessibility will be enabled. If accessibilityState is STATE_DISABLED then accessibility will be completely disabled. For windowed browsers accessibility will be enabled in Complete mode (which corresponds to kAccessibilityModeComplete in Chromium). In this mode all platform accessibility objects will be created and managed by Chromium's internal implementation. The client needs only to detect the screen reader and call this method appropriately. For example, on Windows the client can handle WM_GETOBJECT with OBJID_CLIENT to detect accessibility readers. For windowless browsers accessibility will be enabled in TreeOnly mode (which corresponds to kAccessibilityModeWebContentsOnly in Chromium). In this mode renderer accessibility is enabled, the full tree is computed, and events are passed to IAccessibiltyHandler, but platform accessibility objects are not created. The client may implement platform accessibility objects using IAccessibiltyHandler callbacks if desired. may be default, enabled or disabled. Enable notifications of auto resize via IDisplayHandler.OnAutoResize. Notifications are disabled by default. enable auto resize minimum size maximum size Set whether the browser is focused. (Used for Normal Rendering e.g. WinForms) set focus Change the zoom level to the specified value. Specify 0.0 to reset the zoom level. If called on the CEF UI thread the change will be applied immediately. Otherwise, the change will be applied asynchronously on the UI thread. zoom level Open developer tools in its own window. If inspectElementAtX and/or inspectElementAtY are specified then the element at the specified (x,y) location will be inspected. window info used for showing dev tools x coordinate (used for inspectElement) y coordinate (used for inspectElement) Download the file at url using . url to download Cancel all searches that are currently going on. clear the selection Send a mouse move event to the browser, coordinates, mouse information, x and y values are relative to upper-left corner of view mouse leave Notify the browser that it has been hidden or shown. Layouting and rendering notification will stop when the browser is hidden. This method is only used when window rendering is disabled (WPF/OffScreen). Notify the browser that the widget has been resized. The browser will first call CefRenderHandler::GetViewRect to get the new size and then call CefRenderHandler::OnPaint asynchronously with the updated regions. This method is only used when window rendering is disabled. Retrieve a snapshot of current navigation entries as values sent to the specified visitor. visitor If true only the current navigation entry will be sent, otherwise all navigation entries will be sent. Returns the current visible navigation entry for this browser. This method can only be called on the CEF UI thread which by default is not the same as your application UI thread. the current navigation entry Gets/sets the maximum rate in frames per second (fps) that CefRenderHandler:: OnPaint will be called for a windowless browser. The actual fps may be lower if the browser cannot generate frames at the requested rate. The minimum value is 1 and the maximum value is 60 (default 30). This method can only be called on the UI thread. Can also be set at browser creation via BrowserSettings.WindowlessFrameRate. Returns true if window rendering is disabled. Set whether the browser's audio is muted. true or false Returns true if the browser's audio is muted. This method can only be called on the CEF UI thread. Gets a value indicating whether the browserHost has been disposed of. This interface represents a CefFrame object (i.e. a HTML frame) True if this object is currently attached to a valid frame. Execute undo in this frame. Execute redo in this frame. Execute cut in this frame. Execute copy in this frame. Execute paste in this frame. Execute delete in this frame. Execute select all in this frame. Save this frame's HTML source to a temporary file and open it in the default text viewing application. This method can only be called from the browser process. Retrieve this frame's HTML source as a string sent to the specified visitor. a that when executed returns this frame's HTML source as a string. Retrieve this frame's HTML source as a string sent to the specified visitor. Use the method for a Task based async wrapper visitor will receive string values asynchronously Retrieve this frame's display text as a string sent to the specified visitor. a that when executed returns the frame's display text as a string. Retrieve this frame's display text as a string sent to the specified visitor. Use the method for a Task based async wrapper visitor will receive string values asynchronously Load the custom request. LoadRequest can only be used if a renderer process already exists. In newer versions initially loading about:blank no longer creates a renderer process. You can load a Data Uri initially then call this method. https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs WARNING: This method will fail with "bad IPC message" reason INVALID_INITIATOR_ORIGIN (213) unless you first navigate to the request origin using some other mechanism (LoadURL, link click, etc). request to be loaded in the frame Load the specified url. url to be loaded in the frame Execute a string of JavaScript code in this frame. Javascript to execute is the URL where the script in question can be found, if any. The renderer may request this URL to show the developer the source of the error. is the base line number to use for error reporting. Execute some Javascript code in the context of this WebBrowser, and return the result of the evaluation in an Async fashion The Javascript code that should be executed. is the URL where the script in question can be found, if any. is the base line number to use for error reporting. The timeout after which the Javascript code execution should be aborted. When true the script is wrapped in a self executing function. Make sure to use a return statement in your javascript. e.g. (function () { return 42; })(); When false don't include a return statement e.g. 42; A Task that can be awaited to perform the script execution Returns true if this is the main (top-level) frame. Returns true if this is the focused frame. Returns the name for this frame. If the frame has an assigned name (for example, set via the iframe "name" attribute) then that value will be returned. Otherwise a unique name will be constructed based on the frame parent hierarchy. The main (top-level) frame will always have an empty name value. Returns the globally unique identifier for this frame or < 0 if the underlying frame does not yet exist. Returns the parent of this frame or NULL if this is the main (top-level) frame. Returns the URL currently loaded in this frame. Returns the browser that this frame belongs to. Gets a value indicating whether the frame has been disposed of. Create a custom request for use with Initialize the PostData object when creating this request A new instance of the request Create a new URL request that will be treated as originating from this frame and the associated browser. This request may be intercepted by the client via or . Use IUrlRequest.Create instead if you do not want the request to have this association, in which case it may be handled differently (see documentation on that method). Requests may originate from both the browser process and the render process. For requests originating from the browser process: - POST data may only contain a single element of type PDE_TYPE_FILE or PDE_TYPE_BYTES. For requests originating from the render process: - POST data may only contain a single element of type PDE_TYPE_BYTES. - If the response contains Content-Disposition or Mime-Type header values that would not normally be rendered then the response may receive special handling inside the browser for example, via the file download code path instead of the URL request code path). The request object will be marked as read-only after calling this method. the web request the client Class used to represent a web response. The methods of this class may be called on any thread. Get/Set the response charset. MimeType Response Headers Returns true if this object is read-only. Get/set the response error code. The status code of the response. Unless set, the default value used is 200 (corresponding to HTTP status OK). Status Text Returns the first header value for name or an empty string if not found. Will not return the Referer value if any. Use instead if name might have multiple values. header name Returns the first header value for name or an empty string if not found. Set the header name to value. The Referer value cannot be set using this method. Use instead. header name new header value If overwrite is true any existing values will be replaced with the new value. If overwrite is false any existing values will not be overwritten Class representing window information. X coordinate Y coordinate Width Height Window style Ex window style Parent window handle Set to true to create the browser using windowless (off-screen) rendering. No window will be created for the browser and all rendering will occur via the IRenderHandler interface. The value will be used to identify monitor info and to act as the parent window for dialogs, context menus, etc. If | is not provided then the main screen monitor will be used and some functionality that requires a parent window may not function correctly. In order to create windowless browsers the CefSettings.WindowlessRenderingEnabled value must be set to true. Transparent painting is enabled by default but can be disabled by setting to an opaque value. Set to true to enable shared textures for windowless rendering. Only valid if is also set to true. Currently only supported on Windows (D3D11). This feature is experimental and has many bugs at the moment. Set to true to enable the ability to issue BeginFrame requests from the client application by calling . Handle for the new browser window. Only used with windowed rendering. Create the browser as a child window. Calls GetClientRect(Hwnd) to obtain the window bounds parent handle Create the browser as a child window. parent handle left top right bottom Create the browser as a popup window. parent handle window name Create the browser using windowless (off-screen) rendering. No window will be created for the browser and all rendering will occur via the CefRenderHandler interface. This window will automatically be transparent unless a colored backgrond is set in the browser settings. Value will be used to identify monitor info and to act as the parent window for dialogs, context menus, etc. If not provided then the main screen monitor will be used and some functionality that requires a parent window may not function correctly. In order to create windowless browsers the CefSettings.windowless_rendering_enabled value must be set to true. Used internally to get the underlying instance. Unlikely you'll use this yourself. the inner most instance Struct representing a mouse event. x coordinate - relative to upper-left corner of view y coordinate - relative to upper-left corner of view Bit flags describing any pressed modifier keys. Mouse Event x coordinate relative to the upper-left corner of the view. y coordinate relative to the upper-left corner of the view. modifiers Used to represent drag data. Gets a copy of the current drag data a clone of the current object Returns true if this object is read-only. Return the name of the file being dragged out of the browser window. Retrieve the list of file names that are being dragged into the browser window Return the base URL that the fragment came from. This value is used for resolving relative URLs and may be empty. Return the text/html fragment that is being dragged. Return the plain text fragment that is being dragged. Returns true if an image representation of drag data is available. Get the image representation of drag data. May return NULL if no image representation is available. Get the image hotspot (drag start location relative to image dimensions). Return the metadata, if any, associated with the link being dragged. Return the title associated with the link being dragged. Return the link URL that is being dragged. Returns true if the drag data is a file. Returns true if the drag data is a text or html fragment. Returns true if the drag data is a link Add a file that is being dragged into the webview. File Path Optional Display Name Reset the file contents. You should do this before calling CefBrowserHost::DragTargetDragEnter as the web view does not allow us to drag in this kind of data. Write the contents of the file being dragged out of the web view into the provided For a suggested filename check the property Stream data is to be written to. If null this method will return the size of the file contents in bytes. Returns the number of bytes written to the stream Gets a value indicating whether the object has been disposed of. Class used to represent a download item. Returns true if this object is valid. Do not call any other methods if this function returns false. Returns true if the download is in progress. Returns true if the download is complete. Returns true if the download has been canceled or interrupted. Returns a simple speed estimate in bytes/s. Returns the rough percent complete or -1 if the receive total size is unknown. Returns the total number of bytes. Returns the number of received bytes. Returns the time that the download started Returns the time that the download ended Returns the full path to the downloaded or downloading file. Returns the unique identifier for this download. Returns the URL. Returns the URL as it was before any redirects. Returns the suggested file name. Returns the content disposition. Returns the mime type. Wrapper for the CefContextMenuParams Returns the Y coordinate of the mouse where the context menu was invoked. Coords are relative to the associated RenderView's origin. Returns the X coordinate of the mouse where the context menu was invoked. Coords are relative to the associated RenderView's origin. Returns flags representing the type of node that the context menu was invoked on. Returns the URL of the link, if any, that encloses the node that the context menu was invoked on. Returns the link URL, if any, to be used ONLY for "copy link address". We don't validate this field in the frontend process. Returns the source URL, if any, for the element that the context menu was invoked on. Example of elements with source URLs are img, audio, and video. Returns true if the context menu was invoked on an image which has non-empty contents. Returns the URL of the top level page that the context menu was invoked on. Returns the URL of the subframe that the context menu was invoked on. Returns the character encoding of the subframe that the context menu was invoked on. Returns the type of context node that the context menu was invoked on. Returns flags representing the actions supported by the media element, if any, that the context menu was invoked on. Returns the text of the selection, if any, that the context menu was invoked on. Returns the text of the misspelled word, if any, that the context menu was invoked on. Returns a list of strings from the spell check service for the misspelled word if there is one. Returns true if the context menu was invoked on an editable node. Returns true if the context menu was invoked on an editable node where spell-check is enabled. Returns flags representing the actions supported by the editable node, if any, that the context menu was invoked on. Returns ContextMenuEditState as flags Returns true if the context menu contains items specified by the renderer process (for example, plugin placeholder or pepper plugin menu items). Gets a value indicating whether the object has been disposed of. JavascriptIgnoreAttribute - Methods and Properties marked with this attribute will be excluded from Javascript Binding Javascript Response Error message Was the javascript executed successfully Javascript response Post Data extension methods - Makes accessing post data easier A convenience extension method that extracts the Character set from the content-type header. Can be used in conjuncation with the request character set e.g. UTF-8 Converts the property into a string using the specified charset (Encoding) or if unable to parse then uses the post data character set encoded string Add a new that represents the specified file post data instance file name Add a new that represents the key and value The data is encoded using Post Data Data to be encoded for the post data element Specified Encoding. If null then will be used Add a new that represents the key and value Post Data byte array that represents the post data IP Address solution callback result The result code - on success List of resolved IP addresses or empty if the resolution failed. ResolveCallbackResult result list of ip addresses Default implementation of . This latest implementation provides some simplification, at a minimum you only need to override ProcessRequestAsync. See the project source on GitHub for working examples. used to implement a custom request handler interface. The methods of this class will always be called on the IO thread. Static helper methods are included like FromStream and FromString that make dealing with fixed resources easy. MimeType to be used if none provided We reuse a temp buffer where possible for copying the data from the stream into the output stream Gets or sets the Charset Gets or sets the Mime Type. Gets or sets the resource stream. Gets or sets the http status code. Gets or sets the status text. Gets or sets ResponseLength, when you know the size of your Stream (Response) set this property. This is optional. If you use a MemoryStream and don't provide a value here then it will be cast and its size used Gets or sets the headers. The headers. When true the Stream will be Disposed when this instance is Disposed. The default value for this property is false. If the ErrorCode is set then the response will be ignored and the errorCode returned. Initializes a new instance of the class. Optional mimeType defaults to Optional Stream - must be set at some point to provide a valid response When true the Stream will be disposed when this instance is Disposed, you will be unable to use this ResourceHandler after the Stream has been disposed response charset Begin processing the request. If you have the data in memory you can execute the callback immediately and return true. For Async processing you would typically spawn a Task to perform processing, then return true. When the processing is complete execute callback.Continue(); In your processing Task, simply set the StatusCode, StatusText, MimeType, ResponseLength and Stream The request object. The callback used to Continue or Cancel the request (async). To handle the request return true and call once the response header information is available can also be called from inside this method if header information is available immediately). To cancel the request return false. Gets the resource from the file path specified. Use the Cef.GetMimeType() helper method to lookup the mimeType if required. Uses CefStreamResourceHandler for reading the data Location of the file. The mimeType if null then text/html is used. Dispose of the stream when finished with (you will only be able to serve one request). IResourceHandler. Creates a IResourceHandler that represents a Byte[], uses CefStreamResourceHandler for reading the data data mimeType response charset IResourceHandler Gets the resource from the string. The text. The file extension. ResourceHandler. Gets a that represents a string. Without a Preamble, Cef will use BrowserSettings.DefaultEncoding to load the html. The html string Character Encoding Include encoding preamble Mime Type ResourceHandler Generates a ResourceHandler that has it's StatusCode set Body the response to be displayed StatusCode ResourceHandler Gets the resource from a stream. A stream of the resource. Type of MIME. Dispose of the stream when finished with (you will only be able to serve one request). response charset ResourceHandler. Gets a MemoryStream from the given string using the provided encoding string to be converted to a stream encoding if true a BOM will be written to the beginning of the stream A memory stream from the given string Gets a byteArray from the given string using the provided encoding string to be converted to a stream encoding if true a BOM will be written to the beginning of the stream A memory stream from the given string Gets the MIME type of the content. The extension. System.String. extension In most cases it's preferable to use Cef.GetMimeType(extension); instead. See https://github.com/cefsharp/CefSharp/issues/3041 for details. Dispose of resources here Class that creates instances for handling scheme requests. The methods of this class will always be called on the CEF IO thread. 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 Class representing the SSL information for a navigation entry. Returns true if the status is related to a secure SSL/TLS connection. Returns a bitmask containing any and all problems verifying the server certificate. If the certificate is valid then is returned. Returns the SSL version used for the SSL connection. Returns a bitmask containing the page security content status. Returns the X.509 certificate. SslStatus is secure cert status ssl version content status certificate Used in conjunction with CefSettings.RegisterScheme to register a scheme. You can register your own custom scheme e.g. custom:// if you are using a build in scheme (http/https) then you should directly register your using Cef.GetGlobalRequestContext().RegisterSchemeHandlerFactory - make sure the Global RequestContext has been initialized before doing so, you can use for notification of RequestContext initialization (Pass an IBrowserProcessHandler instance to Cef.Initialize) Schema Name e.g. custom Optional Domain Name. An empty value for a standard scheme will cause the factory to match all domain names. The |domain_name| value will be ignored for non-standard schemes. If true the scheme will be treated as a standard scheme. Standard schemes are subject to URL canonicalization and parsing rules as defined in the Common Internet Scheme Syntax RFC 1738 Section 3.1 available at http://www.ietf.org/rfc/rfc1738.txt In particular, the syntax for standard scheme URLs must be of the form:
              [scheme]://[username]:[password]@[host]:[port]/[url-path]
             
Standard scheme URLs must have a host component that is a fully qualified domain name as defined in Section 3.5 of RFC 1034 [13] and Section 2.1 of RFC 1123. These URLs will be canonicalized to "scheme://host/path" in the simplest case and "scheme://username:password@host:port/path" in the most explicit case. For example, "scheme:host/path" and "scheme:///host/path" will both be canonicalized to "scheme://host/path". The origin of a standard scheme URL is the combination of scheme, host and port (i.e., "scheme://host:port" in the most explicit case). For non-standard scheme URLs only the "scheme:" component is parsed and canonicalized. The remainder of the URL will be passed to the handler as-is. For example, "scheme:///some%20text" will remain the same. Non-standard scheme URLs cannot be used as a target for form submission.
If true the scheme will be treated as local (i.e. with the same security rules as those applied to "file" URLs). Normal pages cannot link to or access local URLs. Also, by default, local URLs can only perform XMLHttpRequest calls to the same URL (origin + path) that originated the request. To allow XMLHttpRequest calls from a local URL to other URLs with the same origin set the CefSettings.file_access_from_file_urls_allowed value to true. To allow XMLHttpRequest calls from a local URL to all origins set the CefSettings.universal_access_from_file_urls_allowed value to true. If true the scheme will be treated as display-isolated. This means that pages cannot display these URLs unless they are from the same scheme. For example, pages in another origin cannot create iframes or hyperlinks to URLs with this scheme. If true the scheme will be treated with the same security rules as those applied to "https" URLs. For example, loading this scheme from other secure schemes will not trigger mixed content warnings. If true the scheme can be sent CORS requests. This value should be true in most cases where IsStandard is true. If true the scheme can bypass Content-Security-Policy(CSP) checks. This value should be false in most cases where IsStandard is true. If true the scheme can perform Fetch API requests. Factory Class that creates instances for handling scheme requests. Leave this null if you wish to manually register the scheme handler with the relevant RequestContext. Gets the underlying scheme options that represents Creates a new CefCustomScheme. Creates a new CefCustomScheme. scheme name scheme options Method used internally command line arguments list of scheme objects Interface to implement for visiting cookie values. The methods of this class will always be called on the IO thread. If there are no cookies then Visit will never be called, you must implement Dispose to handle this scenario. Method that will be called once for each cookie. This method may never be called if no cookies are found. cookie is the 0-based index for the current cookie. is the total number of cookies. Set to true to delete the cookie currently being visited. Return false to stop visiting cookies otherwise true Callback interface for IBrowserHost.GetNavigationEntries. The methods of this class will be called on the CEF UI thread. Method that will be executed. if the navigationEntry will be invalid then is true if this entry is the currently loaded navigation entry is the 0-based index of this entry is the total number of entries. Return true to continue visiting entries or false to stop. Implement this interface to receive string values asynchronously. Method that will be executed. string (result of async execution) Interface to implement for visiting web plugin information. The methods of this class will be called on the CEF UI thread, which by default is not the same as your application UI Method that will be called once for each plugin. This method may never be called if no plugins are found. plugin information is the 0-based index for the current plugin total is the total number of plugins. Return false to stop visiting plugins otherwise true Cookie Visitor implementation that uses a TaskCompletionSource to return a List of cookies Default constructor Task that can be awaited for the result to be retrieved async A that uses a TaskCompletionSource to simplify things Default constructor Task that can be awaited for the result to be retrieved async Provides a visitor implementation of Default constructor Task that can be awaited for the result to be retrieved async A that uses a TaskCompletionSource to simplify things Default constructor Method that will be executed. string (result of async execution) Task that can be awaited for the result to be retrieved async WebBrowser extensions - These methods make performing common tasks easier. Registers a Javascript object in this specific browser instance. The browser to perform the registering on. The name of the object. (e.g. "foo", if you want the object to be accessible as window.foo). The object to be made accessible to Javascript. (Optional) binding options - camelCaseJavascriptNames default to true. Browser is already initialized. RegisterJsObject must be + called before the underlying CEF browser is created. Asynchronously registers a Javascript object in this specific browser instance. Only methods of the object will be availabe. The browser to perform the registering on The name of the object. (e.g. "foo", if you want the object to be accessible as window.foo). The object to be made accessible to Javascript. binding options - camelCaseJavascriptNames default to true Browser is already initialized. RegisterJsObject must be + called before the underlying CEF browser is created. The registered methods can only be called in an async way, they will all return immediately and the resulting object will be a standard javascript Promise object which is usable to wait for completion or failure. Returns the main (top-level) frame for the browser window. the ChromiumWebBrowser instance. the main frame. Returns the focused frame for the browser window. the ChromiumWebBrowser instance. the focused frame. Execute Undo on the focused frame. The ChromiumWebBrowser instance this method extends. Execute Redo on the focused frame. The ChromiumWebBrowser instance this method extends. Execute Cut on the focused frame. The ChromiumWebBrowser instance this method extends. Execute Copy on the focused frame. The ChromiumWebBrowser instance this method extends. Execute Paste on the focused frame. The ChromiumWebBrowser instance this method extends. Execute Delete on the focused frame. The ChromiumWebBrowser instance this method extends. Execute SelectAll on the focused frame. The ChromiumWebBrowser instance this method extends. Opens up a new program window (using the default text editor) where the source code of the currently displayed web page is shown. The ChromiumWebBrowser instance this method extends. Retrieve the main frame's HTML source using a . The ChromiumWebBrowser instance this method extends. that when executed returns the main frame source as a string. Retrieve the main frame's display text using a . The ChromiumWebBrowser instance this method extends. that when executed returns the main frame display text as a string. Download the file at url using . The ChromiumWebBrowser instance this method extends. url to download See for details ChromiumWebBrowser instance (cannot be null) Load the in the main frame of the browser url to load SynchronizationContext to execute the continuation on, if null then the ThreadPool will be used. See for details Execute some Javascript code in the context of this WebBrowser. As the method name implies, the script will be executed asynchronously, and the method therefore returns before the script has actually been executed. This simple helper extension will encapsulate params in single quotes (unless int, uint, etc) The ChromiumWebBrowser instance this method extends. The javascript method name to execute. the arguments to be passed as params to the method. Args are encoded using , you can provide a custom implementation if you require one. Execute some Javascript code in the context of this WebBrowser. As the method name implies, the script will be executed asynchronously, and the method therefore returns before the script has actually been executed. The ChromiumWebBrowser instance this method extends. The Javascript code that should be executed. Execute Javascript code in the context of this WebBrowser. This extension method uses the LoadingStateChanged event. As the method name implies, the script will be executed asynchronously, and the method therefore returns before the script has actually been executed. Best effort is made to make sure the script is executed, there are likely a few edge cases where the script won't be executed, if you suspect your script isn't being executed, then try executing in the LoadingStateChanged event handler to confirm that it does indeed get executed. The ChromiumWebBrowser instance this method extends. The Javascript code that should be executed. (Optional) The script will only be executed on first page load, subsequent page loads will be ignored. Creates a new instance of IRequest with the specified Url and Method = POST and then calls . can only be used if a renderer process already exists. In newer versions initially loading about:blank no longer creates a renderer process. You can load a Data Uri initially then call this method. https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs. browser this method extends url to load post data as byte array (Optional) if set the Content-Type header will be set Registers and loads a that represents the HTML content. `Cef` Native `LoadHtml` is unpredictable and only works sometimes, this method wraps the provided HTML in a and loads the provided url using the method. Defaults to using for character encoding The url must start with a valid schema, other uri's such as about:blank are invalid A valid example looks like http://test/page. The ChromiumWebBrowser instance this method extends. The HTML content. The URL that will be treated as the address of the content. returns false if the Url was not successfully parsed into a Uri. Loads html as Data Uri See https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs for details If base64Encode is false then html will be Uri encoded. The ChromiumWebBrowser instance this method extends. Html to load as data uri. (Optional) if true the html string will be base64 encoded using UTF8 encoding. Loads html as Data Uri See https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs for details If base64Encode is false then html will be Uri encoded. The instance this method extends. Html to load as data uri. (Optional) if true the html string will be base64 encoded using UTF8 encoding. Registers and loads a that represents the HTML content. `Cef` Native `LoadHtml` is unpredictable and only works sometimes, this method wraps the provided HTML in a and loads the provided url using the method. Thrown when an exception error condition occurs. The ChromiumWebBrowser instance this method extends. The HTML content. The URL that will be treated as the address of the content. Character Encoding. (Optional) Whether or not the handler should be used once (true) or until manually unregistered (false) returns false if the Url was not successfully parsed into a Uri. Register a ResourceHandler. Can only be used when browser.ResourceHandlerFactory is an instance of DefaultResourceHandlerFactory. Thrown when an exception error condition occurs. The ChromiumWebBrowser instance this method extends. the url of the resource to unregister. Stream to be registered, the stream should not be shared with any other instances of DefaultResourceHandlerFactory. (Optional) the mimeType. (Optional) Whether or not the handler should be used once (true) or until manually unregistered (false). If true the Stream will be Diposed of when finished. Unregister a ResourceHandler. Can only be used when browser.ResourceHandlerFactory is an instance of DefaultResourceHandlerFactory. Thrown when an exception error condition occurs. The ChromiumWebBrowser instance this method extends. the url of the resource to unregister. Stops loading the current page. The ChromiumWebBrowser instance this method extends. Navigates back, must check before calling this method. The ChromiumWebBrowser instance this method extends. Navigates forward, must check before calling this method. The ChromiumWebBrowser instance this method extends. Reloads the page being displayed. This method will use data from the browser's cache, if available. The ChromiumWebBrowser instance this method extends. Reloads the page being displayed, optionally ignoring the cache (which means the whole page including all .css, .js etc. resources will be re-fetched). The ChromiumWebBrowser instance this method extends. true A reload is performed ignoring browser cache; false A reload is performed using files from the browser cache, if available. Gets the default cookie manager associated with the IWebBrowser. Thrown when an exception error condition occurs. The ChromiumWebBrowser instance this method extends. (Optional) If not null it will be executed asynchronously on the CEF IO thread after the manager's storage has been initialized. Cookie Manager. Asynchronously gets the current Zoom Level. The ChromiumWebBrowser instance this method extends. An asynchronous result that yields the zoom level. Asynchronously gets the current Zoom Level. the ChromiumWebBrowser instance. An asynchronous result that yields the zoom level. Change the ZoomLevel to the specified value. Can be set to 0.0 to clear the zoom level. If called on the CEF UI thread the change will be applied immediately. Otherwise, the change will be applied asynchronously on the CEF UI thread. The CEF UI thread is different to the WPF/WinForms UI Thread. The ChromiumWebBrowser instance this method extends. zoom level. Change the ZoomLevel to the specified value. Can be set to 0.0 to clear the zoom level. If called on the CEF UI thread the change will be applied immediately. Otherwise, the change will be applied asynchronously on the CEF UI thread. The CEF UI thread is different to the WPF/WinForms UI Thread. The ChromiumWebBrowser instance this method extends. zoom level. Search for text within the current page. The ChromiumWebBrowser instance this method extends. Can be used in can conjunction with searchText to have multiple searches running simultaneously. search text. indicates whether to search forward or backward within the page. indicates whether the search should be case-sensitive. indicates whether this is the first request or a follow-up. Search for text within the current page. The ChromiumWebBrowser instance this method extends. Can be used in can conjunction with searchText to have multiple searches running simultaneously. search text. indicates whether to search forward or backward within the page. indicates whether the search should be case-sensitive. indicates whether this is the first request or a follow-up. Cancel all searches that are currently going on. The ChromiumWebBrowser instance this method extends. clear the current search selection. Cancel all searches that are currently going on. The ChromiumWebBrowser instance this method extends. clear the current search selection. Opens a Print Dialog which if used (can be user cancelled) will print the browser contents. The ChromiumWebBrowser instance this method extends. Asynchronously prints the current browser contents to the PDF file specified. The caller is responsible for deleting the file when done. The object this method extends. Output file location. (Optional) Print Settings. A task that represents the asynchronous print operation. The result is true on success or false on failure to generate the Pdf. Opens a Print Dialog which if used (can be user cancelled) will print the browser contents. The ChromiumWebBrowser instance this method extends. Asynchronously prints the current browser contents to the PDF file specified. The caller is responsible for deleting the file when done. The ChromiumWebBrowser instance this method extends. Output file location. (Optional) Print Settings. A task that represents the asynchronous print operation. The result is true on success or false on failure to generate the Pdf. Open developer tools in its own window. The ChromiumWebBrowser instance this method extends. (Optional) window info used for showing dev tools. (Optional) x coordinate (used for inspectElement) (Optional) y coordinate (used for inspectElement) Open developer tools in its own window. The ChromiumWebBrowser instance this method extends. (Optional) window info used for showing dev tools. (Optional) x coordinate (used for inspectElement) (Optional) y coordinate (used for inspectElement) Explicitly close the developer tools window if one exists for this browser instance. The ChromiumWebBrowser instance this method extends. Explicitly close the developer tools window if one exists for this browser instance. The ChromiumWebBrowser instance this method extends. If a misspelled word is currently selected in an editable node calling this method will replace it with the specified word. The ChromiumWebBrowser instance this method extends. The new word that will replace the currently selected word. If a misspelled word is currently selected in an editable node calling this method will replace it with the specified word. The ChromiumWebBrowser instance this method extends. The new word that will replace the currently selected word. Add the specified word to the spelling dictionary. The ChromiumWebBrowser instance this method extends. The new word that will be added to the dictionary. Shortcut method to get the browser IBrowserHost. The ChromiumWebBrowser instance this method extends. browserHost or null. Add the specified word to the spelling dictionary. The ChromiumWebBrowser instance this method extends. The new word that will be added to the dictionary. Send a mouse wheel event to the browser. The ChromiumWebBrowser instance this method extends. The x coordinate relative to upper-left corner of view. The y coordinate relative to upper-left corner of view. The delta x coordinate. The delta y coordinate. The modifiers. Send a mouse wheel event to the browser. The ChromiumWebBrowser instance this method extends. The x coordinate relative to upper-left corner of view. The y coordinate relative to upper-left corner of view. The delta x coordinate. The delta y coordinate. The modifiers. Send a mouse wheel event to the browser. browserHost. The x coordinate relative to upper-left corner of view. The y coordinate relative to upper-left corner of view. The delta x coordinate. The delta y coordinate. The modifiers. Send a mouse click event to the browser. browserHost. The x coordinate relative to upper-left corner of view. The y coordinate relative to upper-left corner of view. Type of the mouse button. True to mouse up. Number of clicks. The modifiers. Send a mouse move event to the browser. browserHost. The x coordinate relative to upper-left corner of view. The y coordinate relative to upper-left corner of view. mouse leave. The modifiers. Evaluate some Javascript code in the context of the MainFrame of the ChromiumWebBrowser. The script will be executed asynchronously and the method returns a Task encapsulating the response from the Javascript. The result of the script execution in javascript is Promise.resolve so even no promise values will be treated as a promise. Your javascript should return a value. The javascript will be wrapped in an Immediately Invoked Function Expression. When the promise either trigger then/catch this returned Task will be completed. Thrown when one or more arguments are outside the required range. The ChromiumWebBrowser instance this method extends. The Javascript code that should be executed. (Optional) The timeout after which the Javascript code execution should be aborted. that can be awaited to perform the script execution. Evaluate some Javascript code in the context of the MainFrame of the ChromiumWebBrowser. The script will be executed asynchronously and the method returns a Task encapsulating the response from the Javascript. The result of the script execution in javascript is Promise.resolve so even no promise values will be treated as a promise. Your javascript should return a value. The javascript will be wrapped in an Immediately Invoked Function Expression. When the promise either trigger then/catch this returned Task will be completed. Thrown when one or more arguments are outside the required range. The instance this method extends. The Javascript code that should be executed. (Optional) The timeout after which the Javascript code execution should be aborted. that can be awaited to perform the script execution. Evaluate some Javascript code in the context of the MainFrame of the ChromiumWebBrowser. The script will be executed asynchronously and the method returns a Task encapsulating the response from the Javascript Thrown when one or more arguments are outside the required range. The ChromiumWebBrowser instance this method extends. The Javascript code that should be executed. (Optional) The timeout after which the Javascript code execution should be aborted. When true the script is wrapped in a self executing function. Make sure to use a return statement in your javascript. e.g. (function () { return 42; })(); When false don't include a return statement e.g. 42; that can be awaited to perform the script execution. Evaluate some Javascript code in the context of this WebBrowser. The script will be executed asynchronously and the method returns a Task encapsulating the response from the Javascript This simple helper extension will encapsulate params in single quotes (unless int, uint, etc) The ChromiumWebBrowser instance this method extends. The javascript method name to execute. the arguments to be passed as params to the method. that can be awaited to perform the script execution. Evaluate some Javascript code in the context of this WebBrowser using the specified timeout. The script will be executed asynchronously and the method returns a Task encapsulating the response from the Javascript This simple helper extension will encapsulate params in single quotes (unless int, uint, etc). The ChromiumWebBrowser instance this method extends. The timeout after which the Javascript code execution should be aborted. The javascript method name to execute. the arguments to be passed as params to the method. Args are encoded using , you can provide a custom implementation if you require a custom implementation. that can be awaited to perform the script execution. An IWebBrowser extension method that sets the property used when passing a ChromiumWebBrowser instance to The ChromiumWebBrowser instance this method extends. Function used to encode the params passed to , and Provide your own custom function to perform custom encoding. You can use your choice of JSON encoder here if you should so choose. A function delegate that yields a string. Checks if the given object is a numerical object. The object to check. True if numeric, otherwise false. Transforms the methodName and arguments into valid Javascript code. Will encapsulate params in single quotes (unless int, uint, etc) The javascript method name to execute. the arguments to be passed as params to the method. The Javascript code. Throw exception if frame null. Thrown when an exception error condition occurs. The instance this method extends. An IBrowser extension method that throw exception if browser null. Thrown when an exception error condition occurs. The ChromiumWebBrowser instance this method extends. Throw exception if browser host null. Thrown when an exception error condition occurs. The browser host. Throw exception if can execute javascript in main frame false. Thrown when an exception error condition occurs. Information about a specific web plugin. Gets or sets the plugin name (i.e. Flash). Gets or sets tge description of the plugin from the version information. Gets or sets the plugin file path (DLL/bundle/library). Gets or sets the version of the plugin (may be OS-specific). WebPluginInfo name description path version Class used to represent a web request. The methods of this class may be called on any thread. Get/Set request flags, can be used to control caching policy Request Url Returns the globally unique identifier for this request or 0 if not specified. Can be used by implementations in the browser process to track a single request across multiple callbacks. Request Method GET/POST etc Set the referrer URL and policy. If non-empty the referrer URL must be fully qualified with an HTTP or HTTPS scheme component. Any username, password or ref component will be removed. the referrer url referrer policy Get the referrer URL. Get the resource type for this request. Get the referrer policy. Header Collection - If dealing with headers that only contain a single value then it's easier to use or . You cannot modify the referrer using headers, use . NOTE: This collection is a copy of the underlying type, to make changes, take a reference to the collection, make your changes, then reassign the collection. This example shows how to modify headers, make sure you reassign the collection once it's been modified. var headers = request.Headers; var userAgent = headers["User-Agent"]; headers["User-Agent"] = userAgent + " CefSharp"; request.Headers = headers; Post data Get the transition type for this request. Applies to requests that represent a main frame or sub-frame navigation. Gets a value indicating whether the request has been disposed of. Returns true if this object is read-only. Initialize a new instance of . Make sure to check if the is null before calling otherwise the existing data will be overridden. Returns the first header value for name or an empty string if not found. Will not return the Referer value if any. Use instead if name might have multiple values. header name Returns the first header value for name or an empty string if not found. Set the header name to value. The Referer value cannot be set using this method. Use instead. header name new header value If overwrite is true any existing values will be replaced with the new value. If overwrite is false any existing values will not be overwritten Used internally to get the underlying instance. Unlikely you'll use this yourself. the inner most instance ChromiumWebBrowser implementations implement this interface. Can be cast to the concrete implementation to access UI specific features. Event handler for receiving Javascript console messages being sent from web pages. It's important to note this event is fired on a CEF UI thread, which by default is not the same as your application UI thread. It is unwise to block on this thread for any length of time as your browser will become unresponsive and/or hang.. To access UI elements you'll need to Invoke/Dispatch onto the UI Thread. (The exception to this is when you're running with settings.MultiThreadedMessageLoop = false, then they'll be the same thread). Event handler for changes to the status message. It's important to note this event is fired on a CEF UI thread, which by default is not the same as your application UI thread. It is unwise to block on this thread for any length of time as your browser will become unresponsive and/or hang. To access UI elements you'll need to Invoke/Dispatch onto the UI Thread. (The exception to this is when you're running with settings.MultiThreadedMessageLoop = false, then they'll be the same thread). Event handler that will get called when the browser begins loading a frame. Multiple frames may be loading at the same time. Sub-frames may start or continue loading after the main frame load has ended. This method may not be called for a particular frame if the load request for that frame fails. For notification of overall browser load status use OnLoadingStateChange instead. It's important to note this event is fired on a CEF UI thread, which by default is not the same as your application UI thread. It is unwise to block on this thread for any length of time as your browser will become unresponsive and/or hang.. To access UI elements you'll need to Invoke/Dispatch onto the UI Thread. Whilst this may seem like a logical place to execute js, it's called before the DOM has been loaded, implement as it's called when the underlying V8Context is created Event handler that will get called when the browser is done loading a frame. Multiple frames may be loading at the same time. Sub-frames may start or continue loading after the main frame load has ended. This method will always be called for all frames irrespective of whether the request completes successfully. It's important to note this event is fired on a CEF UI thread, which by default is not the same as your application UI thread. It is unwise to block on this thread for any length of time as your browser will become unresponsive and/or hang.. To access UI elements you'll need to Invoke/Dispatch onto the UI Thread. Event handler that will get called when the resource load for a navigation fails or is canceled. It's important to note this event is fired on a CEF UI thread, which by default is not the same as your application UI thread. It is unwise to block on this thread for any length of time as your browser will become unresponsive and/or hang.. To access UI elements you'll need to Invoke/Dispatch onto the UI Thread. Event handler that will get called when the Loading state has changed. This event will be fired twice. Once when loading is initiated either programmatically or by user action, and once when loading is terminated due to completion, cancellation of failure. It's important to note this event is fired on a CEF UI thread, which by default is not the same as your application UI thread. It is unwise to block on this thread for any length of time as your browser will become unresponsive and/or hang.. To access UI elements you'll need to Invoke/Dispatch onto the UI Thread. Event handler that will get called when the message that originates from CefSharp.PostMessage Loads the specified in the Main Frame The URL to be loaded. Load the in the main frame of the browser url to load SynchronizationContext to execute the continuation on, if null then the ThreadPool will be used. A that can be awaited to load the and return the HttpStatusCode and . A HttpStatusCode equal to 200 and is considered a success. The javascript object repository, one repository per ChromiumWebBrowser instance. Implement and assign to handle dialog events. The dialog handler. Implement and assign to handle events related to browser requests. The request handler. Implement and assign to handle events related to browser display state. The display handler. Implement and assign to handle events related to browser load status. The load handler. Implement and assign to handle events related to popups. The life span handler. Implement and assign to handle events related to key press. The keyboard handler. Implement and assign to handle events related to JavaScript Dialogs. The js dialog handler. Implement and assign to handle events related to dragging. The drag handler. Implement and assign to handle events related to downloading files. The download handler. Implement and assign to handle events related to the browser context menu The menu handler. Implement and assign to handle events related to the browser component's focus The focus handler. Implement and control the loading of resources The resource handler factory. Implement and assign to handle messages from the render process. The render process message handler. Implement to handle events related to find results. The find handler. Implement to handle audio events. A flag that indicates whether the WebBrowser is initialized (true) or not (false). true if this instance is browser initialized; otherwise, false. In the WPF control there are two IsBrowserInitialized properties, the ChromiumWebBrowser.IsBrowserInitialized property is implemented as a Dependency Property and fully supports data binding. This property can only be called from the UI Thread. The explicit IWebBrowser.IsBrowserInitialized interface implementation that can be called from any Thread. A flag that indicates whether the WebBrowser has been disposed () or not () if this instance is disposed; otherwise, A flag that indicates whether the control is currently loading one or more web pages (true) or not (false). true if this instance is loading; otherwise, false. In the WPF control, this property is implemented as a Dependency Property and fully supports data binding. A flag that indicates whether the state of the control current supports the GoBack action (true) or not (false). true if this instance can go back; otherwise, false. In the WPF control, this property is implemented as a Dependency Property and fully supports data binding. A flag that indicates whether the state of the control currently supports the GoForward action (true) or not (false). true if this instance can go forward; otherwise, false. In the WPF control, this property is implemented as a Dependency Property and fully supports data binding. The address (URL) which the browser control is currently displaying. Will automatically be updated as the user navigates to another page (e.g. by clicking on a link). The address. In the WPF control, this property is implemented as a Dependency Property and fully supports data binding. The text that will be displayed as a ToolTip The tooltip text. A flag that indicates if you can execute javascript in the main frame. Flag is set to true in IRenderProcessMessageHandler.OnContextCreated. and false in IRenderProcessMessageHandler.OnContextReleased Gets the custom request context assigned to this browser instance If no instance was assigned this will be null and the global request context will have been used for this browser. You can access the global request context through Cef.GetGlobalRequestContext() Attempts to give focus to the IWebBrowser control. true if keyboard focus and logical focus were set to this element; false if only logical focus was set to this element, or if the call to this method did not force the focus to change. Returns the current CEF Browser Instance browser instance or null Represents an raw Html (not already encoded) When passed to a ChromiumWebBrowser constructor, the html will be converted to a Data Uri and loaded in the browser. See https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs for details Initializes a new instance of the HtmlString class. raw html string (not already encoded) if true the html string will be base64 encoded using UTF8 encoding. if not null then charset will specified. e.g. UTF-8 The html as a Data Uri encoded string data Uri string suitable for passing to HtmlString that will be base64 encoded raw html (not already encoded) Creates a HtmlString for the given file name Uses to read the text using encoding. file name HtmlString Represents a JsonString that is converted to a V8 Object Used as a return type of bound methods Default constructor JSON string Create a JsonString from the specfied object using the build in object to seriaize optional settings If is null then return nulls otherwise a JsonString.