+You can also support this project with Liberapay.
+
+
+ /// - The UI thread is running a message loop.
+ /// - It receives a task #1 and executes it.
+ /// - The task #1 implicitly starts a nested message loop. For example, via
+ /// Windows APIs such as MessageBox or GetSaveFileName, or default handling of
+ /// a user-initiated drag/resize operation (e.g. DefWindowProc handling of
+ /// WM_SYSCOMMAND for SC_MOVE/SC_SIZE).
+ /// - The UI thread receives a task #2 before or while in this second message
+ /// loop.
+ /// - With NestableTasksAllowed set to true (1), the task #2 will run right
+ /// away. Otherwise, it will be executed right after task #1 completes at
+ /// "thread message loop level".
+ ///
+ ///
+ /// - It may be intercepted by the client via CefResourceRequestHandler or
+ /// CefSchemeHandlerFactory.
+ /// - POST data may only contain a single element of type PDE_TYPE_FILE or
+ /// PDE_TYPE_BYTES.
+ ///
+ ///
+ /// - It may be intercepted by the client via CefResourceRequestHandler or
+ /// CefSchemeHandlerFactory.
+ /// - POST data may only contain a single element of type PDE_TYPE_FILE or
+ /// PDE_TYPE_BYTES.
+ ///
+ ///
+ /// 1. The client receives a WM_IME_COMPOSITION message with a GCS_RESULTSTR
+ /// flag (on Windows), or;
+ /// 2. The client receives a "commit" signal of GtkIMContext (on Linux), or;
+ /// 3. insertText of NSTextInput is called (on Mac).
+ ///
+ ///
+ /// - Views-hosted parent: Creates a Views-hosted popup window.
+ /// - Native-hosted Alloy style parent: Creates a native popup window.
+ /// - Native-hosted Chrome style parent: Creates a Chrome UI popup window by
+ /// default; set CefSettings.use_views_default_popup to true (1) to instead
+ /// create a Views-hosted popup window.
+ ///
+ ///
+ /// 1. User clicks the window close button which sends a close notification
+ /// to the application's top-level window.
+ /// 2. Application's top-level window receives the close notification and
+ /// calls TChromiumCore.TryCloseBrowser() (similar to calling TChromiumCore.CloseBrowser(false)).
+ /// TChromiumCore.TryCloseBrowser() returns false so the client cancels the window
+ /// close.
+ /// 3. JavaScript 'onbeforeunload' handler executes and shows the close
+ /// confirmation dialog (which can be overridden via TChromiumCore.OnBeforeUnloadDialog).
+ /// 4. User approves the close.
+ /// 5. JavaScript 'onunload' handler executes.
+ /// 6. Application's TChromiumCore.OnClose handler is called and returns false (0) by
+ /// default.
+ /// 7. CEF sends a close notification to the application's top-level window
+ /// (because TChromiumCore.OnClose returned false).
+ /// 8. Application's top-level window receives the close notification and
+ /// calls TryCloseBrowser(). TryCloseBrowser() returns true so the client
+ /// allows the window close.
+ /// 9. Application's top-level window is destroyed, triggering destruction
+ /// of the child browser window.
+ /// 10. Application's TChromiumCore.OnBeforeClose handler is called and the browser object
+ /// is destroyed.
+ /// 11. Application exits by calling TCefApplicationCore.QuitMessageLoop if no other browsers
+ /// exist.
+ ///
+ ///
+ ///
+ /// 1. User clicks the window close button which sends a close notification
+ /// to the application's top-level window.
+ /// 2. Application's top-level window receives the close notification and:
+ /// A. Calls ICefBrowserHost.CloseBrowser(false).
+ /// B. Cancels the window close.
+ /// 3. JavaScript 'onbeforeunload' handler executes and shows the close
+ /// confirmation dialog (which can be overridden via TChromiumCore.OnBeforeUnloadDialog).
+ /// 4. User approves the close.
+ /// 5. JavaScript 'onunload' handler executes.
+ /// 6. Application's TChromiumCore.OnClose handler is called. Application will:
+ /// A. Set a flag to indicate that the next top-level window close attempt
+ /// will be allowed.
+ /// B. Return false.
+ /// 7. CEF sends a close notification to the application's top-level window
+ /// (because TChromiumCore.OnClose returned false).
+ /// 8. Application's top-level window receives the close notification and
+ /// allows the window to close based on the flag from #6A.
+ /// 9. Application's top-level window is destroyed, triggering destruction
+ /// of the child browser window.
+ /// 10. Application's TChromiumCore.OnBeforeClose handler is called and the browser object
+ /// is destroyed.
+ /// 11. Application exits by calling TCefApplicationCore.QuitMessageLoop if no other browsers exist.
+ ///
+ ///
+ /// 1. User clicks the window close button which sends a close notification
+ /// to the application's top-level window.
+ /// 2. Application's top-level window receives the close notification and
+ /// calls TryCloseBrowser() (which internally calls CloseBrowser(false)).
+ /// TryCloseBrowser() returns false so the client cancels the window
+ /// close.
+ /// 3. JavaScript 'onbeforeunload' handler executes and shows the close
+ /// confirmation dialog (which can be overridden via
+ /// ICefJSDialogHandler.OnBeforeUnloadDialog()).
+ /// 4. User approves the close.
+ /// 5. JavaScript 'onunload' handler executes.
+ /// 6. CEF sends a close notification to the application's top-level window
+ /// (because OnClose() returned false by default).
+ /// 7. Application's top-level window receives the close notification and
+ /// calls TryCloseBrowser(). TryCloseBrowser() returns true so the client
+ /// allows the window close.
+ /// 8. Application's top-level window is destroyed.
+ /// 9. Application's OnBeforeClose() handler is called and the browser object is destroyed.
+ /// 10. Application exits by calling cef_quit_message_loop() if no other browsers exist.
+ ///
+ ///
+ /// 1. User clicks the window close button which sends a close notification
+ /// to the application's top-level window.
+ /// 2. Application's top-level window receives the close notification and:
+ /// A. Calls ICefBrowserHost.CloseBrowser(false).
+ /// B. Cancels the window close.
+ /// 3. JavaScript 'onbeforeunload' handler executes and shows the close
+ /// confirmation dialog (which can be overridden via
+ /// ICefJSDialogHandler.OnBeforeUnloadDialog()).
+ /// 4. User approves the close.
+ /// 5. JavaScript 'onunload' handler executes.
+ /// 6. Application's OnClose() 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 close notification to the application's top-level window.
+ /// 8. Application's top-level window receives the close notification and
+ /// allows the window to close based on the flag from #6B.
+ /// 9. Application's top-level window is destroyed.
+ /// 10. Application's OnBeforeClose() handler is called and the browser object is destroyed.
+ /// 11. Application exits by calling cef_quit_message_loop() if no other browsers exist.
+ ///
+ ///
+ /// - NOERR
+ /// - FORMERR
+ /// - SERVFAIL
+ /// - NXDOMAIN
+ /// - NOTIMP
+ /// - REFUSED
+ ///
+ /// + /// [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. + ///
+ /// 1. When |view|, or a parent of |view|, is added to a Window.
+ /// 2. When the native/OS or Chrome theme changes for the Window that contains
+ /// |view|. See ICefWindowDelegate.OnThemeColorsChanged documentation.
+ /// 3. When the client explicitly calls ICefWindow.ThemeChanged on the
+ /// Window that contains |view|.
+ ///
+ ///
+ /// 1. When |view|, or a parent of |view|, is added to a Window.
+ /// 2. When the native/OS or Chrome theme changes for the Window that contains
+ /// |view|. See ICefWindowDelegate.OnThemeColorsChanged documentation.
+ /// 3. When the client explicitly calls ICefWindow.ThemeChanged on the
+ /// Window that contains |view|.
+ ///
+ ///
+ /// 1. The overlay is initially hidden, sized to |view|'s preferred size,
+ /// and positioned in the top-left corner.
+ /// 2. Optionally change the overlay position and/or size by calling
+ /// CefOverlayController methods.
+ /// 3. Call CefOverlayController::SetVisible(true) to show the overlay.
+ /// 4. The overlay will be automatically re-sized if |view|'s layout
+ /// changes. Optionally change the overlay position and/or size when
+ /// OnLayoutChanged is called on the Window's delegate to indicate a
+ /// change in Window bounds.
+ ///
+ ///
+ /// 1. The overlay is initially hidden, sized to |view|'s preferred size,
+ /// and positioned based on |docking_mode|.
+ /// 2. Call CefOverlayController::SetVisible(true) to show the overlay.
+ /// 3. The overlay will be automatically re-sized if |view|'s layout changes
+ /// and re-positioned as appropriate when the Window resizes.
+ ///
+ ///
+ /// 1. Customize the default native/OS theme by calling SetThemeColor before
+ /// showing the first Window. When done setting colors call
+ /// ICefWindow.ThemeChanged to trigger ICefViewDelegate.OnThemeChanged
+ /// notifications.
+ /// 2. Customize the current native/OS or Chrome theme after it changes by
+ /// calling SetThemeColor from the ICefWindowDelegate.OnThemeColorsChanged
+ /// callback. ICefViewDelegate.OnThemeChanged notifications will then be
+ /// triggered automatically.
+ ///
+ ///
+ /// 1. The overlay is initially hidden, sized to |view|'s preferred size,
+ /// and positioned in the top-left corner.
+ /// 2. Optionally change the overlay position and/or size by calling
+ /// CefOverlayController methods.
+ /// 3. Call CefOverlayController::SetVisible(true) to show the overlay.
+ /// 4. The overlay will be automatically re-sized if |view|'s layout
+ /// changes. Optionally change the overlay position and/or size when
+ /// OnLayoutChanged is called on the Window's delegate to indicate a
+ /// change in Window bounds.
+ ///
+ /// 1. The overlay is initially hidden, sized to |view|'s preferred size,
+ /// and positioned based on |docking_mode|.
+ /// 2. Call CefOverlayController::SetVisible(true) to show the overlay.
+ /// 3. The overlay will be automatically re-sized if |view|'s layout changes
+ /// and re-positioned as appropriate when the Window resizes.
+ ///
+ /// 1. Customize the default native/OS theme by calling SetThemeColor before
+ /// showing the first Window. When done setting colors call
+ /// ICefWindow.ThemeChanged to trigger ICefViewDelegate.OnThemeChanged
+ /// notifications.
+ /// 2. Customize the current native/OS or Chrome theme after it changes by
+ /// calling SetThemeColor from the ICefWindowDelegate.OnThemeColorsChanged
+ /// callback. ICefViewDelegate.OnThemeChanged notifications will then be
+ /// triggered automatically.
+ ///
+ ///