diff --git a/README.md b/README.md index 830cd550..d12e6fc0 100644 --- a/README.md +++ b/README.md @@ -3,15 +3,15 @@ CEF4Delphi is an open source project created by Salvador Díaz Fau to embed Chro CEF4Delphi is based on DCEF3 and fpCEF3. The original license of those projects still applies to CEF4Delphi. Read the license terms in the LICENSE.md file. -CEF4Delphi uses CEF 129.0.12 which includes Chromium 129.0.6668.101. +CEF4Delphi uses CEF 130.1.2 which includes Chromium 130.0.6723.44. The CEF binaries used by CEF4Delphi are available for download at Spotify : -* [Windows 32 bits](https://cef-builds.spotifycdn.com/cef_binary_129.0.12%2Bgf09539f%2Bchromium-129.0.6668.101_windows32.tar.bz2) -* [Windows 64 bits](https://cef-builds.spotifycdn.com/cef_binary_129.0.12%2Bgf09539f%2Bchromium-129.0.6668.101_windows64.tar.bz2) -* [Linux x86 64 bits](https://cef-builds.spotifycdn.com/cef_binary_129.0.12%2Bgf09539f%2Bchromium-129.0.6668.101_linux64.tar.bz2) -* [Linux ARM 32 bits](https://cef-builds.spotifycdn.com/cef_binary_129.0.12%2Bgf09539f%2Bchromium-129.0.6668.101_linuxarm.tar.bz2) -* [Linux ARM 64 bits](https://cef-builds.spotifycdn.com/cef_binary_129.0.12%2Bgf09539f%2Bchromium-129.0.6668.101_linuxarm64.tar.bz2) -* [MacOS x86 64 bits](https://cef-builds.spotifycdn.com/cef_binary_129.0.12%2Bgf09539f%2Bchromium-129.0.6668.101_macosx64.tar.bz2) +* [Windows 32 bits](https://cef-builds.spotifycdn.com/cef_binary_130.1.2%2Bg48f3ef6%2Bchromium-130.0.6723.44_windows32.tar.bz2) +* [Windows 64 bits](https://cef-builds.spotifycdn.com/cef_binary_130.1.2%2Bg48f3ef6%2Bchromium-130.0.6723.44_windows64.tar.bz2) +* [Linux x86 64 bits](https://cef-builds.spotifycdn.com/cef_binary_130.1.2%2Bg48f3ef6%2Bchromium-130.0.6723.44_linux64.tar.bz2) +* [Linux ARM 32 bits](https://cef-builds.spotifycdn.com/cef_binary_130.1.2%2Bg48f3ef6%2Bchromium-130.0.6723.44_linuxarm.tar.bz2) +* [Linux ARM 64 bits](https://cef-builds.spotifycdn.com/cef_binary_130.1.2%2Bg48f3ef6%2Bchromium-130.0.6723.44_linuxarm64.tar.bz2) +* [MacOS x86 64 bits](https://cef-builds.spotifycdn.com/cef_binary_130.1.2%2Bg48f3ef6%2Bchromium-130.0.6723.44_macosx64.tar.bz2) CEF4Delphi was developed and tested on Delphi 12.2 and it has been tested in Delphi 6, Delphi XE, Delphi 10, Delphi 11 and Lazarus 3.6/FPC 3.2.2. CEF4Delphi includes VCL, FireMonkey (FMX) and Lazarus components. diff --git a/docs/cef4delphi.chm b/docs/cef4delphi.chm index 13e9d7df..2cc98d33 100644 Binary files a/docs/cef4delphi.chm and b/docs/cef4delphi.chm differ diff --git a/docs/html/AllConstants.html b/docs/html/AllConstants.html index fa37a945..5eced8e7 100644 --- a/docs/html/AllConstants.html +++ b/docs/html/AllConstants.html @@ -606,80 +606,90 @@

 

+CEF_PERMISSION_TYPE_HAND_TRACKING +uCEFConstants +

 

+ + CEF_PERMISSION_TYPE_IDENTITY_PROVIDER uCEFConstants

 

- + CEF_PERMISSION_TYPE_IDLE_DETECTION uCEFConstants

 

- + CEF_PERMISSION_TYPE_KEYBOARD_LOCK uCEFConstants

 

- + CEF_PERMISSION_TYPE_LOCAL_FONTS uCEFConstants

 

- + CEF_PERMISSION_TYPE_MIC_STREAM uCEFConstants

 

- + CEF_PERMISSION_TYPE_MIDI_SYSEX uCEFConstants

 

- + CEF_PERMISSION_TYPE_MULTIPLE_DOWNLOADS uCEFConstants

 

- + CEF_PERMISSION_TYPE_NONE uCEFConstants

Permission types used with OnShowPermissionPrompt. Some types are platform-specific or only supported with Chrome style. Should be kept in sync with Chromium's permissions::RequestType type.

- + CEF_PERMISSION_TYPE_NOTIFICATIONS uCEFConstants

 

- + CEF_PERMISSION_TYPE_POINTER_LOCK uCEFConstants

 

- + CEF_PERMISSION_TYPE_PROTECTED_MEDIA_IDENTIFIER uCEFConstants

 

- + CEF_PERMISSION_TYPE_REGISTER_PROTOCOL_HANDLER uCEFConstants

 

- + CEF_PERMISSION_TYPE_STORAGE_ACCESS uCEFConstants

 

- + CEF_PERMISSION_TYPE_TOP_LEVEL_STORAGE_ACCESS uCEFConstants

 

- + CEF_PERMISSION_TYPE_VR_SESSION uCEFConstants

 

+ +CEF_PERMISSION_TYPE_WEB_APP_INSTALLATION +uCEFConstants +

 

+ CEF_PERMISSION_TYPE_WINDOW_MANAGEMENT uCEFConstants diff --git a/docs/html/AllIdentifiers.html b/docs/html/AllIdentifiers.html index 290aab33..bfd7dea4 100644 --- a/docs/html/AllIdentifiers.html +++ b/docs/html/AllIdentifiers.html @@ -1364,80 +1364,90 @@

 

+CEF_PERMISSION_TYPE_HAND_TRACKING +uCEFConstants +

 

+ + CEF_PERMISSION_TYPE_IDENTITY_PROVIDER uCEFConstants

 

- + CEF_PERMISSION_TYPE_IDLE_DETECTION uCEFConstants

 

- + CEF_PERMISSION_TYPE_KEYBOARD_LOCK uCEFConstants

 

- + CEF_PERMISSION_TYPE_LOCAL_FONTS uCEFConstants

 

- + CEF_PERMISSION_TYPE_MIC_STREAM uCEFConstants

 

- + CEF_PERMISSION_TYPE_MIDI_SYSEX uCEFConstants

 

- + CEF_PERMISSION_TYPE_MULTIPLE_DOWNLOADS uCEFConstants

 

- + CEF_PERMISSION_TYPE_NONE uCEFConstants

Permission types used with OnShowPermissionPrompt. Some types are platform-specific or only supported with Chrome style. Should be kept in sync with Chromium's permissions::RequestType type.

- + CEF_PERMISSION_TYPE_NOTIFICATIONS uCEFConstants

 

- + CEF_PERMISSION_TYPE_POINTER_LOCK uCEFConstants

 

- + CEF_PERMISSION_TYPE_PROTECTED_MEDIA_IDENTIFIER uCEFConstants

 

- + CEF_PERMISSION_TYPE_REGISTER_PROTOCOL_HANDLER uCEFConstants

 

- + CEF_PERMISSION_TYPE_STORAGE_ACCESS uCEFConstants

 

- + CEF_PERMISSION_TYPE_TOP_LEVEL_STORAGE_ACCESS uCEFConstants

 

- + CEF_PERMISSION_TYPE_VR_SESSION uCEFConstants

 

+ +CEF_PERMISSION_TYPE_WEB_APP_INSTALLATION +uCEFConstants +

 

+ CEF_PERMISSION_TYPE_WINDOW_MANAGEMENT uCEFConstants @@ -3098,16 +3108,6 @@

 

-DeviceToLogical -uCEFMiscFunctions -

 

- - -DeviceToLogical -uCEFMiscFunctions -

 

- - DeviceToLogical uCEFMiscFunctions

 

@@ -3123,6 +3123,16 @@

 

+DeviceToLogical +uCEFMiscFunctions +

 

+ + +DeviceToLogical +uCEFMiscFunctions +

 

+ + DEVTOOLS_WINDOWNAME uCEFConstants

 

diff --git a/docs/html/cef4delphi.hhc b/docs/html/cef4delphi.hhc index f7ee6c87..b640886c 100644 --- a/docs/html/cef4delphi.hhc +++ b/docs/html/cef4delphi.hhc @@ -3280,6 +3280,10 @@
  • + + + +
  • @@ -8842,6 +8846,10 @@
  • + + + +
  • @@ -14886,6 +14894,10 @@
  • + + + +
  • @@ -14934,6 +14946,10 @@
  • + + + +
  • @@ -21194,6 +21210,10 @@
  • + + + +
  • @@ -47302,6 +47322,10 @@
  • + + + +
  • @@ -56368,6 +56392,10 @@
  • + + + +
  • @@ -69208,6 +69236,10 @@
  • + + + +
  • @@ -69412,6 +69444,10 @@
  • + + + +
  • @@ -94392,6 +94428,10 @@
  • + + + +
  • diff --git a/docs/html/cef4delphi.hhk b/docs/html/cef4delphi.hhk index 444e7df4..ebd4f9a9 100644 --- a/docs/html/cef4delphi.hhk +++ b/docs/html/cef4delphi.hhk @@ -256,16 +256,16 @@
  • - +
  • @@ -1087,6 +1087,10 @@
  • + + + +
  • @@ -1147,6 +1151,10 @@
  • + + + +
  • @@ -2508,28 +2516,28 @@
  • - +
  • @@ -4363,6 +4371,10 @@
  • + + + +
  • @@ -5614,16 +5626,16 @@
  • - +
  • @@ -13302,16 +13314,16 @@
  • - +
  • @@ -14854,16 +14866,16 @@
  • - +
  • @@ -17624,16 +17636,16 @@
  • - +
  • @@ -18363,6 +18375,10 @@
  • + + + +
  • @@ -18639,6 +18655,10 @@
  • + + + +
  • @@ -20248,16 +20268,16 @@
  • - +
  • @@ -21314,16 +21334,16 @@
  • - +
  • @@ -24624,11 +24644,15 @@
  • - +
    • + + +
    • +
    • @@ -24639,10 +24663,6 @@ -
    • - - -
  • @@ -38546,16 +38566,16 @@
  • - +
    • - +
    • - +
  • @@ -38572,16 +38592,16 @@
  • - +
    • - +
    • - +
  • @@ -40665,6 +40685,10 @@
  • + + + +
  • @@ -41554,16 +41578,16 @@
  • - +
    • - +
    • - +
  • @@ -41620,16 +41644,16 @@
  • - +
    • - +
    • - +
  • @@ -41922,12 +41946,12 @@
  • - +
    • - +
    • @@ -41935,11 +41959,11 @@
    • - +
    • - +
    • @@ -44485,11 +44509,11 @@
    • - +
    • - +
  • @@ -44614,16 +44638,16 @@
  • - +
    • - +
    • - +
  • @@ -45266,16 +45290,16 @@
  • - +
    • - +
    • - +
  • @@ -45336,16 +45360,16 @@
  • - +
    • - +
    • - +
  • diff --git a/docs/html/cef4delphi.log b/docs/html/cef4delphi.log deleted file mode 100644 index 0e527d65..00000000 --- a/docs/html/cef4delphi.log +++ /dev/null @@ -1,939 +0,0 @@ -Microsoft HTML Help Compiler 4.74.8702 - -Compiling c:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\docs\cef4delphi.chm - -Legend.html -AllUnits.html -ClassHierarchy.html -AllClasses.html -AllTypes.html -AllVariables.html -AllConstants.html -AllFunctions.html -AllIdentifiers.html -uCEFAccessibilityHandler.html -uCEFAccessibilityHandler.TCEFAccessibilityHandlerOwn.html -uCEFAccessibilityHandler.TCustomAccessibilityHandler.html -uCEFApp.html -uCEFApp.TCefAppOwn.html -uCEFApp.TCustomCefApp.html -uCEFApplication.html -uCEFApplication.TCefApplication.html -uCEFApplicationCore.html -uCEFApplicationCore.TCefApplicationCore.html -uCEFApplicationCore.TCEFDirectoryDeleterThread.html -uCEFApplicationEvents.html -uCEFArgCopy.html -uCEFArgCopy.TCEFArgCopy.html -uCEFAudioHandler.html -uCEFAudioHandler.TCefAudioHandlerOwn.html -uCEFAudioHandler.TCustomAudioHandler.html -uCEFAuthCallback.html -uCEFAuthCallback.TCefAuthCallbackRef.html -uCEFBaseRefCounted.html -uCEFBaseRefCounted.TLoggingInterfacedObject.html -uCEFBaseRefCounted.TCefBaseRefCountedOwn.html -uCEFBaseRefCounted.TCefBaseRefCountedRef.html -uCEFBaseScopedWrapper.html -uCEFBaseScopedWrapper.TCEFBaseScopedWrapperRef.html -uCEFBeforeDownloadCallback.html -uCEFBeforeDownloadCallback.TCefBeforeDownloadCallbackRef.html -uCEFBinaryValue.html -uCEFBinaryValue.TCefBinaryValueRef.html -uCEFBinaryValue.TCefBinaryValueOwn.html -uCEFBitmapBitBuffer.html -uCEFBitmapBitBuffer.TCEFBitmapBitBuffer.html -uCEFBoxLayout.html -uCEFBoxLayout.TCefBoxLayoutRef.html -uCEFBrowser.html -uCEFBrowser.TCefBrowserRef.html -uCEFBrowser.TCefBrowserHostRef.html -uCEFBrowserBitmap.html -uCEFBrowserBitmap.TCEFBrowserBitmap.html -uCEFBrowserProcessHandler.html -uCEFBrowserProcessHandler.TCefBrowserProcessHandlerOwn.html -uCEFBrowserProcessHandler.TCefCustomBrowserProcessHandler.html -uCEFBrowserView.html -uCEFBrowserView.TCefBrowserViewRef.html -uCEFBrowserViewComponent.html -uCEFBrowserViewComponent.TCEFBrowserViewComponent.html -uCEFBrowserViewDelegate.html -uCEFBrowserViewDelegate.TCefBrowserViewDelegateRef.html -uCEFBrowserViewDelegate.TCefBrowserViewDelegateOwn.html -uCEFBrowserViewDelegate.TCustomBrowserViewDelegate.html -uCEFBrowserWindow.html -uCEFBrowserWindow.TEmbeddedChromium.html -uCEFBrowserWindow.TChromiumWrapper.html -uCEFBrowserWindow.TBrowserWindow.html -uCEFBufferPanel.html -uCEFBufferPanel.TBufferPanel.html -uCEFButton.html -uCEFButton.TCefButtonRef.html -uCEFButtonComponent.html -uCEFButtonComponent.TCEFButtonComponent.html -uCEFButtonDelegate.html -uCEFButtonDelegate.TCefButtonDelegateRef.html -uCEFButtonDelegate.TCefButtonDelegateOwn.html -uCEFButtonDelegate.TCustomButtonDelegate.html -uCEFCallback.html -uCEFCallback.TCefCallbackRef.html -uCEFChromium.html -uCEFChromium.TChromium.html -uCEFChromiumCore.html -uCEFChromiumCore.TChromiumCore.html -uCEFChromiumCore.TBrowserInfo.html -uCEFChromiumCore.TBrowserInfoList.html -uCEFChromiumEvents.html -uCEFChromiumFontOptions.html -uCEFChromiumFontOptions.TChromiumFontOptions.html -uCEFChromiumOptions.html -uCEFChromiumOptions.TChromiumOptions.html -uCEFChromiumWindow.html -uCEFChromiumWindow.TChromiumWindow.html -uCEFClient.html -uCEFClient.TCefClientRef.html -uCEFClient.TCefClientOwn.html -uCEFClient.TCustomClientHandler.html -uCEFCommandHandler.html -uCEFCommandHandler.TCefCommandHandlerOwn.html -uCEFCommandHandler.TCustomCommandHandler.html -uCEFCommandLine.html -uCEFCommandLine.TCefCommandLineRef.html -uCEFCompletionCallback.html -uCEFCompletionCallback.TCefCompletionCallbackOwn.html -uCEFCompletionCallback.TCefFastCompletionCallback.html -uCEFCompletionCallback.TCefEventCompletionCallback.html -uCEFCompletionCallback.TCefCustomCompletionCallback.html -uCEFComponentIdList.html -uCEFComponentIdList.TCEFComponentIdList.html -uCEFConstants.html -uCEFContextMenuHandler.html -uCEFContextMenuHandler.TCefContextMenuHandlerOwn.html -uCEFContextMenuHandler.TCustomContextMenuHandler.html -uCEFContextMenuParams.html -uCEFContextMenuParams.TCefContextMenuParamsRef.html -uCEFCookieAccessFilter.html -uCEFCookieAccessFilter.TCefCookieAccessFilterRef.html -uCEFCookieAccessFilter.TCefCookieAccessFilterOwn.html -uCEFCookieAccessFilter.TCustomCookieAccessFilter.html -uCEFCookieManager.html -uCEFCookieManager.TCefCookieManagerRef.html -uCEFCookieManager.TCefFlushStoreCompletionCallback.html -uCEFCookieVisitor.html -uCEFCookieVisitor.TCefCookieVisitorOwn.html -uCEFCookieVisitor.TCefFastCookieVisitor.html -uCEFCookieVisitor.TCefCustomCookieVisitor.html -uCEFCustomStreamReader.html -uCEFCustomStreamReader.TCefCustomStreamReader.html -uCEFDeleteCookiesCallback.html -uCEFDeleteCookiesCallback.TCefDeleteCookiesCallbackOwn.html -uCEFDeleteCookiesCallback.TCefFastDeleteCookiesCallback.html -uCEFDeleteCookiesCallback.TCefCustomDeleteCookiesCallback.html -uCEFDevToolsMessageObserver.html -uCEFDevToolsMessageObserver.TCEFDevToolsMessageObserverOwn.html -uCEFDevToolsMessageObserver.TCustomDevToolsMessageObserver.html -uCEFDialogHandler.html -uCEFDialogHandler.TCefDialogHandlerOwn.html -uCEFDialogHandler.TCustomDialogHandler.html -uCEFDictionaryValue.html -uCEFDictionaryValue.TCefDictionaryValueRef.html -uCEFDisplay.html -uCEFDisplay.TCefDisplayRef.html -uCEFDisplayHandler.html -uCEFDisplayHandler.TCefDisplayHandlerOwn.html -uCEFDisplayHandler.TCustomDisplayHandler.html -uCEFDomDocument.html -uCEFDomDocument.TCefDomDocumentRef.html -uCEFDomNode.html -uCEFDomNode.TCefDomNodeRef.html -uCEFDomVisitor.html -uCEFDomVisitor.TCefDomVisitorOwn.html -uCEFDomVisitor.TCefFastDomVisitor.html -uCEFDomVisitor.TCefFastDomVisitor2.html -uCEFDomVisitor.TCefFastDomVisitor3.html -uCEFDownloadHandler.html -uCEFDownloadHandler.TCefDownloadHandlerOwn.html -uCEFDownloadHandler.TCustomDownloadHandler.html -uCEFDownloadImageCallBack.html -uCEFDownloadImageCallBack.TCefDownloadImageCallbackOwn.html -uCEFDownloadImageCallBack.TCefFastDownloadImageCallback.html -uCEFDownloadImageCallBack.TCefCustomDownloadImageCallback.html -uCEFDownloadItem.html -uCEFDownloadItem.TCefDownloadItemRef.html -uCEFDownloadItemCallback.html -uCEFDownloadItemCallback.TCefDownloadItemCallbackRef.html -uCEFDragAndDropMgr.html -uCEFDragAndDropMgr.TCEFDragAndDropMgr.html -uCEFDragData.html -uCEFDragData.TCefDragDataRef.html -uCEFDragHandler.html -uCEFDragHandler.TCefDragHandlerOwn.html -uCEFDragHandler.TCustomDragHandler.html -uCEFEndTracingCallback.html -uCEFEndTracingCallback.TCefEndTracingCallbackOwn.html -uCEFEndTracingCallback.TCefFastEndTracingCallback.html -uCEFFileDialogCallback.html -uCEFFileDialogCallback.TCefFileDialogCallbackRef.html -uCEFFileDialogInfo.html -uCEFFileDialogInfo.TCEFFileDialogInfo.html -uCEFFillLayout.html -uCEFFillLayout.TCefFillLayoutRef.html -uCEFFindHandler.html -uCEFFindHandler.TCefFindHandlerOwn.html -uCEFFindHandler.TCustomFindHandler.html -uCEFFMXBufferPanel.html -uCEFFMXBufferPanel.TFMXBufferPanel.html -uCEFFMXChromium.html -uCEFFMXChromium.TFMXChromium.html -uCEFFMXWindowParent.html -uCEFFMXWindowParent.TFMXWindowParent.html -uCEFFMXWorkScheduler.html -uCEFFMXWorkScheduler.TFMXWorkScheduler.html -uCEFFocusHandler.html -uCEFFocusHandler.TCefFocusHandlerOwn.html -uCEFFocusHandler.TCustomFocusHandler.html -uCEFFrame.html -uCEFFrame.TCefFrameRef.html -uCEFFrameHandler.html -uCEFFrameHandler.TCefFrameHandlerOwn.html -uCEFFrameHandler.TCustomFrameHandler.html -uCEFImage.html -uCEFImage.TCefImageRef.html -uCEFInterfaces.html -uCEFInterfaces.TCefMediaSinkInfo.html -uCEFInterfaces.TCefMediaRouteInfo.html -uCEFInterfaces.TCefMediaSourceInfo.html -uCEFInterfaces.ICefStringList.html -uCEFInterfaces.ICefStringMap.html -uCEFInterfaces.ICefStringMultimap.html -uCEFInterfaces.IApplicationCoreEvents.html -uCEFInterfaces.IChromiumEvents.html -uCEFInterfaces.IServerEvents.html -uCEFInterfaces.ICEFUrlRequestClientEvents.html -uCEFInterfaces.ICefViewDelegateEvents.html -uCEFInterfaces.ICefTextfieldDelegateEvents.html -uCEFInterfaces.ICefBrowserViewDelegateEvents.html -uCEFInterfaces.ICefButtonDelegateEvents.html -uCEFInterfaces.ICefMenuButtonDelegateEvents.html -uCEFInterfaces.ICefPanelDelegateEvents.html -uCEFInterfaces.ICefWindowDelegateEvents.html -uCEFInterfaces.ICefBaseRefCounted.html -uCEFInterfaces.ICefRunFileDialogCallback.html -uCEFInterfaces.ICefNavigationEntryVisitor.html -uCEFInterfaces.ICefPdfPrintCallback.html -uCEFInterfaces.ICefDownloadImageCallback.html -uCEFInterfaces.ICefBrowserHost.html -uCEFInterfaces.ICefProcessMessage.html -uCEFInterfaces.ICefBrowser.html -uCEFInterfaces.ICefPostDataElement.html -uCEFInterfaces.ICefPostData.html -uCEFInterfaces.ICefRequest.html -uCEFInterfaces.ICefStringVisitor.html -uCEFInterfaces.ICefFrame.html -uCEFInterfaces.ICefFrameHandler.html -uCEFInterfaces.ICefCustomStreamReader.html -uCEFInterfaces.ICefStreamReader.html -uCEFInterfaces.ICefReadHandler.html -uCEFInterfaces.ICefWriteHandler.html -uCEFInterfaces.ICefStreamWriter.html -uCEFInterfaces.ICefResponse.html -uCEFInterfaces.ICefDownloadItem.html -uCEFInterfaces.ICefBeforeDownloadCallback.html -uCEFInterfaces.ICefDownloadItemCallback.html -uCEFInterfaces.ICefDownloadHandler.html -uCEFInterfaces.ICefV8Exception.html -uCEFInterfaces.ICefv8ArrayBufferReleaseCallback.html -uCEFInterfaces.ICefv8Context.html -uCEFInterfaces.ICefv8Handler.html -uCEFInterfaces.ICefV8Interceptor.html -uCEFInterfaces.ICefV8Accessor.html -uCEFInterfaces.ICefTask.html -uCEFInterfaces.ICefTaskManager.html -uCEFInterfaces.ICefTaskRunner.html -uCEFInterfaces.ICefThread.html -uCEFInterfaces.ICefWaitableEvent.html -uCEFInterfaces.ICefv8Value.html -uCEFInterfaces.ICefV8StackFrame.html -uCEFInterfaces.ICefV8StackTrace.html -uCEFInterfaces.ICefXmlReader.html -uCEFInterfaces.ICefZipReader.html -uCEFInterfaces.ICefDomNode.html -uCEFInterfaces.ICefDomDocument.html -uCEFInterfaces.ICefDomVisitor.html -uCEFInterfaces.ICefCookieVisitor.html -uCEFInterfaces.ICefCommandLine.html -uCEFInterfaces.ICefRegistration.html -uCEFInterfaces.ICefDevToolsMessageObserver.html -uCEFInterfaces.ICefMediaRouter.html -uCEFInterfaces.ICefMediaObserver.html -uCEFInterfaces.ICefMediaRoute.html -uCEFInterfaces.ICefMediaRouteCreateCallback.html -uCEFInterfaces.ICefMediaSinkDeviceInfoCallback.html -uCEFInterfaces.ICefMediaSink.html -uCEFInterfaces.ICefMediaSource.html -uCEFInterfaces.ICefResourceBundleHandler.html -uCEFInterfaces.ICefBrowserProcessHandler.html -uCEFInterfaces.ICefRenderProcessHandler.html -uCEFInterfaces.ICefApp.html -uCEFInterfaces.ICefCompletionCallback.html -uCEFInterfaces.ICefSetCookieCallback.html -uCEFInterfaces.ICefDeleteCookiesCallback.html -uCEFInterfaces.ICefCookieManager.html -uCEFInterfaces.ICefCallback.html -uCEFInterfaces.ICefResourceSkipCallback.html -uCEFInterfaces.ICefResourceReadCallback.html -uCEFInterfaces.ICefResourceHandler.html -uCEFInterfaces.ICefSchemeHandlerFactory.html -uCEFInterfaces.ICefAuthCallback.html -uCEFInterfaces.ICefJsDialogCallback.html -uCEFInterfaces.ICefContextMenuParams.html -uCEFInterfaces.ICefMenuModel.html -uCEFInterfaces.ICefValue.html -uCEFInterfaces.ICefBinaryValue.html -uCEFInterfaces.ICefDictionaryValue.html -uCEFInterfaces.ICefListValue.html -uCEFInterfaces.ICefLifeSpanHandler.html -uCEFInterfaces.ICefCommandHandler.html -uCEFInterfaces.ICefLoadHandler.html -uCEFInterfaces.ICefResponseFilter.html -uCEFInterfaces.ICefRequestHandler.html -uCEFInterfaces.ICefResourceRequestHandler.html -uCEFInterfaces.ICefCookieAccessFilter.html -uCEFInterfaces.ICefDisplayHandler.html -uCEFInterfaces.ICefFocusHandler.html -uCEFInterfaces.ICefKeyboardHandler.html -uCEFInterfaces.ICefJsDialogHandler.html -uCEFInterfaces.ICefAudioHandler.html -uCEFInterfaces.ICefRunContextMenuCallback.html -uCEFInterfaces.ICefRunQuickMenuCallback.html -uCEFInterfaces.ICefContextMenuHandler.html -uCEFInterfaces.ICefAccessibilityHandler.html -uCEFInterfaces.ICefDialogHandler.html -uCEFInterfaces.ICefRenderHandler.html -uCEFInterfaces.ICefClient.html -uCEFInterfaces.ICefUrlRequest.html -uCEFInterfaces.ICefUrlrequestClient.html -uCEFInterfaces.ICefEndTracingCallback.html -uCEFInterfaces.ICefFileDialogCallback.html -uCEFInterfaces.ICefUnresponsiveProcessCallback.html -uCEFInterfaces.ICefDragData.html -uCEFInterfaces.ICefDragHandler.html -uCEFInterfaces.ICefFindHandler.html -uCEFInterfaces.ICefRequestContextHandler.html -uCEFInterfaces.ICefResolveCallback.html -uCEFInterfaces.ICefPreferenceManager.html -uCEFInterfaces.ICefRequestContext.html -uCEFInterfaces.ICefPrintSettings.html -uCEFInterfaces.ICefPrintDialogCallback.html -uCEFInterfaces.ICefPrintJobCallback.html -uCEFInterfaces.ICefPrintHandler.html -uCEFInterfaces.ICefNavigationEntry.html -uCEFInterfaces.ICefX509CertPrincipal.html -uCEFInterfaces.ICefX509Certificate.html -uCEFInterfaces.ICefSslInfo.html -uCEFInterfaces.ICefSSLStatus.html -uCEFInterfaces.ICefSelectClientCertificateCallback.html -uCEFInterfaces.ICefResourceBundle.html -uCEFInterfaces.ICefImage.html -uCEFInterfaces.ICefMenuModelDelegate.html -uCEFInterfaces.ICefServer.html -uCEFInterfaces.ICefServerHandler.html -uCEFInterfaces.ICefMediaAccessCallback.html -uCEFInterfaces.ICefMediaAccessHandler.html -uCEFInterfaces.ICefPermissionPromptCallback.html -uCEFInterfaces.ICefPermissionHandler.html -uCEFInterfaces.ICefSharedMemoryRegion.html -uCEFInterfaces.ICefSharedProcessMessageBuilder.html -uCEFInterfaces.ICefDisplay.html -uCEFInterfaces.ICefLayout.html -uCEFInterfaces.ICefBoxLayout.html -uCEFInterfaces.ICefFillLayout.html -uCEFInterfaces.ICefOverlayController.html -uCEFInterfaces.ICefView.html -uCEFInterfaces.ICefViewDelegate.html -uCEFInterfaces.ICefTextfield.html -uCEFInterfaces.ICefTextfieldDelegate.html -uCEFInterfaces.ICefScrollView.html -uCEFInterfaces.ICefPanel.html -uCEFInterfaces.ICefPanelDelegate.html -uCEFInterfaces.ICefBrowserView.html -uCEFInterfaces.ICefBrowserViewDelegate.html -uCEFInterfaces.ICefButton.html -uCEFInterfaces.ICefButtonDelegate.html -uCEFInterfaces.ICefLabelButton.html -uCEFInterfaces.ICefMenuButton.html -uCEFInterfaces.ICefMenuButtonPressedLock.html -uCEFInterfaces.ICefMenuButtonDelegate.html -uCEFInterfaces.ICefWindow.html -uCEFInterfaces.ICefWindowDelegate.html -uCEFJsDialogCallback.html -uCEFJsDialogCallback.TCefJsDialogCallbackRef.html -uCEFJsDialogHandler.html -uCEFJsDialogHandler.TCefJsDialogHandlerOwn.html -uCEFJsDialogHandler.TCustomJsDialogHandler.html -uCEFJson.html -uCEFJson.TCEFJson.html -uCEFKeyboardHandler.html -uCEFKeyboardHandler.TCefKeyboardHandlerOwn.html -uCEFKeyboardHandler.TCustomKeyboardHandler.html -uCEFLabelButton.html -uCEFLabelButton.TCefLabelButtonRef.html -uCEFLabelButtonComponent.html -uCEFLabelButtonComponent.TCEFLabelButtonComponent.html -uCEFLayout.html -uCEFLayout.TCefLayoutRef.html -uCEFLazarusCocoa.html -uCEFLibFunctions.html -uCEFLifeSpanHandler.html -uCEFLifeSpanHandler.TCefLifeSpanHandlerOwn.html -uCEFLifeSpanHandler.TCustomLifeSpanHandler.html -uCEFLinkedWinControlBase.html -uCEFLinkedWinControlBase.TCEFLinkedWinControlBase.html -uCEFLinkedWindowParent.html -uCEFLinkedWindowParent.TCEFLinkedWindowParent.html -uCEFLinuxConstants.html -uCEFLinuxEventPipe.html -uCEFLinuxFunctions.html -uCEFLinuxTypes.html -uCEFListValue.html -uCEFListValue.TCefListValueRef.html -uCEFLoadHandler.html -uCEFLoadHandler.TCefLoadHandlerOwn.html -uCEFLoadHandler.TCustomLoadHandler.html -uCEFLoadHandler.TCustomRenderLoadHandler.html -uCEFMacOSConstants.html -uCEFMacOSCustomCocoaTimer.html -uCEFMacOSFunctions.html -uCEFMacOSInterfaces.html -uCEFMediaAccessCallback.html -uCEFMediaAccessCallback.TCefMediaAccessCallbackRef.html -uCEFMediaAccessHandler.html -uCEFMediaAccessHandler.TCefMediaAccessHandlerOwn.html -uCEFMediaObserver.html -uCEFMediaObserver.TCefMediaObserverOwn.html -uCEFMediaObserver.TCustomMediaObserver.html -uCEFMediaRoute.html -uCEFMediaRoute.TCefMediaRouteRef.html -uCEFMediaRouteCreateCallback.html -uCEFMediaRouteCreateCallback.TCefMediaRouteCreateCallbackOwn.html -uCEFMediaRouteCreateCallback.TCefFastMediaRouteCreateCallback.html -uCEFMediaRouteCreateCallback.TCefCustomMediaRouteCreateCallback.html -uCEFMediaRouter.html -uCEFMediaRouter.TCefMediaRouterRef.html -uCEFMediaSink.html -uCEFMediaSink.TCefMediaSinkRef.html -uCEFMediaSinkDeviceInfoCallback.html -uCEFMediaSinkDeviceInfoCallback.TCefMediaSinkDeviceInfoCallbackOwn.html -uCEFMediaSinkDeviceInfoCallback.TCefFastMediaSinkDeviceInfoCallback.html -uCEFMediaSinkDeviceInfoCallback.TCefCustomMediaSinkDeviceInfoCallback.html -uCEFMediaSource.html -uCEFMediaSource.TCefMediaSourceRef.html -uCEFMenuButton.html -uCEFMenuButton.TCefMenuButtonRef.html -uCEFMenuButtonComponent.html -uCEFMenuButtonComponent.TCEFMenuButtonComponent.html -uCEFMenuButtonDelegate.html -uCEFMenuButtonDelegate.TCefMenuButtonDelegateRef.html -uCEFMenuButtonDelegate.TCefMenuButtonDelegateOwn.html -uCEFMenuButtonDelegate.TCustomMenuButtonDelegate.html -uCEFMenuButtonPressedLock.html -uCEFMenuButtonPressedLock.TCefMenuButtonPressedLockRef.html -uCEFMenuModel.html -uCEFMenuModel.TCefMenuModelRef.html -uCEFMenuModelDelegate.html -uCEFMenuModelDelegate.TCefMenuModelDelegateOwn.html -uCEFMiscFunctions.html -uCEFNavigationEntry.html -uCEFNavigationEntry.TCefNavigationEntryRef.html -uCEFNavigationEntryVisitor.html -uCEFNavigationEntryVisitor.TCefNavigationEntryVisitorOwn.html -uCEFNavigationEntryVisitor.TCefFastNavigationEntryVisitor.html -uCEFNavigationEntryVisitor.TCustomCefNavigationEntryVisitor.html -uCEFOAuth2Helper.html -uCEFOAuth2Helper.TCEFOAuth2Helper.html -uCEFOLEDragAndDrop.html -uCEFOLEDragAndDrop.TOLEDragAndDropMgr.html -uCEFOLEDragAndDrop.TOLEEnumFormatEtc.html -uCEFOLEDragAndDrop.TOLEDropSource.html -uCEFOLEDragAndDrop.TOLEDataObject.html -uCEFOLEDragAndDrop.TOLEDropTarget.html -uCEFOsrBrowserWindow.html -uCEFOsrBrowserWindow.TEmbeddedOsrChromium.html -uCEFOsrBrowserWindow.TOsrBrowserWindow.html -uCEFOSRIMEHandler.html -uCEFOSRIMEHandler.TCEFOSRIMEHandler.html -uCEFOverlayController.html -uCEFOverlayController.TCefOverlayControllerRef.html -uCEFPanel.html -uCEFPanel.TCefPanelRef.html -uCEFPanelComponent.html -uCEFPanelComponent.TCEFPanelComponent.html -uCEFPanelDelegate.html -uCEFPanelDelegate.TCefPanelDelegateRef.html -uCEFPanelDelegate.TCefPanelDelegateOwn.html -uCEFPanelDelegate.TCustomPanelDelegate.html -uCEFPDFPrintCallback.html -uCEFPDFPrintCallback.TCefPdfPrintCallbackOwn.html -uCEFPDFPrintCallback.TCefFastPdfPrintCallback.html -uCEFPDFPrintCallback.TCefCustomPDFPrintCallBack.html -uCEFPDFPrintOptions.html -uCEFPDFPrintOptions.TPDFPrintOptions.html -uCEFPermissionHandler.html -uCEFPermissionHandler.TCefPermissionHandlerOwn.html -uCEFPermissionHandler.TCustomPermissionHandler.html -uCEFPermissionPromptCallback.html -uCEFPermissionPromptCallback.TCefPermissionPromptCallbackRef.html -uCEFPostData.html -uCEFPostData.TCefPostDataRef.html -uCEFPostDataElement.html -uCEFPostDataElement.TCefPostDataElementRef.html -uCEFPostDataElement.TCefPostDataElementOwn.html -uCEFPreferenceManager.html -uCEFPreferenceManager.TCefPreferenceManagerRef.html -uCEFPreferenceRegistrar.html -uCEFPreferenceRegistrar.TCefPreferenceRegistrarRef.html -uCEFPrintDialogCallback.html -uCEFPrintDialogCallback.TCefPrintDialogCallbackRef.html -uCEFPrintHandler.html -uCEFPrintHandler.TCefPrintHandlerOwn.html -uCEFPrintHandler.TCustomPrintHandler.html -uCEFPrintJobCallback.html -uCEFPrintJobCallback.TCefPrintJobCallbackRef.html -uCEFPrintSettings.html -uCEFPrintSettings.TCefPrintSettingsRef.html -uCEFProcessMessage.html -uCEFProcessMessage.TCefProcessMessageRef.html -uCEFRegistration.html -uCEFRegistration.TCefRegistrationRef.html -uCEFRenderHandler.html -uCEFRenderHandler.TCefRenderHandlerOwn.html -uCEFRenderHandler.TCustomRenderHandler.html -uCEFRenderProcessHandler.html -uCEFRenderProcessHandler.TCefRenderProcessHandlerOwn.html -uCEFRenderProcessHandler.TCefCustomRenderProcessHandler.html -uCEFRequest.html -uCEFRequest.TCefRequestRef.html -uCEFRequestContext.html -uCEFRequestContext.TCefRequestContextRef.html -uCEFRequestContext.TCefClearCertificateExceptionsCompletionCallback.html -uCEFRequestContext.TCefClearHttpAuthCredentialsCompletionCallback.html -uCEFRequestContext.TCefCloseAllConnectionsCompletionCallback.html -uCEFRequestContextHandler.html -uCEFRequestContextHandler.TCefRequestContextHandlerRef.html -uCEFRequestContextHandler.TCefRequestContextHandlerOwn.html -uCEFRequestContextHandler.TCustomRequestContextHandler.html -uCEFRequestHandler.html -uCEFRequestHandler.TCefRequestHandlerOwn.html -uCEFRequestHandler.TCustomRequestHandler.html -uCEFResolveCallback.html -uCEFResolveCallback.TCefResolveCallbackOwn.html -uCEFResolveCallback.TCefCustomResolveCallback.html -uCEFResourceBundle.html -uCEFResourceBundle.TCefResourceBundleRef.html -uCEFResourceBundleHandler.html -uCEFResourceBundleHandler.TCefResourceBundleHandlerOwn.html -uCEFResourceBundleHandler.TCefCustomResourceBundleHandler.html -uCEFResourceHandler.html -uCEFResourceHandler.TCefResourceHandlerRef.html -uCEFResourceHandler.TCefResourceHandlerOwn.html -uCEFResourceReadCallback.html -uCEFResourceReadCallback.TCefResourceReadCallbackRef.html -uCEFResourceRequestHandler.html -uCEFResourceRequestHandler.TCefResourceRequestHandlerRef.html -uCEFResourceRequestHandler.TCefResourceRequestHandlerOwn.html -uCEFResourceRequestHandler.TCustomResourceRequestHandler.html -uCEFResourceSkipCallback.html -uCEFResourceSkipCallback.TCefResourceSkipCallbackRef.html -uCEFResponse.html -uCEFResponse.TCefResponseRef.html -uCEFResponseFilter.html -uCEFResponseFilter.TCefResponseFilterRef.html -uCEFResponseFilter.TCefResponseFilterOwn.html -uCEFResponseFilter.TCustomResponseFilter.html -uCEFRunContextMenuCallback.html -uCEFRunContextMenuCallback.TCefRunContextMenuCallbackRef.html -uCEFRunFileDialogCallback.html -uCEFRunFileDialogCallback.TCefRunFileDialogCallbackOwn.html -uCEFRunFileDialogCallback.TCefFastRunFileDialogCallback.html -uCEFRunQuickMenuCallback.html -uCEFRunQuickMenuCallback.TCefRunQuickMenuCallbackRef.html -uCEFSchemeHandlerFactory.html -uCEFSchemeHandlerFactory.TCefSchemeHandlerFactoryOwn.html -uCEFSchemeRegistrar.html -uCEFSchemeRegistrar.TCefSchemeRegistrarRef.html -uCEFScrollView.html -uCEFScrollView.TCefScrollViewRef.html -uCEFScrollViewComponent.html -uCEFScrollViewComponent.TCEFScrollViewComponent.html -uCEFSelectClientCertificateCallback.html -uCEFSelectClientCertificateCallback.TCefSelectClientCertificateCallbackRef.html -uCEFSentinel.html -uCEFSentinel.TCEFSentinel.html -uCEFServer.html -uCEFServer.TCEFServerRef.html -uCEFServerComponent.html -uCEFServerComponent.TCEFServerComponent.html -uCEFServerEvents.html -uCEFServerHandler.html -uCEFServerHandler.TCEFServerHandlerOwn.html -uCEFServerHandler.TCustomServerHandler.html -uCEFSetCookieCallback.html -uCEFSetCookieCallback.TCefSetCookieCallbackOwn.html -uCEFSetCookieCallback.TCefFastSetCookieCallback.html -uCEFSetCookieCallback.TCefCustomSetCookieCallback.html -uCEFSharedMemoryRegion.html -uCEFSharedMemoryRegion.TCefSharedMemoryRegionRef.html -uCEFSharedProcessMessageBuilder.html -uCEFSharedProcessMessageBuilder.TCefSharedProcessMessageBuilderRef.html -uCEFSslInfo.html -uCEFSslInfo.TCefSslInfoRef.html -uCEFSSLStatus.html -uCEFSSLStatus.TCefSSLStatusRef.html -uCEFStreamReader.html -uCEFStreamReader.TCefStreamReaderRef.html -uCEFStreamWriter.html -uCEFStreamWriter.TCefStreamWriterRef.html -uCEFStringList.html -uCEFStringList.TCefCustomStringList.html -uCEFStringList.TCefStringListOwn.html -uCEFStringList.TCefStringListRef.html -uCEFStringMap.html -uCEFStringMap.TCefCustomStringMap.html -uCEFStringMap.TCefStringMapOwn.html -uCEFStringMap.TCefStringMapRef.html -uCEFStringMultimap.html -uCEFStringMultimap.TCefCustomStringMultimap.html -uCEFStringMultimap.TCefStringMultimapOwn.html -uCEFStringMultimap.TCefStringMultimapRef.html -uCEFStringVisitor.html -uCEFStringVisitor.TCefStringVisitorOwn.html -uCEFStringVisitor.TCefFastStringVisitor.html -uCEFStringVisitor.TCustomCefStringVisitor.html -uCEFTask.html -uCEFTask.TCefTaskOwn.html -uCEFTask.TCefTaskRef.html -uCEFTask.TCefFastTask.html -uCEFTask.TCefManagedTask.html -uCEFTask.TCefChromiumTask.html -uCEFTask.TCefViewDelegateTask.html -uCEFTask.TCefURLRequestClientTask.html -uCEFTask.TCefUpdatePrefsTask.html -uCEFTask.TCefSavePrefsTask.html -uCEFTask.TCefURLRequestTask.html -uCEFTask.TCefGenericTask.html -uCEFTask.TCefUpdateZoomStepTask.html -uCEFTask.TCefUpdateZoomPctTask.html -uCEFTask.TCefReadZoomTask.html -uCEFTask.TCefSetZoomLevelTask.html -uCEFTask.TCefSetZoomPctTask.html -uCEFTask.TCefSetZoomStepTask.html -uCEFTask.TCefCreateCustomViewTask.html -uCEFTask.TCefBrowserNavigationTask.html -uCEFTask.TCefSetAudioMutedTask.html -uCEFTask.TCefToggleAudioMutedTask.html -uCEFTask.TCefEnableFocusTask.html -uCEFTask.TCefTryCloseBrowserTask.html -uCEFTaskManager.html -uCEFTaskManager.TCefTaskManagerRef.html -uCEFTaskRunner.html -uCEFTaskRunner.TCefTaskRunnerRef.html -uCEFTextfield.html -uCEFTextfield.TCefTextfieldRef.html -uCEFTextfieldComponent.html -uCEFTextfieldComponent.TCEFTextfieldComponent.html -uCEFTextfieldDelegate.html -uCEFTextfieldDelegate.TCefTextfieldDelegateRef.html -uCEFTextfieldDelegate.TCefTextfieldDelegateOwn.html -uCEFTextfieldDelegate.TCustomTextfieldDelegate.html -uCEFThread.html -uCEFThread.TCefThreadRef.html -uCEFTimerWorkScheduler.html -uCEFTimerWorkScheduler.TCEFTimerWorkScheduler.html -uCEFTypes.html -uCEFTypes.TCefAcceleratedPaintInfo.html -uCEFTypes.TMyMemoryStatusEx.html -uCEFTypes.TOSVersionInfoEx.html -uCEFTypes.TCefStringWide.html -uCEFTypes.TCefStringUtf8.html -uCEFTypes.TCefStringUtf16.html -uCEFTypes.TFileVersionInfo.html -uCEFTypes.TCefMainArgs.html -uCEFTypes.TCefRect.html -uCEFTypes.TCefPoint.html -uCEFTypes.TCefSize.html -uCEFTypes.TCefRange.html -uCEFTypes.TCefCursorInfo.html -uCEFTypes.TCefLinuxWindowProperties.html -uCEFTypes.TLinuxWindowProperties.html -uCEFTypes.TCefUrlParts.html -uCEFTypes.TUrlParts.html -uCEFTypes.TCefInsets.html -uCEFTypes.TCefTaskInfo.html -uCEFTypes.TCustomTaskInfo.html -uCEFTypes.TCefTouchHandleState.html -uCEFTypes.TCefCompositionUnderline.html -uCEFTypes.TCefTime.html -uCEFTypes.TCefBoxLayoutSettings.html -uCEFTypes.TCefSettings.html -uCEFTypes.TCefWindowInfo.html -uCEFTypes.TCefDraggableRegion.html -uCEFTypes.TCefKeyEvent.html -uCEFTypes.TCefPopupFeatures.html -uCEFTypes.TCefBrowserSettings.html -uCEFTypes.TCefScreenInfo.html -uCEFTypes.TCefRequestContextSettings.html -uCEFTypes.TCefCookie.html -uCEFTypes.TCookie.html -uCEFTypes.TCefPdfPrintSettings.html -uCEFTypes.TCefMouseEvent.html -uCEFTypes.TCefTouchEvent.html -uCEFTypes.TCefSimulatedTouchPoint.html -uCEFTypes.TCefAudioParameters.html -uCEFTypes.TCefMediaSinkDeviceInfo.html -uCEFTypes.TCefBaseRefCounted.html -uCEFTypes.TCefBaseScoped.html -uCEFTypes.TCefStreamWriter.html -uCEFTypes.TCefX509CertPrincipal.html -uCEFTypes.TCefX509Certificate.html -uCEFTypes.TCefSslInfo.html -uCEFTypes.TCefSSLStatus.html -uCEFTypes.TCefSelectClientCertificateCallback.html -uCEFTypes.TCefRunContextMenuCallback.html -uCEFTypes.TCefFileDialogCallback.html -uCEFTypes.TCefUnresponsiveProcessCallback.html -uCEFTypes.TCefDialogHandler.html -uCEFTypes.TCefDisplayHandler.html -uCEFTypes.TCefDownloadHandler.html -uCEFTypes.TCefDragHandler.html -uCEFTypes.TCefFindHandler.html -uCEFTypes.TCefFocusHandler.html -uCEFTypes.TCefJsDialogHandler.html -uCEFTypes.TCefJsDialogCallback.html -uCEFTypes.TCefKeyboardHandler.html -uCEFTypes.TCefLifeSpanHandler.html -uCEFTypes.TCefRegistration.html -uCEFTypes.TCefDevToolsMessageObserver.html -uCEFTypes.TCefMediaRouter.html -uCEFTypes.TCefMediaObserver.html -uCEFTypes.TCefMediaRoute.html -uCEFTypes.TCefMediaRouteCreateCallback.html -uCEFTypes.TCefMediaSink.html -uCEFTypes.TCefMediaSinkDeviceInfoCallback.html -uCEFTypes.TCefMediaSource.html -uCEFTypes.TCefAudioHandler.html -uCEFTypes.TCefLoadHandler.html -uCEFTypes.TCefRenderHandler.html -uCEFTypes.TCefPreferenceRegistrar.html -uCEFTypes.TCefPreferenceManager.html -uCEFTypes.TCefV8StackTrace.html -uCEFTypes.TCefV8StackFrame.html -uCEFTypes.TCefStreamReader.html -uCEFTypes.TCefReadHandler.html -uCEFTypes.TCefWriteHandler.html -uCEFTypes.TCefXmlReader.html -uCEFTypes.TCefZipReader.html -uCEFTypes.TCefUrlrequestClient.html -uCEFTypes.TCefUrlRequest.html -uCEFTypes.TCefThread.html -uCEFTypes.TCefWaitableEvent.html -uCEFTypes.TCefTaskRunner.html -uCEFTypes.TCefEndTracingCallback.html -uCEFTypes.TCefResourceBundle.html -uCEFTypes.TCefMenuModelDelegate.html -uCEFTypes.TCefProcessMessage.html -uCEFTypes.TCefRenderProcessHandler.html -uCEFTypes.TCefRequestHandler.html -uCEFTypes.TCefMediaAccessCallback.html -uCEFTypes.TCefMediaAccessHandler.html -uCEFTypes.TCefPermissionPromptCallback.html -uCEFTypes.TCefPermissionHandler.html -uCEFTypes.TCefSharedMemoryRegion.html -uCEFTypes.TCefSharedProcessMessageBuilder.html -uCEFTypes.TCefResourceSkipCallback.html -uCEFTypes.TCefResourceReadCallback.html -uCEFTypes.TCefResourceHandler.html -uCEFTypes.TCefResourceRequestHandler.html -uCEFTypes.TCefCookieAccessFilter.html -uCEFTypes.TCefResponse.html -uCEFTypes.TCefResponseFilter.html -uCEFTypes.TCefAuthCallback.html -uCEFTypes.TCefCallback.html -uCEFTypes.TCefRequestContext.html -uCEFTypes.TCefRequestContextHandler.html -uCEFTypes.TCefCompletionCallback.html -uCEFTypes.TCefCookieManager.html -uCEFTypes.TCefSchemeHandlerFactory.html -uCEFTypes.TCefResolveCallback.html -uCEFTypes.TCefCookieVisitor.html -uCEFTypes.TCefSetCookieCallback.html -uCEFTypes.TCefDeleteCookiesCallback.html -uCEFTypes.TCefRunFileDialogCallback.html -uCEFTypes.TCefDownloadImageCallback.html -uCEFTypes.TCefImage.html -uCEFTypes.TCefPdfPrintCallback.html -uCEFTypes.TCefNavigationEntryVisitor.html -uCEFTypes.TCefNavigationEntry.html -uCEFTypes.TCefPrintSettings.html -uCEFTypes.TCefPrintDialogCallback.html -uCEFTypes.TCefPrintJobCallback.html -uCEFTypes.TCefPrintHandler.html -uCEFTypes.TCefDragData.html -uCEFTypes.TCefCommandLine.html -uCEFTypes.TCefCommandHandler.html -uCEFTypes.TCefSchemeRegistrar.html -uCEFTypes.TCefBinaryValue.html -uCEFTypes.TCefValue.html -uCEFTypes.TCefDictionaryValue.html -uCEFTypes.TCefListValue.html -uCEFTypes.TCefStringVisitor.html -uCEFTypes.TCefPostDataElement.html -uCEFTypes.TCefPostData.html -uCEFTypes.TCefRequest.html -uCEFTypes.TCefTask.html -uCEFTypes.TCefTaskManager.html -uCEFTypes.TCefDomVisitor.html -uCEFTypes.TCefMenuModel.html -uCEFTypes.TCefContextMenuParams.html -uCEFTypes.TCefDownloadItem.html -uCEFTypes.TCefBeforeDownloadCallback.html -uCEFTypes.TCefDownloadItemCallback.html -uCEFTypes.TCefDomNode.html -uCEFTypes.TCefDomDocument.html -uCEFTypes.TCefv8Handler.html -uCEFTypes.TCefV8Exception.html -uCEFTypes.TCefv8ArrayBufferReleaseCallback.html -uCEFTypes.TCefv8Value.html -uCEFTypes.TCefV8Context.html -uCEFTypes.TCefV8Interceptor.html -uCEFTypes.TCefV8Accessor.html -uCEFTypes.TCefFrame.html -uCEFTypes.TCefFrameHandler.html -uCEFTypes.TCefAccessibilityHandler.html -uCEFTypes.TCefContextMenuHandler.html -uCEFTypes.TCefRunQuickMenuCallback.html -uCEFTypes.TCefClient.html -uCEFTypes.TCefBrowserHost.html -uCEFTypes.TCefBrowser.html -uCEFTypes.TCefResourceBundleHandler.html -uCEFTypes.TCefBrowserProcessHandler.html -uCEFTypes.TCefApp.html -uCEFTypes.TCefServer.html -uCEFTypes.TCefServerHandler.html -uCEFTypes.TCefDisplay.html -uCEFTypes.TCefLayout.html -uCEFTypes.TCefBoxLayout.html -uCEFTypes.TCefFillLayout.html -uCEFTypes.TCefOverlayController.html -uCEFTypes.TCefView.html -uCEFTypes.TCefViewDelegate.html -uCEFTypes.TCefTextfield.html -uCEFTypes.TCefTextfieldDelegate.html -uCEFTypes.TCefScrollView.html -uCEFTypes.TCefPanel.html -uCEFTypes.TCefPanelDelegate.html -uCEFTypes.TCefBrowserView.html -uCEFTypes.TCefBrowserViewDelegate.html -uCEFTypes.TCefButton.html -uCEFTypes.TCefButtonDelegate.html -uCEFTypes.TCefLabelButton.html -uCEFTypes.TCefMenuButton.html -uCEFTypes.TCefMenuButtonPressedLock.html -uCEFTypes.TCefMenuButtonDelegate.html -uCEFTypes.TCefWindow.html -uCEFTypes.TCefWindowDelegate.html -uCEFUnresponsiveProcessCallback.html -uCEFUnresponsiveProcessCallback.TCefUnresponsiveProcessCallbackRef.html -uCEFUrlRequest.html -uCEFUrlRequest.TCefUrlRequestRef.html -uCEFUrlrequestClient.html -uCEFUrlrequestClient.TCefUrlrequestClientOwn.html -uCEFUrlrequestClient.TCustomCefUrlrequestClient.html -uCEFUrlrequestClient.TCefUrlrequestClientRef.html -uCEFUrlRequestClientComponent.html -uCEFUrlRequestClientComponent.TCEFUrlRequestClientComponent.html -uCEFUrlRequestClientEvents.html -uCEFv8Accessor.html -uCEFv8Accessor.TCefV8AccessorOwn.html -uCEFv8Accessor.TCefFastV8Accessor.html -uCEFv8ArrayBufferReleaseCallback.html -uCEFv8ArrayBufferReleaseCallback.TCefv8ArrayBufferReleaseCallbackOwn.html -uCEFv8ArrayBufferReleaseCallback.TCefFastv8ArrayBufferReleaseCallback.html -uCEFv8ArrayBufferReleaseCallback.TCefv8ArrayBufferReleaseCallbackRef.html -uCEFv8Context.html -uCEFv8Context.TCefv8ContextRef.html -uCEFv8Exception.html -uCEFv8Exception.TCefV8ExceptionRef.html -uCEFv8Handler.html -uCEFv8Handler.TCefv8HandlerRef.html -uCEFv8Handler.TCefv8HandlerOwn.html -uCEFv8Interceptor.html -uCEFv8Interceptor.TCefV8InterceptorOwn.html -uCEFv8Interceptor.TCefFastV8Interceptor.html -uCEFv8StackFrame.html -uCEFv8StackFrame.TCefV8StackFrameRef.html -uCEFv8StackTrace.html -uCEFv8StackTrace.TCefV8StackTraceRef.html -uCEFv8Value.html -uCEFv8Value.TCefv8ValueRef.html -uCEFValue.html -uCEFValue.TCefValueRef.html -uCEFView.html -uCEFView.TCefViewRef.html -uCEFViewComponent.html -uCEFViewComponent.TCEFViewComponent.html -uCEFViewDelegate.html -uCEFViewDelegate.TCefViewDelegateRef.html -uCEFViewDelegate.TCefViewDelegateOwn.html -uCEFViewDelegate.TCustomViewDelegate.html -uCEFViewsFrameworkEvents.html -uCEFWaitableEvent.html -uCEFWaitableEvent.TCefWaitableEventRef.html -uCEFWinControl.html -uCEFWinControl.TCEFWinControl.html -uCEFWindow.html -uCEFWindow.TCefWindowRef.html -uCEFWindowComponent.html -uCEFWindowComponent.TCEFWindowComponent.html -uCEFWindowDelegate.html -uCEFWindowDelegate.TCefWindowDelegateRef.html -uCEFWindowDelegate.TCefWindowDelegateOwn.html -uCEFWindowDelegate.TCustomWindowDelegate.html -uCEFWindowInfoWrapper.html -uCEFWindowInfoWrapper.TCEFWindowInfoWrapper.html -uCEFWindowParent.html -uCEFWindowParent.TCEFWindowParent.html -uCEFWorkScheduler.html -uCEFWorkScheduler.TCEFWorkScheduler.html -uCEFWorkSchedulerQueueThread.html -uCEFWorkSchedulerQueueThread.TCEFWorkSchedulerQueueThread.html -uCEFWorkSchedulerThread.html -uCEFWorkSchedulerThread.TCEFWorkSchedulerThread.html -uCEFWriteHandler.html -uCEFWriteHandler.TCefWriteHandlerOwn.html -uCEFWriteHandler.TCefBytesWriteHandler.html -uCEFX509Certificate.html -uCEFX509Certificate.TCEFX509CertificateRef.html -uCEFX509CertPrincipal.html -uCEFX509CertPrincipal.TCefX509CertPrincipalRef.html -uCEFXmlReader.html -uCEFXmlReader.TCefXmlReaderRef.html -uCEFZipReader.html -uCEFZipReader.TCefZipReaderRef.html -cef4delphi.hhc -cef4delphi.hhk -private.gif -protected.gif -public.gif -published.gif -automated.gif -pasdoc.css - -Compile time: 0 minutes, 15 seconds -16,339 Topics -139,288 Local links -32 Internet links -5 Graphics - - -Created c:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\docs\cef4delphi.chm, 3,651,604 bytes -Compression decreased file by 23,392,595 bytes. diff --git a/docs/html/uCEFApplicationCore.html b/docs/html/uCEFApplicationCore.html index 473ff45a..ef90638d 100644 --- a/docs/html/uCEFApplicationCore.html +++ b/docs/html/uCEFApplicationCore.html @@ -37,13 +37,13 @@

    Constants

    - + - + - + @@ -55,10 +55,10 @@ - + - + @@ -94,21 +94,21 @@

    Constants

    CEF_SUPPORTED_VERSION_MAJOR = 129;CEF_SUPPORTED_VERSION_MAJOR = 130;
    CEF_SUPPORTED_VERSION_MINOR = 0;CEF_SUPPORTED_VERSION_MINOR = 1;
    CEF_SUPPORTED_VERSION_RELEASE = 12;CEF_SUPPORTED_VERSION_RELEASE = 2;
    CEF_SUPPORTED_VERSION_BUILD = 0;CEF_CHROMEELF_VERSION_MINOR = 0;
    CEF_CHROMEELF_VERSION_RELEASE = 6668;CEF_CHROMEELF_VERSION_RELEASE = 6723;
    CEF_CHROMEELF_VERSION_BUILD = 101;CEF_CHROMEELF_VERSION_BUILD = 44;
    LIBCEF_DLL = 'libcef.dll';
    - +
    CEF_SUPPORTED_VERSION_MAJOR = 129;CEF_SUPPORTED_VERSION_MAJOR = 130;

    This item has no description.

    - +
    CEF_SUPPORTED_VERSION_MINOR = 0;CEF_SUPPORTED_VERSION_MINOR = 1;

    This item has no description.

    - + @@ -136,14 +136,14 @@
    CEF_SUPPORTED_VERSION_RELEASE = 12;CEF_SUPPORTED_VERSION_RELEASE = 2;

    This item has no description.

    - +
    CEF_CHROMEELF_VERSION_RELEASE = 6668;CEF_CHROMEELF_VERSION_RELEASE = 6723;

    This item has no description.

    - + diff --git a/docs/html/uCEFBrowser.TCefBrowserHostRef.html b/docs/html/uCEFBrowser.TCefBrowserHostRef.html index 690207d2..847a0818 100644 --- a/docs/html/uCEFBrowser.TCefBrowserHostRef.html +++ b/docs/html/uCEFBrowser.TCefBrowserHostRef.html @@ -38,273 +38,277 @@ - + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -328,7 +332,13 @@
    CEF_CHROMEELF_VERSION_BUILD = 101;CEF_CHROMEELF_VERSION_BUILD = 44;

    This item has no description.

    Protectedprocedure SetFocus(focus: Boolean);function IsReadyToBeClosed: Boolean;
    Protectedprocedure SetFocus(focus: Boolean);
    Protected function GetWindowHandle: TCefWindowHandle;
    Protected function GetOpenerWindowHandle: TCefWindowHandle;
    Protected function HasView: Boolean;
    Protected function GetClient: ICefClient;
    Protected function GetRequestContext: ICefRequestContext;
    Protected function CanZoom(command: TCefZoomCommand): boolean;
    Protected procedure Zoom(command: TCefZoomCommand);
    Protected function GetDefaultZoomLevel: Double;
    Protected function GetZoomLevel: Double;
    Protected procedure SetZoomLevel(const zoomLevel: Double);
    Protected procedure RunFileDialog(mode: TCefFileDialogMode; const title, defaultFilePath: ustring; const acceptFilters: TStrings; const callback: ICefRunFileDialogCallback);
    Protected procedure RunFileDialogProc(mode: TCefFileDialogMode; const title, defaultFilePath: ustring; const acceptFilters: TStrings; const callback: TCefRunFileDialogCallbackProc);
    Protected procedure StartDownload(const url: ustring);
    Protected procedure DownloadImage(const imageUrl: ustring; isFavicon: Boolean; maxImageSize: Cardinal; bypassCache: Boolean; const callback: ICefDownloadImageCallback);
    Protected procedure DownloadImageProc(const imageUrl: ustring; isFavicon: Boolean; maxImageSize: Cardinal; bypassCache: Boolean; const callback: TOnDownloadImageFinishedProc);
    Protected procedure Print;
    Protected procedure PrintToPdf(const path: ustring; settings: PCefPdfPrintSettings; const callback: ICefPdfPrintCallback);
    Protected procedure PrintToPdfProc(const path: ustring; settings: PCefPdfPrintSettings; const callback: TOnPdfPrintFinishedProc);
    Protected procedure Find(const searchText: ustring; forward_, matchCase, findNext: Boolean);
    Protected procedure StopFinding(clearSelection: Boolean);
    Protected procedure ShowDevTools(const windowInfo: PCefWindowInfo; const client: ICefClient; const settings: PCefBrowserSettings; inspectElementAt: PCefPoint);
    Protected procedure CloseDevTools;
    Protected function HasDevTools: Boolean;
    Protected function SendDevToolsMessage(const message_: ustring): boolean;
    Protected function ExecuteDevToolsMethod(message_id: integer; const method: ustring; const params: ICefDictionaryValue): Integer;
    Protected function AddDevToolsMessageObserver(const observer: ICefDevToolsMessageObserver): ICefRegistration;
    Protected procedure GetNavigationEntries(const visitor: ICefNavigationEntryVisitor; currentOnly: Boolean);
    Protected procedure GetNavigationEntriesProc(const proc: TCefNavigationEntryVisitorProc; currentOnly: Boolean);
    Protected procedure ReplaceMisspelling(const word: ustring);
    Protected procedure AddWordToDictionary(const word: ustring);
    Protected function IsWindowRenderingDisabled: Boolean;
    Protected procedure WasResized;
    Protected procedure NotifyScreenInfoChanged;
    Protected procedure WasHidden(hidden: Boolean);
    Protected procedure Invalidate(type_: TCefPaintElementType);
    Protected procedure SendExternalBeginFrame;
    Protected procedure SendKeyEvent(const event: PCefKeyEvent);
    Protected procedure SendMouseClickEvent(const event: PCefMouseEvent; type_: TCefMouseButtonType; mouseUp: Boolean; clickCount: Integer);
    Protected procedure SendMouseMoveEvent(const event: PCefMouseEvent; mouseLeave: Boolean);
    Protected procedure SendMouseWheelEvent(const event: PCefMouseEvent; deltaX, deltaY: Integer);
    Protected procedure SendTouchEvent(const event: PCefTouchEvent);
    Protected procedure SendCaptureLostEvent;
    Protected procedure NotifyMoveOrResizeStarted;
    Protected function GetWindowlessFrameRate: Integer;
    Protected procedure SetWindowlessFrameRate(frameRate: Integer);
    Protected procedure IMESetComposition(const text: ustring; const underlines : TCefCompositionUnderlineDynArray; const replacement_range, selection_range : PCefRange);
    Protected procedure IMECommitText(const text: ustring; const replacement_range : PCefRange; relative_cursor_pos : integer);
    Protected procedure IMEFinishComposingText(keep_selection : boolean);
    Protected procedure IMECancelComposition;
    Protected procedure DragTargetDragEnter(const dragData: ICefDragData; const event: PCefMouseEvent; allowedOps: TCefDragOperations);
    Protected procedure DragTargetDragOver(const event: PCefMouseEvent; allowedOps: TCefDragOperations);
    Protected procedure DragTargetDragLeave;
    Protected procedure DragTargetDrop(const event: PCefMouseEvent);
    Protected procedure DragSourceEndedAt(x, y: Integer; op: TCefDragOperation);
    Protected procedure DragSourceSystemDragEnded;
    Protected function GetVisibleNavigationEntry: ICefNavigationEntry;
    Protected procedure SetAccessibilityState(accessibilityState: TCefState);
    Protected procedure SetAutoResizeEnabled(enabled: boolean; const min_size, max_size: PCefSize);
    Protected procedure SetAudioMuted(mute: boolean);
    Protected function IsAudioMuted: boolean;
    Protected function IsFullscreen: boolean;
    Protected procedure ExitFullscreen(will_cause_resize: boolean);
    Protected function CanExecuteChromeCommand(command_id: integer): boolean;
    Protected procedure ExecuteChromeCommand(command_id: integer; disposition: TCefWindowOpenDisposition);
    Protected function IsRenderProcessUnresponsive: boolean;
    Protected function GetRuntimeStyle: TCefRuntimeStyle;
    Public class function UnWrap(data: Pointer): ICefBrowserHost;

    This item has no description. Showing description inherited from ICefBrowserHost.CloseBrowser.

    - Request that the browser close. The JavaScript 'onbeforeunload' event will be fired. If |force_close| is false (0) the event handler, if any, will be allowed to prompt the user and the user can optionally cancel the close. If |force_close| is true (1) the prompt will not be displayed and the close will proceed. Results in a call to ICefLifeSpanHandler.DoClose() if the event handler allows the close or if |force_close| is true (1). See ICefLifeSpanHandler.DoClose() documentation for additional usage information.

    + + +

    Request that the browser close. Closing a browser is a multi-stage process that may complete either synchronously or asynchronously, and involves events such as TChromiumCore.OnClose (Alloy style only), TChromiumCore.OnBeforeClose, and a top-level window close handler such as TCEFWindowComponent.OnCanClose (or platform-specific equivalent). In some cases a close request may be delayed or canceled by the user. Using TryCloseBrowser() instead of CloseBrowser() is recommended for most use cases. See TChromiumCore.OnClose documentation for detailed usage and examples. + +

    If |aForceClose| is false (0) then JavaScript unload handlers, if any, may be fired and the close may be delayed or canceled by the user. If |aForceClose| is true (1) then the user will not be prompted and the close will proceed immediately (possibly asynchronously). If browser close is delayed and not canceled the default behavior is to call the top-level window close handler once the browser is ready to be closed. This default behavior can be changed for Alloy style browsers by implementing TChromiumCore.OnClose. IsReadyToBeClosed() can be used to detect mandatory browser close events when customizing close behavior on the browser process UI thread. + +

    @@ -338,7 +348,17 @@ +

    This item has no description. Showing description inherited from ICefBrowserHost.TryCloseBrowser.

    - Helper for closing a browser. Call this function from the top-level window close handler (if any). Internally this calls CloseBrowser(false (0)) if the close has not yet been initiated. This function returns false (0) while the close is pending and true (1) after the close has completed. See CloseBrowser() and ICefLifeSpanHandler.DoClose() documentation for additional usage information. This function must be called on the browser process UI thread.

    + Helper for closing a browser. This is similar in behavior to CLoseBrowser(false) but returns a boolean to reflect the immediate close status. Call this function from a top-level window close handler such as TCEFWindowComponent.OnCanClose (or platform-specific equivalent) to request that the browser close, and return the result to indicate if the window close should proceed. Returns false (0) if the close will be delayed (JavaScript unload handlers triggered but still pending) or true (1) if the close will proceed immediately (possibly asynchronously). See CloseBrowser() documentation for additional usage information. This function must be called on the browser process UI thread.

    +
    + + + + + +
    Protectedfunction IsReadyToBeClosed: Boolean;
    +

    This item has no description. Showing description inherited from ICefBrowserHost.IsReadyToBeClosed.

    + Returns true (1) if the browser is ready to be closed, meaning that the close has already been initiated and that JavaScript unload handlers have already executed or should be ignored. This can be used from a top-level window close handler such as TCEFWindowComponent.OnCanClose (or platform- specific equivalent) to distringuish between potentially cancelable browser close events (like the user clicking the top-level window close button before browser close has started) and mandatory browser close events (like JavaScript `window.close()` or after browser close has started in response to [Try]CloseBrowser()). Not completing the browser close for mandatory close events (when this function returns true (1)) will leave the browser in a partially closed state that interferes with proper functioning. See CloseBrowser() documentation for additional usage information. This function must be called on the browser process UI thread.

    diff --git a/docs/html/uCEFChromiumCore.TChromiumCore.html b/docs/html/uCEFChromiumCore.TChromiumCore.html index f0da497a..b184ef40 100644 --- a/docs/html/uCEFChromiumCore.TChromiumCore.html +++ b/docs/html/uCEFChromiumCore.TChromiumCore.html @@ -2204,501 +2204,505 @@ - + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -8084,7 +8088,13 @@ Custom

    Publicfunction SelectBrowser(aID : integer) : boolean;function IsReadyToBeClosed: boolean;
    Publicfunction SelectBrowser(aID : integer) : boolean;
    Public function IndexOfBrowserID(aID : integer) : integer;
    Public function ShareRequestContext(var aContext : ICefRequestContext; const aHandler : ICefRequestContextHandler = nil) : boolean;
    Public procedure InitializeDragAndDrop(const aDropTargetWnd : HWND);
    Public procedure ShutdownDragAndDrop;
    Public function SetNewBrowserParent(aNewParentHwnd : HWND) : boolean;
    Public function CreateBrowser(aParentHandle : TCefWindowHandle; aParentRect : TRect; const aWindowName : ustring = ''; const aContext : ICefRequestContext = nil; const aExtraInfo : ICefDictionaryValue = nil; aForceAsPopup : boolean = False) : boolean; overload; virtual;
    Public function CreateBrowser(const aURL : ustring; const aBrowserViewComp : TCEFBrowserViewComponent; const aContext : ICefRequestContext = nil; const aExtraInfo : ICefDictionaryValue = nil) : boolean; overload; virtual;
    Public procedure LoadURL(const aURL : ustring; const aFrameName : ustring = ''; const aFrameIdentifier : ustring = ''); overload;
    Public procedure LoadURL(const aURL : ustring; const aFrame : ICefFrame); overload;
    Public procedure LoadString(const aHTML : ustring; const aFrameName : ustring = ''; const aFrameIdentifier : ustring = ''); overload;
    Public procedure LoadString(const aHTML : ustring; const aFrame : ICefFrame); overload;
    Public procedure LoadResource(const aStream : TCustomMemoryStream; const aMimeType, aCharset : string; const aFrameName : ustring = ''; const aFrameIdentifier : ustring = ''); overload;
    Public procedure LoadResource(const aStream : TCustomMemoryStream; const aMimeType, aCharset : string; const aFrame : ICefFrame); overload;
    Public procedure LoadRequest(const aRequest: ICefRequest);
    Public procedure GoBack;
    Public procedure GoForward;
    Public procedure Reload;
    Public procedure ReloadIgnoreCache;
    Public procedure StopLoad;
    Public procedure StartDownload(const aURL : ustring);
    Public procedure DownloadImage(const imageUrl: ustring; isFavicon: Boolean; maxImageSize: cardinal; bypassCache: Boolean);
    Public procedure SimulateMouseWheel(aDeltaX, aDeltaY : integer);
    Public procedure SimulateKeyEvent(type_: TSimulatedCefKeyEventType; modifiers: integer = CEF_MOUSETOUCH_EVENT_MODIFIERS_NONE; timestamp: single = 0; const text: ustring = ''; const unmodifiedtext: ustring = ''; const keyIdentifier: ustring = ''; const code: ustring = ''; const key: ustring = ''; windowsVirtualKeyCode: integer = 0; nativeVirtualKeyCode: integer = 0; autoRepeat: boolean = False; isKeypad: boolean = False; isSystemKey: boolean = False; location: TCefKeyLocation = CEF_KEYLOCATION_NONE; commands: TCefEditingCommand = ecNone);
    Public procedure SimulateMouseEvent(type_: TCefSimulatedMouseEventType; x, y: single; modifiers: integer = CEF_MOUSETOUCH_EVENT_MODIFIERS_NONE; timestamp: single = 0; button: TCefSimulatedMouseButton = CEF_SIMULATEDMOUSEBUTTON_NONE; buttons: integer = CEF_PRESSED_MOUSE_BUTTONS_NONE; clickCount: integer = 0; force: single = 0; tangentialPressure: single = 0; tiltX: single = 0; tiltY: single = 0; twist: integer = 0; deltaX: single = 0; deltaY: single = 0; pointerType: TCefSimulatedPointerType = CEF_SIMULATEDPOINTERTYPE_MOUSE);
    Public procedure SimulateTouchEvent(type_: TCefSimulatedTouchEventType; var touchPoints: TCefSimulatedTouchPointArray; modifiers: integer = CEF_MOUSETOUCH_EVENT_MODIFIERS_NONE; timestamp: single = 0);
    Public procedure SimulateEditingCommand(command : TCefEditingCommand);
    Public function ClearCertificateExceptions(aClearImmediately : boolean = True) : boolean;
    Public function ClearHttpAuthCredentials(aClearImmediately : boolean = True) : boolean;
    Public function CloseAllConnections(aCloseImmediately : boolean = True) : boolean;
    Public procedure RetrieveHTML(const aFrameName : ustring = ''; const aFrameIdentifier : ustring = ''); overload;
    Public procedure RetrieveHTML(const aFrame : ICefFrame); overload;
    Public procedure RetrieveText(const aFrameName : ustring = ''; const aFrameIdentifier : ustring = ''); overload;
    Public procedure RetrieveText(const aFrame : ICefFrame); overload;
    Public procedure GetNavigationEntries(currentOnly: Boolean);
    Public function GetFrameNames(var aFrameNames : TStrings) : boolean;
    Public function GetFrameIdentifiers(var aFrameIdentifiers : TStrings) : boolean;
    Public procedure ExecuteJavaScript(const aCode, aScriptURL : ustring; const aFrameName : ustring = ''; const aFrameIdentifier : ustring = ''; aStartLine : integer = 0); overload;
    Public procedure ExecuteJavaScript(const aCode, aScriptURL : ustring; const aFrame : ICefFrame; aStartLine : integer = 0); overload;
    Public procedure UpdatePreferences;
    Public procedure SavePreferences(const aFileName : string);
    Public procedure ResolveHost(const aURL : ustring);
    Public function IsSameBrowser(const aBrowser : ICefBrowser) : boolean;
    Public function ExecuteTaskOnCefThread(aCefThreadId : TCefThreadId; aTaskID : cardinal; aDelayMs : Int64 = 0) : boolean;
    Public procedure SetUserAgentOverride(const aUserAgent : ustring; const aAcceptLanguage : ustring = ''; const aPlatform : ustring = '');
    Public procedure ClearDataForOrigin(const aOrigin : ustring; aStorageTypes : TCefClearDataStorageTypes = cdstAll);
    Public procedure ClearCache;
    Public procedure ToggleAudioMuted;
    Public function DeleteCookies(const url : ustring = ''; const cookieName : ustring = ''; aDeleteImmediately : boolean = False) : boolean;
    Public function VisitAllCookies(aID : integer = 0) : boolean;
    Public function VisitURLCookies(const url : ustring; includeHttpOnly : boolean = False; aID : integer = 0) : boolean;
    Public function SetCookie(const url, name_, value, domain, path: ustring; secure, httponly, hasExpires: Boolean; const creation, lastAccess, expires: TDateTime; same_site : TCefCookieSameSite; priority : TCefCookiePriority; aSetImmediately : boolean = True; aID : integer = 0): Boolean;
    Public function FlushCookieStore(aFlushImmediately : boolean = True) : boolean;
    Public procedure ShowDevTools(const inspectElementAt: TPoint; aWindowInfo: PCefWindowInfo);
    Public procedure CloseDevTools; overload;
    Public procedure CloseDevTools(const aDevToolsWnd : TCefWindowHandle); overload;
    Public function SendDevToolsMessage(const message_: ustring): boolean;
    Public function ExecuteDevToolsMethod(message_id: integer; const method: ustring; const params: ICefDictionaryValue): Integer;
    Public function AddDevToolsMessageObserver(const observer: ICefDevToolsMessageObserver): ICefRegistration;
    Public procedure Find(const aSearchText : ustring; aForward, aMatchCase, aFindNext : Boolean);
    Public procedure StopFinding(aClearSelection : Boolean);
    Public procedure Print;
    Public procedure PrintToPDF(const aFilePath : ustring);
    Public procedure ClipboardCopy;
    Public procedure ClipboardPaste;
    Public procedure ClipboardCut;
    Public procedure ClipboardUndo;
    Public procedure ClipboardRedo;
    Public procedure ClipboardDel;
    Public procedure SelectAll;
    Public procedure IncZoomStep;
    Public procedure DecZoomStep;
    Public procedure IncZoomPct;
    Public procedure DecZoomPct;
    Public procedure ResetZoomStep;
    Public procedure ResetZoomLevel;
    Public procedure ResetZoomPct;
    Public procedure ReadZoom;
    Public procedure IncZoomCommand;
    Public procedure DecZoomCommand;
    Public procedure ResetZoomCommand;
    Public procedure WasResized;
    Public procedure WasHidden(hidden: Boolean);
    Public procedure NotifyScreenInfoChanged;
    Public procedure NotifyMoveOrResizeStarted;
    Public procedure Invalidate(type_: TCefPaintElementType = PET_VIEW);
    Public procedure ExitFullscreen(will_cause_resize: boolean);
    Public function CanExecuteChromeCommand(command_id: integer): boolean;
    Public procedure ExecuteChromeCommand(command_id: integer; disposition: TCefWindowOpenDisposition);
    Public procedure SendExternalBeginFrame;
    Public procedure SendKeyEvent(const event: PCefKeyEvent);
    Public procedure SendMouseClickEvent(const event: PCefMouseEvent; type_: TCefMouseButtonType; mouseUp: Boolean; clickCount: Integer);
    Public procedure SendMouseMoveEvent(const event: PCefMouseEvent; mouseLeave: Boolean);
    Public procedure SendMouseWheelEvent(const event: PCefMouseEvent; deltaX, deltaY: Integer);
    Public procedure SendTouchEvent(const event: PCefTouchEvent);
    Public procedure SendCaptureLostEvent;
    Public procedure SendProcessMessage(targetProcess: TCefProcessId; const ProcMessage: ICefProcessMessage; const aFrameName : ustring = ''; const aFrameIdentifier : ustring = ''); overload;
    Public procedure SendProcessMessage(targetProcess: TCefProcessId; const ProcMessage: ICefProcessMessage; const aFrame : ICefFrame); overload;
    Public function CreateUrlRequest(const request: ICefRequest; const client: ICefUrlrequestClient; const aFrameName : ustring = ''; const aFrameIdentifier : ustring = ''): ICefUrlRequest; overload;
    Public function CreateUrlRequest(const request: ICefRequest; const client: ICefUrlrequestClient; const aFrame : ICefFrame): ICefUrlRequest; overload;
    Public procedure SetFocus(focus: Boolean);
    Public procedure SetAccessibilityState(accessibilityState: TCefState);
    Public procedure DragTargetDragEnter(const dragData: ICefDragData; const event: PCefMouseEvent; allowedOps: TCefDragOperations);
    Public procedure DragTargetDragOver(const event: PCefMouseEvent; allowedOps: TCefDragOperations);
    Public procedure DragTargetDragLeave;
    Public procedure DragTargetDrop(const event: PCefMouseEvent);
    Public procedure DragSourceEndedAt(x, y: Integer; op: TCefDragOperation);
    Public procedure DragSourceSystemDragEnded;
    Public procedure IMESetComposition(const text: ustring; const underlines : TCefCompositionUnderlineDynArray; const replacement_range, selection_range : PCefRange);
    Public procedure IMECommitText(const text: ustring; const replacement_range : PCefRange; relative_cursor_pos : integer);
    Public procedure IMEFinishComposingText(keep_selection : boolean);
    Public procedure IMECancelComposition;
    Public procedure ReplaceMisspelling(const aWord : ustring);
    Public procedure AddWordToDictionary(const aWord : ustring);
    Public function AddObserver(const observer: ICefMediaObserver): ICefRegistration;
    Public function GetSource(const urn: ustring): ICefMediaSource;
    Public procedure NotifyCurrentSinks;
    Public procedure NotifyCurrentRoutes;
    Public procedure CreateRoute(const source: ICefMediaSource; const sink: ICefMediaSink);
    Public procedure GetDeviceInfo(const aMediaSink: ICefMediaSink);
    Public function GetWebsiteSetting(const requesting_url, top_level_url: ustring; content_type: TCefContentSettingTypes): ICefValue;
    Public procedure SetWebsiteSetting(const requesting_url, top_level_url: ustring; content_type: TCefContentSettingTypes; const value: ICefValue);
    Public function GetContentSetting(const requesting_url, top_level_url: ustring; content_type: TCefContentSettingTypes): TCefContentSettingValues;
    Public procedure SetContentSetting(const requesting_url, top_level_url: ustring; content_type: TCefContentSettingTypes; value: TCefContentSettingValues);
    Public procedure SetChromeColorScheme(variant: TCefColorVariant; user_color: TCefColor);

    - Request that the browser close. The JavaScript 'onbeforeunload' event will be fired. If |aForceClose| is false (0) the event handler, if any, will be allowed to prompt the user and the user can optionally cancel the close. If |aForceClose| is true (1) the prompt will not be displayed and the close will proceed. Results in a call to ICefLifeSpanHandler.DoClose() if the event handler allows the close or if |aForceClose| is true (1). See ICefLifeSpanHandler.DoClose() documentation for additional usage information.

    + + +

    Request that the browser close. Closing a browser is a multi-stage process that may complete either synchronously or asynchronously, and involves events such as TChromiumCore.OnClose (Alloy style only), TChromiumCore.OnBeforeClose, and a top-level window close handler such as TCEFWindowComponent.OnCanClose (or platform-specific equivalent). In some cases a close request may be delayed or canceled by the user. Using TryCloseBrowser() instead of CloseBrowser() is recommended for most use cases. See TChromiumCore.OnClose documentation for detailed usage and examples. + +

    If |aForceClose| is false (0) then JavaScript unload handlers, if any, may be fired and the close may be delayed or canceled by the user. If |aForceClose| is true (1) then the user will not be prompted and the close will proceed immediately (possibly asynchronously). If browser close is delayed and not canceled the default behavior is to call the top-level window close handler once the browser is ready to be closed. This default behavior can be changed for Alloy style browsers by implementing TChromiumCore.OnClose. IsReadyToBeClosed() can be used to detect mandatory browser close events when customizing close behavior on the browser process UI thread. + +

    @@ -8104,7 +8114,17 @@ Custom

    +

    - Helper for closing a browser. Call this function from the top-level window close handler (if any). Internally this calls CloseBrowser(false (0)) if the close has not yet been initiated. This function returns false (0) while the close is pending and true (1) after the close has completed. See CloseBrowser() and ICefLifeSpanHandler.DoClose() documentation for additional usage information. This function must be called on the browser process UI thread.

    + Helper for closing a browser. This is similar in behavior to CLoseBrowser(false) but returns a boolean to reflect the immediate close status. Call this function from a top-level window close handler such as TCEFWindowComponent.OnCanClose (or platform-specific equivalent) to request that the browser close, and return the result to indicate if the window close should proceed. Returns false (0) if the close will be delayed (JavaScript unload handlers triggered but still pending) or true (1) if the close will proceed immediately (possibly asynchronously). See CloseBrowser() documentation for additional usage information. This function must be called on the browser process UI thread.

    +
    + + + + + +
    Publicfunction IsReadyToBeClosed: boolean;
    +

    + Returns true (1) if the browser is ready to be closed, meaning that the close has already been initiated and that JavaScript unload handlers have already executed or should be ignored. This can be used from a top-level window close handler such as TCEFWindowComponent.OnCanClose (or platform- specific equivalent) to distringuish between potentially cancelable browser close events (like the user clicking the top-level window close button before browser close has started) and mandatory browser close events (like JavaScript `window.close()` or after browser close has started in response to [Try]CloseBrowser()). Not completing the browser close for mandatory close events (when this function returns true (1)) will leave the browser in a partially closed state that interferes with proper functioning. See CloseBrowser() documentation for additional usage information. This function must be called on the browser process UI thread.

    @@ -11643,21 +11663,21 @@ Custom

    -

    Called when a browser has recieved a request to close. This may result directly from a call to ICefBrowserHost.*CloseBrowser or indirectly if the browser is parented to a top-level window created by CEF and the user attempts to close that window (by clicking the 'X', for example). The OnClose function will be called after the JavaScript 'onunload' event has been fired. +

    Called when an Alloy style browser is ready to be closed, meaning that the close has already been initiated and that JavaScript unload handlers have already executed or should be ignored. This may result directly from a call to TChromiumCore.[Try]CloseBrowser() or indirectly if the browser's top-level parent window was created by CEF and the user attempts to close that window (by clicking the 'X', for example). TChromiumCore.OnClose will not be called if the browser's host window/view has already been destroyed (via parent window/view hierarchy tear-down, for example), as it is no longer possible to customize the close behavior at that point. -

    An application should handle top-level owner window close notifications by calling ICefBrowserHost.TryCloseBrowser or ICefBrowserHost.CloseBrowser(false) instead of allowing the window to close immediately (see the examples below). This gives CEF an opportunity to process the 'onbeforeunload' event and optionally cancel the close before OnClose is called. +

    An application should handle top-level parent window close notifications by calling TChromiumCore.TryCloseBrowser() or TChromiumCore.CloseBrowser(false) instead of allowing the window to close immediately (see the examples below). This gives CEF an opportunity to process JavaScript unload handlers and optionally cancel the close before TChromiumCore.OnClose is called. -

    When windowed rendering is enabled CEF will internally create a window or view to host the browser. In that case returning false (0) from OnClose() will send the standard close notification to the browser's top-level owner window (e.g. WM_CLOSE on Windows, performClose: on OS X, "delete_event" on Linux or ICefWindowDelegate.CanClose callback from Views). If the browser's host window/view has already been destroyed (via view hierarchy tear-down, for example) then OnClose() will not be called for that browser since is no longer possible to cancel the close. +

    When windowed rendering is enabled CEF will create an internal child window/view to host the browser. In that case returning false (0) from TChromiumCore.OnClose will send the standard close notification to the browser's top- level parent window (e.g. WM_CLOSE on Windows, performClose: on OS X, "delete_event" on Linux or TCEFWindowComponent.OnCanClose callback from Views). -

    When windowed rendering is disabled returning false (0) from OnClose() will cause the browser object to be destroyed immediately. +

    When windowed rendering is disabled there is no internal window/view and returning false (0) from TChromiumCore.OnClose will cause the browser object to be destroyed immediately. -

    If the browser's top-level owner window requires a non-standard close notification then send that notification from OnClose() and return true. +

    If the browser's top-level parent window requires a non-standard close notification then send that notification from TChromiumCore.OnClose and return true (1). You are still required to complete the browser close as soon as possible (either by calling TChromiumCore.[Try]CloseBrowser() or by proceeding with window/view hierarchy tear-down), otherwise the browser will be left in a partially closed state that interferes with proper functioning. Top-level windows created on the browser process UI thread can alternately call TChromiumCore.IsReadyToBeClosed() in the close handler to check close status instead of relying on custom TChromiumCore.OnClose handling. See documentation on that function for additional details. -

    The ICefLifeSpanHandler.OnBeforeClose function will be called after OnClose() (if OnClose() is called) and immediately before the browser object is destroyed. The application should only exit after OnBeforeClose() has been called for all existing browsers. +

    The TChromiumCore.OnBeforeClose event will be called after TChromiumCore.OnClose (if TChromiumCore.OnClose is called) and immediately before the browser object is destroyed. The application should only exit after TChromiumCore.OnBeforeClose has been called for all existing browsers.

    The below examples describe what should happen during window close when the browser is parented to an application-provided top-level window. -

    Example 1: Using ICefBrowserHost.TryCloseBrowser(). This is recommended for clients using standard close handling and windows created on the browser process UI thread. +

    Example 1: Using TChromiumCore.TryCloseBrowser(). This is recommended for clients using standard close handling and windows created on the browser process UI thread.

    @@ -11665,26 +11685,30 @@ Custom

    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 + 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 - ICefJSDialogHandler.OnBeforeUnloadDialog()). + confirmation dialog (which can be overridden via TChromiumCore.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 +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. -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. +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.

    -

    Example 2: Using ICefBrowserHost::CloseBrowser(false) and implementing the OnClose() callback. This is recommended for clients using non-standard close handling or windows that were not created on the browser process UI thread. +

    Example 2: Using TChromiumCore.CloseBrowser(false) and implementing the TChromiumCore.OnClose event. This is recommended for clients using non-standard close handling or windows that were not created on the browser process UI thread.

    @@ -11695,19 +11719,22 @@ Custom

    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()). + confirmation dialog (which can be overridden via TChromiumCore.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. +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 an close notification to the application's top-level window. +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 #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. + 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.

    @@ -11729,7 +11756,7 @@ Custom

    Called on the UI thread before browser navigation. Return true (1) to cancel the navigation or false (0) to allow the navigation to proceed. The |request| object cannot be modified in this callback. -

    ICefLoadHandler.OnLoadingStateChange will be called twice in all cases. If the navigation is allowed ICefLoadHandler.OnLoadStart and ICefLoadHandler.OnLoadEnd will be called. If the navigation is canceled ICefLoadHandler.OnLoadError will be called with an |errorCode| value of ERR_ABORTED. The |user_gesture| value will be true (1) if the browser navigated via explicit user gesture (e.g. clicking a link) or false (0) if it navigated automatically (e.g. via the DomContentLoaded event). +

    TChromiumCore.OnLoadingStateChange will be called twice in all cases. If the navigation is allowed TChromiumCore.OnLoadStart and TChromiumCore.OnLoadEnd will be called. If the navigation is canceled TChromiumCore.OnLoadError will be called with an |errorCode| value of ERR_ABORTED. The |user_gesture| value will be true (1) if the browser navigated via explicit user gesture (e.g. clicking a link) or false (0) if it navigated automatically (e.g. via the DomContentLoaded event).

    diff --git a/docs/html/uCEFConstants.html b/docs/html/uCEFConstants.html index d194ec82..df3e8230 100644 --- a/docs/html/uCEFConstants.html +++ b/docs/html/uCEFConstants.html @@ -2680,46 +2680,52 @@

    - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + + + + @@ -12590,98 +12596,112 @@ Custom menu items originating from the renderer process.

    CEF_PERMISSION_TYPE_GEOLOCATION = 1 shl 9;
    CEF_PERMISSION_TYPE_IDENTITY_PROVIDER = 1 shl 10;CEF_PERMISSION_TYPE_HAND_TRACKING = 1 shl 10;
    CEF_PERMISSION_TYPE_IDLE_DETECTION = 1 shl 11;CEF_PERMISSION_TYPE_IDENTITY_PROVIDER = 1 shl 11;
    CEF_PERMISSION_TYPE_MIC_STREAM = 1 shl 12;CEF_PERMISSION_TYPE_IDLE_DETECTION = 1 shl 12;
    CEF_PERMISSION_TYPE_MIDI_SYSEX = 1 shl 13;CEF_PERMISSION_TYPE_MIC_STREAM = 1 shl 13;
    CEF_PERMISSION_TYPE_MULTIPLE_DOWNLOADS = 1 shl 14;CEF_PERMISSION_TYPE_MIDI_SYSEX = 1 shl 14;
    CEF_PERMISSION_TYPE_NOTIFICATIONS = 1 shl 15;CEF_PERMISSION_TYPE_MULTIPLE_DOWNLOADS = 1 shl 15;
    CEF_PERMISSION_TYPE_KEYBOARD_LOCK = 1 shl 16;CEF_PERMISSION_TYPE_NOTIFICATIONS = 1 shl 16;
    CEF_PERMISSION_TYPE_POINTER_LOCK = 1 shl 17;CEF_PERMISSION_TYPE_KEYBOARD_LOCK = 1 shl 17;
    CEF_PERMISSION_TYPE_PROTECTED_MEDIA_IDENTIFIER = 1 shl 18;CEF_PERMISSION_TYPE_POINTER_LOCK = 1 shl 18;
    CEF_PERMISSION_TYPE_REGISTER_PROTOCOL_HANDLER = 1 shl 19;CEF_PERMISSION_TYPE_PROTECTED_MEDIA_IDENTIFIER = 1 shl 19;
    CEF_PERMISSION_TYPE_STORAGE_ACCESS = 1 shl 20;CEF_PERMISSION_TYPE_REGISTER_PROTOCOL_HANDLER = 1 shl 20;
    CEF_PERMISSION_TYPE_VR_SESSION = 1 shl 21;CEF_PERMISSION_TYPE_STORAGE_ACCESS = 1 shl 21;
    CEF_PERMISSION_TYPE_WINDOW_MANAGEMENT = 1 shl 22;CEF_PERMISSION_TYPE_VR_SESSION = 1 shl 22;
    CEF_PERMISSION_TYPE_FILE_SYSTEM_ACCESS = 1 shl 23;CEF_PERMISSION_TYPE_WEB_APP_INSTALLATION = 1 shl 23;
    CEF_PERMISSION_TYPE_WINDOW_MANAGEMENT = 1 shl 24;
    CEF_PERMISSION_TYPE_FILE_SYSTEM_ACCESS = 1 shl 25;
    CEF_API_HASH_PLATFORM = 0;
    - +
    CEF_PERMISSION_TYPE_IDENTITY_PROVIDER = 1 shl 10;CEF_PERMISSION_TYPE_HAND_TRACKING = 1 shl 10;

    This item has no description.

    - +
    CEF_PERMISSION_TYPE_IDLE_DETECTION = 1 shl 11;CEF_PERMISSION_TYPE_IDENTITY_PROVIDER = 1 shl 11;

    This item has no description.

    - +
    CEF_PERMISSION_TYPE_MIC_STREAM = 1 shl 12;CEF_PERMISSION_TYPE_IDLE_DETECTION = 1 shl 12;

    This item has no description.

    - +
    CEF_PERMISSION_TYPE_MIDI_SYSEX = 1 shl 13;CEF_PERMISSION_TYPE_MIC_STREAM = 1 shl 13;

    This item has no description.

    - +
    CEF_PERMISSION_TYPE_MULTIPLE_DOWNLOADS = 1 shl 14;CEF_PERMISSION_TYPE_MIDI_SYSEX = 1 shl 14;

    This item has no description.

    - +
    CEF_PERMISSION_TYPE_NOTIFICATIONS = 1 shl 15;CEF_PERMISSION_TYPE_MULTIPLE_DOWNLOADS = 1 shl 15;

    This item has no description.

    - +
    CEF_PERMISSION_TYPE_KEYBOARD_LOCK = 1 shl 16;CEF_PERMISSION_TYPE_NOTIFICATIONS = 1 shl 16;

    This item has no description.

    - +
    CEF_PERMISSION_TYPE_POINTER_LOCK = 1 shl 17;CEF_PERMISSION_TYPE_KEYBOARD_LOCK = 1 shl 17;

    This item has no description.

    - +
    CEF_PERMISSION_TYPE_PROTECTED_MEDIA_IDENTIFIER = 1 shl 18;CEF_PERMISSION_TYPE_POINTER_LOCK = 1 shl 18;

    This item has no description.

    - +
    CEF_PERMISSION_TYPE_REGISTER_PROTOCOL_HANDLER = 1 shl 19;CEF_PERMISSION_TYPE_PROTECTED_MEDIA_IDENTIFIER = 1 shl 19;

    This item has no description.

    - +
    CEF_PERMISSION_TYPE_STORAGE_ACCESS = 1 shl 20;CEF_PERMISSION_TYPE_REGISTER_PROTOCOL_HANDLER = 1 shl 20;

    This item has no description.

    - +
    CEF_PERMISSION_TYPE_VR_SESSION = 1 shl 21;CEF_PERMISSION_TYPE_STORAGE_ACCESS = 1 shl 21;

    This item has no description.

    - +
    CEF_PERMISSION_TYPE_WINDOW_MANAGEMENT = 1 shl 22;CEF_PERMISSION_TYPE_VR_SESSION = 1 shl 22;

    This item has no description.

    - + + + +
    CEF_PERMISSION_TYPE_FILE_SYSTEM_ACCESS = 1 shl 23;CEF_PERMISSION_TYPE_WEB_APP_INSTALLATION = 1 shl 23;
    +

    This item has no description.

    + + + + + +
    CEF_PERMISSION_TYPE_WINDOW_MANAGEMENT = 1 shl 24;
    +

    This item has no description.

    + + + diff --git a/docs/html/uCEFInterfaces.ICefBrowserHost.html b/docs/html/uCEFInterfaces.ICefBrowserHost.html index 38e9a300..95578b87 100644 --- a/docs/html/uCEFInterfaces.ICefBrowserHost.html +++ b/docs/html/uCEFInterfaces.ICefBrowserHost.html @@ -46,265 +46,269 @@ - + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -368,7 +372,13 @@
    CEF_PERMISSION_TYPE_FILE_SYSTEM_ACCESS = 1 shl 25;

    This item has no description.

    Publicprocedure SetFocus(focus: Boolean);function IsReadyToBeClosed: Boolean;
    Publicprocedure SetFocus(focus: Boolean);
    Public function GetWindowHandle: TCefWindowHandle;
    Public function GetOpenerWindowHandle: TCefWindowHandle;
    Public function HasView: Boolean;
    Public function GetClient: ICefClient;
    Public function GetRequestContext: ICefRequestContext;
    Public function CanZoom(command: TCefZoomCommand): boolean;
    Public procedure Zoom(command: TCefZoomCommand);
    Public function GetDefaultZoomLevel: Double;
    Public function GetZoomLevel: Double;
    Public procedure SetZoomLevel(const zoomLevel: Double);
    Public procedure RunFileDialog(mode: TCefFileDialogMode; const title, defaultFilePath: ustring; const acceptFilters: TStrings; const callback: ICefRunFileDialogCallback);
    Public procedure RunFileDialogProc(mode: TCefFileDialogMode; const title, defaultFilePath: ustring; const acceptFilters: TStrings; const callback: TCefRunFileDialogCallbackProc);
    Public procedure StartDownload(const url: ustring);
    Public procedure DownloadImage(const imageUrl: ustring; isFavicon: Boolean; maxImageSize: cardinal; bypassCache: Boolean; const callback: ICefDownloadImageCallback);
    Public procedure Print;
    Public procedure PrintToPdf(const path: ustring; settings: PCefPdfPrintSettings; const callback: ICefPdfPrintCallback);
    Public procedure PrintToPdfProc(const path: ustring; settings: PCefPdfPrintSettings; const callback: TOnPdfPrintFinishedProc);
    Public procedure Find(const searchText: ustring; forward_, matchCase, findNext: Boolean);
    Public procedure StopFinding(clearSelection: Boolean);
    Public procedure ShowDevTools(const windowInfo: PCefWindowInfo; const client: ICefClient; const settings: PCefBrowserSettings; inspectElementAt: PCefPoint);
    Public procedure CloseDevTools;
    Public function HasDevTools: Boolean;
    Public function SendDevToolsMessage(const message_: ustring): boolean;
    Public function ExecuteDevToolsMethod(message_id: integer; const method: ustring; const params: ICefDictionaryValue): Integer;
    Public function AddDevToolsMessageObserver(const observer: ICefDevToolsMessageObserver): ICefRegistration;
    Public procedure GetNavigationEntries(const visitor: ICefNavigationEntryVisitor; currentOnly: Boolean);
    Public procedure GetNavigationEntriesProc(const proc: TCefNavigationEntryVisitorProc; currentOnly: Boolean);
    Public procedure ReplaceMisspelling(const word: ustring);
    Public procedure AddWordToDictionary(const word: ustring);
    Public function IsWindowRenderingDisabled: Boolean;
    Public procedure WasResized;
    Public procedure WasHidden(hidden: Boolean);
    Public procedure NotifyScreenInfoChanged;
    Public procedure Invalidate(kind: TCefPaintElementType);
    Public procedure SendExternalBeginFrame;
    Public procedure SendKeyEvent(const event: PCefKeyEvent);
    Public procedure SendMouseClickEvent(const event: PCefMouseEvent; type_: TCefMouseButtonType; mouseUp: Boolean; clickCount: Integer);
    Public procedure SendMouseMoveEvent(const event: PCefMouseEvent; mouseLeave: Boolean);
    Public procedure SendMouseWheelEvent(const event: PCefMouseEvent; deltaX, deltaY: Integer);
    Public procedure SendTouchEvent(const event: PCefTouchEvent);
    Public procedure SendCaptureLostEvent;
    Public procedure NotifyMoveOrResizeStarted;
    Public function GetWindowlessFrameRate: Integer;
    Public procedure SetWindowlessFrameRate(frameRate: Integer);
    Public procedure IMESetComposition(const text: ustring; const underlines : TCefCompositionUnderlineDynArray; const replacement_range, selection_range : PCefRange);
    Public procedure IMECommitText(const text: ustring; const replacement_range : PCefRange; relative_cursor_pos : integer);
    Public procedure IMEFinishComposingText(keep_selection : boolean);
    Public procedure IMECancelComposition;
    Public procedure DragTargetDragEnter(const dragData: ICefDragData; const event: PCefMouseEvent; allowedOps: TCefDragOperations);
    Public procedure DragTargetDragOver(const event: PCefMouseEvent; allowedOps: TCefDragOperations);
    Public procedure DragTargetDragLeave;
    Public procedure DragTargetDrop(const event: PCefMouseEvent);
    Public procedure DragSourceEndedAt(x, y: Integer; op: TCefDragOperation);
    Public procedure DragSourceSystemDragEnded;
    Public function GetVisibleNavigationEntry: ICefNavigationEntry;
    Public procedure SetAccessibilityState(accessibilityState: TCefState);
    Public procedure SetAutoResizeEnabled(enabled: boolean; const min_size, max_size: PCefSize);
    Public procedure SetAudioMuted(mute: boolean);
    Public function IsAudioMuted: boolean;
    Public function IsFullscreen: boolean;
    Public procedure ExitFullscreen(will_cause_resize: boolean);
    Public function CanExecuteChromeCommand(command_id: integer): boolean;
    Public procedure ExecuteChromeCommand(command_id: integer; disposition: TCefWindowOpenDisposition);
    Public function IsRenderProcessUnresponsive: boolean;
    Public function GetRuntimeStyle: TCefRuntimeStyle;

    - Request that the browser close. The JavaScript 'onbeforeunload' event will be fired. If |force_close| is false (0) the event handler, if any, will be allowed to prompt the user and the user can optionally cancel the close. If |force_close| is true (1) the prompt will not be displayed and the close will proceed. Results in a call to ICefLifeSpanHandler.DoClose() if the event handler allows the close or if |force_close| is true (1). See ICefLifeSpanHandler.DoClose() documentation for additional usage information.

    + + +

    Request that the browser close. Closing a browser is a multi-stage process that may complete either synchronously or asynchronously, and involves events such as TChromiumCore.OnClose (Alloy style only), TChromiumCore.OnBeforeClose, and a top-level window close handler such as TCEFWindowComponent.OnCanClose (or platform-specific equivalent). In some cases a close request may be delayed or canceled by the user. Using TryCloseBrowser() instead of CloseBrowser() is recommended for most use cases. See TChromiumCore.OnClose documentation for detailed usage and examples. + +

    If |aForceClose| is false (0) then JavaScript unload handlers, if any, may be fired and the close may be delayed or canceled by the user. If |aForceClose| is true (1) then the user will not be prompted and the close will proceed immediately (possibly asynchronously). If browser close is delayed and not canceled the default behavior is to call the top-level window close handler once the browser is ready to be closed. This default behavior can be changed for Alloy style browsers by implementing TChromiumCore.OnClose. IsReadyToBeClosed() can be used to detect mandatory browser close events when customizing close behavior on the browser process UI thread. + +

    @@ -378,7 +388,17 @@ +

    - Helper for closing a browser. Call this function from the top-level window close handler (if any). Internally this calls CloseBrowser(false (0)) if the close has not yet been initiated. This function returns false (0) while the close is pending and true (1) after the close has completed. See CloseBrowser() and ICefLifeSpanHandler.DoClose() documentation for additional usage information. This function must be called on the browser process UI thread.

    + Helper for closing a browser. This is similar in behavior to CLoseBrowser(false) but returns a boolean to reflect the immediate close status. Call this function from a top-level window close handler such as TCEFWindowComponent.OnCanClose (or platform-specific equivalent) to request that the browser close, and return the result to indicate if the window close should proceed. Returns false (0) if the close will be delayed (JavaScript unload handlers triggered but still pending) or true (1) if the close will proceed immediately (possibly asynchronously). See CloseBrowser() documentation for additional usage information. This function must be called on the browser process UI thread.

    +
    + + + + + +
    Publicfunction IsReadyToBeClosed: Boolean;
    +

    + Returns true (1) if the browser is ready to be closed, meaning that the close has already been initiated and that JavaScript unload handlers have already executed or should be ignored. This can be used from a top-level window close handler such as TCEFWindowComponent.OnCanClose (or platform- specific equivalent) to distringuish between potentially cancelable browser close events (like the user clicking the top-level window close button before browser close has started) and mandatory browser close events (like JavaScript `window.close()` or after browser close has started in response to [Try]CloseBrowser()). Not completing the browser close for mandatory close events (when this function returns true (1)) will leave the browser in a partially closed state that interferes with proper functioning. See CloseBrowser() documentation for additional usage information. This function must be called on the browser process UI thread.

    diff --git a/docs/html/uCEFInterfaces.ICefLifeSpanHandler.html b/docs/html/uCEFInterfaces.ICefLifeSpanHandler.html index 399bb4ca..e62c365d 100644 --- a/docs/html/uCEFInterfaces.ICefLifeSpanHandler.html +++ b/docs/html/uCEFInterfaces.ICefLifeSpanHandler.html @@ -109,23 +109,82 @@

    - Called when a browser has received a request to close. This may result directly from a call to ICefBrowserHost.*CloseBrowser or indirectly if the browser is parented to a top-level window created by CEF and the user attempts to close that window (by clicking the 'X', for example). The DoClose function will be called after the JavaScript 'onunload' event has been fired. -

    An application should handle top-level owner window close notifications by calling ICefBrowserHost.TryCloseBrowser or ICefBrowserHost.CloseBrowser(false) instead of allowing the window to close immediately (see the examples below). This gives CEF an opportunity to process the 'onbeforeunload' event and optionally cancel the close before DoClose is called. -

    When windowed rendering is enabled CEF will internally create a window or view to host the browser. In that case returning false (0) from DoClose() will send the standard close notification to the browser's top-level owner window (e.g. WM_CLOSE on Windows, performClose: on OS X, "delete_event" on Linux or ICefWindowDelegate.CanClose callback from Views). If the browser's host window/view has already been destroyed (via view hierarchy tear-down, for example) then DoClose() will not be called for that browser since is no longer possible to cancel the close. +

    Called when an Alloy style browser is ready to be closed, meaning that the close has already been initiated and that JavaScript unload handlers have already executed or should be ignored. This may result directly from a call to TChromiumCore.[Try]CloseBrowser() or indirectly if the browser's top-level parent window was created by CEF and the user attempts to close that window (by clicking the 'X', for example). TChromiumCore.OnClose will not be called if the browser's host window/view has already been destroyed (via parent window/view hierarchy tear-down, for example), as it is no longer possible to customize the close behavior at that point. -

    When windowed rendering is disabled returning false (0) from DoClose() will cause the browser object to be destroyed immediately. +

    An application should handle top-level parent window close notifications by calling TChromiumCore.TryCloseBrowser() or TChromiumCore.CloseBrowser(false) instead of allowing the window to close immediately (see the examples below). This gives CEF an opportunity to process JavaScript unload handlers and optionally cancel the close before TChromiumCore.OnClose is called. -

    If the browser's top-level owner window requires a non-standard close notification then send that notification from DoClose() and return true (1). +

    When windowed rendering is enabled CEF will create an internal child window/view to host the browser. In that case returning false (0) from TChromiumCore.OnClose will send the standard close notification to the browser's top- level parent window (e.g. WM_CLOSE on Windows, performClose: on OS X, "delete_event" on Linux or TCEFWindowComponent.OnCanClose callback from Views). -

    The ICefLifeSpanHandler.OnBeforeClose function will be called after DoClose() (if DoClose() is called) and immediately before the browser object is destroyed. The application should only exit after OnBeforeClose() has been called for all existing browsers. +

    When windowed rendering is disabled there is no internal window/view and returning false (0) from TChromiumCore.OnClose will cause the browser object to be destroyed immediately. + +

    If the browser's top-level parent window requires a non-standard close notification then send that notification from TChromiumCore.OnClose and return true (1). You are still required to complete the browser close as soon as possible (either by calling TChromiumCore.[Try]CloseBrowser() or by proceeding with window/view hierarchy tear-down), otherwise the browser will be left in a partially closed state that interferes with proper functioning. Top-level windows created on the browser process UI thread can alternately call TChromiumCore.IsReadyToBeClosed() in the close handler to check close status instead of relying on custom TChromiumCore.OnClose handling. See documentation on that function for additional details. + +

    The TChromiumCore.OnBeforeClose event will be called after TChromiumCore.OnClose (if TChromiumCore.OnClose is called) and immediately before the browser object is destroyed. The application should only exit after TChromiumCore.OnBeforeClose has been called for all existing browsers.

    The below examples describe what should happen during window close when the browser is parented to an application-provided top-level window. -

    Example 1: Using ICefBrowserHost.TryCloseBrowser(). This is recommended for clients using standard close handling and windows created on the browser process UI thread. 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 DoClose() 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. +

    Example 1: Using TChromiumCore.TryCloseBrowser(). This is recommended for clients using standard close handling and windows created on the browser process UI thread. -

    Example 2: Using ICefBrowserHost::CloseBrowser(false) and implementing the DoClose() callback. This is recommended for clients using non-standard close handling or windows that were not created on the browser process UI thread. 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 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 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.

    +

    + +
    +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.
    + +

    + +

    Example 2: Using TChromiumCore.CloseBrowser(false) and implementing the TChromiumCore.OnClose event. This is recommended for clients using non-standard close handling or windows that were not created on the browser process UI thread. + +

    + +
    +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.
    + +

    diff --git a/docs/html/uCEFLifeSpanHandler.TCefLifeSpanHandlerOwn.html b/docs/html/uCEFLifeSpanHandler.TCefLifeSpanHandlerOwn.html index d526c445..7a3267a9 100644 --- a/docs/html/uCEFLifeSpanHandler.TCefLifeSpanHandlerOwn.html +++ b/docs/html/uCEFLifeSpanHandler.TCefLifeSpanHandlerOwn.html @@ -100,23 +100,82 @@

    This item has no description. Showing description inherited from ICefLifeSpanHandler.DoClose.

    - Called when a browser has received a request to close. This may result directly from a call to ICefBrowserHost.*CloseBrowser or indirectly if the browser is parented to a top-level window created by CEF and the user attempts to close that window (by clicking the 'X', for example). The DoClose function will be called after the JavaScript 'onunload' event has been fired. -

    An application should handle top-level owner window close notifications by calling ICefBrowserHost.TryCloseBrowser or ICefBrowserHost.CloseBrowser(false) instead of allowing the window to close immediately (see the examples below). This gives CEF an opportunity to process the 'onbeforeunload' event and optionally cancel the close before DoClose is called. -

    When windowed rendering is enabled CEF will internally create a window or view to host the browser. In that case returning false (0) from DoClose() will send the standard close notification to the browser's top-level owner window (e.g. WM_CLOSE on Windows, performClose: on OS X, "delete_event" on Linux or ICefWindowDelegate.CanClose callback from Views). If the browser's host window/view has already been destroyed (via view hierarchy tear-down, for example) then DoClose() will not be called for that browser since is no longer possible to cancel the close. +

    Called when an Alloy style browser is ready to be closed, meaning that the close has already been initiated and that JavaScript unload handlers have already executed or should be ignored. This may result directly from a call to TChromiumCore.[Try]CloseBrowser() or indirectly if the browser's top-level parent window was created by CEF and the user attempts to close that window (by clicking the 'X', for example). TChromiumCore.OnClose will not be called if the browser's host window/view has already been destroyed (via parent window/view hierarchy tear-down, for example), as it is no longer possible to customize the close behavior at that point. -

    When windowed rendering is disabled returning false (0) from DoClose() will cause the browser object to be destroyed immediately. +

    An application should handle top-level parent window close notifications by calling TChromiumCore.TryCloseBrowser() or TChromiumCore.CloseBrowser(false) instead of allowing the window to close immediately (see the examples below). This gives CEF an opportunity to process JavaScript unload handlers and optionally cancel the close before TChromiumCore.OnClose is called. -

    If the browser's top-level owner window requires a non-standard close notification then send that notification from DoClose() and return true (1). +

    When windowed rendering is enabled CEF will create an internal child window/view to host the browser. In that case returning false (0) from TChromiumCore.OnClose will send the standard close notification to the browser's top- level parent window (e.g. WM_CLOSE on Windows, performClose: on OS X, "delete_event" on Linux or TCEFWindowComponent.OnCanClose callback from Views). -

    The ICefLifeSpanHandler.OnBeforeClose function will be called after DoClose() (if DoClose() is called) and immediately before the browser object is destroyed. The application should only exit after OnBeforeClose() has been called for all existing browsers. +

    When windowed rendering is disabled there is no internal window/view and returning false (0) from TChromiumCore.OnClose will cause the browser object to be destroyed immediately. + +

    If the browser's top-level parent window requires a non-standard close notification then send that notification from TChromiumCore.OnClose and return true (1). You are still required to complete the browser close as soon as possible (either by calling TChromiumCore.[Try]CloseBrowser() or by proceeding with window/view hierarchy tear-down), otherwise the browser will be left in a partially closed state that interferes with proper functioning. Top-level windows created on the browser process UI thread can alternately call TChromiumCore.IsReadyToBeClosed() in the close handler to check close status instead of relying on custom TChromiumCore.OnClose handling. See documentation on that function for additional details. + +

    The TChromiumCore.OnBeforeClose event will be called after TChromiumCore.OnClose (if TChromiumCore.OnClose is called) and immediately before the browser object is destroyed. The application should only exit after TChromiumCore.OnBeforeClose has been called for all existing browsers.

    The below examples describe what should happen during window close when the browser is parented to an application-provided top-level window. -

    Example 1: Using ICefBrowserHost.TryCloseBrowser(). This is recommended for clients using standard close handling and windows created on the browser process UI thread. 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 DoClose() 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. +

    Example 1: Using TChromiumCore.TryCloseBrowser(). This is recommended for clients using standard close handling and windows created on the browser process UI thread. -

    Example 2: Using ICefBrowserHost::CloseBrowser(false) and implementing the DoClose() callback. This is recommended for clients using non-standard close handling or windows that were not created on the browser process UI thread. 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 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 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.

    +

    + +
    +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.
    + +

    + +

    Example 2: Using TChromiumCore.CloseBrowser(false) and implementing the TChromiumCore.OnClose event. This is recommended for clients using non-standard close handling or windows that were not created on the browser process UI thread. + +

    + +
    +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.
    + +

    diff --git a/docs/html/uCEFLifeSpanHandler.TCustomLifeSpanHandler.html b/docs/html/uCEFLifeSpanHandler.TCustomLifeSpanHandler.html index 70dad428..889477b0 100644 --- a/docs/html/uCEFLifeSpanHandler.TCustomLifeSpanHandler.html +++ b/docs/html/uCEFLifeSpanHandler.TCustomLifeSpanHandler.html @@ -121,23 +121,82 @@

    This item has no description. Showing description inherited from ICefLifeSpanHandler.DoClose.

    - Called when a browser has received a request to close. This may result directly from a call to ICefBrowserHost.*CloseBrowser or indirectly if the browser is parented to a top-level window created by CEF and the user attempts to close that window (by clicking the 'X', for example). The DoClose function will be called after the JavaScript 'onunload' event has been fired. -

    An application should handle top-level owner window close notifications by calling ICefBrowserHost.TryCloseBrowser or ICefBrowserHost.CloseBrowser(false) instead of allowing the window to close immediately (see the examples below). This gives CEF an opportunity to process the 'onbeforeunload' event and optionally cancel the close before DoClose is called. -

    When windowed rendering is enabled CEF will internally create a window or view to host the browser. In that case returning false (0) from DoClose() will send the standard close notification to the browser's top-level owner window (e.g. WM_CLOSE on Windows, performClose: on OS X, "delete_event" on Linux or ICefWindowDelegate.CanClose callback from Views). If the browser's host window/view has already been destroyed (via view hierarchy tear-down, for example) then DoClose() will not be called for that browser since is no longer possible to cancel the close. +

    Called when an Alloy style browser is ready to be closed, meaning that the close has already been initiated and that JavaScript unload handlers have already executed or should be ignored. This may result directly from a call to TChromiumCore.[Try]CloseBrowser() or indirectly if the browser's top-level parent window was created by CEF and the user attempts to close that window (by clicking the 'X', for example). TChromiumCore.OnClose will not be called if the browser's host window/view has already been destroyed (via parent window/view hierarchy tear-down, for example), as it is no longer possible to customize the close behavior at that point. -

    When windowed rendering is disabled returning false (0) from DoClose() will cause the browser object to be destroyed immediately. +

    An application should handle top-level parent window close notifications by calling TChromiumCore.TryCloseBrowser() or TChromiumCore.CloseBrowser(false) instead of allowing the window to close immediately (see the examples below). This gives CEF an opportunity to process JavaScript unload handlers and optionally cancel the close before TChromiumCore.OnClose is called. -

    If the browser's top-level owner window requires a non-standard close notification then send that notification from DoClose() and return true (1). +

    When windowed rendering is enabled CEF will create an internal child window/view to host the browser. In that case returning false (0) from TChromiumCore.OnClose will send the standard close notification to the browser's top- level parent window (e.g. WM_CLOSE on Windows, performClose: on OS X, "delete_event" on Linux or TCEFWindowComponent.OnCanClose callback from Views). -

    The ICefLifeSpanHandler.OnBeforeClose function will be called after DoClose() (if DoClose() is called) and immediately before the browser object is destroyed. The application should only exit after OnBeforeClose() has been called for all existing browsers. +

    When windowed rendering is disabled there is no internal window/view and returning false (0) from TChromiumCore.OnClose will cause the browser object to be destroyed immediately. + +

    If the browser's top-level parent window requires a non-standard close notification then send that notification from TChromiumCore.OnClose and return true (1). You are still required to complete the browser close as soon as possible (either by calling TChromiumCore.[Try]CloseBrowser() or by proceeding with window/view hierarchy tear-down), otherwise the browser will be left in a partially closed state that interferes with proper functioning. Top-level windows created on the browser process UI thread can alternately call TChromiumCore.IsReadyToBeClosed() in the close handler to check close status instead of relying on custom TChromiumCore.OnClose handling. See documentation on that function for additional details. + +

    The TChromiumCore.OnBeforeClose event will be called after TChromiumCore.OnClose (if TChromiumCore.OnClose is called) and immediately before the browser object is destroyed. The application should only exit after TChromiumCore.OnBeforeClose has been called for all existing browsers.

    The below examples describe what should happen during window close when the browser is parented to an application-provided top-level window. -

    Example 1: Using ICefBrowserHost.TryCloseBrowser(). This is recommended for clients using standard close handling and windows created on the browser process UI thread. 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 DoClose() 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. +

    Example 1: Using TChromiumCore.TryCloseBrowser(). This is recommended for clients using standard close handling and windows created on the browser process UI thread. -

    Example 2: Using ICefBrowserHost::CloseBrowser(false) and implementing the DoClose() callback. This is recommended for clients using non-standard close handling or windows that were not created on the browser process UI thread. 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 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 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.

    +

    + +
    +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.
    + +

    + +

    Example 2: Using TChromiumCore.CloseBrowser(false) and implementing the TChromiumCore.OnClose event. This is recommended for clients using non-standard close handling or windows that were not created on the browser process UI thread. + +

    + +
    +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.
    + +

    diff --git a/docs/html/uCEFTypes.TCefBrowserHost.html b/docs/html/uCEFTypes.TCefBrowserHost.html index c9c7f960..0ffaf490 100644 --- a/docs/html/uCEFTypes.TCefBrowserHost.html +++ b/docs/html/uCEFTypes.TCefBrowserHost.html @@ -47,253 +47,257 @@ - + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -335,6 +339,14 @@
    Publicset_focus: procedure(self: PCefBrowserHost; focus: Integer); stdcall;is_ready_to_be_closed: function(self: PCefBrowserHost): Integer; stdcall;
    Publicset_focus: procedure(self: PCefBrowserHost; focus: Integer); stdcall;
    Public get_window_handle: function(self: PCefBrowserHost): TCefWindowHandle; stdcall;
    Public get_opener_window_handle: function(self: PCefBrowserHost): TCefWindowHandle; stdcall;
    Public has_view: function(self: PCefBrowserHost): Integer; stdcall;
    Public get_client: function(self: PCefBrowserHost): PCefClient; stdcall;
    Public get_request_context: function(self: PCefBrowserHost): PCefRequestContext; stdcall;
    Public can_zoom: function(self: PCefBrowserHost; command: TCefZoomCommand): Integer; stdcall;
    Public zoom: procedure(self: PCefBrowserHost; command: TCefZoomCommand); stdcall;
    Public get_default_zoom_level: function(self: PCefBrowserHost): Double; stdcall;
    Public get_zoom_level: function(self: PCefBrowserHost): Double; stdcall;
    Public set_zoom_level: procedure(self: PCefBrowserHost; zoomLevel: Double); stdcall;
    Public run_file_dialog: procedure(self: PCefBrowserHost; mode: TCefFileDialogMode; const title, default_file_path: PCefString; accept_filters: TCefStringList; callback: PCefRunFileDialogCallback); stdcall;
    Public start_download: procedure(self: PCefBrowserHost; const url: PCefString); stdcall;
    Public download_image: procedure(self: PCefBrowserHost; const image_url: PCefString; is_favicon: Integer; max_image_size: Cardinal; bypass_cache: Integer; callback: PCefDownloadImageCallback); stdcall;
    Public print: procedure(self: PCefBrowserHost); stdcall;
    Public print_to_pdf: procedure(self: PCefBrowserHost; const path: PCefString; const settings: PCefPdfPrintSettings; callback: PCefPdfPrintCallback); stdcall;
    Public find: procedure(self: PCefBrowserHost; const searchText: PCefString; forward_, matchCase, findNext: Integer); stdcall;
    Public stop_finding: procedure(self: PCefBrowserHost; clearSelection: Integer); stdcall;
    Public show_dev_tools: procedure(self: PCefBrowserHost; const windowInfo: PCefWindowInfo; client: PCefClient; const settings: PCefBrowserSettings; const inspect_element_at: PCefPoint); stdcall;
    Public close_dev_tools: procedure(self: PCefBrowserHost); stdcall;
    Public has_dev_tools: function(self: PCefBrowserHost): Integer; stdcall;
    Public send_dev_tools_message: function(self: PCefBrowserHost; const message_: Pointer; message_size: NativeUInt): Integer; stdcall;
    Public execute_dev_tools_method: function(self: PCefBrowserHost; message_id: integer; const method: PCefString; params: PCefDictionaryValue): Integer; stdcall;
    Public add_dev_tools_message_observer: function(self: PCefBrowserHost; observer: PCefDevToolsMessageObserver): PCefRegistration; stdcall;
    Public get_navigation_entries: procedure(self: PCefBrowserHost; visitor: PCefNavigationEntryVisitor; current_only: Integer); stdcall;
    Public replace_misspelling: procedure(self: PCefBrowserHost; const word: PCefString); stdcall;
    Public add_word_to_dictionary: procedure(self: PCefBrowserHost; const word: PCefString); stdcall;
    Public is_window_rendering_disabled: function(self: PCefBrowserHost): Integer; stdcall;
    Public was_resized: procedure(self: PCefBrowserHost); stdcall;
    Public was_hidden: procedure(self: PCefBrowserHost; hidden: Integer); stdcall;
    Public notify_screen_info_changed: procedure(self: PCefBrowserHost); stdcall;
    Public invalidate: procedure(self: PCefBrowserHost; type_: TCefPaintElementType); stdcall;
    Public send_external_begin_frame: procedure(self: PCefBrowserHost); stdcall;
    Public send_key_event: procedure(self: PCefBrowserHost; const event: PCefKeyEvent); stdcall;
    Public send_mouse_click_event: procedure(self: PCefBrowserHost; const event: PCefMouseEvent; type_: TCefMouseButtonType; mouseUp, clickCount: Integer); stdcall;
    Public send_mouse_move_event: procedure(self: PCefBrowserHost; const event: PCefMouseEvent; mouseLeave: Integer); stdcall;
    Public send_mouse_wheel_event: procedure(self: PCefBrowserHost; const event: PCefMouseEvent; deltaX, deltaY: Integer); stdcall;
    Public send_touch_event: procedure(self: PCefBrowserHost; const event: PCefTouchEvent); stdcall;
    Public send_capture_lost_event: procedure(self: PCefBrowserHost); stdcall;
    Public notify_move_or_resize_started: procedure(self: PCefBrowserHost); stdcall;
    Public get_windowless_frame_rate: function(self: PCefBrowserHost): Integer; stdcall;
    Public set_windowless_frame_rate: procedure(self: PCefBrowserHost; frame_rate: Integer); stdcall;
    Public ime_set_composition: procedure(self: PCefBrowserHost; const text: PCefString; underlinesCount : NativeUInt; const underlines : PCefCompositionUnderline; const replacement_range, selection_range : PCefRange); stdcall;
    Public ime_commit_text: procedure(self: PCefBrowserHost; const text: PCefString; const replacement_range : PCefRange; relative_cursor_pos : integer); stdcall;
    Public ime_finish_composing_text: procedure(self: PCefBrowserHost; keep_selection : integer); stdcall;
    Public ime_cancel_composition: procedure(self: PCefBrowserHost); stdcall;
    Public drag_target_drag_enter: procedure(self: PCefBrowserHost; drag_data: PCefDragData; const event: PCefMouseEvent; allowed_ops: TCefDragOperations); stdcall;
    Public drag_target_drag_over: procedure(self: PCefBrowserHost; const event: PCefMouseEvent; allowed_ops: TCefDragOperations); stdcall;
    Public drag_target_drag_leave: procedure(self: PCefBrowserHost); stdcall;
    Public drag_target_drop: procedure(self: PCefBrowserHost; const event: PCefMouseEvent); stdcall;
    Public drag_source_ended_at: procedure(self: PCefBrowserHost; x, y: Integer; op: TCefDragOperation); stdcall;
    Public drag_source_system_drag_ended: procedure(self: PCefBrowserHost); stdcall;
    Public get_visible_navigation_entry: function(self: PCefBrowserHost): PCefNavigationEntry; stdcall;
    Public set_accessibility_state: procedure(self: PCefBrowserHost; accessibility_state: TCefState); stdcall;
    Public set_auto_resize_enabled: procedure(self: PCefBrowserHost; enabled: integer; const min_size, max_size: PCefSize); stdcall;
    Public set_audio_muted: procedure(self: PCefBrowserHost; mute: integer); stdcall;
    Public is_audio_muted: function(self: PCefBrowserHost): integer; stdcall;
    Public is_fullscreen: function(self: PCefBrowserHost): integer; stdcall;
    Public exit_fullscreen: procedure(self: PCefBrowserHost; will_cause_resize: integer); stdcall;
    Public can_execute_chrome_command: function(self: PCefBrowserHost; command_id: integer): integer; stdcall;
    Public execute_chrome_command: procedure(self: PCefBrowserHost; command_id: integer; disposition: TCefWindowOpenDisposition); stdcall;
    Public is_render_process_unresponsive: function(self: PCefBrowserHost): integer; stdcall;
    Public get_runtime_style: function(self: PCefBrowserHost): TCefRuntimeStyle; stdcall;
    + + + +
    Publicis_ready_to_be_closed: function(self: PCefBrowserHost): Integer; stdcall;
    +

    This item has no description.

    + + +
    Public set_focus: procedure(self: PCefBrowserHost; focus: Integer); stdcall;
    diff --git a/docs/html/uCEFTypes.html b/docs/html/uCEFTypes.html index 58789468..5dbb8333 100644 --- a/docs/html/uCEFTypes.html +++ b/docs/html/uCEFTypes.html @@ -7144,6 +7144,10 @@ Ranges:

    <see href="https://github.com/cfredric/storage-access-headers">See also: https://github.com/cfredric/storage-access-headers.) +

  • +CEF_CONTENT_SETTING_TYPE_HAND_TRACKING: Whether or not sites can request Hand Tracking data within WebXR Sessions.
  • +
  • +CEF_CONTENT_SETTING_TYPE_WEB_APP_INSTALLATION: Website setting to indicate whether user has opted in to allow web apps to install other web apps.
  • diff --git a/packages/cef4delphi_lazarus.lpk b/packages/cef4delphi_lazarus.lpk index fa57f2d2..5fecb94d 100644 --- a/packages/cef4delphi_lazarus.lpk +++ b/packages/cef4delphi_lazarus.lpk @@ -21,7 +21,7 @@ - + diff --git a/source/uCEFBrowser.pas b/source/uCEFBrowser.pas index bfdd9e00..3a5fe02a 100644 --- a/source/uCEFBrowser.pas +++ b/source/uCEFBrowser.pas @@ -53,6 +53,7 @@ type function GetBrowser: ICefBrowser; procedure CloseBrowser(forceClose: Boolean); function TryCloseBrowser: Boolean; + function IsReadyToBeClosed: Boolean; procedure SetFocus(focus: Boolean); function GetWindowHandle: TCefWindowHandle; function GetOpenerWindowHandle: TCefWindowHandle; @@ -748,6 +749,11 @@ begin Result := PCefBrowserHost(FData)^.try_close_browser(PCefBrowserHost(FData)) <> 0; end; +function TCefBrowserHostRef.IsReadyToBeClosed: Boolean; +begin + Result := PCefBrowserHost(FData)^.is_ready_to_be_closed(PCefBrowserHost(FData)) <> 0; +end; + class function TCefBrowserHostRef.UnWrap(data: Pointer): ICefBrowserHost; begin if (data <> nil) then diff --git a/source/uCEFChromiumCore.pas b/source/uCEFChromiumCore.pas index 86d7c800..ec960700 100644 --- a/source/uCEFChromiumCore.pas +++ b/source/uCEFChromiumCore.pas @@ -731,14 +731,26 @@ type /// function CreateClientHandler(var aClient : ICefClient; aIsOSR : boolean = True) : boolean; overload; /// - /// Request that the browser close. The JavaScript 'onbeforeunload' event will - /// be fired. If |aForceClose| is false (0) the event handler, if any, will be - /// allowed to prompt the user and the user can optionally cancel the close. - /// If |aForceClose| is true (1) the prompt will not be displayed and the - /// close will proceed. Results in a call to - /// ICefLifeSpanHandler.DoClose() if the event handler allows the close - /// or if |aForceClose| is true (1). See ICefLifeSpanHandler.DoClose() - /// documentation for additional usage information. + /// Request that the browser close. Closing a browser is a multi-stage process + /// that may complete either synchronously or asynchronously, and involves + /// events such as TChromiumCore.OnClose (Alloy style only), + /// TChromiumCore.OnBeforeClose, and a top-level window close + /// handler such as TCEFWindowComponent.OnCanClose (or platform-specific + /// equivalent). In some cases a close request may be delayed or canceled by + /// the user. Using TryCloseBrowser() instead of CloseBrowser() is + /// recommended for most use cases. See TChromiumCore.OnClose + /// documentation for detailed usage and examples. + /// + /// If |aForceClose| is false (0) then JavaScript unload handlers, if any, may + /// be fired and the close may be delayed or canceled by the user. If + /// |aForceClose| is true (1) then the user will not be prompted and the close + /// will proceed immediately (possibly asynchronously). If browser close is + /// delayed and not canceled the default behavior is to call the top-level + /// window close handler once the browser is ready to be closed. This default + /// behavior can be changed for Alloy style browsers by implementing + /// TChromiumCore.OnClose. IsReadyToBeClosed() can be used + /// to detect mandatory browser close events when customizing close behavior + /// on the browser process UI thread. /// procedure CloseBrowser(aForceClose : boolean); /// @@ -746,16 +758,36 @@ type /// procedure CloseAllBrowsers; /// - /// Helper for closing a browser. Call this function from the top-level window - /// close handler (if any). Internally this calls CloseBrowser(false (0)) if - /// the close has not yet been initiated. This function returns false (0) - /// while the close is pending and true (1) after the close has completed. See - /// CloseBrowser() and ICefLifeSpanHandler.DoClose() documentation for - /// additional usage information. This function must be called on the browser - /// process UI thread. + /// Helper for closing a browser. This is similar in behavior to + /// CLoseBrowser(false) but returns a boolean to reflect the immediate + /// close status. Call this function from a top-level window close handler + /// such as TCEFWindowComponent.OnCanClose (or platform-specific equivalent) + /// to request that the browser close, and return the result to indicate if + /// the window close should proceed. Returns false (0) if the close will be + /// delayed (JavaScript unload handlers triggered but still pending) or true + /// (1) if the close will proceed immediately (possibly asynchronously). See + /// CloseBrowser() documentation for additional usage information. This + /// function must be called on the browser process UI thread. /// function TryCloseBrowser : boolean; /// + /// Returns true (1) if the browser is ready to be closed, meaning that the + /// close has already been initiated and that JavaScript unload handlers have + /// already executed or should be ignored. This can be used from a top-level + /// window close handler such as TCEFWindowComponent.OnCanClose (or platform- + /// specific equivalent) to distringuish between potentially cancelable + /// browser close events (like the user clicking the top-level window close + /// button before browser close has started) and mandatory browser close + /// events (like JavaScript `window.close()` or after browser close has + /// started in response to [Try]CloseBrowser()). Not completing the browser + /// close for mandatory close events (when this function returns true (1)) + /// will leave the browser in a partially closed state that interferes with + /// proper functioning. See CloseBrowser() documentation for additional usage + /// information. This function must be called on the browser process UI + /// thread. + /// + function IsReadyToBeClosed : boolean; + /// /// Select the browser with the aID identifier when TChromiumCore uses the /// multi-browser mode. /// @@ -2680,69 +2712,84 @@ type /// property OnBeforeClose : TOnBeforeClose read FOnBeforeClose write FOnBeforeClose; /// - /// Called when a browser has recieved a request to close. This may result - /// directly from a call to ICefBrowserHost.*CloseBrowser or indirectly - /// if the browser is parented to a top-level window created by CEF and the - /// user attempts to close that window (by clicking the 'X', for example). The - /// OnClose function will be called after the JavaScript 'onunload' event - /// has been fired. + /// Called when an Alloy style browser is ready to be closed, meaning that the + /// close has already been initiated and that JavaScript unload handlers have + /// already executed or should be ignored. This may result directly from a + /// call to TChromiumCore.[Try]CloseBrowser() or indirectly if the + /// browser's top-level parent window was created by CEF and the user attempts + /// to close that window (by clicking the 'X', for example). TChromiumCore.OnClose will + /// not be called if the browser's host window/view has already been destroyed + /// (via parent window/view hierarchy tear-down, for example), as it is no + /// longer possible to customize the close behavior at that point. /// - /// An application should handle top-level owner window close notifications by - /// calling ICefBrowserHost.TryCloseBrowser or - /// ICefBrowserHost.CloseBrowser(false) instead of allowing the window + /// An application should handle top-level parent window close notifications + /// by calling TChromiumCore.TryCloseBrowser() or + /// TChromiumCore.CloseBrowser(false) instead of allowing the window /// to close immediately (see the examples below). This gives CEF an - /// opportunity to process the 'onbeforeunload' event and optionally cancel - /// the close before OnClose is called. + /// opportunity to process JavaScript unload handlers and optionally cancel + /// the close before TChromiumCore.OnClose is called. /// - /// When windowed rendering is enabled CEF will internally create a window or - /// view to host the browser. In that case returning false (0) from OnClose() - /// will send the standard close notification to the browser's top-level owner - /// window (e.g. WM_CLOSE on Windows, performClose: on OS X, "delete_event" on - /// Linux or ICefWindowDelegate.CanClose callback from Views). If the - /// browser's host window/view has already been destroyed (via view hierarchy - /// tear-down, for example) then OnClose() will not be called for that - /// browser since is no longer possible to cancel the close. + /// When windowed rendering is enabled CEF will create an internal child + /// window/view to host the browser. In that case returning false (0) from + /// TChromiumCore.OnClose will send the standard close notification to the browser's top- + /// level parent window (e.g. WM_CLOSE on Windows, performClose: on OS X, + /// "delete_event" on Linux or TCEFWindowComponent.OnCanClose callback + /// from Views). /// - /// When windowed rendering is disabled returning false (0) from OnClose() - /// will cause the browser object to be destroyed immediately. + /// When windowed rendering is disabled there is no internal window/view and + /// returning false (0) from TChromiumCore.OnClose will cause the browser object to be + /// destroyed immediately. /// - /// If the browser's top-level owner window requires a non-standard close - /// notification then send that notification from OnClose() and return true. + /// If the browser's top-level parent window requires a non-standard close + /// notification then send that notification from TChromiumCore.OnClose and return true + /// (1). You are still required to complete the browser close as soon as + /// possible (either by calling TChromiumCore.[Try]CloseBrowser() or by proceeding with + /// window/view hierarchy tear-down), otherwise the browser will be left in a + /// partially closed state that interferes with proper functioning. Top-level + /// windows created on the browser process UI thread can alternately call + /// TChromiumCore.IsReadyToBeClosed() in the close handler to check + /// close status instead of relying on custom TChromiumCore.OnClose handling. See + /// documentation on that function for additional details. /// - /// The ICefLifeSpanHandler.OnBeforeClose function will be called - /// after OnClose() (if OnClose() is called) and immediately before the + /// The TChromiumCore.OnBeforeClose event will be called + /// after TChromiumCore.OnClose (if TChromiumCore.OnClose is called) and immediately before the /// browser object is destroyed. The application should only exit after - /// OnBeforeClose() has been called for all existing browsers. + /// TChromiumCore.OnBeforeClose has been called for all existing browsers. /// /// The below examples describe what should happen during window close when /// the browser is parented to an application-provided top-level window. /// - /// Example 1: Using ICefBrowserHost.TryCloseBrowser(). This is + /// Example 1: Using TChromiumCore.TryCloseBrowser(). This is /// recommended for clients using standard close handling and windows created /// on the browser process UI thread. /// /// 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 + /// 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 - /// ICefJSDialogHandler.OnBeforeUnloadDialog()). + /// confirmation dialog (which can be overridden via TChromiumCore.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 + /// 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. - /// 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. + /// 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. /// - /// Example 2: Using ICefBrowserHost::CloseBrowser(false) and - /// implementing the OnClose() callback. This is recommended for clients + /// + /// Example 2: Using TChromiumCore.CloseBrowser(false) and + /// implementing the TChromiumCore.OnClose event. This is recommended for clients /// using non-standard close handling or windows that were not created on the /// browser process UI thread. /// @@ -2752,19 +2799,22 @@ type /// 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()). + /// confirmation dialog (which can be overridden via TChromiumCore.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. + /// 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 an close notification to the application's top-level window. + /// 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 #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. + /// 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. /// /// /// @@ -2776,10 +2826,10 @@ type /// Called on the UI thread before browser navigation. Return true (1) to /// cancel the navigation or false (0) to allow the navigation to proceed. The /// |request| object cannot be modified in this callback. - /// ICefLoadHandler.OnLoadingStateChange will be called twice in all - /// cases. If the navigation is allowed ICefLoadHandler.OnLoadStart and - /// ICefLoadHandler.OnLoadEnd will be called. If the navigation is - /// canceled ICefLoadHandler.OnLoadError will be called with an + /// TChromiumCore.OnLoadingStateChange will be called twice in all + /// cases. If the navigation is allowed TChromiumCore.OnLoadStart and + /// TChromiumCore.OnLoadEnd will be called. If the navigation is + /// canceled TChromiumCore.OnLoadError will be called with an /// |errorCode| value of ERR_ABORTED. The |user_gesture| value will be true /// (1) if the browser navigated via explicit user gesture (e.g. clicking a /// link) or false (0) if it navigated automatically (e.g. via the @@ -4897,6 +4947,12 @@ begin Result := True; end; +function TChromiumCore.IsReadyToBeClosed : boolean; +begin + Result := Initialized and + Browser.Host.IsReadyToBeClosed; +end; + function TChromiumCore.CreateBrowserHost( aWindowInfo : PCefWindowInfo; const aURL : ustring; const aSettings : PCefBrowserSettings; diff --git a/source/uCEFConstants.pas b/source/uCEFConstants.pas index 9732dc33..717007d7 100644 --- a/source/uCEFConstants.pas +++ b/source/uCEFConstants.pas @@ -3911,20 +3911,22 @@ const CEF_PERMISSION_TYPE_DISK_QUOTA = 1 shl 7; CEF_PERMISSION_TYPE_LOCAL_FONTS = 1 shl 8; CEF_PERMISSION_TYPE_GEOLOCATION = 1 shl 9; - CEF_PERMISSION_TYPE_IDENTITY_PROVIDER = 1 shl 10; - CEF_PERMISSION_TYPE_IDLE_DETECTION = 1 shl 11; - CEF_PERMISSION_TYPE_MIC_STREAM = 1 shl 12; - CEF_PERMISSION_TYPE_MIDI_SYSEX = 1 shl 13; - CEF_PERMISSION_TYPE_MULTIPLE_DOWNLOADS = 1 shl 14; - CEF_PERMISSION_TYPE_NOTIFICATIONS = 1 shl 15; - CEF_PERMISSION_TYPE_KEYBOARD_LOCK = 1 shl 16; - CEF_PERMISSION_TYPE_POINTER_LOCK = 1 shl 17; - CEF_PERMISSION_TYPE_PROTECTED_MEDIA_IDENTIFIER = 1 shl 18; - CEF_PERMISSION_TYPE_REGISTER_PROTOCOL_HANDLER = 1 shl 19; - CEF_PERMISSION_TYPE_STORAGE_ACCESS = 1 shl 20; - CEF_PERMISSION_TYPE_VR_SESSION = 1 shl 21; - CEF_PERMISSION_TYPE_WINDOW_MANAGEMENT = 1 shl 22; - CEF_PERMISSION_TYPE_FILE_SYSTEM_ACCESS = 1 shl 23; + CEF_PERMISSION_TYPE_HAND_TRACKING = 1 shl 10; + CEF_PERMISSION_TYPE_IDENTITY_PROVIDER = 1 shl 11; + CEF_PERMISSION_TYPE_IDLE_DETECTION = 1 shl 12; + CEF_PERMISSION_TYPE_MIC_STREAM = 1 shl 13; + CEF_PERMISSION_TYPE_MIDI_SYSEX = 1 shl 14; + CEF_PERMISSION_TYPE_MULTIPLE_DOWNLOADS = 1 shl 15; + CEF_PERMISSION_TYPE_NOTIFICATIONS = 1 shl 16; + CEF_PERMISSION_TYPE_KEYBOARD_LOCK = 1 shl 17; + CEF_PERMISSION_TYPE_POINTER_LOCK = 1 shl 18; + CEF_PERMISSION_TYPE_PROTECTED_MEDIA_IDENTIFIER = 1 shl 19; + CEF_PERMISSION_TYPE_REGISTER_PROTOCOL_HANDLER = 1 shl 20; + CEF_PERMISSION_TYPE_STORAGE_ACCESS = 1 shl 21; + CEF_PERMISSION_TYPE_VR_SESSION = 1 shl 22; + CEF_PERMISSION_TYPE_WEB_APP_INSTALLATION = 1 shl 23; + CEF_PERMISSION_TYPE_WINDOW_MANAGEMENT = 1 shl 24; + CEF_PERMISSION_TYPE_FILE_SYSTEM_ACCESS = 1 shl 25; /// diff --git a/source/uCEFInterfaces.pas b/source/uCEFInterfaces.pas index 3a580ab9..435cd6d7 100644 --- a/source/uCEFInterfaces.pas +++ b/source/uCEFInterfaces.pas @@ -803,27 +803,59 @@ type /// function GetBrowser: ICefBrowser; /// - /// Request that the browser close. The JavaScript 'onbeforeunload' event will - /// be fired. If |force_close| is false (0) the event handler, if any, will be - /// allowed to prompt the user and the user can optionally cancel the close. - /// If |force_close| is true (1) the prompt will not be displayed and the - /// close will proceed. Results in a call to - /// ICefLifeSpanHandler.DoClose() if the event handler allows the close - /// or if |force_close| is true (1). See ICefLifeSpanHandler.DoClose() - /// documentation for additional usage information. + /// Request that the browser close. Closing a browser is a multi-stage process + /// that may complete either synchronously or asynchronously, and involves + /// events such as TChromiumCore.OnClose (Alloy style only), + /// TChromiumCore.OnBeforeClose, and a top-level window close + /// handler such as TCEFWindowComponent.OnCanClose (or platform-specific + /// equivalent). In some cases a close request may be delayed or canceled by + /// the user. Using TryCloseBrowser() instead of CloseBrowser() is + /// recommended for most use cases. See TChromiumCore.OnClose + /// documentation for detailed usage and examples. + /// + /// If |aForceClose| is false (0) then JavaScript unload handlers, if any, may + /// be fired and the close may be delayed or canceled by the user. If + /// |aForceClose| is true (1) then the user will not be prompted and the close + /// will proceed immediately (possibly asynchronously). If browser close is + /// delayed and not canceled the default behavior is to call the top-level + /// window close handler once the browser is ready to be closed. This default + /// behavior can be changed for Alloy style browsers by implementing + /// TChromiumCore.OnClose. IsReadyToBeClosed() can be used + /// to detect mandatory browser close events when customizing close behavior + /// on the browser process UI thread. /// procedure CloseBrowser(forceClose: Boolean); /// - /// Helper for closing a browser. Call this function from the top-level window - /// close handler (if any). Internally this calls CloseBrowser(false (0)) if - /// the close has not yet been initiated. This function returns false (0) - /// while the close is pending and true (1) after the close has completed. See - /// CloseBrowser() and ICefLifeSpanHandler.DoClose() documentation for - /// additional usage information. This function must be called on the browser - /// process UI thread. + /// Helper for closing a browser. This is similar in behavior to + /// CLoseBrowser(false) but returns a boolean to reflect the immediate + /// close status. Call this function from a top-level window close handler + /// such as TCEFWindowComponent.OnCanClose (or platform-specific equivalent) + /// to request that the browser close, and return the result to indicate if + /// the window close should proceed. Returns false (0) if the close will be + /// delayed (JavaScript unload handlers triggered but still pending) or true + /// (1) if the close will proceed immediately (possibly asynchronously). See + /// CloseBrowser() documentation for additional usage information. This + /// function must be called on the browser process UI thread. /// function TryCloseBrowser: Boolean; /// + /// Returns true (1) if the browser is ready to be closed, meaning that the + /// close has already been initiated and that JavaScript unload handlers have + /// already executed or should be ignored. This can be used from a top-level + /// window close handler such as TCEFWindowComponent.OnCanClose (or platform- + /// specific equivalent) to distringuish between potentially cancelable + /// browser close events (like the user clicking the top-level window close + /// button before browser close has started) and mandatory browser close + /// events (like JavaScript `window.close()` or after browser close has + /// started in response to [Try]CloseBrowser()). Not completing the browser + /// close for mandatory close events (when this function returns true (1)) + /// will leave the browser in a partially closed state that interferes with + /// proper functioning. See CloseBrowser() documentation for additional usage + /// information. This function must be called on the browser process UI + /// thread. + /// + function IsReadyToBeClosed: Boolean; + /// /// Set whether the browser is focused. /// procedure SetFocus(focus: Boolean); @@ -6233,90 +6265,110 @@ type /// procedure OnAfterCreated(const browser: ICefBrowser); /// - /// Called when a browser has received a request to close. This may result - /// directly from a call to ICefBrowserHost.*CloseBrowser or indirectly - /// if the browser is parented to a top-level window created by CEF and the - /// user attempts to close that window (by clicking the 'X', for example). The - /// DoClose function will be called after the JavaScript 'onunload' event - /// has been fired. + /// Called when an Alloy style browser is ready to be closed, meaning that the + /// close has already been initiated and that JavaScript unload handlers have + /// already executed or should be ignored. This may result directly from a + /// call to TChromiumCore.[Try]CloseBrowser() or indirectly if the + /// browser's top-level parent window was created by CEF and the user attempts + /// to close that window (by clicking the 'X', for example). TChromiumCore.OnClose will + /// not be called if the browser's host window/view has already been destroyed + /// (via parent window/view hierarchy tear-down, for example), as it is no + /// longer possible to customize the close behavior at that point. /// - /// An application should handle top-level owner window close notifications by - /// calling ICefBrowserHost.TryCloseBrowser or - /// ICefBrowserHost.CloseBrowser(false) instead of allowing the window + /// An application should handle top-level parent window close notifications + /// by calling TChromiumCore.TryCloseBrowser() or + /// TChromiumCore.CloseBrowser(false) instead of allowing the window /// to close immediately (see the examples below). This gives CEF an - /// opportunity to process the 'onbeforeunload' event and optionally cancel - /// the close before DoClose is called. + /// opportunity to process JavaScript unload handlers and optionally cancel + /// the close before TChromiumCore.OnClose is called. /// - /// When windowed rendering is enabled CEF will internally create a window or - /// view to host the browser. In that case returning false (0) from DoClose() - /// will send the standard close notification to the browser's top-level owner - /// window (e.g. WM_CLOSE on Windows, performClose: on OS X, "delete_event" on - /// Linux or ICefWindowDelegate.CanClose callback from Views). If the - /// browser's host window/view has already been destroyed (via view hierarchy - /// tear-down, for example) then DoClose() will not be called for that - /// browser since is no longer possible to cancel the close. + /// When windowed rendering is enabled CEF will create an internal child + /// window/view to host the browser. In that case returning false (0) from + /// TChromiumCore.OnClose will send the standard close notification to the browser's top- + /// level parent window (e.g. WM_CLOSE on Windows, performClose: on OS X, + /// "delete_event" on Linux or TCEFWindowComponent.OnCanClose callback + /// from Views). /// - /// When windowed rendering is disabled returning false (0) from DoClose() - /// will cause the browser object to be destroyed immediately. + /// When windowed rendering is disabled there is no internal window/view and + /// returning false (0) from TChromiumCore.OnClose will cause the browser object to be + /// destroyed immediately. /// - /// If the browser's top-level owner window requires a non-standard close - /// notification then send that notification from DoClose() and return true - /// (1). + /// If the browser's top-level parent window requires a non-standard close + /// notification then send that notification from TChromiumCore.OnClose and return true + /// (1). You are still required to complete the browser close as soon as + /// possible (either by calling TChromiumCore.[Try]CloseBrowser() or by proceeding with + /// window/view hierarchy tear-down), otherwise the browser will be left in a + /// partially closed state that interferes with proper functioning. Top-level + /// windows created on the browser process UI thread can alternately call + /// TChromiumCore.IsReadyToBeClosed() in the close handler to check + /// close status instead of relying on custom TChromiumCore.OnClose handling. See + /// documentation on that function for additional details. /// - /// The ICefLifeSpanHandler.OnBeforeClose function will be called - /// after DoClose() (if DoClose() is called) and immediately before the + /// The TChromiumCore.OnBeforeClose event will be called + /// after TChromiumCore.OnClose (if TChromiumCore.OnClose is called) and immediately before the /// browser object is destroyed. The application should only exit after - /// OnBeforeClose() has been called for all existing browsers. + /// TChromiumCore.OnBeforeClose has been called for all existing browsers. /// - /// The below examples describe what should happen during window close when - /// the browser is parented to an application-provided top-level window. + /// The below examples describe what should happen during window close when + /// the browser is parented to an application-provided top-level window. /// - /// Example 1: Using ICefBrowserHost.TryCloseBrowser(). This is + /// Example 1: Using TChromiumCore.TryCloseBrowser(). This is /// recommended for clients using standard close handling and windows created - /// on the browser process UI thread. + /// on the browser process UI thread. + /// /// 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 + /// 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 - /// ICefJSDialogHandler.OnBeforeUnloadDialog()). + /// confirmation dialog (which can be overridden via TChromiumCore.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 DoClose() returned false by default). - /// 7. Application's top-level window receives the close notification and + /// 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. - /// 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. + /// 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. + /// /// - /// Example 2: Using ICefBrowserHost::CloseBrowser(false) and - /// implementing the DoClose() callback. This is recommended for clients + /// Example 2: Using TChromiumCore.CloseBrowser(false) and + /// implementing the TChromiumCore.OnClose event. This is recommended for clients /// using non-standard close handling or windows that were not created on the - /// browser process UI thread. + /// browser process UI thread. + /// /// 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()). + /// confirmation dialog (which can be overridden via TChromiumCore.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. + /// 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 an close notification to the application's top-level window. + /// 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 #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. + /// 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. + /// /// function DoClose(const browser: ICefBrowser): Boolean; /// diff --git a/source/uCEFTypes.pas b/source/uCEFTypes.pas index c16b639c..3c9199e3 100644 --- a/source/uCEFTypes.pas +++ b/source/uCEFTypes.pas @@ -5213,9 +5213,9 @@ type /// CEF_CONTENT_SETTING_TYPE_JAVASCRIPT_OPTIMIZER, /// - /// Content Setting for the Storage Access Headers persistent origin trial that - /// allows origins to opt into the storage access header behavior. Should be - /// scoped to `REQUESTING_ORIGIN_AND_TOP_SCHEMEFUL_SITE_SCOPE` in order to + /// Content Setting for the Storage Access Headers persistent origin trial + /// that allows origins to opt into the storage access header behavior. Should + /// be scoped to `REQUESTING_ORIGIN_AND_TOP_SCHEMEFUL_SITE_SCOPE` in order to /// correspond to the design of persistent origin trials. /// ALLOW: storage access request headers will be attached to cross-site /// requests, and url requests will look for response headers from @@ -5225,7 +5225,16 @@ type /// /// See also: https://github.com/cfredric/storage-access-headers. /// - CEF_CONTENT_SETTING_TYPE_STORAGE_ACCESS_HEADER_ORIGIN_TRIAL + CEF_CONTENT_SETTING_TYPE_STORAGE_ACCESS_HEADER_ORIGIN_TRIAL, + /// + /// Whether or not sites can request Hand Tracking data within WebXR Sessions. + /// + CEF_CONTENT_SETTING_TYPE_HAND_TRACKING, + /// + /// Website setting to indicate whether user has opted in to allow web apps to + /// install other web apps. + /// + CEF_CONTENT_SETTING_TYPE_WEB_APP_INSTALLATION ); /// @@ -7746,6 +7755,7 @@ type get_browser : function(self: PCefBrowserHost): PCefBrowser; stdcall; close_browser : procedure(self: PCefBrowserHost; force_close: Integer); stdcall; try_close_browser : function(self: PCefBrowserHost): Integer; stdcall; + is_ready_to_be_closed : function(self: PCefBrowserHost): Integer; stdcall; set_focus : procedure(self: PCefBrowserHost; focus: Integer); stdcall; get_window_handle : function(self: PCefBrowserHost): TCefWindowHandle; stdcall; get_opener_window_handle : function(self: PCefBrowserHost): TCefWindowHandle; stdcall; diff --git a/source/uCEFVersion.inc b/source/uCEFVersion.inc index afeb2423..658e3c3a 100644 --- a/source/uCEFVersion.inc +++ b/source/uCEFVersion.inc @@ -1,9 +1,9 @@ - CEF_SUPPORTED_VERSION_MAJOR = 129; - CEF_SUPPORTED_VERSION_MINOR = 0; - CEF_SUPPORTED_VERSION_RELEASE = 12; + CEF_SUPPORTED_VERSION_MAJOR = 130; + CEF_SUPPORTED_VERSION_MINOR = 1; + CEF_SUPPORTED_VERSION_RELEASE = 2; CEF_SUPPORTED_VERSION_BUILD = 0; CEF_CHROMEELF_VERSION_MAJOR = CEF_SUPPORTED_VERSION_MAJOR; CEF_CHROMEELF_VERSION_MINOR = 0; - CEF_CHROMEELF_VERSION_RELEASE = 6668; - CEF_CHROMEELF_VERSION_BUILD = 101; + CEF_CHROMEELF_VERSION_RELEASE = 6723; + CEF_CHROMEELF_VERSION_BUILD = 44; diff --git a/update_CEF4Delphi.json b/update_CEF4Delphi.json index b8dcfe69..1ab7c0b6 100644 --- a/update_CEF4Delphi.json +++ b/update_CEF4Delphi.json @@ -2,9 +2,9 @@ "UpdateLazPackages" : [ { "ForceNotify" : true, - "InternalVersion" : 665, + "InternalVersion" : 666, "Name" : "cef4delphi_lazarus.lpk", - "Version" : "129.0.12" + "Version" : "130.1.2" } ], "UpdatePackageData" : {