Click or drag to resize
ChromiumWebBrowser Class
Version 63.0.0
An offscreen instance of Chromium that you can use to take snapshots or evaluate JavaScript.
Inheritance Hierarchy
SystemObject
  CefSharp.OffScreenChromiumWebBrowser

Namespace: CefSharp.OffScreen
Assembly: CefSharp.OffScreen (in CefSharp.OffScreen.dll) Version: 63.0.0.0 (63.0.0.0)
Syntax
public class ChromiumWebBrowser : IWebBrowser, 
	IDisposable

The ChromiumWebBrowser type exposes the following members.

Constructors
  NameDescription
Public methodChromiumWebBrowser
Create a new OffScreen Chromium Browser
Top
Properties
  NameDescription
Public propertyAddress
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).
Public propertyBitmap
Contains the last rendering from Chromium. Direct access to the underlying Bitmap - there is no locking when trying to access directly, use BitmapLock where appropriate. A new bitmap is only created when it's size changes, otherwise the back buffer for the bitmap is constantly updated. Read the InvokeRenderAsync(BitmapInfo) doco for more info.
Public propertyBitmapFactory
Gets or sets the bitmap factory.
Public propertyBrowserSettings
Gets the browser settings.
Public propertyCanExecuteJavascriptInMainFrame
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
Public propertyCanGoBack
A flag that indicates whether the state of the control current supports the GoBack action (true) or not (false).
Public propertyCanGoForward
A flag that indicates whether the state of the control currently supports the GoForward action (true) or not (false).
Public propertyDialogHandler
Implement IDialogHandler and assign to handle dialog events.
Public propertyDisplayHandler
Implement IDisplayHandler and assign to handle events related to browser display state.
Public propertyDownloadHandler
Implement IDownloadHandler and assign to handle events related to downloading files.
Public propertyDragHandler
Implement IDragHandler and assign to handle events related to dragging.
Public propertyFindHandler
Implement IFindHandler to handle events related to find results.
Public propertyFocusHandler
Implement IFocusHandler and assign to handle events related to the browser component's focus
Public propertyGeolocationHandler
Implement IGeolocationHandler and assign to handle requests for permission to use geolocation.
Public propertyIsBrowserInitialized
A flag that indicates whether the WebBrowser is initialized (true) or not (false).
Public propertyIsLoading
A flag that indicates whether the control is currently loading one or more web pages (true) or not (false).
Public propertyJavascriptObjectRepository
Public propertyJsDialogHandler
Implement IJsDialogHandler and assign to handle events related to JavaScript Dialogs.
Public propertyKeyboardHandler
Implement IKeyboardHandler and assign to handle events related to key press.
Public propertyLifeSpanHandler
Implement ILifeSpanHandler and assign to handle events related to popups.
Public propertyLoadHandler
Implement ILoadHandler and assign to handle events related to browser load status.
Public propertyMenuHandler
Implement IContextMenuHandler and assign to handle events related to the browser context menu
Public propertyPopup
The popup Bitmap.
Public propertyPopupOpen
Gets or sets a value indicating whether the popup is open.
Public propertyPopupPosition
Gets the popup position.
Public propertyPopupSize
Gets the size of the popup.
Public propertyRenderProcessMessageHandler
Implement IRenderProcessMessageHandler and assign to handle messages from the render process.
Public propertyRequestContext
Gets the request context.
Public propertyRequestHandler
Implement IRequestHandler and assign to handle events related to browser requests.
Public propertyResourceHandlerFactory
Implement IResourceHandlerFactory and control the loading of resources
Public propertySize
Get/set the size of the Chromium viewport, in pixels. This also changes the size of the next rendered bitmap.
Public propertyTooltipText
The text that will be displayed as a ToolTip
Top
Methods
  NameDescription
Public methodCreateBrowser
Create the underlying browser. The instance address, browser settings and request context will be used.
Public methodDispose
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
Protected methodDispose(Boolean)
Releases unmanaged and - optionally - managed resources.
Public methodEquals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Protected methodFinalize
Finalizes an instance of the ChromiumWebBrowser class.
(Overrides ObjectFinalize.)
Public methodGetBrowser
Returns the current CEF Browser Instance
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Protected methodGetScreenInfo
Gets the screen information (scale factor).
Protected methodGetScreenPoint
Called to retrieve the translation from view coordinates to actual screen coordinates.
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Protected methodGetViewRect
Gets the view rect (width, height)
Protected methodInvokeRenderAsync
Invoked from CefRenderHandler.OnPaint A new Bitmap is only created when CreateNewBitmap is true, otherwise the new buffer is simply copied into the backBuffer of the existing Bitmap for efficiency. Locking provided by OnPaint as this method is called in it's lock scope.
Public methodLoad
Loads the specified URL.
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Protected methodOnImeCompositionRangeChanged
Public methodRegisterAsyncJsObject

Asynchronously registers a Javascript object in this specific browser instance.

Only methods of the object will be availabe.

Public methodRegisterJsObject
Registers a Javascript object in this specific browser instance.
Public methodScreenshotAsync
Starts a task that waits for the next rendering from Chrome. Chrome also renders the page loading, so if you want to see a complete rendering, only start this task once your page is loaded (which you can detect via FrameLoadEnd or your own heuristics based on evaluating JavaScript). It is your responsibility to dispose the returned Bitmap. The bitmap size is determined by the Size property set earlier.
Public methodScreenshotOrNull Obsolete.
Immediately returns a copy of the last rendering from Chrome, or null if no rendering has occurred yet. Chrome also renders the page loading, so if you want to see a complete rendering, only start this task once your page is loaded (which you can detect via LoadingStateChanged/FrameLoadEnd or your own heuristics based on evaluating JavaScript). It is your responsibility to dispose the returned Bitmap. The bitmap size is determined by the Size property set earlier.
Protected methodSetCursor
Sets the cursor.
Protected methodSetPopupIsOpen
Protected methodSetPopupSizeAndPosition
Sets the popup size and position.
Protected methodStartDragging
Starts dragging.
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Protected methodUpdateDragCursor
Top
Events
  NameDescription
Public eventAddressChanged
Occurs when [address changed]. 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 your running with settings.MultiThreadedMessageLoop = false, then they'll be the same thread).
Public eventBrowserInitialized
Occurs when [browser 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. 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 your running with settings.MultiThreadedMessageLoop = false, then they'll be the same thread).
Public eventConsoleMessage
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 your running with settings.MultiThreadedMessageLoop = false, then they'll be the same thread).
Public eventFrameLoadEnd
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.
Public eventFrameLoadStart
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.
Public eventLoadError
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.
Public eventLoadingStateChanged
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.
Public eventNewScreenshot Obsolete.
Fired by a separate thread when Chrome has re-rendered. This means that a Bitmap will be returned by ScreenshotOrNull().
Public eventOnPaint
Fired on the CEF UI thread, which by default is not the same as your application main thread. Called when an element should be painted. Pixel values passed to this method are scaled relative to view coordinates based on the value of ScreenInfo.DeviceScaleFactor returned from GetScreenInfo. |type| indicates whether the element is the view or the popup widget. |buffer| contains the pixel data for the whole image. |dirtyRects| contains the set of rectangles in pixel coordinates that need to be repainted. |buffer| will be |width|*|height|*4 bytes in size and represents a BGRA image with an upper-left origin.
Public eventStatusMessage
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 your running with settings.MultiThreadedMessageLoop = false, then they'll be the same thread).
Public eventTitleChanged
Occurs when [title changed]. 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 your running with settings.MultiThreadedMessageLoop = false, then they'll be the same thread).
Top
Fields
  NameDescription
Public fieldBitmapLock
Need a lock because the caller may be asking for the bitmap while Chromium async rendering has returned on another thread.
Top
Extension Methods
  NameDescription
Public Extension MethodAddWordToDictionary
Add the specified word to the spelling dictionary.
(Defined by WebBrowserExtensions.)
Public Extension MethodBack
Navigates back, must check CanGoBack before calling this method.
(Defined by WebBrowserExtensions.)
Public Extension MethodCloseDevTools
Explicitly close the developer tools window if one exists for this browser instance.
(Defined by WebBrowserExtensions.)
Public Extension MethodCopy
Execute Copy on the focused frame
(Defined by WebBrowserExtensions.)
Public Extension MethodCut
Execute Cut on the focused frame
(Defined by WebBrowserExtensions.)
Public Extension MethodDelete
Execute Delete on the focused frame
(Defined by WebBrowserExtensions.)
Public Extension MethodEvaluateScriptAsync(String, NullableTimeSpan)Overloaded. (Defined by WebBrowserExtensions.)
Public Extension MethodEvaluateScriptAsync(String, Object)Overloaded.
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)
(Defined by WebBrowserExtensions.)
Public Extension MethodEvaluateScriptAsync(NullableTimeSpan, String, Object)Overloaded.
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)
(Defined by WebBrowserExtensions.)
Public Extension MethodExecuteScriptAsync(String)Overloaded.
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.
(Defined by WebBrowserExtensions.)
Public Extension MethodExecuteScriptAsync(String, Object)Overloaded.
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)
(Defined by WebBrowserExtensions.)
Public Extension MethodFind
Search for text within the current page.
(Defined by WebBrowserExtensions.)
Public Extension MethodForward
Navigates forward, must check CanGoForward before calling this method.
(Defined by WebBrowserExtensions.)
Public Extension MethodGetBrowserHost
Shortcut method to get the browser IBrowserHost
(Defined by WebBrowserExtensions.)
Public Extension MethodGetFocusedFrame
Returns the focused frame for the browser window.
(Defined by WebBrowserExtensions.)
Public Extension MethodGetMainFrame
Returns the main (top-level) frame for the browser window.
(Defined by WebBrowserExtensions.)
Public Extension MethodGetSourceAsync (Defined by WebBrowserExtensions.)
Public Extension MethodGetTextAsync (Defined by WebBrowserExtensions.)
Public Extension MethodGetZoomLevelAsync
Asynchronously gets the current Zoom Level.
(Defined by WebBrowserExtensions.)
Public Extension MethodLoadHtml(String, String)Overloaded.
Registers and loads a ResourceHandler that represents the HTML content.
(Defined by WebBrowserExtensions.)
Public Extension MethodLoadHtml(String, Boolean)Overloaded.
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
(Defined by WebBrowserExtensions.)
Public Extension MethodLoadHtml(String, String, Encoding, Boolean)Overloaded.
Registers and loads a ResourceHandler that represents the HTML content.
(Defined by WebBrowserExtensions.)
Public Extension MethodLoadString
Load the string contents with the specified dummy url. Web security restrictions may not behave as expected.
(Defined by WebBrowserExtensions.)
Public Extension MethodLoadUrlWithPostData
Loads Creates a new instance of IRequest with the specified Url and Method = POST
(Defined by WebBrowserExtensions.)
Public Extension MethodPaste
Execute Paste on the focused frame
(Defined by WebBrowserExtensions.)
Public Extension MethodPrint
Opens a Print Dialog which if used (can be user cancelled) will print the browser contents.
(Defined by WebBrowserExtensions.)
Public Extension MethodPrintToPdfAsync
Asynchronously prints the current browser contents to the PDF file specified. The caller is responsible for deleting the file when done.
(Defined by WebBrowserExtensions.)
Public Extension MethodRedo
Execute Redo on the focused frame
(Defined by WebBrowserExtensions.)
Public Extension MethodRegisterResourceHandler
Register a ResourceHandler. Can only be used when browser.ResourceHandlerFactory is an instance of DefaultResourceHandlerFactory
(Defined by WebBrowserExtensions.)
Public Extension MethodReloadOverloaded.
Reloads the page being displayed. This method will use data from the browser's cache, if available.
(Defined by WebBrowserExtensions.)
Public Extension MethodReload(Boolean)Overloaded.
Reloads the page being displayed, optionally ignoring the cache (which means the whole page including all .css, .js etc. resources will be re-fetched).
(Defined by WebBrowserExtensions.)
Public Extension MethodReplaceMisspelling
If a misspelled word is currently selected in an editable node calling this method will replace it with the specified word.
(Defined by WebBrowserExtensions.)
Public Extension MethodSelectAll
Execute SelectAll on the focused frame
(Defined by WebBrowserExtensions.)
Public Extension MethodSendMouseWheelEvent (Defined by WebBrowserExtensions.)
Public Extension MethodSetAsPopup (Defined by WebBrowserExtensions.)
Public Extension MethodSetZoomLevel
Change the ZoomLevel to the specified value. Can be set to 0.0 to clear the zoom level.
(Defined by WebBrowserExtensions.)
Public Extension MethodShowDevTools
Open developer tools in its own window.
(Defined by WebBrowserExtensions.)
Public Extension MethodStop
Stops loading the current page.
(Defined by WebBrowserExtensions.)
Public Extension MethodStopFinding
Cancel all searches that are currently going on.
(Defined by WebBrowserExtensions.)
Public Extension MethodThrowExceptionIfBrowserNotInitialized (Defined by WebBrowserExtensions.)
Public Extension MethodUndo
Execute Undo on the focused frame
(Defined by WebBrowserExtensions.)
Public Extension MethodUnRegisterResourceHandler
Unregister a ResourceHandler. Can only be used when browser.ResourceHandlerFactory is an instance of DefaultResourceHandlerFactory
(Defined by WebBrowserExtensions.)
Public Extension MethodViewSource
Opens up a new program window (using the default text editor) where the source code of the currently displayed web page is shown.
(Defined by WebBrowserExtensions.)
Top
See Also

Reference

IRenderWebBrowser