Click or drag to resize

LifeSpanHandler Class

Version 112.3.0
Default implementation of ILifeSpanHandler. This class provides default implementations of the methods from ILifeSpanHandler, therefore providing a convenience base class for a custom implementation. You need only override the methods you require. IMPORTANT: DoClose(IWebBrowser, IBrowser) 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.
Inheritance Hierarchy

Namespace:  CefSharp.Handler
Assembly:  CefSharp (in CefSharp.dll) Version: 112.3.0.0 (112.3.0.0)
Syntax
public class LifeSpanHandler : ILifeSpanHandler

The LifeSpanHandler type exposes the following members.

Constructors
  NameDescription
Public methodLifeSpanHandler
Initializes a new instance of the LifeSpanHandler class
Top
Methods
  NameDescription
Protected methodDoClose
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.
Public methodEquals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Protected methodFinalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object.)
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Protected methodOnAfterCreated
Called after a new browser is created.
Protected methodOnBeforeClose
Called before a CefBrowser window (either the main browser for IWebBrowser, or one of its children)
Protected methodOnBeforePopup
Called before a popup window is created. By default the popup (browser) is created in a new native window.
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Top
See Also