diff --git a/README.md b/README.md index 9173d2a..b5c375f 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ WebView4Delphi is an open source project created by Salvador Díaz Fau to embed WebView4Delphi only supports Windows. If you need to embed a web browser in Linux, Windows or MacOS consider using [CEF4Delphi](https://github.com/salvadordf/CEF4Delphi) instead. -WebView4Delphi uses the [Microsoft Edge WebView2 Runtime](https://docs.microsoft.com/en-us/microsoft-edge/webview2/) and [Microsoft.Web.WebView2 NuGet package version 1.0.2277.86](https://www.nuget.org/packages/Microsoft.Web.WebView2) to embed a web browser. +WebView4Delphi uses the [Microsoft Edge WebView2 Runtime](https://docs.microsoft.com/en-us/microsoft-edge/webview2/) and [Microsoft.Web.WebView2 NuGet package version 1.0.2365.46](https://www.nuget.org/packages/Microsoft.Web.WebView2) to embed a web browser. WebView4Delphi was developed and tested on Delphi 12.0, Delphi XE2, Delphi 7 and Lazarus 3.0/FPC 3.2.2. diff --git a/bin32/WebView2Loader.dll b/bin32/WebView2Loader.dll index 4116ec1..b084ca3 100644 Binary files a/bin32/WebView2Loader.dll and b/bin32/WebView2Loader.dll differ diff --git a/bin64/WebView2Loader.dll b/bin64/WebView2Loader.dll index d631ae2..0a896b3 100644 Binary files a/bin64/WebView2Loader.dll and b/bin64/WebView2Loader.dll differ diff --git a/demos/Delphi_VCL/MiniBrowser/uMiniBrowser.pas b/demos/Delphi_VCL/MiniBrowser/uMiniBrowser.pas index 738f4ff..69d3054 100644 --- a/demos/Delphi_VCL/MiniBrowser/uMiniBrowser.pas +++ b/demos/Delphi_VCL/MiniBrowser/uMiniBrowser.pas @@ -509,8 +509,8 @@ procedure TMiniBrowserFrm.WVBrowser1AfterCreated(Sender: TObject); NavControlPnl.Enabled := True; // We need to a filter to enable the TWVBrowser.OnWebResourceRequested event - WVBrowser1.AddWebResourceRequestedFilter('*', COREWEBVIEW2_WEB_RESOURCE_CONTEXT_IMAGE); - WVBrowser1.AddWebResourceRequestedFilter('*', COREWEBVIEW2_WEB_RESOURCE_CONTEXT_MEDIA); + WVBrowser1.AddWebResourceRequestedFilterWithRequestSourceKinds('*', COREWEBVIEW2_WEB_RESOURCE_CONTEXT_IMAGE, COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS_ALL); + WVBrowser1.AddWebResourceRequestedFilterWithRequestSourceKinds('*', COREWEBVIEW2_WEB_RESOURCE_CONTEXT_MEDIA, COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS_ALL); WVBrowser1.CoreWebView2PrintSettings.HeaderTitle := 'Tituloooooo'; WVBrowser1.CoreWebView2PrintSettings.ShouldPrintHeaderAndFooter := True; diff --git a/docs/WebView4Delphi.chm b/docs/WebView4Delphi.chm index 8fe9c29..d509266 100644 Binary files a/docs/WebView4Delphi.chm and b/docs/WebView4Delphi.chm differ diff --git a/docs/html/AllClasses.html b/docs/html/AllClasses.html index 03076d3..59a0229 100644 --- a/docs/html/AllClasses.html +++ b/docs/html/AllClasses.html @@ -999,41 +999,46 @@

All Classes, Interfaces, Objects and Records

Event args for the WebResourceRequested event.

+ICoreWebView2WebResourceRequestedEventArgs2 +uWVTypeLibrary +

Event args for the `WebResourceRequested` event.

+ + ICoreWebView2WebResourceRequestedEventHandler uWVTypeLibrary

Runs when a URL request (through network, file, and so on) is made in the webview for a Web resource matching resource context filter and URL specified in AddWebResourceRequestedFilter. The host views and modifies the request or provide a response in a similar pattern to HTTP, in which case the request immediately completed. This may not contain any request headers that are added by the network stack, such as an Authorization header.

- + ICoreWebView2WebResourceResponse uWVTypeLibrary

An HTTP response used with the WebResourceRequested event.

- + ICoreWebView2WebResourceResponseReceivedEventArgs uWVTypeLibrary

Event args for the WebResourceResponseReceived event.

- + ICoreWebView2WebResourceResponseReceivedEventHandler uWVTypeLibrary

Receives WebResourceResponseReceived events.

- + ICoreWebView2WebResourceResponseView uWVTypeLibrary

View of the HTTP representation for a web resource response. The properties of this object are not mutable. This response view is used with the WebResourceResponseReceived event.

- + ICoreWebView2WebResourceResponseViewGetContentCompletedHandler uWVTypeLibrary

Receives the result of the ICoreWebView2WebResourceResponseView.GetContent method.

- + ICoreWebView2WindowCloseRequestedEventHandler uWVTypeLibrary

Receives WindowCloseRequested events.

- + ICoreWebView2WindowFeatures uWVTypeLibrary

@@ -1046,76 +1051,81 @@

All Classes, Interfaces, Objects and Records

- + ICoreWebView2ZoomFactorChangedEventHandler uWVTypeLibrary

Implements the interface to receive ZoomFactorChanged events. Use the ICoreWebView2Controller.ZoomFactor property to get the modified zoom factor.

- + ICoreWebView2_10 uWVTypeLibrary

This interface is an extension of ICoreWebView2_9 that supports BasicAuthenticationRequested event.

- + ICoreWebView2_11 uWVTypeLibrary

This interface is an extension of ICoreWebView2_10 that supports sessionId for CDP method calls and ContextMenuRequested event.

- + ICoreWebView2_12 uWVTypeLibrary

This interface is an extension of ICoreWebView2_11 that supports StatusBarTextChanged event.

- + ICoreWebView2_13 uWVTypeLibrary

This interface is an extension of ICoreWebView2_12 that supports Profile API.

- + ICoreWebView2_14 uWVTypeLibrary

This interface is an extension of ICoreWebView2_13 that adds ServerCertificate support.

- + ICoreWebView2_15 uWVTypeLibrary

This interface is an extension of ICoreWebView2_14 that supports status Favicons.

- + ICoreWebView2_16 uWVTypeLibrary

A continuation of the ICoreWebView2 interface to support printing.

- + ICoreWebView2_17 uWVTypeLibrary

This interface is an extension of ICoreWebView2_16 that supports shared buffer based on file mapping.

- + ICoreWebView2_18 uWVTypeLibrary

This interface is an extension of ICoreWebView2_17 that manages navigation requests to URI schemes registered with the OS.

- + ICoreWebView2_19 uWVTypeLibrary

This interface is an extension of ICoreWebView2_18 that manages memory usage target level.

- + ICoreWebView2_2 uWVTypeLibrary

A continuation of the ICoreWebView2 interface.

- + ICoreWebView2_20 uWVTypeLibrary

This interface is an extension of `ICoreWebView2_19` that provides the `FrameId` property.

- + ICoreWebView2_21 uWVTypeLibrary

This is the interface for getting string and exception with ExecuteScriptWithResult.

+ +ICoreWebView2_22 +uWVTypeLibrary +

This interface is an extension of `ICoreWebView2` that allows to set filters in order to receive WebResourceRequested events for service workers, shared workers and different origin iframes.

+ ICoreWebView2_3 uWVTypeLibrary diff --git a/docs/html/AllConstants.html b/docs/html/AllConstants.html index 2e7b805..aad8437 100644 --- a/docs/html/AllConstants.html +++ b/docs/html/AllConstants.html @@ -1324,982 +1324,1012 @@

All Constants

Specifies an XML HTTP request, Fetch and EventSource API communication.

+COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS_ALL +uWVTypeLibrary +

Indicates that web resource is requested from any supported source.

+ + +COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS_DOCUMENT +uWVTypeLibrary +

Indicates that web resource is requested from main page including dedicated workers and iframes.

+ + +COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS_NONE +uWVTypeLibrary +

Indicates that no web resource is requested.

+ + +COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS_SERVICE_WORKER +uWVTypeLibrary +

Indicates that web resource is requested from service worker.

+ + +COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS_SHARED_WORKER +uWVTypeLibrary +

Indicates that web resource is requested from shared worker.

+ + CRLF uWVConstants

 

- + GWLP_HWNDPARENT uWVMiscFunctions

 

- + GWLP_WNDPROC uWVMiscFunctions

 

- + HWND_MESSAGE uWVConstants

 

- + IID_ICoreWebView2 uWVTypeLibrary

 

- + IID_ICoreWebView2AcceleratorKeyPressedEventArgs uWVTypeLibrary

 

- + IID_ICoreWebView2AcceleratorKeyPressedEventArgs2 uWVTypeLibrary

 

- + IID_ICoreWebView2AcceleratorKeyPressedEventHandler uWVTypeLibrary

 

- + IID_ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler uWVTypeLibrary

 

- + IID_ICoreWebView2BasicAuthenticationRequestedEventArgs uWVTypeLibrary

 

- + IID_ICoreWebView2BasicAuthenticationRequestedEventHandler uWVTypeLibrary

 

- + IID_ICoreWebView2BasicAuthenticationResponse uWVTypeLibrary

 

- + IID_ICoreWebView2BrowserExtension uWVTypeLibrary

 

- + IID_ICoreWebView2BrowserExtensionEnableCompletedHandler uWVTypeLibrary

 

- + IID_ICoreWebView2BrowserExtensionList uWVTypeLibrary

 

- + IID_ICoreWebView2BrowserExtensionRemoveCompletedHandler uWVTypeLibrary

 

- + IID_ICoreWebView2BrowserProcessExitedEventArgs uWVTypeLibrary

 

- + IID_ICoreWebView2BrowserProcessExitedEventHandler uWVTypeLibrary

 

- + IID_ICoreWebView2BytesReceivedChangedEventHandler uWVTypeLibrary

 

- + IID_ICoreWebView2CallDevToolsProtocolMethodCompletedHandler uWVTypeLibrary

 

- + IID_ICoreWebView2CapturePreviewCompletedHandler uWVTypeLibrary

 

- + IID_ICoreWebView2Certificate uWVTypeLibrary

 

- + IID_ICoreWebView2ClearBrowsingDataCompletedHandler uWVTypeLibrary

 

- + IID_ICoreWebView2ClearServerCertificateErrorActionsCompletedHandler uWVTypeLibrary

 

- + IID_ICoreWebView2ClientCertificate uWVTypeLibrary

 

- + IID_ICoreWebView2ClientCertificateCollection uWVTypeLibrary

 

- + IID_ICoreWebView2ClientCertificateRequestedEventArgs uWVTypeLibrary

 

- + IID_ICoreWebView2ClientCertificateRequestedEventHandler uWVTypeLibrary

 

- + IID_ICoreWebView2CompositionController uWVTypeLibrary

 

- + IID_ICoreWebView2CompositionController2 uWVTypeLibrary

 

- + IID_ICoreWebView2CompositionController3 uWVTypeLibrary

 

- + IID_ICoreWebView2ContainsFullScreenElementChangedEventHandler uWVTypeLibrary

 

- + IID_ICoreWebView2ContentLoadingEventArgs uWVTypeLibrary

 

- + IID_ICoreWebView2ContentLoadingEventHandler uWVTypeLibrary

 

- + IID_ICoreWebView2ContextMenuItem uWVTypeLibrary

 

- + IID_ICoreWebView2ContextMenuItemCollection uWVTypeLibrary

 

- + IID_ICoreWebView2ContextMenuRequestedEventArgs uWVTypeLibrary

 

- + IID_ICoreWebView2ContextMenuRequestedEventHandler uWVTypeLibrary

 

- + IID_ICoreWebView2ContextMenuTarget uWVTypeLibrary

 

- + IID_ICoreWebView2Controller uWVTypeLibrary

 

- + IID_ICoreWebView2Controller2 uWVTypeLibrary

 

- + IID_ICoreWebView2Controller3 uWVTypeLibrary

 

- + IID_ICoreWebView2Controller4 uWVTypeLibrary

 

- + IID_ICoreWebView2ControllerOptions uWVTypeLibrary

 

- + IID_ICoreWebView2ControllerOptions2 uWVTypeLibrary

 

- + IID_ICoreWebView2Cookie uWVTypeLibrary

 

- + IID_ICoreWebView2CookieList uWVTypeLibrary

 

- + IID_ICoreWebView2CookieManager uWVTypeLibrary

 

- + IID_ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler uWVTypeLibrary

 

- + IID_ICoreWebView2CreateCoreWebView2ControllerCompletedHandler uWVTypeLibrary

 

- + IID_ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler uWVTypeLibrary

 

- + IID_ICoreWebView2CursorChangedEventHandler uWVTypeLibrary

 

- + IID_ICoreWebView2CustomItemSelectedEventHandler uWVTypeLibrary

 

- + IID_ICoreWebView2CustomSchemeRegistration uWVTypeLibrary

 

- + IID_ICoreWebView2Deferral uWVTypeLibrary

 

- + IID_ICoreWebView2DevToolsProtocolEventReceivedEventArgs uWVTypeLibrary

 

- + IID_ICoreWebView2DevToolsProtocolEventReceivedEventArgs2 uWVTypeLibrary

 

- + IID_ICoreWebView2DevToolsProtocolEventReceivedEventHandler uWVTypeLibrary

 

- + IID_ICoreWebView2DevToolsProtocolEventReceiver uWVTypeLibrary

 

- + IID_ICoreWebView2DocumentTitleChangedEventHandler uWVTypeLibrary

 

- + IID_ICoreWebView2DOMContentLoadedEventArgs uWVTypeLibrary

 

- + IID_ICoreWebView2DOMContentLoadedEventHandler uWVTypeLibrary

 

- + IID_ICoreWebView2DownloadOperation uWVTypeLibrary

 

- + IID_ICoreWebView2DownloadStartingEventArgs uWVTypeLibrary

 

- + IID_ICoreWebView2DownloadStartingEventHandler uWVTypeLibrary

 

- + IID_ICoreWebView2Environment uWVTypeLibrary

 

- + IID_ICoreWebView2Environment10 uWVTypeLibrary

 

- + IID_ICoreWebView2Environment11 uWVTypeLibrary

 

- + IID_ICoreWebView2Environment12 uWVTypeLibrary

 

- + IID_ICoreWebView2Environment13 uWVTypeLibrary

 

- + IID_ICoreWebView2Environment2 uWVTypeLibrary

 

- + IID_ICoreWebView2Environment3 uWVTypeLibrary

 

- + IID_ICoreWebView2Environment4 uWVTypeLibrary

 

- + IID_ICoreWebView2Environment5 uWVTypeLibrary

 

- + IID_ICoreWebView2Environment6 uWVTypeLibrary

 

- + IID_ICoreWebView2Environment7 uWVTypeLibrary

 

- + IID_ICoreWebView2Environment8 uWVTypeLibrary

 

- + IID_ICoreWebView2Environment9 uWVTypeLibrary

 

- + IID_ICoreWebView2EnvironmentOptions uWVTypeLibrary

 

- + IID_ICoreWebView2EnvironmentOptions2 uWVTypeLibrary

 

- + IID_ICoreWebView2EnvironmentOptions3 uWVTypeLibrary

 

- + IID_ICoreWebView2EnvironmentOptions4 uWVTypeLibrary

 

- + IID_ICoreWebView2EnvironmentOptions5 uWVTypeLibrary

 

- + IID_ICoreWebView2EnvironmentOptions6 uWVTypeLibrary

 

- + IID_ICoreWebView2EstimatedEndTimeChangedEventHandler uWVTypeLibrary

 

- + IID_ICoreWebView2ExecuteScriptCompletedHandler uWVTypeLibrary

 

- + IID_ICoreWebView2ExecuteScriptResult uWVTypeLibrary

 

- + IID_ICoreWebView2ExecuteScriptWithResultCompletedHandler uWVTypeLibrary

 

- + IID_ICoreWebView2FaviconChangedEventHandler uWVTypeLibrary

 

- + IID_ICoreWebView2File uWVTypeLibrary

 

- + IID_ICoreWebView2FocusChangedEventHandler uWVTypeLibrary

 

- + IID_ICoreWebView2Frame uWVTypeLibrary

 

- + IID_ICoreWebView2Frame2 uWVTypeLibrary

 

- + IID_ICoreWebView2Frame3 uWVTypeLibrary

 

- + IID_ICoreWebView2Frame4 uWVTypeLibrary

 

- + IID_ICoreWebView2Frame5 uWVTypeLibrary

 

- + IID_ICoreWebView2FrameContentLoadingEventHandler uWVTypeLibrary

 

- + IID_ICoreWebView2FrameCreatedEventArgs uWVTypeLibrary

 

- + IID_ICoreWebView2FrameCreatedEventHandler uWVTypeLibrary

 

- + IID_ICoreWebView2FrameDestroyedEventHandler uWVTypeLibrary

 

- + IID_ICoreWebView2FrameDOMContentLoadedEventHandler uWVTypeLibrary

 

- + IID_ICoreWebView2FrameInfo uWVTypeLibrary

 

- + IID_ICoreWebView2FrameInfo2 uWVTypeLibrary

 

- + IID_ICoreWebView2FrameInfoCollection uWVTypeLibrary

 

- + IID_ICoreWebView2FrameInfoCollectionIterator uWVTypeLibrary

 

- + IID_ICoreWebView2FrameNameChangedEventHandler uWVTypeLibrary

 

- + IID_ICoreWebView2FrameNavigationCompletedEventHandler uWVTypeLibrary

 

- + IID_ICoreWebView2FrameNavigationStartingEventHandler uWVTypeLibrary

 

- + IID_ICoreWebView2FramePermissionRequestedEventHandler uWVTypeLibrary

 

- + IID_ICoreWebView2FrameWebMessageReceivedEventHandler uWVTypeLibrary

 

- + IID_ICoreWebView2GetCookiesCompletedHandler uWVTypeLibrary

 

- + IID_ICoreWebView2GetFaviconCompletedHandler uWVTypeLibrary

 

- + IID_ICoreWebView2GetNonDefaultPermissionSettingsCompletedHandler uWVTypeLibrary

 

- + IID_ICoreWebView2GetProcessExtendedInfosCompletedHandler uWVTypeLibrary

 

- + IID_ICoreWebView2HistoryChangedEventHandler uWVTypeLibrary

 

- + IID_ICoreWebView2HttpHeadersCollectionIterator uWVTypeLibrary

 

- + IID_ICoreWebView2HttpRequestHeaders uWVTypeLibrary

 

- + IID_ICoreWebView2HttpResponseHeaders uWVTypeLibrary

 

- + IID_ICoreWebView2IsDefaultDownloadDialogOpenChangedEventHandler uWVTypeLibrary

 

- + IID_ICoreWebView2IsDocumentPlayingAudioChangedEventHandler uWVTypeLibrary

 

- + IID_ICoreWebView2IsMutedChangedEventHandler uWVTypeLibrary

 

- + IID_ICoreWebView2LaunchingExternalUriSchemeEventArgs uWVTypeLibrary

 

- + IID_ICoreWebView2LaunchingExternalUriSchemeEventHandler uWVTypeLibrary

 

- + IID_ICoreWebView2MoveFocusRequestedEventArgs uWVTypeLibrary

 

- + IID_ICoreWebView2MoveFocusRequestedEventHandler uWVTypeLibrary

 

- + IID_ICoreWebView2NavigationCompletedEventArgs uWVTypeLibrary

 

- + IID_ICoreWebView2NavigationCompletedEventArgs2 uWVTypeLibrary

 

- + IID_ICoreWebView2NavigationCompletedEventHandler uWVTypeLibrary

 

- + IID_ICoreWebView2NavigationStartingEventArgs uWVTypeLibrary

 

- + IID_ICoreWebView2NavigationStartingEventArgs2 uWVTypeLibrary

 

- + IID_ICoreWebView2NavigationStartingEventArgs3 uWVTypeLibrary

 

- + IID_ICoreWebView2NavigationStartingEventHandler uWVTypeLibrary

 

- + IID_ICoreWebView2NewBrowserVersionAvailableEventHandler uWVTypeLibrary

 

+ +IID_ICoreWebView2NewWindowRequestedEventArgs +uWVTypeLibrary +

 

+ -IID_ICoreWebView2NewWindowRequestedEventArgs +IID_ICoreWebView2NewWindowRequestedEventArgs2 uWVTypeLibrary

 

-IID_ICoreWebView2NewWindowRequestedEventArgs2 +IID_ICoreWebView2NewWindowRequestedEventArgs3 uWVTypeLibrary

 

-IID_ICoreWebView2NewWindowRequestedEventArgs3 +IID_ICoreWebView2NewWindowRequestedEventHandler uWVTypeLibrary

 

-IID_ICoreWebView2NewWindowRequestedEventHandler +IID_ICoreWebView2ObjectCollectionView uWVTypeLibrary

 

-IID_ICoreWebView2ObjectCollectionView +IID_ICoreWebView2PermissionRequestedEventArgs uWVTypeLibrary

 

-IID_ICoreWebView2PermissionRequestedEventArgs +IID_ICoreWebView2PermissionRequestedEventArgs2 uWVTypeLibrary

 

-IID_ICoreWebView2PermissionRequestedEventArgs2 +IID_ICoreWebView2PermissionRequestedEventArgs3 uWVTypeLibrary

 

-IID_ICoreWebView2PermissionRequestedEventArgs3 +IID_ICoreWebView2PermissionRequestedEventHandler uWVTypeLibrary

 

-IID_ICoreWebView2PermissionRequestedEventHandler +IID_ICoreWebView2PermissionSetting uWVTypeLibrary

 

-IID_ICoreWebView2PermissionSetting +IID_ICoreWebView2PermissionSettingCollectionView uWVTypeLibrary

 

-IID_ICoreWebView2PermissionSettingCollectionView +IID_ICoreWebView2PointerInfo uWVTypeLibrary

 

-IID_ICoreWebView2PointerInfo +IID_ICoreWebView2PrintCompletedHandler uWVTypeLibrary

 

-IID_ICoreWebView2PrintCompletedHandler +IID_ICoreWebView2PrintSettings uWVTypeLibrary

 

-IID_ICoreWebView2PrintSettings +IID_ICoreWebView2PrintSettings2 uWVTypeLibrary

 

-IID_ICoreWebView2PrintSettings2 +IID_ICoreWebView2PrintToPdfCompletedHandler uWVTypeLibrary

 

-IID_ICoreWebView2PrintToPdfCompletedHandler +IID_ICoreWebView2PrintToPdfStreamCompletedHandler uWVTypeLibrary

 

-IID_ICoreWebView2PrintToPdfStreamCompletedHandler +IID_ICoreWebView2ProcessExtendedInfo uWVTypeLibrary

 

-IID_ICoreWebView2ProcessExtendedInfo +IID_ICoreWebView2ProcessExtendedInfoCollection uWVTypeLibrary

 

-IID_ICoreWebView2ProcessExtendedInfoCollection +IID_ICoreWebView2ProcessFailedEventArgs uWVTypeLibrary

 

-IID_ICoreWebView2ProcessFailedEventArgs +IID_ICoreWebView2ProcessFailedEventArgs2 uWVTypeLibrary

 

-IID_ICoreWebView2ProcessFailedEventArgs2 +IID_ICoreWebView2ProcessFailedEventHandler uWVTypeLibrary

 

-IID_ICoreWebView2ProcessFailedEventHandler +IID_ICoreWebView2ProcessInfo uWVTypeLibrary

 

-IID_ICoreWebView2ProcessInfo +IID_ICoreWebView2ProcessInfoCollection uWVTypeLibrary

 

-IID_ICoreWebView2ProcessInfoCollection +IID_ICoreWebView2ProcessInfosChangedEventHandler uWVTypeLibrary

 

-IID_ICoreWebView2ProcessInfosChangedEventHandler +IID_ICoreWebView2Profile uWVTypeLibrary

 

-IID_ICoreWebView2Profile +IID_ICoreWebView2Profile2 uWVTypeLibrary

 

-IID_ICoreWebView2Profile2 +IID_ICoreWebView2Profile3 uWVTypeLibrary

 

-IID_ICoreWebView2Profile3 +IID_ICoreWebView2Profile4 uWVTypeLibrary

 

-IID_ICoreWebView2Profile4 +IID_ICoreWebView2Profile5 uWVTypeLibrary

 

-IID_ICoreWebView2Profile5 +IID_ICoreWebView2Profile6 uWVTypeLibrary

 

-IID_ICoreWebView2Profile6 +IID_ICoreWebView2Profile7 uWVTypeLibrary

 

-IID_ICoreWebView2Profile7 +IID_ICoreWebView2Profile8 uWVTypeLibrary

 

-IID_ICoreWebView2Profile8 +IID_ICoreWebView2ProfileAddBrowserExtensionCompletedHandler uWVTypeLibrary

 

-IID_ICoreWebView2ProfileAddBrowserExtensionCompletedHandler +IID_ICoreWebView2ProfileDeletedEventHandler uWVTypeLibrary

 

-IID_ICoreWebView2ProfileDeletedEventHandler +IID_ICoreWebView2ProfileGetBrowserExtensionsCompletedHandler uWVTypeLibrary

 

-IID_ICoreWebView2ProfileGetBrowserExtensionsCompletedHandler +IID_ICoreWebView2RasterizationScaleChangedEventHandler uWVTypeLibrary

 

-IID_ICoreWebView2RasterizationScaleChangedEventHandler +IID_ICoreWebView2ScriptDialogOpeningEventArgs uWVTypeLibrary

 

-IID_ICoreWebView2ScriptDialogOpeningEventArgs +IID_ICoreWebView2ScriptDialogOpeningEventHandler uWVTypeLibrary

 

-IID_ICoreWebView2ScriptDialogOpeningEventHandler +IID_ICoreWebView2ScriptException uWVTypeLibrary

 

-IID_ICoreWebView2ScriptException +IID_ICoreWebView2ServerCertificateErrorDetectedEventArgs uWVTypeLibrary

 

-IID_ICoreWebView2ServerCertificateErrorDetectedEventArgs +IID_ICoreWebView2ServerCertificateErrorDetectedEventHandler uWVTypeLibrary

 

-IID_ICoreWebView2ServerCertificateErrorDetectedEventHandler +IID_ICoreWebView2SetPermissionStateCompletedHandler uWVTypeLibrary

 

-IID_ICoreWebView2SetPermissionStateCompletedHandler +IID_ICoreWebView2Settings uWVTypeLibrary

 

-IID_ICoreWebView2Settings +IID_ICoreWebView2Settings2 uWVTypeLibrary

 

-IID_ICoreWebView2Settings2 +IID_ICoreWebView2Settings3 uWVTypeLibrary

 

-IID_ICoreWebView2Settings3 +IID_ICoreWebView2Settings4 uWVTypeLibrary

 

-IID_ICoreWebView2Settings4 +IID_ICoreWebView2Settings5 uWVTypeLibrary

 

-IID_ICoreWebView2Settings5 +IID_ICoreWebView2Settings6 uWVTypeLibrary

 

-IID_ICoreWebView2Settings6 +IID_ICoreWebView2Settings7 uWVTypeLibrary

 

-IID_ICoreWebView2Settings7 +IID_ICoreWebView2Settings8 uWVTypeLibrary

 

-IID_ICoreWebView2Settings8 +IID_ICoreWebView2SharedBuffer uWVTypeLibrary

 

-IID_ICoreWebView2SharedBuffer +IID_ICoreWebView2SourceChangedEventArgs uWVTypeLibrary

 

-IID_ICoreWebView2SourceChangedEventArgs +IID_ICoreWebView2SourceChangedEventHandler uWVTypeLibrary

 

-IID_ICoreWebView2SourceChangedEventHandler +IID_ICoreWebView2StateChangedEventHandler uWVTypeLibrary

 

-IID_ICoreWebView2StateChangedEventHandler +IID_ICoreWebView2StatusBarTextChangedEventHandler uWVTypeLibrary

 

-IID_ICoreWebView2StatusBarTextChangedEventHandler +IID_ICoreWebView2StringCollection uWVTypeLibrary

 

-IID_ICoreWebView2StringCollection +IID_ICoreWebView2TrySuspendCompletedHandler uWVTypeLibrary

 

-IID_ICoreWebView2TrySuspendCompletedHandler +IID_ICoreWebView2WebMessageReceivedEventArgs uWVTypeLibrary

 

-IID_ICoreWebView2WebMessageReceivedEventArgs +IID_ICoreWebView2WebMessageReceivedEventArgs2 uWVTypeLibrary

 

-IID_ICoreWebView2WebMessageReceivedEventArgs2 +IID_ICoreWebView2WebMessageReceivedEventHandler uWVTypeLibrary

 

-IID_ICoreWebView2WebMessageReceivedEventHandler +IID_ICoreWebView2WebResourceRequest uWVTypeLibrary

 

-IID_ICoreWebView2WebResourceRequest +IID_ICoreWebView2WebResourceRequestedEventArgs uWVTypeLibrary

 

-IID_ICoreWebView2WebResourceRequestedEventArgs +IID_ICoreWebView2WebResourceRequestedEventArgs2 uWVTypeLibrary

 

@@ -2414,321 +2444,326 @@

All Constants

 

-IID_ICoreWebView2_3 +IID_ICoreWebView2_22 uWVTypeLibrary

 

-IID_ICoreWebView2_4 +IID_ICoreWebView2_3 uWVTypeLibrary

 

-IID_ICoreWebView2_5 +IID_ICoreWebView2_4 uWVTypeLibrary

 

-IID_ICoreWebView2_6 +IID_ICoreWebView2_5 uWVTypeLibrary

 

-IID_ICoreWebView2_7 +IID_ICoreWebView2_6 uWVTypeLibrary

 

-IID_ICoreWebView2_8 +IID_ICoreWebView2_7 uWVTypeLibrary

 

-IID_ICoreWebView2_9 +IID_ICoreWebView2_8 uWVTypeLibrary

 

-LIBID_WebView2 +IID_ICoreWebView2_9 uWVTypeLibrary

 

+LIBID_WebView2 +uWVTypeLibrary +

 

+ + SHLWAPIDLL uWVMiscFunctions

 

- + URI_ABOUTBLANK uWVConstants

 

- + USER_DEFAULT_SCREEN_DPI uWVConstants

 

- + WEBVIEW2LOADERLIB_VERSION_BUILD uWVConstants

 

- + WEBVIEW2LOADERLIB_VERSION_MAJOR uWVConstants

 

- + WEBVIEW2LOADERLIB_VERSION_MINOR uWVConstants

 

- + WEBVIEW2LOADERLIB_VERSION_RELEASE uWVConstants

 

- + WebView2MajorVersion uWVTypeLibrary

TypeLibrary major version

- + WebView2MinorVersion uWVTypeLibrary

TypeLibrary minor version

- + WEBVIEW4DELPHI_DEVTOOLS_CLEARBROWSERCACHE_ID uWVConstants

 

- + WEBVIEW4DELPHI_DEVTOOLS_CLEARDATAFORORIGIN_ID uWVConstants

 

- + WEBVIEW4DELPHI_DEVTOOLS_EMULATENETWORKCONDITIONS_ID uWVConstants

 

- + WEBVIEW4DELPHI_DEVTOOLS_FIRST_ID uWVConstants

* Reserved IDs used in some DevTools functions *

- + WEBVIEW4DELPHI_DEVTOOLS_LAST_ID uWVConstants

 

- + WEBVIEW4DELPHI_DEVTOOLS_REFRESH_ID uWVConstants

 

- + WEBVIEW4DELPHI_DEVTOOLS_RETRIEVEMHTML_ID uWVConstants

 

- + WEBVIEW4DELPHI_DEVTOOLS_SETIGNORECERTIFICATEERRORS_ID uWVConstants

 

- + WEBVIEW4DELPHI_DEVTOOLS_SIMULATEKEYEVENT_ID uWVConstants

 

- + WEBVIEW4DELPHI_INVALID_FRAMEID uWVConstants

 

- + WEBVIEW4DELPHI_JS_FIRST_ID uWVConstants

* Reserved IDs used in some JavaScript functions *

- + WEBVIEW4DELPHI_JS_LAST_ID uWVConstants

 

- + WEBVIEW4DELPHI_JS_RETRIEVEHTMLJOB_ID uWVConstants

 

- + WEBVIEW4DELPHI_JS_RETRIEVETEXTJOB_ID uWVConstants

 

- + WEBVIEW4DELPHI_PRINT_COPIES_DEFAULT uWVConstants

 

- + WEBVIEW4DELPHI_PRINT_PAGESPERSIDE_1 uWVConstants

 

- + WEBVIEW4DELPHI_PRINT_PAGESPERSIDE_16 uWVConstants

 

- + WEBVIEW4DELPHI_PRINT_PAGESPERSIDE_2 uWVConstants

 

- + WEBVIEW4DELPHI_PRINT_PAGESPERSIDE_4 uWVConstants

 

- + WEBVIEW4DELPHI_PRINT_PAGESPERSIDE_6 uWVConstants

 

- + WEBVIEW4DELPHI_PRINT_PAGESPERSIDE_9 uWVConstants

 

- + WEBVIEW4DELPHI_PRINT_PAGESPERSIDE_DEFAULT uWVConstants

 

- + WEBVIEW4DELPHI_PRINT_PAGESPERSIDE_VALID uWVConstants

 

- + WV2_IMAGE_FILE_MACHINE_AMD64 uWVConstants

 

- + WV2_IMAGE_FILE_MACHINE_I386 uWVConstants

* These constants are declared in the "Windows" unit but some old Delphi versions don't have them. We have to add "WV2_" to be compatible with C++ Builder. *

- + ZoomStepValues uWVConstants

 

- + ZOOM_PCT_DELTA uWVConstants

 

- + ZOOM_STEP_100 uWVConstants

 

- + ZOOM_STEP_110 uWVConstants

 

- + ZOOM_STEP_125 uWVConstants

 

- + ZOOM_STEP_150 uWVConstants

 

- + ZOOM_STEP_175 uWVConstants

 

- + ZOOM_STEP_200 uWVConstants

 

- + ZOOM_STEP_25 uWVConstants

 

- + ZOOM_STEP_250 uWVConstants

 

- + ZOOM_STEP_300 uWVConstants

 

- + ZOOM_STEP_33 uWVConstants

 

- + ZOOM_STEP_400 uWVConstants

 

- + ZOOM_STEP_50 uWVConstants

 

- + ZOOM_STEP_500 uWVConstants

 

- + ZOOM_STEP_67 uWVConstants

 

- + ZOOM_STEP_75 uWVConstants

 

- + ZOOM_STEP_90 uWVConstants

 

- + ZOOM_STEP_DEF uWVConstants

 

- + ZOOM_STEP_MAX uWVConstants

 

- + ZOOM_STEP_MIN uWVConstants

 

- + ZOOM_STEP_UNK uWVConstants

 

diff --git a/docs/html/AllIdentifiers.html b/docs/html/AllIdentifiers.html index f786806..6a24ff2 100644 --- a/docs/html/AllIdentifiers.html +++ b/docs/html/AllIdentifiers.html @@ -1574,6 +1574,36 @@

All Identifiers

Specifies an XML HTTP request, Fetch and EventSource API communication.

+COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS +uWVTypeLibrary +

Specifies the source of `WebResourceRequested` event.

+ + +COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS_ALL +uWVTypeLibrary +

Indicates that web resource is requested from any supported source.

+ + +COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS_DOCUMENT +uWVTypeLibrary +

Indicates that web resource is requested from main page including dedicated workers and iframes.

+ + +COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS_NONE +uWVTypeLibrary +

Indicates that no web resource is requested.

+ + +COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS_SERVICE_WORKER +uWVTypeLibrary +

Indicates that web resource is requested from service worker.

+ + +COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS_SHARED_WORKER +uWVTypeLibrary +

Indicates that web resource is requested from shared worker.

+ + CoreWebViewColorToDelphiColor uWVMiscFunctions

 

@@ -2688,41 +2718,46 @@

All Identifiers

Event args for the WebResourceRequested event.

+ICoreWebView2WebResourceRequestedEventArgs2 +uWVTypeLibrary +

Event args for the `WebResourceRequested` event.

+ + ICoreWebView2WebResourceRequestedEventHandler uWVTypeLibrary

Runs when a URL request (through network, file, and so on) is made in the webview for a Web resource matching resource context filter and URL specified in AddWebResourceRequestedFilter. The host views and modifies the request or provide a response in a similar pattern to HTTP, in which case the request immediately completed. This may not contain any request headers that are added by the network stack, such as an Authorization header.

- + ICoreWebView2WebResourceResponse uWVTypeLibrary

An HTTP response used with the WebResourceRequested event.

- + ICoreWebView2WebResourceResponseReceivedEventArgs uWVTypeLibrary

Event args for the WebResourceResponseReceived event.

- + ICoreWebView2WebResourceResponseReceivedEventHandler uWVTypeLibrary

Receives WebResourceResponseReceived events.

- + ICoreWebView2WebResourceResponseView uWVTypeLibrary

View of the HTTP representation for a web resource response. The properties of this object are not mutable. This response view is used with the WebResourceResponseReceived event.

- + ICoreWebView2WebResourceResponseViewGetContentCompletedHandler uWVTypeLibrary

Receives the result of the ICoreWebView2WebResourceResponseView.GetContent method.

- + ICoreWebView2WindowCloseRequestedEventHandler uWVTypeLibrary

Receives WindowCloseRequested events.

- + ICoreWebView2WindowFeatures uWVTypeLibrary

@@ -2735,76 +2770,81 @@

All Identifiers

- + ICoreWebView2ZoomFactorChangedEventHandler uWVTypeLibrary

Implements the interface to receive ZoomFactorChanged events. Use the ICoreWebView2Controller.ZoomFactor property to get the modified zoom factor.

- + ICoreWebView2_10 uWVTypeLibrary

This interface is an extension of ICoreWebView2_9 that supports BasicAuthenticationRequested event.

- + ICoreWebView2_11 uWVTypeLibrary

This interface is an extension of ICoreWebView2_10 that supports sessionId for CDP method calls and ContextMenuRequested event.

- + ICoreWebView2_12 uWVTypeLibrary

This interface is an extension of ICoreWebView2_11 that supports StatusBarTextChanged event.

- + ICoreWebView2_13 uWVTypeLibrary

This interface is an extension of ICoreWebView2_12 that supports Profile API.

- + ICoreWebView2_14 uWVTypeLibrary

This interface is an extension of ICoreWebView2_13 that adds ServerCertificate support.

- + ICoreWebView2_15 uWVTypeLibrary

This interface is an extension of ICoreWebView2_14 that supports status Favicons.

- + ICoreWebView2_16 uWVTypeLibrary

A continuation of the ICoreWebView2 interface to support printing.

- + ICoreWebView2_17 uWVTypeLibrary

This interface is an extension of ICoreWebView2_16 that supports shared buffer based on file mapping.

- + ICoreWebView2_18 uWVTypeLibrary

This interface is an extension of ICoreWebView2_17 that manages navigation requests to URI schemes registered with the OS.

- + ICoreWebView2_19 uWVTypeLibrary

This interface is an extension of ICoreWebView2_18 that manages memory usage target level.

- + ICoreWebView2_2 uWVTypeLibrary

A continuation of the ICoreWebView2 interface.

- + ICoreWebView2_20 uWVTypeLibrary

This interface is an extension of `ICoreWebView2_19` that provides the `FrameId` property.

- + ICoreWebView2_21 uWVTypeLibrary

This is the interface for getting string and exception with ExecuteScriptWithResult.

+ +ICoreWebView2_22 +uWVTypeLibrary +

This interface is an extension of `ICoreWebView2` that allows to set filters in order to receive WebResourceRequested events for service workers, shared workers and different origin iframes.

+ ICoreWebView2_3 uWVTypeLibrary @@ -3801,115 +3841,125 @@

All Identifiers

 

-IID_ICoreWebView2WebResourceRequestedEventHandler +IID_ICoreWebView2WebResourceRequestedEventArgs2 uWVTypeLibrary

 

-IID_ICoreWebView2WebResourceResponse +IID_ICoreWebView2WebResourceRequestedEventHandler uWVTypeLibrary

 

-IID_ICoreWebView2WebResourceResponseReceivedEventArgs +IID_ICoreWebView2WebResourceResponse uWVTypeLibrary

 

-IID_ICoreWebView2WebResourceResponseReceivedEventHandler +IID_ICoreWebView2WebResourceResponseReceivedEventArgs uWVTypeLibrary

 

-IID_ICoreWebView2WebResourceResponseView +IID_ICoreWebView2WebResourceResponseReceivedEventHandler uWVTypeLibrary

 

-IID_ICoreWebView2WebResourceResponseViewGetContentCompletedHandler +IID_ICoreWebView2WebResourceResponseView uWVTypeLibrary

 

-IID_ICoreWebView2WindowCloseRequestedEventHandler +IID_ICoreWebView2WebResourceResponseViewGetContentCompletedHandler uWVTypeLibrary

 

-IID_ICoreWebView2WindowFeatures +IID_ICoreWebView2WindowCloseRequestedEventHandler uWVTypeLibrary

 

-IID_ICoreWebView2ZoomFactorChangedEventHandler +IID_ICoreWebView2WindowFeatures uWVTypeLibrary

 

-IID_ICoreWebView2_10 +IID_ICoreWebView2ZoomFactorChangedEventHandler uWVTypeLibrary

 

-IID_ICoreWebView2_11 +IID_ICoreWebView2_10 uWVTypeLibrary

 

-IID_ICoreWebView2_12 +IID_ICoreWebView2_11 uWVTypeLibrary

 

-IID_ICoreWebView2_13 +IID_ICoreWebView2_12 uWVTypeLibrary

 

-IID_ICoreWebView2_14 +IID_ICoreWebView2_13 uWVTypeLibrary

 

-IID_ICoreWebView2_15 +IID_ICoreWebView2_14 uWVTypeLibrary

 

-IID_ICoreWebView2_16 +IID_ICoreWebView2_15 uWVTypeLibrary

 

-IID_ICoreWebView2_17 +IID_ICoreWebView2_16 uWVTypeLibrary

 

-IID_ICoreWebView2_18 +IID_ICoreWebView2_17 uWVTypeLibrary

 

-IID_ICoreWebView2_19 +IID_ICoreWebView2_18 uWVTypeLibrary

 

-IID_ICoreWebView2_2 +IID_ICoreWebView2_19 uWVTypeLibrary

 

-IID_ICoreWebView2_20 +IID_ICoreWebView2_2 uWVTypeLibrary

 

+IID_ICoreWebView2_20 +uWVTypeLibrary +

 

+ + IID_ICoreWebView2_21 uWVTypeLibrary

 

+ +IID_ICoreWebView2_22 +uWVTypeLibrary +

 

+ IID_ICoreWebView2_3 uWVTypeLibrary @@ -5574,296 +5624,301 @@

All Identifiers

Specifies the web resource request contexts.

+TWVWebResourceRequestSourceKind +uWVTypes +

Specifies the source of `WebResourceRequested` event.

+ + TWVWinControl uWVWinControl

Parent control that will be used by TWVWindowParent in VCL and LCL applications to show the web contents.

- + TWVWindowFeatures uWVTypes

Record used by TCoreWebView2WindowFeatures.CopyToRecord to copy the windows featres

- + TWVWindowParent uWVWindowParent

Parent control used by VCL and LCL applications to show the web contents.

- + URI_ABOUTBLANK uWVConstants

 

- + USER_DEFAULT_SCREEN_DPI uWVConstants

 

- + WEBVIEW2LOADERLIB_VERSION_BUILD uWVConstants

 

- + WEBVIEW2LOADERLIB_VERSION_MAJOR uWVConstants

 

- + WEBVIEW2LOADERLIB_VERSION_MINOR uWVConstants

 

- + WEBVIEW2LOADERLIB_VERSION_RELEASE uWVConstants

 

- + WebView2MajorVersion uWVTypeLibrary

TypeLibrary major version

- + WebView2MinorVersion uWVTypeLibrary

TypeLibrary minor version

- + WEBVIEW4DELPHI_DEVTOOLS_CLEARBROWSERCACHE_ID uWVConstants

 

- + WEBVIEW4DELPHI_DEVTOOLS_CLEARDATAFORORIGIN_ID uWVConstants

 

- + WEBVIEW4DELPHI_DEVTOOLS_EMULATENETWORKCONDITIONS_ID uWVConstants

 

- + WEBVIEW4DELPHI_DEVTOOLS_FIRST_ID uWVConstants

* Reserved IDs used in some DevTools functions *

- + WEBVIEW4DELPHI_DEVTOOLS_LAST_ID uWVConstants

 

- + WEBVIEW4DELPHI_DEVTOOLS_REFRESH_ID uWVConstants

 

- + WEBVIEW4DELPHI_DEVTOOLS_RETRIEVEMHTML_ID uWVConstants

 

- + WEBVIEW4DELPHI_DEVTOOLS_SETIGNORECERTIFICATEERRORS_ID uWVConstants

 

- + WEBVIEW4DELPHI_DEVTOOLS_SIMULATEKEYEVENT_ID uWVConstants

 

- + WEBVIEW4DELPHI_INVALID_FRAMEID uWVConstants

 

- + WEBVIEW4DELPHI_JS_FIRST_ID uWVConstants

* Reserved IDs used in some JavaScript functions *

- + WEBVIEW4DELPHI_JS_LAST_ID uWVConstants

 

- + WEBVIEW4DELPHI_JS_RETRIEVEHTMLJOB_ID uWVConstants

 

- + WEBVIEW4DELPHI_JS_RETRIEVETEXTJOB_ID uWVConstants

 

- + WEBVIEW4DELPHI_PRINT_COPIES_DEFAULT uWVConstants

 

- + WEBVIEW4DELPHI_PRINT_PAGESPERSIDE_1 uWVConstants

 

- + WEBVIEW4DELPHI_PRINT_PAGESPERSIDE_16 uWVConstants

 

- + WEBVIEW4DELPHI_PRINT_PAGESPERSIDE_2 uWVConstants

 

- + WEBVIEW4DELPHI_PRINT_PAGESPERSIDE_4 uWVConstants

 

- + WEBVIEW4DELPHI_PRINT_PAGESPERSIDE_6 uWVConstants

 

- + WEBVIEW4DELPHI_PRINT_PAGESPERSIDE_9 uWVConstants

 

- + WEBVIEW4DELPHI_PRINT_PAGESPERSIDE_DEFAULT uWVConstants

 

- + WEBVIEW4DELPHI_PRINT_PAGESPERSIDE_VALID uWVConstants

 

- + WV2_IMAGE_FILE_MACHINE_AMD64 uWVConstants

 

- + WV2_IMAGE_FILE_MACHINE_I386 uWVConstants

* These constants are declared in the "Windows" unit but some old Delphi versions don't have them. We have to add "WV2_" to be compatible with C++ Builder. *

- + wvstring uWVTypes

 

- + ZoomStepValues uWVConstants

 

- + ZOOM_PCT_DELTA uWVConstants

 

- + ZOOM_STEP_100 uWVConstants

 

- + ZOOM_STEP_110 uWVConstants

 

- + ZOOM_STEP_125 uWVConstants

 

- + ZOOM_STEP_150 uWVConstants

 

- + ZOOM_STEP_175 uWVConstants

 

- + ZOOM_STEP_200 uWVConstants

 

- + ZOOM_STEP_25 uWVConstants

 

- + ZOOM_STEP_250 uWVConstants

 

- + ZOOM_STEP_300 uWVConstants

 

- + ZOOM_STEP_33 uWVConstants

 

- + ZOOM_STEP_400 uWVConstants

 

- + ZOOM_STEP_50 uWVConstants

 

- + ZOOM_STEP_500 uWVConstants

 

- + ZOOM_STEP_67 uWVConstants

 

- + ZOOM_STEP_75 uWVConstants

 

- + ZOOM_STEP_90 uWVConstants

 

- + ZOOM_STEP_DEF uWVConstants

 

- + ZOOM_STEP_MAX uWVConstants

 

- + ZOOM_STEP_MIN uWVConstants

 

- + ZOOM_STEP_UNK uWVConstants

 

diff --git a/docs/html/AllTypes.html b/docs/html/AllTypes.html index bebd993..f34c216 100644 --- a/docs/html/AllTypes.html +++ b/docs/html/AllTypes.html @@ -223,677 +223,687 @@

All Types

Specifies the web resource request contexts.

+COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS +uWVTypeLibrary +

Specifies the source of `WebResourceRequested` event.

+ + PPCoreWebView2CustomSchemeRegistration uWVTypeLibrary

* Missing HANDLE declaration ************** WEBVIEW4DELPHI ************** *

- + tagRECT uWVTypeLibrary

* tagRect is identical to TRect. ************** WEBVIEW4DELPHI ************** *

- + TLoaderBrowserProcessExitedEvent uWVEvents

 

- + TLoaderGetCustomSchemesEvent uWVEvents

 

- + TLoaderNewBrowserVersionAvailableEvent uWVEvents

 

- + TLoaderNotifyEvent uWVEvents

Loader events

- + TLoaderProcessInfosChangedEvent uWVEvents

 

- + TOnAcceleratorKeyPressedEvent uWVEvents

 

- + TOnAddScriptToExecuteOnDocumentCreatedCompletedEvent uWVEvents

 

- + TOnBasicAuthenticationRequestedEvent uWVEvents

 

- + TOnBrowserExtensionEnableCompletedEvent uWVEvents

 

- + TOnBrowserExtensionRemoveCompletedEvent uWVEvents

 

- + TOnBrowserProcessExitedEvent uWVEvents

 

- + TOnBytesReceivedChangedEvent uWVEvents

 

- + TOnCallDevToolsProtocolMethodCompletedEvent uWVEvents

 

- + TOnCapturePreviewCompletedEvent uWVEvents

 

- + TOnClearBrowsingDataCompletedEvent uWVEvents

 

- + TOnClearCacheCompletedEvent uWVEvents

 

- + TOnClearDataForOriginCompletedEvent uWVEvents

 

- + TOnClientCertificateRequestedEvent uWVEvents

 

- + TOnCompMsgEvent uWVEvents

Custom events

- + TOnContentLoadingEvent uWVEvents

 

- + TOnContextMenuRequestedEvent uWVEvents

 

- + TOnCustomItemSelectedEvent uWVEvents

 

- + TOnDevToolsProtocolEventReceivedEvent uWVEvents

 

- + TOnDOMContentLoadedEvent uWVEvents

 

- + TOnDownloadStartingEvent uWVEvents

 

- + TOnDownloadStateChangedEvent uWVEvents

 

- + TOnEstimatedEndTimeChangedEvent uWVEvents

 

- + TOnExecuteScriptCompletedEvent uWVEvents

Browser events

- + TOnExecuteScriptWithResultCompletedEvent uWVEvents

 

- + TOnFaviconChangedEvent uWVEvents

 

- + TOnFrameContentLoadingEvent uWVEvents

 

- + TOnFrameCreatedEvent uWVEvents

 

- + TOnFrameDestroyedEvent uWVEvents

 

- + TOnFrameDOMContentLoadedEvent uWVEvents

 

- + TOnFrameNameChangedEvent uWVEvents

 

- + TOnFrameNavigationCompletedEvent uWVEvents

 

- + TOnFrameNavigationStartingEvent uWVEvents

 

- + TOnFramePermissionRequestedEvent uWVEvents

 

- + TOnFrameWebMessageReceivedEvent uWVEvents

 

- + TOnGetCookiesCompletedEvent uWVEvents

 

- + TOnGetCustomSchemesEvent uWVEvents

 

- + TOnGetFaviconCompletedEvent uWVEvents

 

- + TOnGetNonDefaultPermissionSettingsCompletedEvent uWVEvents

 

- + TOnGetProcessExtendedInfosCompletedEvent uWVEvents

 

- + TOnIgnoreCertificateErrorsCompletedEvent uWVEvents

 

- + TOnInitializationErrorEvent uWVEvents

 

- + TOnIsDefaultDownloadDialogOpenChangedEvent uWVEvents

 

- + TOnIsDocumentPlayingAudioChangedEvent uWVEvents

 

- + TOnIsMutedChangedEvent uWVEvents

 

- + TOnLaunchingExternalUriSchemeEvent uWVEvents

 

- + TOnMoveFocusRequestedEvent uWVEvents

 

- + TOnNavigationCompletedEvent uWVEvents

 

- + TOnNavigationStartingEvent uWVEvents

 

- + TOnNewWindowRequestedEvent uWVEvents

 

- + TOnOfflineCompletedEvent uWVEvents

 

- + TOnPermissionRequestedEvent uWVEvents

 

- + TOnPrintCompletedEvent uWVEvents

 

- + TOnPrintToPdfCompletedEvent uWVEvents

 

- + TOnPrintToPdfStreamCompletedEvent uWVEvents

 

- + TOnProcessFailedEvent uWVEvents

 

- + TOnProcessInfosChangedEvent uWVEvents

 

- + TOnProfileAddBrowserExtensionCompletedEvent uWVEvents

 

- + TOnProfileDeletedEvent uWVEvents

 

- + TOnProfileGetBrowserExtensionsCompletedEvent uWVEvents

 

- + TOnRefreshIgnoreCacheCompletedEvent uWVEvents

 

- + TOnRetrieveHTMLCompletedEvent uWVEvents

 

- + TOnRetrieveMHTMLCompletedEvent uWVEvents

 

- + TOnRetrieveTextCompletedEvent uWVEvents

 

- + TOnScriptDialogOpeningEvent uWVEvents

 

- + TOnServerCertificateErrorActionsCompletedEvent uWVEvents

 

- + TOnServerCertificateErrorDetectedEvent uWVEvents

 

- + TOnSetPermissionStateCompletedEvent uWVEvents

 

- + TOnSimulateKeyEventCompletedEvent uWVEvents

 

- + TOnSourceChangedEvent uWVEvents

 

- + TOnStatusBarTextChangedEvent uWVEvents

 

- + TOnTrySuspendCompletedEvent uWVEvents

 

- + TOnWebMessageReceivedEvent uWVEvents

 

- + TOnWebResourceRequestedEvent uWVEvents

 

- + TOnWebResourceResponseReceivedEvent uWVEvents

 

- + TOnWebResourceResponseViewGetContentCompletedEvent uWVEvents

 

- + TWV2DebugLog uWVTypes

Debug log values used by TWVLoader.DebugLog

- + TWV2DebugLogLevel uWVTypes

Debug log level used when the logging is enabled

- + TWV2EditingCommand uWVTypes

Blink editing commands used by the "Input.dispatchKeyEvent" DevTools method.

- + TWV2KeyEventType uWVTypes

Event type used by TWVBrowserBase.SimulateKeyEvent

- + TWV2LoaderStatus uWVTypes

TWVLoader status values

- + TWVAutoplayPolicy uWVTypes

Autoplay policy types used by TWVLoader.AutoplayPolicy. See the –autoplay-policy switch.

- + TWVBoundsMode uWVTypes

Mode for how the Bounds property is interpreted in relation to the RasterizationScale property.

- + TWVBrowserProcessExitKind uWVTypes

Specifies the browser process exit type used in the ICoreWebView2BrowserProcessExitedEventArgs interface.

- + TWVBrowsingDataKinds uWVTypes

Specifies the datatype for the ICoreWebView2Profile2.ClearBrowsingData method.

- + TWVCapturePreviewImageFormat uWVTypes

Specifies the image format for the ICoreWebView2.CapturePreview method.

- + TWVClearDataStorageTypes uWVTypes

Used by TWVBrowserBase.ClearDataForOrigin to clear the storage

- + TWVClientCertificateKind uWVTypes

Specifies the client certificate kind.

- + TWVColor uWVTypes

A value representing RGBA color (Red, Green, Blue, Alpha) for WebView2. Each component takes a value from 0 to 255, with 0 being no intensity and 255 being the highest intensity.

- + TWVCookieSameSiteKind uWVTypes

Kind of cookie SameSite status used in the ICoreWebView2Cookie interface. These fields match those as specified in https://developer.mozilla.org/docs/Web/HTTP/Cookies#. Learn more about SameSite cookies here: https://tools.ietf.org/html/draft-west-first-party-cookies-07

- + TWVCustomSchemeInfoArray uWVTypes

 

- + TWVCustomSchemeRegistrationArray uWVTypes

 

- + TWVDefaultDownloadDialogCornerAlignment uWVTypes

The default download dialog can be aligned to any of the WebView corners by setting the DefaultDownloadDialogCornerAlignment property. The default position is top-right corner.

- + TWVDownloadInterruptReason uWVTypes

Reason why a download was interrupted.

- + TWVDownloadState uWVTypes

State of the download operation.

- + TWVFaviconImageFormat uWVTypes

Specifies the image format to use for favicon.

- + TWVFrameKind uWVTypes

Indicates the frame type used in the `ICoreWebView2FrameInfo` interface.

- + TWVHostResourceAcccessKind uWVTypes

Kind of cross origin resource access allowed for host resources during download. Note that other normal access checks like same origin DOM access check and [Content Security Policy](https://developer.mozilla.org/docs/Web/HTTP/CSP) still apply. The following table illustrates the host resource cross origin access according to access context and COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND.

Cross Origin Access Context | DENY | ALLOW | DENY_CORS — | — | — | — From DOM like src of img, script or iframe element| Deny | Allow | Allow From Script like Fetch or XMLHttpRequest| Deny | Allow | Deny

- + TWVKeyEventKind uWVTypes

Specifies the key event type that triggered an AcceleratorKeyPressed event.

- + TWVMemoryUsageTargetLevel uWVTypes

Specifies memory usage target level of WebView.

- + TWVMenuItemKind uWVTypes

Specifies the menu item kind for the ICoreWebView2ContextMenuItem.get_Kind method

- + TWVMenuTargetKind uWVTypes

Indicates the kind of context for which the context menu was created for the `ICoreWebView2ContextMenuTarget::get_Kind` method. This enum will always represent the active element that caused the context menu request. If there is a selection with multiple images, audio and text, for example, the element that the end user right clicks on within this selection will be the option represented by this enum.

- + TWVMouseEventKind uWVTypes

Mouse event type used by SendMouseInput to convey the type of mouse event being sent to WebView. The values of this enum align with the matching WM_* window messages.

- + TWVMouseEventVirtualKeys uWVTypes

Mouse event virtual keys associated with a COREWEBVIEW2_MOUSE_EVENT_KIND for SendMouseInput. These values can be combined into a bit flag if more than one virtual key is pressed for the event. The values of this enum align with the matching MK_* mouse keys.

- + TWVMoveFocusReason uWVTypes

Specifies the reason for moving focus.

- + TWVNavigationKind uWVTypes

Specifies the navigation kind of each navigation.

- + TWVPDFToolbarItems uWVTypes

PDF toolbar item. This enum must be in sync with ToolBarItem in pdf-store-data-types.ts Specifies the PDF toolbar item types used for the ICoreWebView2Settings.put_HiddenPdfToolbarItems method.

- + TWVPermissionKind uWVTypes

Indicates the type of a permission request.

- + TWVPermissionState uWVTypes

Specifies the response to a permission request.

- + TWVPointerEventKind uWVTypes

Pointer event type used by SendPointerInput to convey the type of pointer event being sent to WebView. The values of this enum align with the matching WM_POINTER* window messages.

- + TWVPreferredColorScheme uWVTypes

An enum to represent the options for WebView2 color scheme: auto, light, or dark.

- + TWVPrintCollation uWVTypes

Specifies the collation for a print.

- + TWVPrintColorMode uWVTypes

Specifies the color mode for a print.

- + TWVPrintDialogKind uWVTypes

Specifies the print dialog kind.

- + TWVPrintDuplex uWVTypes

Specifies the duplex option for a print.

- + TWVPrintMediaSize uWVTypes

Specifies the media size for a print.

- + TWVPrintOrientation uWVTypes

The orientation for printing, used by the Orientation property on ICoreWebView2PrintSettings.

- + TWVPrintStatus uWVTypes

Indicates the status for printing.

- + TWVProcessFailedKind uWVTypes

Specifies the process failure type used in the `ICoreWebView2ProcessFailedEventArgs` interface. The values in this enum make reference to the process kinds in the Chromium architecture. For more information about what these processes are and what they do, see [Browser Architecture - Inside look at modern web browser](https://developers.google.com/web/updates/2018/09/inside-browser-part1).

- + TWVProcessFailedReason uWVTypes

Specifies the process failure reason used in the ICoreWebView2ProcessFailedEventHandler interface.

- + TWVProcessKind uWVTypes

Indicates the process type used in the ICoreWebView2ProcessInfo interface.

- + TWVScriptDialogKind uWVTypes

Specifies the JavaScript dialog type used in the ICoreWebView2ScriptDialogOpeningEventHandler interface.

- + TWVServerCertificateErrorAction uWVTypes

Specifies the action type when server certificate error is detected to be used in the ICoreWebView2ServerCertificateErrorDetectedEventArgs interface.

- + TWVSharedBufferAccess uWVTypes

Specifies the desired access from script to CoreWebView2SharedBuffer.

- + TWVState uWVTypes

Represents the state of a setting.

- + TWVTrackingPreventionLevel uWVTypes

Tracking prevention levels.

- + TWVWebErrorStatus uWVTypes

Indicates the error status values for web navigations.

- + TWVWebResourceContext uWVTypes

Specifies the web resource request contexts.

+ +TWVWebResourceRequestSourceKind +uWVTypes +

Specifies the source of `WebResourceRequested` event.

+ wvstring uWVTypes diff --git a/docs/html/ClassHierarchy.html b/docs/html/ClassHierarchy.html index b7dcdc7..7ee67c5 100644 --- a/docs/html/ClassHierarchy.html +++ b/docs/html/ClassHierarchy.html @@ -34,7 +34,10 @@

Class Hierarchy

  • ICoreWebView2_18
  • @@ -221,7 +224,10 @@

    Class Hierarchy

  • ICoreWebView2SharedBuffer
  • ICoreWebView2SourceChangedEventArgs
  • ICoreWebView2SourceChangedEventHandler
  • ICoreWebView2StateChangedEventHandler
  • ICoreWebView2StatusBarTextChangedEventHandler
  • ICoreWebView2StringCollection
  • ICoreWebView2TrySuspendCompletedHandler
  • ICoreWebView2WebMessageReceivedEventArgs
  • -
  • ICoreWebView2WebMessageReceivedEventHandler
  • ICoreWebView2WebResourceRequest
  • ICoreWebView2WebResourceRequestedEventArgs
  • ICoreWebView2WebResourceRequestedEventHandler
  • ICoreWebView2WebResourceResponse
  • ICoreWebView2WebResourceResponseReceivedEventArgs
  • ICoreWebView2WebResourceResponseReceivedEventHandler
  • ICoreWebView2WebResourceResponseView
  • ICoreWebView2WebResourceResponseViewGetContentCompletedHandler
  • ICoreWebView2WindowCloseRequestedEventHandler
  • ICoreWebView2WindowFeatures
  • ICoreWebView2ZoomFactorChangedEventHandler +
  • ICoreWebView2WebMessageReceivedEventHandler
  • ICoreWebView2WebResourceRequest
  • ICoreWebView2WebResourceRequestedEventArgs +
  • +
  • ICoreWebView2WebResourceRequestedEventHandler
  • ICoreWebView2WebResourceResponse
  • ICoreWebView2WebResourceResponseReceivedEventArgs
  • ICoreWebView2WebResourceResponseReceivedEventHandler
  • ICoreWebView2WebResourceResponseView
  • ICoreWebView2WebResourceResponseViewGetContentCompletedHandler
  • ICoreWebView2WindowCloseRequestedEventHandler
  • ICoreWebView2WindowFeatures
  • ICoreWebView2ZoomFactorChangedEventHandler
  • TCommonCustomForm diff --git a/docs/html/WebView4Delphi.hhc b/docs/html/WebView4Delphi.hhc index 1390de6..7d75e62 100644 --- a/docs/html/WebView4Delphi.hhc +++ b/docs/html/WebView4Delphi.hhc @@ -3178,6 +3178,14 @@
  • + + + +
  • + + + +
  • @@ -3720,6 +3728,10 @@
  • + + + +
  • @@ -4347,6 +4359,14 @@ +
  • + + + +
  • + + + @@ -5559,6 +5579,10 @@ +
  • + + +
  • @@ -5589,6 +5613,10 @@ +
  • + + +
  • @@ -5616,10 +5644,18 @@
  • + + + +
  • + + + +
  • @@ -21356,6 +21392,26 @@
  • + + + + +
  • @@ -23488,6 +23544,22 @@
  • + + + + +
  • @@ -23710,6 +23782,10 @@
  • + + + +
  • @@ -24248,6 +24324,10 @@
  • + + + +
  • @@ -24608,6 +24688,10 @@
  • + + + +
  • @@ -25635,6 +25719,26 @@ +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + +
  • @@ -25934,6 +26038,10 @@
  • + + + +
  • @@ -31398,6 +31506,22 @@
  • + + + + +
  • @@ -31906,6 +32030,26 @@
  • + + + + +
  • @@ -32520,6 +32664,10 @@
  • + + + +
  • @@ -32804,6 +32952,10 @@
  • + + + +
  • @@ -32912,6 +33064,10 @@
  • + + + +
  • @@ -42771,6 +42927,10 @@ +
  • + + +
  • @@ -42794,6 +42954,10 @@
  • + + + +
  • @@ -42828,6 +42992,10 @@
  • + + + +
  • @@ -42836,6 +43004,10 @@
  • + + + +
  • @@ -45364,6 +45536,10 @@
  • + + + +
  • @@ -45604,6 +45780,10 @@
  • + + + +
  • diff --git a/docs/html/WebView4Delphi.hhk b/docs/html/WebView4Delphi.hhk index 081d6d1..dc30db9 100644 --- a/docs/html/WebView4Delphi.hhk +++ b/docs/html/WebView4Delphi.hhk @@ -1269,6 +1269,30 @@
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • @@ -4949,6 +4973,14 @@
  • + + + +
  • + + + +
  • @@ -5281,6 +5313,18 @@
  • + + + +
  • + + + +
  • + + + +
  • @@ -6193,6 +6237,10 @@
  • + + + +
  • @@ -6281,6 +6329,10 @@
  • + + + +
  • @@ -6887,6 +6939,10 @@
  • + + + +
  • @@ -7039,6 +7095,10 @@
  • + + + +
  • @@ -7403,6 +7463,10 @@
  • + + + +
  • @@ -7976,16 +8040,16 @@
  • - +
  • @@ -8846,16 +8910,16 @@
  • - +
  • @@ -13602,16 +13666,16 @@
  • - +
  • @@ -14803,6 +14867,10 @@
  • + + + +
  • @@ -14815,6 +14883,10 @@
  • + + + +
  • @@ -14827,10 +14899,18 @@
  • + + + +
  • + + + +
  • @@ -16203,6 +16283,10 @@
  • + + + +
  • @@ -16464,16 +16548,16 @@
  • - +
  • @@ -18621,6 +18705,10 @@
  • + + + +
  • @@ -20505,6 +20593,10 @@
  • + + + +
  • diff --git a/docs/html/WebView4Delphi.hhp b/docs/html/WebView4Delphi.hhp index 025af8d..22c80d4 100644 --- a/docs/html/WebView4Delphi.hhp +++ b/docs/html/WebView4Delphi.hhp @@ -375,6 +375,7 @@ uWVTypeLibrary.ICoreWebView2_21.html uWVTypeLibrary.ICoreWebView2ExecuteScriptWithResultCompletedHandler.html uWVTypeLibrary.ICoreWebView2ExecuteScriptResult.html uWVTypeLibrary.ICoreWebView2ScriptException.html +uWVTypeLibrary.ICoreWebView2_22.html uWVTypeLibrary.ICoreWebView2BrowserProcessExitedEventArgs.html uWVTypeLibrary.ICoreWebView2BrowserProcessExitedEventHandler.html uWVTypeLibrary.ICoreWebView2CompositionController.html @@ -465,6 +466,7 @@ uWVTypeLibrary.ICoreWebView2Settings5.html uWVTypeLibrary.ICoreWebView2Settings6.html uWVTypeLibrary.ICoreWebView2Settings7.html uWVTypeLibrary.ICoreWebView2Settings8.html +uWVTypeLibrary.ICoreWebView2WebResourceRequestedEventArgs2.html uWVTypeLibrary.ICoreWebView2File.html uWVTypeLibrary.ICoreWebView2ObjectCollectionView.html uWVTypeLibrary.ICoreWebView2WebMessageReceivedEventArgs2.html diff --git a/docs/html/WebView4Delphi.log b/docs/html/WebView4Delphi.log index 244fe37..e83b1d2 100644 --- a/docs/html/WebView4Delphi.log +++ b/docs/html/WebView4Delphi.log @@ -362,6 +362,7 @@ uWVTypeLibrary.ICoreWebView2_21.html uWVTypeLibrary.ICoreWebView2ExecuteScriptWithResultCompletedHandler.html uWVTypeLibrary.ICoreWebView2ExecuteScriptResult.html uWVTypeLibrary.ICoreWebView2ScriptException.html +uWVTypeLibrary.ICoreWebView2_22.html uWVTypeLibrary.ICoreWebView2BrowserProcessExitedEventArgs.html uWVTypeLibrary.ICoreWebView2BrowserProcessExitedEventHandler.html uWVTypeLibrary.ICoreWebView2CompositionController.html @@ -452,6 +453,7 @@ uWVTypeLibrary.ICoreWebView2Settings5.html uWVTypeLibrary.ICoreWebView2Settings6.html uWVTypeLibrary.ICoreWebView2Settings7.html uWVTypeLibrary.ICoreWebView2Settings8.html +uWVTypeLibrary.ICoreWebView2WebResourceRequestedEventArgs2.html uWVTypeLibrary.ICoreWebView2File.html uWVTypeLibrary.ICoreWebView2ObjectCollectionView.html uWVTypeLibrary.ICoreWebView2WebMessageReceivedEventArgs2.html @@ -472,12 +474,12 @@ published.gif automated.gif pasdoc.css -Compile time: 0 minutes, 8 seconds -7,814 Topics -58,959 Local links +Compile time: 0 minutes, 7 seconds +7,846 Topics +59,252 Local links 5 Internet links 5 Graphics -Created c:\Users\usuario\Documents\Embarcadero\Studio\Projects\WebView4Delphi\docs\WebView4Delphi.chm, 1,838,628 bytes -Compression decreased file by 11,979,832 bytes. +Created c:\Users\usuario\Documents\Embarcadero\Studio\Projects\WebView4Delphi\docs\WebView4Delphi.chm, 1,860,058 bytes +Compression decreased file by 12,046,599 bytes. diff --git a/docs/html/uWVBrowserBase.TWVBrowserBase.html b/docs/html/uWVBrowserBase.TWVBrowserBase.html index 9eee4ea..ba91a75 100644 --- a/docs/html/uWVBrowserBase.TWVBrowserBase.html +++ b/docs/html/uWVBrowserBase.TWVBrowserBase.html @@ -1972,6 +1972,14 @@

    Description

    Public +function AddWebResourceRequestedFilterWithRequestSourceKinds(const uri: wvstring; ResourceContext: TWVWebResourceContext; requestSourceKinds: TWVWebResourceRequestSourceKind): boolean; + + +Public +function RemoveWebResourceRequestedFilterWithRequestSourceKinds(const uri: wvstring; ResourceContext: TWVWebResourceContext; requestSourceKinds: TWVWebResourceRequestSourceKind): boolean; + + +Public function AddHostObjectToScript(const aName : wvstring; const aObject : OleVariant): boolean; @@ -7517,6 +7525,77 @@
    Parameters
    + + + +
    Publicfunction AddWebResourceRequestedFilterWithRequestSourceKinds(const uri: wvstring; ResourceContext: TWVWebResourceContext; requestSourceKinds: TWVWebResourceRequestSourceKind): boolean;
    +

    + + +

    A web resource request with a resource context that matches this filter's resource context and a URI that matches this filter's URI wildcard string for corresponding request sources will be raised via the `WebResourceRequested` event. To receive all raised events filters have to be added before main page navigation. + +

    The `uri` parameter value is a wildcard string matched against the URI of the web resource request. This is a glob style wildcard string in which a `*` matches zero or more characters and a `?` matches exactly one character. + +

    These wildcard characters can be escaped using a backslash just before the wildcard character in order to represent the literal `*` or `?`. + +

    The matching occurs over the URI as a whole string and not limiting wildcard matches to particular parts of the URI. + +

    The wildcard filter is compared to the URI after the URI has been normalized, any URI fragment has been removed, and non-ASCII hostnames have been converted to punycode. + +

    Specifying a `nullptr` for the uri is equivalent to an empty string which matches no URIs. + +

    For more information about resource context filters, navigate to [COREWEBVIEW2_WEB_RESOURCE_CONTEXT](/microsoft-edge/webview2/reference/win32/icorewebview2#corewebview2_web_resource_context). + +

    The `requestSourceKinds` is a mask of one or more `COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS`. OR operation(s) can be applied to multiple `COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS` to create a mask representing those data types. API returns `E_INVALIDARG` if `requestSourceKinds` equals to zero. For more information about request source kinds, navigate to [COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS](/microsoft-edge/webview2/reference/win32/icorewebview2#corewebview2_web_resource_request_source_kinds). + +

    Because service workers and shared workers run separately from any one HTML document their WebResourceRequested will be raised for all CoreWebView2s that have appropriate filters added in the corresponding CoreWebView2Environment. You should only add a WebResourceRequested filter for COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS_SERVICE_WORKER or COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS_SHARED_WORKER on one CoreWebView2 to avoid handling the same WebResourceRequested event multiple times. + +

    + +
    +| URI Filter String | Request URI | Match | Notes |
    +| ---- | ---- | ---- | ---- |
    +| `*` | `https://contoso.com/a/b/c` | Yes | A single * will match all URIs |
    +| `*://contoso.com/*` | `https://contoso.com/a/b/c` | Yes | Matches everything in contoso.com across all schemes |
    +| `*://contoso.com/*` | `https://example.com/?https://contoso.com/` | Yes | But also matches a URI with just the same text anywhere in the URI |
    +| `example` | `https://contoso.com/example` | No | The filter does not perform partial matches |
    +| `*example` | `https://contoso.com/example` | Yes | The filter matches across URI parts |
    +| `*example` | `https://contoso.com/path/?example` | Yes | The filter matches across URI parts |
    +| `*example` | `https://contoso.com/path/?query#example` | No | The filter is matched against the URI with no fragment |
    +| `*example` | `https://example` | No | The URI is normalized before filter matching so the actual URI used for comparison is `https://example/` |
    +| `*example/` | `https://example` | Yes | Just like above, but this time the filter ends with a / just like the normalized URI |
    +| `https://xn--qei.example/` | `https://❤.example/` | Yes | Non-ASCII hostnames are normalized to punycode before wildcard comparison |
    +| `https://❤.example/` | `https://xn--qei.example/` | No | Non-ASCII hostnames are normalized to punycode before wildcard comparison |
    + +

    +

    + + +

    <see href="https://learn.microsoft.com/en-us/microsoft-edge/webview2/reference/win32/icorewebview2_22#addwebresourcerequestedfilterwithrequestsourcekinds">See the ICoreWebView2_22 article.)

    +
    + + + + + + +
    Publicfunction RemoveWebResourceRequestedFilterWithRequestSourceKinds(const uri: wvstring; ResourceContext: TWVWebResourceContext; requestSourceKinds: TWVWebResourceRequestSourceKind): boolean;
    +

    + + +

    Removes a matching WebResource filter that was previously added for the `WebResourceRequested` event. If the same filter was added multiple times, then it must be removed as many times as it was added for the removal to be effective. Returns `E_INVALIDARG` for a filter that was not added or is already removed. + +

    If the filter was added for multiple requestSourceKinds and removed just for one of them the filter remains for the non-removed requestSourceKinds. + +

    +

    + + +

    <see href="https://learn.microsoft.com/en-us/microsoft-edge/webview2/reference/win32/icorewebview2_22#removewebresourcerequestedfilterwithrequestsourcekinds">See the ICoreWebView2_22 article.)

    +
    + + + - + - + - + @@ -216,21 +216,21 @@

    Constants

    Public function AddHostObjectToScript(const aName : wvstring; const aObject : OleVariant): boolean;
    diff --git a/docs/html/uWVConstants.html b/docs/html/uWVConstants.html index 98d2ffb..6a5ca65 100644 --- a/docs/html/uWVConstants.html +++ b/docs/html/uWVConstants.html @@ -22,13 +22,13 @@

    Unit uWVConstants

    WEBVIEW2LOADERLIB_VERSION_MINOR = 0;
    WEBVIEW2LOADERLIB_VERSION_RELEASE = 2277;WEBVIEW2LOADERLIB_VERSION_RELEASE = 2365;
    WEBVIEW2LOADERLIB_VERSION_BUILD = 86;WEBVIEW2LOADERLIB_VERSION_BUILD = 46;
    CHROMIUM_VERSION_MAJOR = 121;CHROMIUM_VERSION_MAJOR = 122;
    CHROMIUM_VERSION_MINOR = 0;
    - +
    WEBVIEW2LOADERLIB_VERSION_RELEASE = 2277;WEBVIEW2LOADERLIB_VERSION_RELEASE = 2365;

    This item has no description.

    - +
    WEBVIEW2LOADERLIB_VERSION_BUILD = 86;WEBVIEW2LOADERLIB_VERSION_BUILD = 46;

    This item has no description.

    - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + +
    CHROMIUM_VERSION_MAJOR = 121;CHROMIUM_VERSION_MAJOR = 122;

    diff --git a/docs/html/uWVCoreWebView2.TCoreWebView2.html b/docs/html/uWVCoreWebView2.TCoreWebView2.html index 08736e7..231034f 100644 --- a/docs/html/uWVCoreWebView2.TCoreWebView2.html +++ b/docs/html/uWVCoreWebView2.TCoreWebView2.html @@ -109,134 +109,138 @@

    Description

    ProtectedFContainsFullScreenElementChangedToken: EventRegistrationToken;FBaseIntf22: ICoreWebView2_22;
    ProtectedFContentLoadingToken: EventRegistrationToken;FContainsFullScreenElementChangedToken: EventRegistrationToken;
    ProtectedFDocumentTitleChangedToken: EventRegistrationToken;FContentLoadingToken: EventRegistrationToken;
    ProtectedFFrameNavigationStartingToken: EventRegistrationToken;FDocumentTitleChangedToken: EventRegistrationToken;
    ProtectedFFrameNavigationCompletedToken: EventRegistrationToken;FFrameNavigationStartingToken: EventRegistrationToken;
    ProtectedFHistoryChangedToken: EventRegistrationToken;FFrameNavigationCompletedToken: EventRegistrationToken;
    ProtectedFNavigationStartingToken: EventRegistrationToken;FHistoryChangedToken: EventRegistrationToken;
    ProtectedFNavigationCompletedToken: EventRegistrationToken;FNavigationStartingToken: EventRegistrationToken;
    ProtectedFNewWindowRequestedToken: EventRegistrationToken;FNavigationCompletedToken: EventRegistrationToken;
    ProtectedFPermissionRequestedToken: EventRegistrationToken;FNewWindowRequestedToken: EventRegistrationToken;
    ProtectedFProcessFailedToken: EventRegistrationToken;FPermissionRequestedToken: EventRegistrationToken;
    ProtectedFScriptDialogOpeningToken: EventRegistrationToken;FProcessFailedToken: EventRegistrationToken;
    ProtectedFSourceChangedToken: EventRegistrationToken;FScriptDialogOpeningToken: EventRegistrationToken;
    ProtectedFWebResourceRequestedToken: EventRegistrationToken;FSourceChangedToken: EventRegistrationToken;
    ProtectedFWebMessageReceivedToken: EventRegistrationToken;FWebResourceRequestedToken: EventRegistrationToken;
    ProtectedFWindowCloseRequestedToken: EventRegistrationToken;FWebMessageReceivedToken: EventRegistrationToken;
    ProtectedFWebResourceResponseReceivedToken: EventRegistrationToken;FWindowCloseRequestedToken: EventRegistrationToken;
    ProtectedFDOMContentLoadedToken: EventRegistrationToken;FWebResourceResponseReceivedToken: EventRegistrationToken;
    ProtectedFFrameCreatedToken: EventRegistrationToken;FDOMContentLoadedToken: EventRegistrationToken;
    ProtectedFDownloadStartingToken: EventRegistrationToken;FFrameCreatedToken: EventRegistrationToken;
    ProtectedFClientCertificateRequestedToken: EventRegistrationToken;FDownloadStartingToken: EventRegistrationToken;
    ProtectedFIsMutedChangedToken: EventRegistrationToken;FClientCertificateRequestedToken: EventRegistrationToken;
    ProtectedFIsDocumentPlayingAudioChangedToken: EventRegistrationToken;FIsMutedChangedToken: EventRegistrationToken;
    ProtectedFIsDefaultDownloadDialogOpenChangedToken: EventRegistrationToken;FIsDocumentPlayingAudioChangedToken: EventRegistrationToken;
    ProtectedFBasicAuthenticationRequestedToken: EventRegistrationToken;FIsDefaultDownloadDialogOpenChangedToken: EventRegistrationToken;
    ProtectedFContextMenuRequestedToken: EventRegistrationToken;FBasicAuthenticationRequestedToken: EventRegistrationToken;
    ProtectedFStatusBarTextChangedToken: EventRegistrationToken;FContextMenuRequestedToken: EventRegistrationToken;
    ProtectedFServerCertificateErrorDetectedToken: EventRegistrationToken;FStatusBarTextChangedToken: EventRegistrationToken;
    ProtectedFFaviconChangedToken: EventRegistrationToken;FServerCertificateErrorDetectedToken: EventRegistrationToken;
    ProtectedFLaunchingExternalUriSchemeToken: EventRegistrationToken;FFaviconChangedToken: EventRegistrationToken;
    ProtectedFFrameIDCopy: cardinal;FLaunchingExternalUriSchemeToken: EventRegistrationToken;
    ProtectedFDevToolsEventNames: TStringList;FFrameIDCopy: cardinal;
    ProtectedFDevToolsEventNames: TStringList;
    Protected FDevToolsEventTokens: array of EventRegistrationToken;
    @@ -638,6 +642,14 @@

    Description

    Public function ExecuteScriptWithResult(const JavaScript: wvstring; aExecutionID : integer; const aBrowserComponent : TComponent): boolean; + +Public +function AddWebResourceRequestedFilterWithRequestSourceKinds(const uri: wvstring; ResourceContext: TWVWebResourceContext; requestSourceKinds: TWVWebResourceRequestSourceKind): boolean; + + +Public +function RemoveWebResourceRequestedFilterWithRequestSourceKinds(const uri: wvstring; ResourceContext: TWVWebResourceContext; requestSourceKinds: TWVWebResourceRequestSourceKind): boolean; +

    Properties

    @@ -903,6 +915,14 @@

    Fields

    + + + +
    ProtectedFBaseIntf22: ICoreWebView2_22;
    +

    This item has no description.

    + + +
    Protected FContainsFullScreenElementChangedToken: EventRegistrationToken;
    @@ -2295,6 +2315,42 @@
    Parameters

    \snippet ScriptComponent.cpp ExecuteScriptWithResult

    + + + + + + +
    Publicfunction AddWebResourceRequestedFilterWithRequestSourceKinds(const uri: wvstring; ResourceContext: TWVWebResourceContext; requestSourceKinds: TWVWebResourceRequestSourceKind): boolean;
    +

    + A web resource request with a resource context that matches this filter's resource context and a URI that matches this filter's URI wildcard string for corresponding request sources will be raised via the `WebResourceRequested` event. To receive all raised events filters have to be added before main page navigation. + +

    The `uri` parameter value is a wildcard string matched against the URI of the web resource request. This is a glob style wildcard string in which a `*` matches zero or more characters and a `?` matches exactly one character. These wildcard characters can be escaped using a backslash just before the wildcard character in order to represent the literal `*` or `?`. + +

    The matching occurs over the URI as a whole string and not limiting wildcard matches to particular parts of the URI. The wildcard filter is compared to the URI after the URI has been normalized, any URI fragment has been removed, and non-ASCII hostnames have been converted to punycode. + +

    Specifying a `nullptr` for the uri is equivalent to an empty string which matches no URIs. + +

    For more information about resource context filters, navigate to [COREWEBVIEW2_WEB_RESOURCE_CONTEXT](/microsoft-edge/webview2/reference/win32/icorewebview2#corewebview2_web_resource_context). + +

    The `requestSourceKinds` is a mask of one or more `COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS`. OR operation(s) can be applied to multiple `COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS` to create a mask representing those data types. API returns `E_INVALIDARG` if `requestSourceKinds` equals to zero. For more information about request source kinds, navigate to [COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS](/microsoft-edge/webview2/reference/win32/icorewebview2#corewebview2_web_resource_request_source_kinds). + +

    Because service workers and shared workers run separately from any one HTML document their WebResourceRequested will be raised for all CoreWebView2s that have appropriate filters added in the corresponding CoreWebView2Environment. You should only add a WebResourceRequested filter for COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS_SERVICE_WORKER or COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS_SHARED_WORKER on one CoreWebView2 to avoid handling the same WebResourceRequested event multiple times. + +

    | URI Filter String | Request URI | Match | Notes | | —- | —- | —- | —- | | `*` | `https://contoso.com/a/b/c` | Yes | A single * will match all URIs | | `*://contoso.com/*` | `https://contoso.com/a/b/c` | Yes | Matches everything in contoso.com across all schemes | | `*://contoso.com/*` | `https://example.com/?https://contoso.com/` | Yes | But also matches a URI with just the same text anywhere in the URI | | `example` | `https://contoso.com/example` | No | The filter does not perform partial matches | | `*example` | `https://contoso.com/example` | Yes | The filter matches across URI parts | | `*example` | `https://contoso.com/path/?example` | Yes | The filter matches across URI parts | | `*example` | `https://contoso.com/path/?query#example` | No | The filter is matched against the URI with no fragment | | `*example` | `https://example` | No | The URI is normalized before filter matching so the actual URI used for comparison is `https://example/` | | `*example/` | `https://example` | Yes | Just like above, but this time the filter ends with a / just like the normalized URI | | `https://xn--qei.example/` | `https://&#x2764;.example/` | Yes | Non-ASCII hostnames are normalized to punycode before wildcard comparison | | `https://&#x2764;.example/` | `https://xn--qei.example/` | No | Non-ASCII hostnames are normalized to punycode before wildcard comparison | + +

    \snippet ScenarioSharedWorkerWRR.cpp WebResourceRequested2

    +
    + + + + + + +
    Publicfunction RemoveWebResourceRequestedFilterWithRequestSourceKinds(const uri: wvstring; ResourceContext: TWVWebResourceContext; requestSourceKinds: TWVWebResourceRequestSourceKind): boolean;
    +

    + Removes a matching WebResource filter that was previously added for the `WebResourceRequested` event. If the same filter was added multiple times, then it must be removed as many times as it was added for the removal to be effective. Returns `E_INVALIDARG` for a filter that was not added or is already removed. If the filter was added for multiple requestSourceKinds and removed just for one of them the filter remains for the non-removed requestSourceKinds.

    +

    Properties

    diff --git a/docs/html/uWVCoreWebView2Args.TCoreWebView2WebResourceRequestedEventArgs.html b/docs/html/uWVCoreWebView2Args.TCoreWebView2WebResourceRequestedEventArgs.html index 6bffa06..89a3fb5 100644 --- a/docs/html/uWVCoreWebView2Args.TCoreWebView2WebResourceRequestedEventArgs.html +++ b/docs/html/uWVCoreWebView2Args.TCoreWebView2WebResourceRequestedEventArgs.html @@ -33,6 +33,10 @@

    Description

    + + + +
    Protected FBaseIntf: ICoreWebView2WebResourceRequestedEventArgs;
    ProtectedFBaseIntf2: ICoreWebView2WebResourceRequestedEventArgs2;

    Methods

    @@ -58,8 +62,16 @@

    Description

    + + + + + + + + @@ -73,27 +85,31 @@

    Description

    Protectedfunction GetRequestedSourceKind: TWVWebResourceRequestSourceKind;
    Protected procedure SetResponse(const aValue : ICoreWebView2WebResourceResponse);
    Protectedprocedure InitializeFields;
    Public constructor Create(const aArgs: ICoreWebView2WebResourceRequestedEventArgs); reintroduce;
    - + - + - + - + - + - + + + + +
    Publicproperty Initialized : boolean read GetInitialized;property Initialized : boolean read GetInitialized;
    Publicproperty BaseIntf : ICoreWebView2WebResourceRequestedEventArgs read FBaseIntf;property BaseIntf : ICoreWebView2WebResourceRequestedEventArgs read FBaseIntf;
    Publicproperty Request : ICoreWebView2WebResourceRequest read GetRequest;property Request : ICoreWebView2WebResourceRequest read GetRequest;
    Publicproperty Response : ICoreWebView2WebResourceResponse read GetResponse write SetResponse;property Response : ICoreWebView2WebResourceResponse read GetResponse write SetResponse;
    Publicproperty Deferral : ICoreWebView2Deferral read GetDeferral;property Deferral : ICoreWebView2Deferral read GetDeferral;
    Publicproperty ResourceContext : TWVWebResourceContext read GetResourceContext;property ResourceContext : TWVWebResourceContext read GetResourceContext;
    Publicproperty RequestedSourceKind : TWVWebResourceRequestSourceKind read GetRequestedSourceKind;

    Description

    @@ -106,6 +122,14 @@

    Fields

    This item has no description.

    + + + + + + +
    ProtectedFBaseIntf2: ICoreWebView2WebResourceRequestedEventArgs2;
    +

    This item has no description.

    Methods

    @@ -150,6 +174,14 @@

    Methods

    + + + +
    Protectedfunction GetRequestedSourceKind: TWVWebResourceRequestSourceKind;
    +

    This item has no description.

    + + +
    Protected procedure SetResponse(const aValue : ICoreWebView2WebResourceResponse);
    @@ -157,6 +189,14 @@

    Methods

    + + + + +
    Protectedprocedure InitializeFields;
    +

    This item has no description.

    + + @@ -175,7 +215,7 @@

    Properties

    Public constructor Create(const aArgs: ICoreWebView2WebResourceRequestedEventArgs); reintroduce;
    - + - + - + - + - + - + - + - + - + - + + + +
    Publicproperty Initialized : boolean read GetInitialized;property Initialized : boolean read GetInitialized;

    @@ -185,7 +225,7 @@

    Properties

    - +
    Publicproperty BaseIntf : ICoreWebView2WebResourceRequestedEventArgs read FBaseIntf;property BaseIntf : ICoreWebView2WebResourceRequestedEventArgs read FBaseIntf;

    @@ -195,7 +235,7 @@

    Properties

    - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + + + + @@ -2500,6 +2517,21 @@

    Unit uWVTypeLibrary

    + + + + + + + + + + + + + + +
    Publicproperty Request : ICoreWebView2WebResourceRequest read GetRequest;property Request : ICoreWebView2WebResourceRequest read GetRequest;

    @@ -209,7 +249,7 @@

    Properties

    - + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + + @@ -1058,9 +1066,12 @@

    Unit uWVTypeLibrary

    - + + + +
    Publicproperty Response : ICoreWebView2WebResourceResponse read GetResponse write SetResponse;property Response : ICoreWebView2WebResourceResponse read GetResponse write SetResponse;

    @@ -223,7 +263,7 @@

    Properties

    - +
    Publicproperty Deferral : ICoreWebView2Deferral read GetDeferral;property Deferral : ICoreWebView2Deferral read GetDeferral;

    @@ -237,7 +277,7 @@

    Properties

    - +
    Publicproperty ResourceContext : TWVWebResourceContext read GetResourceContext;property ResourceContext : TWVWebResourceContext read GetResourceContext;

    @@ -248,6 +288,20 @@

    Properties

    <see href="https://learn.microsoft.com/en-us/microsoft-edge/webview2/reference/win32/icorewebview2webresourcerequestedeventargs#get_resourcecontext">See the ICoreWebView2WebResourceRequestedEventArgs article.)

    + + + + + + +
    Publicproperty RequestedSourceKind : TWVWebResourceRequestSourceKind read GetRequestedSourceKind;
    +

    + The web resource requested source.

    +

    + + +

    <see href="https://learn.microsoft.com/en-us/microsoft-edge/webview2/reference/win32/icorewebview2webresourcerequestedeventargs2#get_requestedsourcekind">See the ICoreWebView2WebResourceRequestedEventArgs2 article.)

    +

    Generated by PasDoc 0.16.0-snapshot. diff --git a/docs/html/uWVCoreWebView2Frame.TCoreWebView2Frame.html b/docs/html/uWVCoreWebView2Frame.TCoreWebView2Frame.html index 5c7ecf4..82f09b4 100644 --- a/docs/html/uWVCoreWebView2Frame.TCoreWebView2Frame.html +++ b/docs/html/uWVCoreWebView2Frame.TCoreWebView2Frame.html @@ -683,7 +683,7 @@

    Properties

    - The name of the iframe from the iframe html tag declaring it. You can access this property even if the iframe is destroyed.

    + The value of iframe's window.name property. The default value equals to iframe html tag declaring it. You can access this property even if the iframe is destroyed.

    diff --git a/docs/html/uWVCoreWebView2FrameInfo.TCoreWebView2FrameInfo.html b/docs/html/uWVCoreWebView2FrameInfo.TCoreWebView2FrameInfo.html index f23c6ea..b89c003 100644 --- a/docs/html/uWVCoreWebView2FrameInfo.TCoreWebView2FrameInfo.html +++ b/docs/html/uWVCoreWebView2FrameInfo.TCoreWebView2FrameInfo.html @@ -247,7 +247,7 @@

    Properties

    - The name attribute of the frame, as in `<iframe name="frame-name" ...>`. The returned string is empty when the frame has no name attribute.

    + The value of iframe's window.name property. The default value equals to iframe html tag declaring it, as in `<iframe name="frame-name" ...>`. The returned string is empty when the frame has no name attribute and no assigned value for window.name.

    diff --git a/docs/html/uWVTypeLibrary.ICoreWebView2Environment.html b/docs/html/uWVTypeLibrary.ICoreWebView2Environment.html index 91ba2f0..cf16b67 100644 --- a/docs/html/uWVTypeLibrary.ICoreWebView2Environment.html +++ b/docs/html/uWVTypeLibrary.ICoreWebView2Environment.html @@ -59,7 +59,27 @@

    Methods

    -* var ParentWindow: _RemotableHandle –> ParentWindow: HWND ************** WEBVIEW4DELPHI ************** *

    + Asynchronously create a new WebView. + +

    `parentWindow` is the `HWND` in which the WebView should be displayed and from which receive input. The WebView adds a child window to the provided window before this function returns. Z-order and other things impacted by sibling window order are affected accordingly. If you want to move the WebView to a different parent after it has been created, you must call put_ParentWindow to update tooltip positions, accessibility trees, and such. + +

    HWND_MESSAGE is a valid parameter for `parentWindow` for an invisible WebView for Windows 8 and above. In this case the window will never become visible. You are not able to reparent the window after you have created the WebView. This is not supported in Windows 7 or below. Passing this parameter in Windows 7 or below will return ERROR_INVALID_WINDOW_HANDLE in the controller callback. + +

    It is recommended that the app set Application User Model ID for the process or the app window. If none is set, during WebView creation a generated Application User Model ID is set to root window of `parentWindow`. + +

    \snippet AppWindow.cpp CreateCoreWebView2Controller + +

    It is recommended that the app handles restart manager messages, to gracefully restart it in the case when the app is using the WebView2 Runtime from a certain installation and that installation is being uninstalled. For example, if a user installs a version of the WebView2 Runtime and opts to use another version of the WebView2 Runtime for testing the app, and then uninstalls the 1st version of the WebView2 Runtime without closing the app, the app restarts to allow un-installation to succeed. + +

    \snippet AppWindow.cpp RestartManager + +

    The app should retry `CreateCoreWebView2Controller` upon failure, unless the error code is `HRESULT_FROM_WIN32(ERROR_INVALID_STATE)`. When the app retries `CreateCoreWebView2Controller` upon failure, it is recommended that the app restarts from creating a new WebView2 Environment. If a WebView2 Runtime update happens, the version associated with a WebView2 Environment may have been removed and causing the object to no longer work. Creating a new WebView2 Environment works since it uses the latest version. + +

    WebView creation fails with `HRESULT_FROM_WIN32(ERROR_INVALID_STATE)` if a running instance using the same user data folder exists, and the Environment objects have different `EnvironmentOptions`. For example, if a WebView was created with one language, an attempt to create a WebView with a different language using the same user data folder will fail. + +

    The creation will fail with `E_ABORT` if `parentWindow` is destroyed before the creation is finished. If this is caused by a call to `DestroyWindow`, the creation completed handler will be invoked before `DestroyWindow` returns, so you can use this to cancel creation and clean up resources synchronously when quitting a thread. + +

    In rare cases the creation can fail with `E_UNEXPECTED` if runtime does not have permissions to the user data folder.

    Attributes
    GUID['{B96D755E-0319-4E92-A296-23436F46A1FC}']
    diff --git a/docs/html/uWVTypeLibrary.ICoreWebView2Environment10.html b/docs/html/uWVTypeLibrary.ICoreWebView2Environment10.html index 8c88cb7..9c10648 100644 --- a/docs/html/uWVTypeLibrary.ICoreWebView2Environment10.html +++ b/docs/html/uWVTypeLibrary.ICoreWebView2Environment10.html @@ -75,7 +75,7 @@
    Attributes

    -* var ParentWindow: _RemotableHandle –> ParentWindow: HWND ************** WEBVIEW4DELPHI ************** *

    + Create a new WebView with options.

    @@ -85,7 +85,7 @@
    Attributes

    -* var ParentWindow: _RemotableHandle –> ParentWindow: HWND ************** WEBVIEW4DELPHI ************** *

    + Create a new WebView in visual hosting mode with options.


    Generated by PasDoc 0.16.0-snapshot. diff --git a/docs/html/uWVTypeLibrary.ICoreWebView2Environment3.html b/docs/html/uWVTypeLibrary.ICoreWebView2Environment3.html index 287506d..0cc3196 100644 --- a/docs/html/uWVTypeLibrary.ICoreWebView2Environment3.html +++ b/docs/html/uWVTypeLibrary.ICoreWebView2Environment3.html @@ -49,7 +49,29 @@

    Methods

    -* var ParentWindow: _RemotableHandle –> ParentWindow: HWND ************** WEBVIEW4DELPHI ************** *

    + Asynchronously create a new WebView for use with visual hosting. + +

    parentWindow is the HWND in which the app will connect the visual tree of the WebView. This will be the HWND that the app will receive pointer/ mouse input meant for the WebView (and will need to use SendMouseInput/ SendPointerInput to forward). If the app moves the WebView visual tree to underneath a different window, then it needs to call put_ParentWindow to update the new parent HWND of the visual tree. + +

    HWND_MESSAGE is not a valid parameter for `parentWindow` for visual hosting. The underlying implementation of supporting HWND_MESSAGE would break accessibility for visual hosting. This is supported in windowed WebViews - see CreateCoreWebView2Controller. + +

    Use put_RootVisualTarget on the created CoreWebView2CompositionController to provide a visual to host the browser's visual tree. + +

    It is recommended that the application set Application User Model ID for the process or the application window. If none is set, during WebView creation a generated Application User Model ID is set to root window of parentWindow. \snippet AppWindow.cpp CreateCoreWebView2Controller + +

    It is recommended that the application handles restart manager messages so that it can be restarted gracefully in the case when the app is using Edge for WebView from a certain installation and that installation is being uninstalled. For example, if a user installs Edge from Dev channel and opts to use Edge from that channel for testing the app, and then uninstalls Edge from that channel without closing the app, the app will be restarted to allow uninstallation of the dev channel to succeed. \snippet AppWindow.cpp RestartManager + +

    The app should retry `CreateCoreWebView2CompositionController` upon failure, unless the error code is `HRESULT_FROM_WIN32(ERROR_INVALID_STATE)`. When the app retries `CreateCoreWebView2CompositionController` upon failure, it is recommended that the app restarts from creating a new WebView2 Environment. If a WebView2 Runtime update happens, the version associated with a WebView2 Environment may have been removed and causing the object to no longer work. Creating a new WebView2 Environment works since it uses the latest version. + +

    WebView creation fails with `HRESULT_FROM_WIN32(ERROR_INVALID_STATE)` if a running instance using the same user data folder exists, and the Environment objects have different `EnvironmentOptions`. For example, if a WebView was created with one language, an attempt to create a WebView with a different language using the same user data folder will fail. + +

    The creation will fail with `E_ABORT` if `parentWindow` is destroyed before the creation is finished. If this is caused by a call to `DestroyWindow`, the creation completed handler will be invoked before `DestroyWindow` returns, so you can use this to cancel creation and clean up resources synchronously when quitting a thread. + +

    In rare cases the creation can fail with `E_UNEXPECTED` if runtime does not have permissions to the user data folder. + +

    CreateCoreWebView2CompositionController is supported in the following versions of Windows: + +

    - Windows 11 - Windows 10 - Windows Server 2019 - Windows Server 2016

    Attributes
    GUID['{80A22AE3-BE7C-4CE2-AFE1-5A50056CDEEB}']
    diff --git a/docs/html/uWVTypeLibrary.ICoreWebView2Environment4.html b/docs/html/uWVTypeLibrary.ICoreWebView2Environment4.html index 1cf4f6c..82d751b 100644 --- a/docs/html/uWVTypeLibrary.ICoreWebView2Environment4.html +++ b/docs/html/uWVTypeLibrary.ICoreWebView2Environment4.html @@ -46,7 +46,7 @@

    Methods

    -* function GetAutomationProviderForWindow(var hwnd: _RemotableHandle; out provider: IUnknown): HResult; stdcall; var hwnd: _RemotableHandle -> aHWND: HWND ************** WEBVIEW4DELPHI ************** *

    + Returns the Automation Provider for the WebView that matches the provided window. Host apps are expected to implement IRawElementProviderHwndOverride. When GetOverrideProviderForHwnd is called, the app can pass the HWND to GetAutomationProviderForWindow to find the matching WebView Automation Provider.

    Attributes
    GUID['{20944379-6DCF-41D6-A0A0-ABC0FC50DE0D}']
    diff --git a/docs/html/uWVTypeLibrary.ICoreWebView2Frame.html b/docs/html/uWVTypeLibrary.ICoreWebView2Frame.html index ed51d5b..3599b22 100644 --- a/docs/html/uWVTypeLibrary.ICoreWebView2Frame.html +++ b/docs/html/uWVTypeLibrary.ICoreWebView2Frame.html @@ -71,7 +71,7 @@

    Methods

    - The name of the iframe from the iframe html tag declaring it. You can access this property even if the iframe is destroyed. + The value of iframe's window.name property. The default value equals to iframe html tag declaring it. You can access this property even if the iframe is destroyed.

    The caller must free the returned string with `CoTaskMemFree`. See [API Conventions](/microsoft-edge/webview2/concepts/win32-api-conventions#strings).

    Attributes
    diff --git a/docs/html/uWVTypeLibrary.ICoreWebView2FrameInfo.html b/docs/html/uWVTypeLibrary.ICoreWebView2FrameInfo.html index 99be905..71b4982 100644 --- a/docs/html/uWVTypeLibrary.ICoreWebView2FrameInfo.html +++ b/docs/html/uWVTypeLibrary.ICoreWebView2FrameInfo.html @@ -47,13 +47,9 @@

    Methods

    + The value of iframe's window.name property. The default value equals to iframe html tag declaring it, as in `<iframe name="frame-name" ...>`. The returned string is empty when the frame has no name attribute and no assigned value for window.name. - -

    The name attribute of the frame, as in `<iframe name="frame-name" ...>`. The returned string is empty when the frame has no name attribute. - -

    The caller must free the returned string with `CoTaskMemFree`. See [API Conventions](/microsoft-edge/webview2/concepts/win32-api-conventions#strings). - -

    +

    The caller must free the returned string with `CoTaskMemFree`. See [API Conventions](/microsoft-edge/webview2/concepts/win32-api-conventions#strings).

    Attributes
    GUID['{DA86B8A1-BDF3-4F11-9955-528CEFA59727}']
    diff --git a/docs/html/uWVTypeLibrary.ICoreWebView2WebResourceRequestedEventArgs2.html b/docs/html/uWVTypeLibrary.ICoreWebView2WebResourceRequestedEventArgs2.html new file mode 100644 index 0000000..28de32d --- /dev/null +++ b/docs/html/uWVTypeLibrary.ICoreWebView2WebResourceRequestedEventArgs2.html @@ -0,0 +1,57 @@ + + + +WebView4Delphi: uWVTypeLibrary: Interface ICoreWebView2WebResourceRequestedEventArgs2 + + + + + + +

    Interface ICoreWebView2WebResourceRequestedEventArgs2

    +
    +
    Fields
    Properties
    +

    Unit

    + +

    Declaration

    +

    +type ICoreWebView2WebResourceRequestedEventArgs2 = interface(ICoreWebView2WebResourceRequestedEventArgs)

    +

    Description

    +

    + Event args for the `WebResourceRequested` event.

    +

    + + +

    <see href="https://learn.microsoft.com/en-us/microsoft-edge/webview2/reference/win32/icorewebview2webresourcerequestedeventargs2">See the ICoreWebView2WebResourceRequestedEventArgs2 article.)

    +

    Hierarchy

    +

    Overview

    +

    Methods

    + + + + + +
    Publicfunction Get_RequestedSourceKind(out RequestedSourceKind: COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS): HResult; stdcall;
    +

    Description

    +

    Methods

    + + + + + + +
    Publicfunction Get_RequestedSourceKind(out RequestedSourceKind: COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS): HResult; stdcall;
    +

    + The web resource requested source.

    +
    Attributes
    +
    +
    GUID['{9C562C24-B219-4D7F-92F6-B187FBBADD56}']
    +
    +
    +
    +
    Generated by PasDoc 0.16.0-snapshot. + + diff --git a/docs/html/uWVTypeLibrary.ICoreWebView2_22.html b/docs/html/uWVTypeLibrary.ICoreWebView2_22.html new file mode 100644 index 0000000..238295a --- /dev/null +++ b/docs/html/uWVTypeLibrary.ICoreWebView2_22.html @@ -0,0 +1,107 @@ + + + +WebView4Delphi: uWVTypeLibrary: Interface ICoreWebView2_22 + + + + + + +

    Interface ICoreWebView2_22

    +
    +
    Fields
    Properties
    +

    Unit

    + +

    Declaration

    +

    +type ICoreWebView2_22 = interface(ICoreWebView2_21)

    +

    Description

    +

    + This interface is an extension of `ICoreWebView2` that allows to set filters in order to receive WebResourceRequested events for service workers, shared workers and different origin iframes.

    +

    + + +

    <see href="https://learn.microsoft.com/en-us/microsoft-edge/webview2/reference/win32/icorewebview2_22">See the ICoreWebView2_22 article.)

    +

    Hierarchy

    +

    Overview

    +

    Methods

    + + + + + + + + + +
    Publicfunction AddWebResourceRequestedFilterWithRequestSourceKinds(uri: PWideChar; ResourceContext: COREWEBVIEW2_WEB_RESOURCE_CONTEXT; requestSourceKinds: COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS): HResult; stdcall;
    Publicfunction RemoveWebResourceRequestedFilterWithRequestSourceKinds(uri: PWideChar; ResourceContext: COREWEBVIEW2_WEB_RESOURCE_CONTEXT; requestSourceKinds: COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS): HResult; stdcall;
    +

    Description

    +

    Methods

    + + + + + + +
    Publicfunction AddWebResourceRequestedFilterWithRequestSourceKinds(uri: PWideChar; ResourceContext: COREWEBVIEW2_WEB_RESOURCE_CONTEXT; requestSourceKinds: COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS): HResult; stdcall;
    +

    + A web resource request with a resource context that matches this filter's resource context and a URI that matches this filter's URI wildcard string for corresponding request sources will be raised via the `WebResourceRequested` event. To receive all raised events filters have to be added before main page navigation. + +

    The `uri` parameter value is a wildcard string matched against the URI of the web resource request. This is a glob style wildcard string in which a `*` matches zero or more characters and a `?` matches exactly one character. These wildcard characters can be escaped using a backslash just before the wildcard character in order to represent the literal `*` or `?`. + +

    The matching occurs over the URI as a whole string and not limiting wildcard matches to particular parts of the URI. The wildcard filter is compared to the URI after the URI has been normalized, any URI fragment has been removed, and non-ASCII hostnames have been converted to punycode. + +

    Specifying a `nullptr` for the uri is equivalent to an empty string which matches no URIs. + +

    For more information about resource context filters, navigate to [COREWEBVIEW2_WEB_RESOURCE_CONTEXT](/microsoft-edge/webview2/reference/win32/icorewebview2#corewebview2_web_resource_context). + +

    The `requestSourceKinds` is a mask of one or more `COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS`. OR operation(s) can be applied to multiple `COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS` to create a mask representing those data types. API returns `E_INVALIDARG` if `requestSourceKinds` equals to zero. For more information about request source kinds, navigate to [COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS](/microsoft-edge/webview2/reference/win32/icorewebview2#corewebview2_web_resource_request_source_kinds). + +

    Because service workers and shared workers run separately from any one HTML document their WebResourceRequested will be raised for all CoreWebView2s that have appropriate filters added in the corresponding CoreWebView2Environment. You should only add a WebResourceRequested filter for COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS_SERVICE_WORKER or COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS_SHARED_WORKER on one CoreWebView2 to avoid handling the same WebResourceRequested event multiple times. + +

    | URI Filter String | Request URI | Match | Notes | | —- | —- | —- | —- | | `*` | `https://contoso.com/a/b/c` | Yes | A single * will match all URIs | | `*://contoso.com/*` | `https://contoso.com/a/b/c` | Yes | Matches everything in contoso.com across all schemes | | `*://contoso.com/*` | `https://example.com/?https://contoso.com/` | Yes | But also matches a URI with just the same text anywhere in the URI | | `example` | `https://contoso.com/example` | No | The filter does not perform partial matches | | `*example` | `https://contoso.com/example` | Yes | The filter matches across URI parts | | `*example` | `https://contoso.com/path/?example` | Yes | The filter matches across URI parts | | `*example` | `https://contoso.com/path/?query#example` | No | The filter is matched against the URI with no fragment | | `*example` | `https://example` | No | The URI is normalized before filter matching so the actual URI used for comparison is `https://example/` | | `*example/` | `https://example` | Yes | Just like above, but this time the filter ends with a / just like the normalized URI | | `https://xn--qei.example/` | `https://&#x2764;.example/` | Yes | Non-ASCII hostnames are normalized to punycode before wildcard comparison | | `https://&#x2764;.example/` | `https://xn--qei.example/` | No | Non-ASCII hostnames are normalized to punycode before wildcard comparison | + +

    \snippet ScenarioSharedWorkerWRR.cpp WebResourceRequested2

    +
    Attributes
    +
    +
    GUID['{DB75DFC7-A857-4632-A398-6969DDE26C0A}']
    +
    +
    +
    + + + + + + +
    Publicfunction RemoveWebResourceRequestedFilterWithRequestSourceKinds(uri: PWideChar; ResourceContext: COREWEBVIEW2_WEB_RESOURCE_CONTEXT; requestSourceKinds: COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS): HResult; stdcall;
    +

    + Removes a matching WebResource filter that was previously added for the `WebResourceRequested` event. If the same filter was added multiple times, then it must be removed as many times as it was added for the removal to be effective. Returns `E_INVALIDARG` for a filter that was not added or is already removed. If the filter was added for multiple requestSourceKinds and removed just for one of them the filter remains for the non-removed requestSourceKinds.

    +
    +
    Generated by PasDoc 0.16.0-snapshot. + + diff --git a/docs/html/uWVTypeLibrary.html b/docs/html/uWVTypeLibrary.html index 43c7d92..44515f9 100644 --- a/docs/html/uWVTypeLibrary.html +++ b/docs/html/uWVTypeLibrary.html @@ -552,18 +552,22 @@

    Unit uWVTypeLibrary

    This interface represents a JavaScript exception. If the CoreWebView2.ExecuteScriptWithResult result has Succeeded as false, you can use the result's Exception property to get the script exception.
    Interface ICoreWebView2_22 This interface is an extension of `ICoreWebView2` that allows to set filters in order to receive WebResourceRequested events for service workers, shared workers and different origin iframes.
    Interface ICoreWebView2BrowserProcessExitedEventArgs Event args for the BrowserProcessExited event.
    Interface ICoreWebView2BrowserProcessExitedEventHandler Receives BrowserProcessExited events.
    Interface ICoreWebView2CompositionController This interface is an extension of the ICoreWebView2Controller interface to support visual hosting. An object implementing the ICoreWebView2CompositionController interface will also implement ICoreWebView2Controller. Callers are expected to use ICoreWebView2Controller for resizing, visibility, focus, and so on, and then use ICoreWebView2CompositionController to connect to a composition tree and provide input meant for the WebView.
    Interface ICoreWebView2PointerInfo @@ -573,352 +577,356 @@

    Unit uWVTypeLibrary

    Interface ICoreWebView2CursorChangedEventHandler The caller implements this interface to receive CursorChanged events. Use the Cursor property to get the new cursor.
    Interface ICoreWebView2CompositionController2 A continuation of the ICoreWebView2CompositionController interface.
    Interface ICoreWebView2CompositionController3 This interface is the continuation of the ICoreWebView2CompositionController2 interface to manage drag and drop.
    Interface ICoreWebView2Controller2 A continuation of the ICoreWebView2Controller interface.
    Interface ICoreWebView2Controller3 A continuation of the ICoreWebView2Controller2 interface.
    Interface ICoreWebView2RasterizationScaleChangedEventHandler Receives RasterizationScaleChanged events. Use the RasterizationScale property to get the modified scale.
    Interface ICoreWebView2Controller4 This is the ICoreWebView2Controller4 interface. The ICoreWebView2Controller4 provides interface to enable/disable external drop.
    Interface ICoreWebView2ControllerOptions This interface is used to manage profile options that created by 'CreateCoreWebView2ControllerOptions'.
    Interface ICoreWebView2ControllerOptions2 This is the interface in ControllerOptions for ScriptLocale.
    Interface ICoreWebView2ClearBrowsingDataCompletedHandler The caller implements this interface to receive the ClearBrowsingData result.
    Interface ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler The caller implements this interface to receive the CoreWebView2Controller created via CreateCoreWebView2CompositionController.
    Interface ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler Receives the WebView2Environment created using CreateCoreWebView2Environment.
    Interface ICoreWebView2CustomSchemeRegistration Represents the registration of a custom scheme with the CoreWebView2Environment. This allows the WebView2 app to be able to handle WebResourceRequested event for requests with the specified scheme and be able to navigate the WebView2 to the custom scheme. Once the environment is created, the registrations are valid and immutable throughout the lifetime of the associated WebView2s' browser process and any WebView2 environments sharing the browser process must be created with identical custom scheme registrations, otherwise the environment creation will fail. Any further attempts to register the same scheme will fail during environment creation. The URIs of registered custom schemes will be treated similar to http URIs for their origins. They will have tuple origins for URIs with host and opaque origins for URIs without host as specified in [7.5 Origin - HTML Living Standard](https://html.spec.whatwg.org/multipage/origin.html)

    Example: custom-scheme-with-host://hostname/path/to/resource has origin of custom-scheme-with-host://hostname. custom-scheme-without-host:path/to/resource has origin of custom-scheme-without-host:path/to/resource. For WebResourceRequested event, the cases of request URIs and filter URIs with custom schemes will be normalized according to generic URI syntax rules. Any non-ASCII characters will be preserved. The registered custom schemes also participate in [CORS](https://developer.mozilla.org/docs/Web/HTTP/CORS) and adheres to [CSP](https://developer.mozilla.org/docs/Web/HTTP/CSP). The app needs to set the appropriate access headers in its WebResourceRequested event handler to allow CORS requests.

    Interface ICoreWebView2DevToolsProtocolEventReceivedEventArgs2 This is a continuation of the ICoreWebView2DevToolsProtocolEventReceivedEventArgs interface that provides the session ID of the target where the event originates from.
    Interface ICoreWebView2Environment2 A continuation of the ICoreWebView2Environment interface.
    Interface ICoreWebView2Environment3 A continuation of the ICoreWebView2Environment2 interface.
    Interface ICoreWebView2Environment4 A continuation of the ICoreWebView2Environment3 interface.
    Interface ICoreWebView2Environment5 A continuation of the ICoreWebView2Environment4 interface that supports the BrowserProcessExited event.
    Interface ICoreWebView2Environment6 This interface is an extension of the ICoreWebView2Environment that supports creating print settings for printing to PDF.
    Interface ICoreWebView2Environment7 This interface is an extension of the ICoreWebView2Environment. An object implementing the ICoreWebView2Environment7 interface will also implement ICoreWebView2Environment.
    Interface ICoreWebView2Environment8 A continuation of the ICoreWebView2Environment7 interface that supports the ProcessInfosChanged event.
    Interface ICoreWebView2ProcessInfosChangedEventHandler An event handler for the ProcessInfosChanged event.
    Interface ICoreWebView2ProcessInfoCollection A list containing process id and corresponding process type.
    Interface ICoreWebView2ProcessInfo Provides a set of properties for a process in the ICoreWebView2Environment.
    Interface ICoreWebView2Environment9 A continuation of the ICoreWebView2Environment interface for creating CoreWebView2 ContextMenuItem objects.
    Interface ICoreWebView2Environment10 This interface is used to create ICoreWebView2ControllerOptions object, which can be passed as a parameter in CreateCoreWebView2ControllerWithOptions and CreateCoreWebView2CompositionControllerWithOptions function for multiple profiles support. The profile will be created on disk or opened when calling CreateCoreWebView2ControllerWithOptions or CreateCoreWebView2CompositionControllerWithOptions no matter InPrivate mode is enabled or not, and it will be released in memory when the corresponding controller is closed but still remain on disk. If you create a WebView2Controller with {ProfileName="name", InPrivate=false} and then later create another one with {ProfileName="name", InPrivate=true}, these two controllers using the same profile would be allowed to run at the same time. As WebView2 is built on top of Edge browser, it follows Edge's behavior pattern. To create an InPrivate WebView, we gets an off-the-record profile (an InPrivate profile) from a regular profile, then create the WebView with the off-the-record profile.
    Interface ICoreWebView2Environment11 A continuation of the ICoreWebView2Environment interface for getting the crash dump folder path.
    Interface ICoreWebView2Environment12 A continuation of the ICoreWebView2Environment interface for creating shared buffer object.
    Interface ICoreWebView2Environment13 A continuation of the ICoreWebView2Environment interface for getting process with associated information.
    Interface ICoreWebView2GetProcessExtendedInfosCompletedHandler Receives the result of the `GetProcessExtendedInfos` method. The result is written to the collection of `ProcessExtendedInfo`s provided in the `GetProcessExtendedInfos` method call.
    Interface ICoreWebView2ProcessExtendedInfoCollection A list containing processInfo and associated extended information.
    Interface ICoreWebView2ProcessExtendedInfo Provides process with associated extended information in the `ICoreWebView2Environment`.
    Interface ICoreWebView2FrameInfoCollection Collection of FrameInfos (name and source). Used to list the affected frames' info when a frame-only render process failure occurs in the ICoreWebView2.
    Interface ICoreWebView2FrameInfoCollectionIterator Iterator for a collection of FrameInfos. For more info, see ICoreWebView2ProcessFailedEventArgs2 and ICoreWebView2FrameInfoCollection.
    Interface ICoreWebView2FrameInfo Provides a set of properties for a frame in the ICoreWebView2.
    Interface ICoreWebView2EnvironmentOptions Options used to create WebView2 Environment. A default implementation is provided in WebView2EnvironmentOptions.h.
    Interface ICoreWebView2EnvironmentOptions2 Additional options used to create WebView2 Environment. A default implementation is provided in WebView2EnvironmentOptions.h.
    Interface ICoreWebView2EnvironmentOptions3 Additional options used to create WebView2 Environment to manage crash reporting.
    Interface ICoreWebView2EnvironmentOptions4 Additional options used to create WebView2 Environment that manages custom scheme registration.
    Interface ICoreWebView2EnvironmentOptions5 Additional options used to create WebView2 Environment to manage tracking prevention.
    Interface ICoreWebView2EnvironmentOptions6 Additional options used to create WebView2 Environment to manage browser extensions.
    Interface ICoreWebView2Frame2 A continuation of the ICoreWebView2Frame interface with navigation events, executing script and posting web messages.
    Interface ICoreWebView2FrameNavigationStartingEventHandler Receives NavigationStarting events for iframe.
    Interface ICoreWebView2FrameContentLoadingEventHandler Receives ContentLoading events for iframe.
    Interface ICoreWebView2FrameNavigationCompletedEventHandler Receives NavigationCompleted events for iframe.
    Interface ICoreWebView2FrameDOMContentLoadedEventHandler Receives DOMContentLoaded events for iframe.
    Interface ICoreWebView2FrameWebMessageReceivedEventHandler Receives WebMessageReceived events for iframe.
    Interface ICoreWebView2Frame3 This is an extension of the ICoreWebView2Frame interface that supports PermissionRequested
    Interface ICoreWebView2FramePermissionRequestedEventHandler Receives PermissionRequested events for iframes.
    Interface ICoreWebView2PermissionRequestedEventArgs2 This is a continuation of the ICoreWebView2PermissionRequestedEventArgs interface.
    Interface ICoreWebView2Frame4 This is an extension of the ICoreWebView2Frame interface that supports shared buffer based on file mapping.
    Interface ICoreWebView2Frame5 This is an extension of the ICoreWebView2Frame interface that provides the `FrameId` property.
    Interface ICoreWebView2FrameInfo2 A continuation of the ICoreWebView2FrameInfo interface that provides `ParentFrameInfo`, `FrameId` and `FrameKind` properties.
    Interface ICoreWebView2GetNonDefaultPermissionSettingsCompletedHandler The caller implements this interface to handle the result of GetNonDefaultPermissionSettings.
    Interface ICoreWebView2PermissionSettingCollectionView Read-only collection of PermissionSettings (origin, kind, and state). Used to list the nondefault permission settings on the profile that are persisted across sessions.
    Interface ICoreWebView2PermissionSetting Provides a set of properties for a permission setting.
    Interface ICoreWebView2NavigationCompletedEventArgs2 This is an interface for the StatusCode property of ICoreWebView2NavigationCompletedEventArgs
    Interface ICoreWebView2NavigationStartingEventArgs2 The AdditionalAllowedFrameAncestors API that enable developers to provide additional allowed frame ancestors.
    Interface ICoreWebView2NavigationStartingEventArgs3 The NavigationKind API that enables developers to get more information about navigation type.
    Interface ICoreWebView2NewWindowRequestedEventArgs2 This is a continuation of the ICoreWebView2NewWindowRequestedEventArgs interface.
    Interface ICoreWebView2NewWindowRequestedEventArgs3 This is a continuation of the ICoreWebView2NewWindowRequestedEventArgs interface.
    Interface ICoreWebView2PermissionRequestedEventArgs3 This is a continuation of the ICoreWebView2PermissionRequestedEventArgs interface.
    Interface ICoreWebView2PrintSettings2 Settings used by the Print method.
    Interface ICoreWebView2ProcessFailedEventArgs2 A continuation of the ICoreWebView2ProcessFailedEventArgs interface.
    Interface ICoreWebView2Profile2 Profile2 interface.
    Interface ICoreWebView2Profile3 This is an extension of the ICoreWebView2Profile interface to control levels of tracking prevention.
    Interface ICoreWebView2Profile4 This is the ICoreWebView2Profile interface for the permission management APIs.
    Interface ICoreWebView2SetPermissionStateCompletedHandler The caller implements this interface to handle the result of SetPermissionState.
    Interface ICoreWebView2Profile5 This is the ICoreWebView2Profile interface for cookie manager.
    Interface ICoreWebView2Profile6 Interfaces in profile for managing password-autosave and general-autofill.
    Interface ICoreWebView2Profile7 Interfaces in profile for managing browser extensions.
    Interface ICoreWebView2ProfileAddBrowserExtensionCompletedHandler The caller implements this interface to receive the result of loading an browser Extension.
    Interface ICoreWebView2BrowserExtension Provides a set of properties for managing an Extension, which includes an ID, name, and whether it is enabled or not, and the ability to Remove the Extension, and enable or disable it.
    Interface ICoreWebView2BrowserExtensionRemoveCompletedHandler The caller implements this interface to receive the result of removing the browser Extension from the Profile.
    Interface ICoreWebView2BrowserExtensionEnableCompletedHandler The caller implements this interface to receive the result of setting the browser Extension as enabled or disabled. If enabled, the browser Extension is running in WebView instances. If disabled, the browser Extension is not running in WebView instances.
    Interface ICoreWebView2ProfileGetBrowserExtensionsCompletedHandler The caller implements this interface to receive the result of getting the browser Extensions.
    Interface ICoreWebView2BrowserExtensionList Provides a set of properties for managing browser Extension Lists from user profile. This includes the number of browser Extensions in the list, and the ability to get an browser Extension from the list at a particular index.
    Interface ICoreWebView2Profile8 This is the profile interface that manages profile deletion.
    Interface ICoreWebView2ProfileDeletedEventHandler Receives the `CoreWebView2Profile.Deleted` event.
    Interface ICoreWebView2Settings2 A continuation of the ICoreWebView2Settings interface that manages the user agent.
    Interface ICoreWebView2Settings3 A continuation of the ICoreWebView2Settings interface that manages whether browser accelerator keys are enabled.
    Interface ICoreWebView2Settings4 A continuation of the ICoreWebView2Settings interface to manage autofill.
    Interface ICoreWebView2Settings5 A continuation of the ICoreWebView2Settings interface to manage pinch zoom.
    Interface ICoreWebView2Settings6 A continuation of the ICoreWebView2Settings interface to manage swipe navigation.
    Interface ICoreWebView2Settings7 A continuation of the ICoreWebView2Settings interface to hide Pdf toolbar items.
    Interface ICoreWebView2Settings8 A continuation of the ICoreWebView2Settings interface to manage smartscreen.
    Interface ICoreWebView2WebResourceRequestedEventArgs2 Event args for the `WebResourceRequested` event.
    Interface ICoreWebView2File Representation of a DOM [File](https://developer.mozilla.org/en-US/docs/Web/API/File) object passed via WebMessage. You can use this object to obtain the path of a File dropped on WebView2. COREWEBVIEW2_MEMORY_USAGE_TARGET_LEVEL = TOleEnum;
    PPCoreWebView2CustomSchemeRegistration = ˆICoreWebView2CustomSchemeRegistration;COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS = TOleEnum;
    PPCoreWebView2CustomSchemeRegistration = ˆICoreWebView2CustomSchemeRegistration;
    tagRECT = TRect;
    @@ -1460,275 +1471,281 @@

    Unit uWVTypeLibrary

    IID_ICoreWebView2ScriptException: TGUID = '{054DAE00-84A3-49FF-BC17-4012A90BC9FD}';
    IID_ICoreWebView2BrowserProcessExitedEventArgs: TGUID = '{1F00663F-AF8C-4782-9CDD-DD01C52E34CB}';IID_ICoreWebView2_22: TGUID = '{DB75DFC7-A857-4632-A398-6969DDE26C0A}';
    IID_ICoreWebView2BrowserProcessExitedEventHandler: TGUID = '{FA504257-A216-4911-A860-FE8825712861}';IID_ICoreWebView2BrowserProcessExitedEventArgs: TGUID = '{1F00663F-AF8C-4782-9CDD-DD01C52E34CB}';
    IID_ICoreWebView2CompositionController: TGUID = '{3DF9B733-B9AE-4A15-86B4-EB9EE9826469}';IID_ICoreWebView2BrowserProcessExitedEventHandler: TGUID = '{FA504257-A216-4911-A860-FE8825712861}';
    IID_ICoreWebView2PointerInfo: TGUID = '{E6995887-D10D-4F5D-9359-4CE46E4F96B9}';IID_ICoreWebView2CompositionController: TGUID = '{3DF9B733-B9AE-4A15-86B4-EB9EE9826469}';
    IID_ICoreWebView2CursorChangedEventHandler: TGUID = '{9DA43CCC-26E1-4DAD-B56C-D8961C94C571}';IID_ICoreWebView2PointerInfo: TGUID = '{E6995887-D10D-4F5D-9359-4CE46E4F96B9}';
    IID_ICoreWebView2CompositionController2: TGUID = '{0B6A3D24-49CB-4806-BA20-B5E0734A7B26}';IID_ICoreWebView2CursorChangedEventHandler: TGUID = '{9DA43CCC-26E1-4DAD-B56C-D8961C94C571}';
    IID_ICoreWebView2CompositionController3: TGUID = '{9570570E-4D76-4361-9EE1-F04D0DBDFB1E}';IID_ICoreWebView2CompositionController2: TGUID = '{0B6A3D24-49CB-4806-BA20-B5E0734A7B26}';
    IID_ICoreWebView2Controller2: TGUID = '{C979903E-D4CA-4228-92EB-47EE3FA96EAB}';IID_ICoreWebView2CompositionController3: TGUID = '{9570570E-4D76-4361-9EE1-F04D0DBDFB1E}';
    IID_ICoreWebView2Controller3: TGUID = '{F9614724-5D2B-41DC-AEF7-73D62B51543B}';IID_ICoreWebView2Controller2: TGUID = '{C979903E-D4CA-4228-92EB-47EE3FA96EAB}';
    IID_ICoreWebView2RasterizationScaleChangedEventHandler: TGUID = '{9C98C8B1-AC53-427E-A345-3049B5524BBE}';IID_ICoreWebView2Controller3: TGUID = '{F9614724-5D2B-41DC-AEF7-73D62B51543B}';
    IID_ICoreWebView2Controller4: TGUID = '{97D418D5-A426-4E49-A151-E1A10F327D9E}';IID_ICoreWebView2RasterizationScaleChangedEventHandler: TGUID = '{9C98C8B1-AC53-427E-A345-3049B5524BBE}';
    IID_ICoreWebView2ControllerOptions: TGUID = '{12AAE616-8CCB-44EC-BCB3-EB1831881635}';IID_ICoreWebView2Controller4: TGUID = '{97D418D5-A426-4E49-A151-E1A10F327D9E}';
    IID_ICoreWebView2ControllerOptions2: TGUID = '{06C991D8-9E7E-11ED-A8FC-0242AC120002}';IID_ICoreWebView2ControllerOptions: TGUID = '{12AAE616-8CCB-44EC-BCB3-EB1831881635}';
    IID_ICoreWebView2ClearBrowsingDataCompletedHandler: TGUID = '{E9710A06-1D1D-49B2-8234-226F35846AE5}';IID_ICoreWebView2ControllerOptions2: TGUID = '{06C991D8-9E7E-11ED-A8FC-0242AC120002}';
    IID_ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler: TGUID = '{02FAB84B-1428-4FB7-AD45-1B2E64736184}';IID_ICoreWebView2ClearBrowsingDataCompletedHandler: TGUID = '{E9710A06-1D1D-49B2-8234-226F35846AE5}';
    IID_ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler: TGUID = '{4E8A3389-C9D8-4BD2-B6B5-124FEE6CC14D}';IID_ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler: TGUID = '{02FAB84B-1428-4FB7-AD45-1B2E64736184}';
    IID_ICoreWebView2CustomSchemeRegistration: TGUID = '{D60AC92C-37A6-4B26-A39E-95CFE59047BB}';IID_ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler: TGUID = '{4E8A3389-C9D8-4BD2-B6B5-124FEE6CC14D}';
    IID_ICoreWebView2DevToolsProtocolEventReceivedEventArgs2: TGUID = '{2DC4959D-1494-4393-95BA-BEA4CB9EBD1B}';IID_ICoreWebView2CustomSchemeRegistration: TGUID = '{D60AC92C-37A6-4B26-A39E-95CFE59047BB}';
    IID_ICoreWebView2Environment2: TGUID = '{41F3632B-5EF4-404F-AD82-2D606C5A9A21}';IID_ICoreWebView2DevToolsProtocolEventReceivedEventArgs2: TGUID = '{2DC4959D-1494-4393-95BA-BEA4CB9EBD1B}';
    IID_ICoreWebView2Environment3: TGUID = '{80A22AE3-BE7C-4CE2-AFE1-5A50056CDEEB}';IID_ICoreWebView2Environment2: TGUID = '{41F3632B-5EF4-404F-AD82-2D606C5A9A21}';
    IID_ICoreWebView2Environment4: TGUID = '{20944379-6DCF-41D6-A0A0-ABC0FC50DE0D}';IID_ICoreWebView2Environment3: TGUID = '{80A22AE3-BE7C-4CE2-AFE1-5A50056CDEEB}';
    IID_ICoreWebView2Environment5: TGUID = '{319E423D-E0D7-4B8D-9254-AE9475DE9B17}';IID_ICoreWebView2Environment4: TGUID = '{20944379-6DCF-41D6-A0A0-ABC0FC50DE0D}';
    IID_ICoreWebView2Environment6: TGUID = '{E59EE362-ACBD-4857-9A8E-D3644D9459A9}';IID_ICoreWebView2Environment5: TGUID = '{319E423D-E0D7-4B8D-9254-AE9475DE9B17}';
    IID_ICoreWebView2Environment7: TGUID = '{43C22296-3BBD-43A4-9C00-5C0DF6DD29A2}';IID_ICoreWebView2Environment6: TGUID = '{E59EE362-ACBD-4857-9A8E-D3644D9459A9}';
    IID_ICoreWebView2Environment8: TGUID = '{D6EB91DD-C3D2-45E5-BD29-6DC2BC4DE9CF}';IID_ICoreWebView2Environment7: TGUID = '{43C22296-3BBD-43A4-9C00-5C0DF6DD29A2}';
    IID_ICoreWebView2ProcessInfosChangedEventHandler: TGUID = '{F4AF0C39-44B9-40E9-8B11-0484CFB9E0A1}';IID_ICoreWebView2Environment8: TGUID = '{D6EB91DD-C3D2-45E5-BD29-6DC2BC4DE9CF}';
    IID_ICoreWebView2ProcessInfoCollection: TGUID = '{402B99CD-A0CC-4FA5-B7A5-51D86A1D2339}';IID_ICoreWebView2ProcessInfosChangedEventHandler: TGUID = '{F4AF0C39-44B9-40E9-8B11-0484CFB9E0A1}';
    IID_ICoreWebView2ProcessInfo: TGUID = '{84FA7612-3F3D-4FBF-889D-FAD000492D72}';IID_ICoreWebView2ProcessInfoCollection: TGUID = '{402B99CD-A0CC-4FA5-B7A5-51D86A1D2339}';
    IID_ICoreWebView2Environment9: TGUID = '{F06F41BF-4B5A-49D8-B9F6-FA16CD29F274}';IID_ICoreWebView2ProcessInfo: TGUID = '{84FA7612-3F3D-4FBF-889D-FAD000492D72}';
    IID_ICoreWebView2Environment10: TGUID = '{EE0EB9DF-6F12-46CE-B53F-3F47B9C928E0}';IID_ICoreWebView2Environment9: TGUID = '{F06F41BF-4B5A-49D8-B9F6-FA16CD29F274}';
    IID_ICoreWebView2Environment11: TGUID = '{F0913DC6-A0EC-42EF-9805-91DFF3A2966A}';IID_ICoreWebView2Environment10: TGUID = '{EE0EB9DF-6F12-46CE-B53F-3F47B9C928E0}';
    IID_ICoreWebView2Environment12: TGUID = '{F503DB9B-739F-48DD-B151-FDFCF253F54E}';IID_ICoreWebView2Environment11: TGUID = '{F0913DC6-A0EC-42EF-9805-91DFF3A2966A}';
    IID_ICoreWebView2Environment13: TGUID = '{AF641F58-72B2-11EE-B962-0242AC120002}';IID_ICoreWebView2Environment12: TGUID = '{F503DB9B-739F-48DD-B151-FDFCF253F54E}';
    IID_ICoreWebView2GetProcessExtendedInfosCompletedHandler: TGUID = '{F45E55AA-3BC2-11EE-BE56-0242AC120002}';IID_ICoreWebView2Environment13: TGUID = '{AF641F58-72B2-11EE-B962-0242AC120002}';
    IID_ICoreWebView2ProcessExtendedInfoCollection: TGUID = '{32EFA696-407A-11EE-BE56-0242AC120002}';IID_ICoreWebView2GetProcessExtendedInfosCompletedHandler: TGUID = '{F45E55AA-3BC2-11EE-BE56-0242AC120002}';
    IID_ICoreWebView2ProcessExtendedInfo: TGUID = '{AF4C4C2E-45DB-11EE-BE56-0242AC120002}';IID_ICoreWebView2ProcessExtendedInfoCollection: TGUID = '{32EFA696-407A-11EE-BE56-0242AC120002}';
    IID_ICoreWebView2FrameInfoCollection: TGUID = '{8F834154-D38E-4D90-AFFB-6800A7272839}';IID_ICoreWebView2ProcessExtendedInfo: TGUID = '{AF4C4C2E-45DB-11EE-BE56-0242AC120002}';
    IID_ICoreWebView2FrameInfoCollectionIterator: TGUID = '{1BF89E2D-1B2B-4629-B28F-05099B41BB03}';IID_ICoreWebView2FrameInfoCollection: TGUID = '{8F834154-D38E-4D90-AFFB-6800A7272839}';
    IID_ICoreWebView2FrameInfo: TGUID = '{DA86B8A1-BDF3-4F11-9955-528CEFA59727}';IID_ICoreWebView2FrameInfoCollectionIterator: TGUID = '{1BF89E2D-1B2B-4629-B28F-05099B41BB03}';
    IID_ICoreWebView2EnvironmentOptions: TGUID = '{2FDE08A8-1E9A-4766-8C05-95A9CEB9D1C5}';IID_ICoreWebView2FrameInfo: TGUID = '{DA86B8A1-BDF3-4F11-9955-528CEFA59727}';
    IID_ICoreWebView2EnvironmentOptions2: TGUID = '{FF85C98A-1BA7-4A6B-90C8-2B752C89E9E2}';IID_ICoreWebView2EnvironmentOptions: TGUID = '{2FDE08A8-1E9A-4766-8C05-95A9CEB9D1C5}';
    IID_ICoreWebView2EnvironmentOptions3: TGUID = '{4A5C436E-A9E3-4A2E-89C3-910D3513F5CC}';IID_ICoreWebView2EnvironmentOptions2: TGUID = '{FF85C98A-1BA7-4A6B-90C8-2B752C89E9E2}';
    IID_ICoreWebView2EnvironmentOptions4: TGUID = '{AC52D13F-0D38-475A-9DCA-876580D6793E}';IID_ICoreWebView2EnvironmentOptions3: TGUID = '{4A5C436E-A9E3-4A2E-89C3-910D3513F5CC}';
    IID_ICoreWebView2EnvironmentOptions5: TGUID = '{0AE35D64-C47F-4464-814E-259C345D1501}';IID_ICoreWebView2EnvironmentOptions4: TGUID = '{AC52D13F-0D38-475A-9DCA-876580D6793E}';
    IID_ICoreWebView2EnvironmentOptions6: TGUID = '{57D29CC3-C84F-42A0-B0E2-EFFBD5E179DE}';IID_ICoreWebView2EnvironmentOptions5: TGUID = '{0AE35D64-C47F-4464-814E-259C345D1501}';
    IID_ICoreWebView2Frame2: TGUID = '{7A6A5834-D185-4DBF-B63F-4A9BC43107D4}';IID_ICoreWebView2EnvironmentOptions6: TGUID = '{57D29CC3-C84F-42A0-B0E2-EFFBD5E179DE}';
    IID_ICoreWebView2FrameNavigationStartingEventHandler: TGUID = '{E79908BF-2D5D-4968-83DB-263FEA2C1DA3}';IID_ICoreWebView2Frame2: TGUID = '{7A6A5834-D185-4DBF-B63F-4A9BC43107D4}';
    IID_ICoreWebView2FrameContentLoadingEventHandler: TGUID = '{0D6156F2-D332-49A7-9E03-7D8F2FEEEE54}';IID_ICoreWebView2FrameNavigationStartingEventHandler: TGUID = '{E79908BF-2D5D-4968-83DB-263FEA2C1DA3}';
    IID_ICoreWebView2FrameNavigationCompletedEventHandler: TGUID = '{609302AD-0E36-4F9A-A210-6A45272842A9}';IID_ICoreWebView2FrameContentLoadingEventHandler: TGUID = '{0D6156F2-D332-49A7-9E03-7D8F2FEEEE54}';
    IID_ICoreWebView2FrameDOMContentLoadedEventHandler: TGUID = '{38D9520D-340F-4D1E-A775-43FCE9753683}';IID_ICoreWebView2FrameNavigationCompletedEventHandler: TGUID = '{609302AD-0E36-4F9A-A210-6A45272842A9}';
    IID_ICoreWebView2FrameWebMessageReceivedEventHandler: TGUID = '{E371E005-6D1D-4517-934B-A8F1629C62A5}';IID_ICoreWebView2FrameDOMContentLoadedEventHandler: TGUID = '{38D9520D-340F-4D1E-A775-43FCE9753683}';
    IID_ICoreWebView2Frame3: TGUID = '{B50D82CC-CC28-481D-9614-CB048895E6A0}';IID_ICoreWebView2FrameWebMessageReceivedEventHandler: TGUID = '{E371E005-6D1D-4517-934B-A8F1629C62A5}';
    IID_ICoreWebView2FramePermissionRequestedEventHandler: TGUID = '{845D0EDD-8BD8-429B-9915-4821789F23E9}';IID_ICoreWebView2Frame3: TGUID = '{B50D82CC-CC28-481D-9614-CB048895E6A0}';
    IID_ICoreWebView2PermissionRequestedEventArgs2: TGUID = '{74D7127F-9DE6-4200-8734-42D6FB4FF741}';IID_ICoreWebView2FramePermissionRequestedEventHandler: TGUID = '{845D0EDD-8BD8-429B-9915-4821789F23E9}';
    IID_ICoreWebView2Frame4: TGUID = '{188782DC-92AA-4732-AB3C-FCC59F6F68B9}';IID_ICoreWebView2PermissionRequestedEventArgs2: TGUID = '{74D7127F-9DE6-4200-8734-42D6FB4FF741}';
    IID_ICoreWebView2Frame5: TGUID = '{99D199C4-7305-11EE-B962-0242AC120002}';IID_ICoreWebView2Frame4: TGUID = '{188782DC-92AA-4732-AB3C-FCC59F6F68B9}';
    IID_ICoreWebView2FrameInfo2: TGUID = '{56F85CFA-72C4-11EE-B962-0242AC120002}';IID_ICoreWebView2Frame5: TGUID = '{99D199C4-7305-11EE-B962-0242AC120002}';
    IID_ICoreWebView2GetNonDefaultPermissionSettingsCompletedHandler: TGUID = '{38274481-A15C-4563-94CF-990EDC9AEB95}';IID_ICoreWebView2FrameInfo2: TGUID = '{56F85CFA-72C4-11EE-B962-0242AC120002}';
    IID_ICoreWebView2PermissionSettingCollectionView: TGUID = '{F5596F62-3DE5-47B1-91E8-A4104B596B96}';IID_ICoreWebView2GetNonDefaultPermissionSettingsCompletedHandler: TGUID = '{38274481-A15C-4563-94CF-990EDC9AEB95}';
    IID_ICoreWebView2PermissionSetting: TGUID = '{792B6ECA-5576-421C-9119-74EBB3A4FFB3}';IID_ICoreWebView2PermissionSettingCollectionView: TGUID = '{F5596F62-3DE5-47B1-91E8-A4104B596B96}';
    IID_ICoreWebView2NavigationCompletedEventArgs2: TGUID = '{FDF8B738-EE1E-4DB2-A329-8D7D7B74D792}';IID_ICoreWebView2PermissionSetting: TGUID = '{792B6ECA-5576-421C-9119-74EBB3A4FFB3}';
    IID_ICoreWebView2NavigationStartingEventArgs2: TGUID = '{9086BE93-91AA-472D-A7E0-579F2BA006AD}';IID_ICoreWebView2NavigationCompletedEventArgs2: TGUID = '{FDF8B738-EE1E-4DB2-A329-8D7D7B74D792}';
    IID_ICoreWebView2NavigationStartingEventArgs3: TGUID = '{DDFFE494-4942-4BD2-AB73-35B8FF40E19F}';IID_ICoreWebView2NavigationStartingEventArgs2: TGUID = '{9086BE93-91AA-472D-A7E0-579F2BA006AD}';
    IID_ICoreWebView2NewWindowRequestedEventArgs2: TGUID = '{BBC7BAED-74C6-4C92-B63A-7F5AEAE03DE3}';IID_ICoreWebView2NavigationStartingEventArgs3: TGUID = '{DDFFE494-4942-4BD2-AB73-35B8FF40E19F}';
    IID_ICoreWebView2NewWindowRequestedEventArgs3: TGUID = '{842BED3C-6AD6-4DD9-B938-28C96667AD66}';IID_ICoreWebView2NewWindowRequestedEventArgs2: TGUID = '{BBC7BAED-74C6-4C92-B63A-7F5AEAE03DE3}';
    IID_ICoreWebView2PermissionRequestedEventArgs3: TGUID = '{E61670BC-3DCE-4177-86D2-C629AE3CB6AC}';IID_ICoreWebView2NewWindowRequestedEventArgs3: TGUID = '{842BED3C-6AD6-4DD9-B938-28C96667AD66}';
    IID_ICoreWebView2PrintSettings2: TGUID = '{CA7F0E1F-3484-41D1-8C1A-65CD44A63F8D}';IID_ICoreWebView2PermissionRequestedEventArgs3: TGUID = '{E61670BC-3DCE-4177-86D2-C629AE3CB6AC}';
    IID_ICoreWebView2ProcessFailedEventArgs2: TGUID = '{4DAB9422-46FA-4C3E-A5D2-41D2071D3680}';IID_ICoreWebView2PrintSettings2: TGUID = '{CA7F0E1F-3484-41D1-8C1A-65CD44A63F8D}';
    IID_ICoreWebView2Profile2: TGUID = '{FA740D4B-5EAE-4344-A8AD-74BE31925397}';IID_ICoreWebView2ProcessFailedEventArgs2: TGUID = '{4DAB9422-46FA-4C3E-A5D2-41D2071D3680}';
    IID_ICoreWebView2Profile3: TGUID = '{B188E659-5685-4E05-BDBA-FC640E0F1992}';IID_ICoreWebView2Profile2: TGUID = '{FA740D4B-5EAE-4344-A8AD-74BE31925397}';
    IID_ICoreWebView2Profile4: TGUID = '{8F4AE680-192E-4EC8-833A-21CFADAEF628}';IID_ICoreWebView2Profile3: TGUID = '{B188E659-5685-4E05-BDBA-FC640E0F1992}';
    IID_ICoreWebView2SetPermissionStateCompletedHandler: TGUID = '{FC77FB30-9C9E-4076-B8C7-7644A703CA1B}';IID_ICoreWebView2Profile4: TGUID = '{8F4AE680-192E-4EC8-833A-21CFADAEF628}';
    IID_ICoreWebView2Profile5: TGUID = '{2EE5B76E-6E80-4DF2-BCD3-D4EC3340A01B}';IID_ICoreWebView2SetPermissionStateCompletedHandler: TGUID = '{FC77FB30-9C9E-4076-B8C7-7644A703CA1B}';
    IID_ICoreWebView2Profile6: TGUID = '{BD82FA6A-1D65-4C33-B2B4-0393020CC61B}';IID_ICoreWebView2Profile5: TGUID = '{2EE5B76E-6E80-4DF2-BCD3-D4EC3340A01B}';
    IID_ICoreWebView2Profile7: TGUID = '{7B4C7906-A1AA-4CB4-B723-DB09F813D541}';IID_ICoreWebView2Profile6: TGUID = '{BD82FA6A-1D65-4C33-B2B4-0393020CC61B}';
    IID_ICoreWebView2ProfileAddBrowserExtensionCompletedHandler: TGUID = '{DF1AAB27-82B9-4AB6-AAE8-017A49398C14}';IID_ICoreWebView2Profile7: TGUID = '{7B4C7906-A1AA-4CB4-B723-DB09F813D541}';
    IID_ICoreWebView2BrowserExtension: TGUID = '{7EF7FFA0-FAC5-462C-B189-3D9EDBE575DA}';IID_ICoreWebView2ProfileAddBrowserExtensionCompletedHandler: TGUID = '{DF1AAB27-82B9-4AB6-AAE8-017A49398C14}';
    IID_ICoreWebView2BrowserExtensionRemoveCompletedHandler: TGUID = '{8E41909A-9B18-4BB1-8CDF-930F467A50BE}';IID_ICoreWebView2BrowserExtension: TGUID = '{7EF7FFA0-FAC5-462C-B189-3D9EDBE575DA}';
    IID_ICoreWebView2BrowserExtensionEnableCompletedHandler: TGUID = '{30C186CE-7FAD-421F-A3BC-A8EAF071DDB8}';IID_ICoreWebView2BrowserExtensionRemoveCompletedHandler: TGUID = '{8E41909A-9B18-4BB1-8CDF-930F467A50BE}';
    IID_ICoreWebView2ProfileGetBrowserExtensionsCompletedHandler: TGUID = '{FCE16A1C-F107-4601-8B75-FC4940AE25D0}';IID_ICoreWebView2BrowserExtensionEnableCompletedHandler: TGUID = '{30C186CE-7FAD-421F-A3BC-A8EAF071DDB8}';
    IID_ICoreWebView2BrowserExtensionList: TGUID = '{2EF3D2DC-BD5F-4F4D-90AF-FD67798F0C2F}';IID_ICoreWebView2ProfileGetBrowserExtensionsCompletedHandler: TGUID = '{FCE16A1C-F107-4601-8B75-FC4940AE25D0}';
    IID_ICoreWebView2Profile8: TGUID = '{FBF70C2F-EB1F-4383-85A0-163E92044011}';IID_ICoreWebView2BrowserExtensionList: TGUID = '{2EF3D2DC-BD5F-4F4D-90AF-FD67798F0C2F}';
    IID_ICoreWebView2ProfileDeletedEventHandler: TGUID = '{DF35055D-772E-4DBE-B743-5FBF74A2B258}';IID_ICoreWebView2Profile8: TGUID = '{FBF70C2F-EB1F-4383-85A0-163E92044011}';
    IID_ICoreWebView2Settings2: TGUID = '{EE9A0F68-F46C-4E32-AC23-EF8CAC224D2A}';IID_ICoreWebView2ProfileDeletedEventHandler: TGUID = '{DF35055D-772E-4DBE-B743-5FBF74A2B258}';
    IID_ICoreWebView2Settings3: TGUID = '{FDB5AB74-AF33-4854-84F0-0A631DEB5EBA}';IID_ICoreWebView2Settings2: TGUID = '{EE9A0F68-F46C-4E32-AC23-EF8CAC224D2A}';
    IID_ICoreWebView2Settings4: TGUID = '{CB56846C-4168-4D53-B04F-03B6D6796FF2}';IID_ICoreWebView2Settings3: TGUID = '{FDB5AB74-AF33-4854-84F0-0A631DEB5EBA}';
    IID_ICoreWebView2Settings5: TGUID = '{183E7052-1D03-43A0-AB99-98E043B66B39}';IID_ICoreWebView2Settings4: TGUID = '{CB56846C-4168-4D53-B04F-03B6D6796FF2}';
    IID_ICoreWebView2Settings6: TGUID = '{11CB3ACD-9BC8-43B8-83BF-F40753714F87}';IID_ICoreWebView2Settings5: TGUID = '{183E7052-1D03-43A0-AB99-98E043B66B39}';
    IID_ICoreWebView2Settings7: TGUID = '{488DC902-35EF-42D2-BC7D-94B65C4BC49C}';IID_ICoreWebView2Settings6: TGUID = '{11CB3ACD-9BC8-43B8-83BF-F40753714F87}';
    IID_ICoreWebView2Settings7: TGUID = '{488DC902-35EF-42D2-BC7D-94B65C4BC49C}';
    IID_ICoreWebView2Settings8: TGUID = '{9E6B0E8F-86AD-4E81-8147-A9B5EDB68650}';
    IID_ICoreWebView2WebResourceRequestedEventArgs2: TGUID = '{9C562C24-B219-4D7F-92F6-B187FBBADD56}';
    IID_ICoreWebView2File: TGUID = '{F2C19559-6BC1-4583-A757-90021BE9AFEC}';
    COREWEBVIEW2_MEMORY_USAGE_TARGET_LEVEL_LOW = $00000001;
    COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS_NONE = $00000000;
    COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS_DOCUMENT = $00000001;
    COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS_SHARED_WORKER = $00000002;
    COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS_SERVICE_WORKER = $00000004;
    COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS_ALL = $FFFFFFFF;

    Description

    Types

    @@ -3040,6 +3072,19 @@

    Types

    + + + +
    COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS = TOleEnum;
    +

    + Specifies the source of `WebResourceRequested` event.

    +

    + + +

    <see href="https://learn.microsoft.com/en-us/microsoft-edge/webview2/reference/win32/webview2-idl#corewebview2_web_resource_request_source_kinds">See the Globals article.)

    +
    + +
    PPCoreWebView2CustomSchemeRegistration = ˆICoreWebView2CustomSchemeRegistration;
    @@ -3980,6 +4025,13 @@

    Constants

    + + + +
    IID_ICoreWebView2_22: TGUID = '{DB75DFC7-A857-4632-A398-6969DDE26C0A}';
    +

    This item has no description.

    + +
    IID_ICoreWebView2BrowserProcessExitedEventArgs: TGUID = '{1F00663F-AF8C-4782-9CDD-DD01C52E34CB}';
    @@ -4610,6 +4662,13 @@

    Constants

    + + + +
    IID_ICoreWebView2WebResourceRequestedEventArgs2: TGUID = '{9C562C24-B219-4D7F-92F6-B187FBBADD56}';
    +

    This item has no description.

    + +
    IID_ICoreWebView2File: TGUID = '{F2C19559-6BC1-4583-A757-90021BE9AFEC}';
    @@ -7951,6 +8010,71 @@

    Constants

    This is one of the COREWEBVIEW2_MEMORY_USAGE_TARGET_LEVEL values.

    + + + + + +
    COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS_NONE = $00000000;
    +

    + Indicates that no web resource is requested.

    +

    + + +

    This is one of the COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS values.

    +
    + + + + + +
    COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS_DOCUMENT = $00000001;
    +

    + Indicates that web resource is requested from main page including dedicated workers and iframes.

    +

    + + +

    This is one of the COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS values.

    +
    + + + + + +
    COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS_SHARED_WORKER = $00000002;
    +

    + Indicates that web resource is requested from shared worker.

    +

    + + +

    This is one of the COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS values.

    +
    + + + + + +
    COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS_SERVICE_WORKER = $00000004;
    +

    + Indicates that web resource is requested from service worker.

    +

    + + +

    This is one of the COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS values.

    +
    + + + + + +
    COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS_ALL = $FFFFFFFF;
    +

    + Indicates that web resource is requested from any supported source.

    +

    + + +

    This is one of the COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS values.

    +

    Generated by PasDoc 0.16.0-snapshot. diff --git a/docs/html/uWVTypes.html b/docs/html/uWVTypes.html index e5af4ab..ad59be9 100644 --- a/docs/html/uWVTypes.html +++ b/docs/html/uWVTypes.html @@ -164,33 +164,36 @@

    Unit uWVTypes

    TWVFrameKind = type COREWEBVIEW2_FRAME_KIND;
    TWV2LoaderStatus = (...);TWVWebResourceRequestSourceKind = type COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS;
    TWV2KeyEventType = (...);TWV2LoaderStatus = (...);
    TWV2DebugLog = (...);TWV2KeyEventType = (...);
    TWV2DebugLogLevel = (...);TWV2DebugLog = (...);
    TWV2EditingCommand = (...);TWV2DebugLogLevel = (...);
    TWVClearDataStorageTypes = (...);TWV2EditingCommand = (...);
    TWVState = (...);TWVClearDataStorageTypes = (...);
    TWVAutoplayPolicy = (...);TWVState = (...);
    TWVCustomSchemeInfoArray = array of TWVCustomSchemeInfo;TWVAutoplayPolicy = (...);
    TWVCustomSchemeInfoArray = array of TWVCustomSchemeInfo;
    TWVCustomSchemeRegistrationArray = array of ICoreWebView2CustomSchemeRegistration;
    @@ -753,6 +756,19 @@

    Types

    + + + +
    TWVWebResourceRequestSourceKind = type COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS;
    +

    + Specifies the source of `WebResourceRequested` event.

    +

    + + +

    Renamed COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS type.

    +
    + +
    TWV2LoaderStatus = (...);
    diff --git a/source/uWVBrowserBase.pas b/source/uWVBrowserBase.pas index 6f50b80..71e8f92 100644 --- a/source/uWVBrowserBase.pas +++ b/source/uWVBrowserBase.pas @@ -1058,6 +1058,79 @@ TWVBrowserBase = class(TComponent, IWVBrowserEvents) /// function RemoveWebResourceRequestedFilter(const aURI: wvstring; aResourceContext: TWVWebResourceContext) : boolean; /// + /// A web resource request with a resource context that matches this + /// filter's resource context and a URI that matches this filter's URI + /// wildcard string for corresponding request sources will be raised via + /// the `WebResourceRequested` event. To receive all raised events filters + /// have to be added before main page navigation. + /// The `uri` parameter value is a wildcard string matched against the URI + /// of the web resource request. This is a glob style + /// wildcard string in which a `*` matches zero or more characters and a `?` + /// matches exactly one character. + /// These wildcard characters can be escaped using a backslash just before + /// the wildcard character in order to represent the literal `*` or `?`. + /// The matching occurs over the URI as a whole string and not limiting + /// wildcard matches to particular parts of the URI. + /// The wildcard filter is compared to the URI after the URI has been + /// normalized, any URI fragment has been removed, and non-ASCII hostnames + /// have been converted to punycode. + /// Specifying a `nullptr` for the uri is equivalent to an empty string which + /// matches no URIs. + /// For more information about resource context filters, navigate to + /// [COREWEBVIEW2_WEB_RESOURCE_CONTEXT](/microsoft-edge/webview2/reference/win32/icorewebview2#corewebview2_web_resource_context). + /// The `requestSourceKinds` is a mask of one or more + /// `COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS`. OR operation(s) can be + /// applied to multiple `COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS` to + /// create a mask representing those data types. API returns `E_INVALIDARG` if + /// `requestSourceKinds` equals to zero. For more information about request + /// source kinds, navigate to + /// [COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS](/microsoft-edge/webview2/reference/win32/icorewebview2#corewebview2_web_resource_request_source_kinds). + /// Because service workers and shared workers run separately from any one + /// HTML document their WebResourceRequested will be raised for all + /// CoreWebView2s that have appropriate filters added in the corresponding + /// CoreWebView2Environment. You should only add a WebResourceRequested filter + /// for COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS_SERVICE_WORKER or + /// COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS_SHARED_WORKER on + /// one CoreWebView2 to avoid handling the same WebResourceRequested + /// event multiple times. + /// + /// | URI Filter String | Request URI | Match | Notes | + /// | ---- | ---- | ---- | ---- | + /// | `*` | `https://contoso.com/a/b/c` | Yes | A single * will match all URIs | + /// | `*://contoso.com/*` | `https://contoso.com/a/b/c` | Yes | Matches everything in contoso.com across all schemes | + /// | `*://contoso.com/*` | `https://example.com/?https://contoso.com/` | Yes | But also matches a URI with just the same text anywhere in the URI | + /// | `example` | `https://contoso.com/example` | No | The filter does not perform partial matches | + /// | `*example` | `https://contoso.com/example` | Yes | The filter matches across URI parts | + /// | `*example` | `https://contoso.com/path/?example` | Yes | The filter matches across URI parts | + /// | `*example` | `https://contoso.com/path/?query#example` | No | The filter is matched against the URI with no fragment | + /// | `*example` | `https://example` | No | The URI is normalized before filter matching so the actual URI used for comparison is `https://example/` | + /// | `*example/` | `https://example` | Yes | Just like above, but this time the filter ends with a / just like the normalized URI | + /// | `https://xn--qei.example/` | `https://❤.example/` | Yes | Non-ASCII hostnames are normalized to punycode before wildcard comparison | + /// | `https://❤.example/` | `https://xn--qei.example/` | No | Non-ASCII hostnames are normalized to punycode before wildcard comparison | + /// + /// + /// + /// See the ICoreWebView2_22 article. + /// + function AddWebResourceRequestedFilterWithRequestSourceKinds(const uri: wvstring; + ResourceContext: TWVWebResourceContext; + requestSourceKinds: TWVWebResourceRequestSourceKind): boolean; + /// + /// Removes a matching WebResource filter that was previously added for the + /// `WebResourceRequested` event. If the same filter was added multiple + /// times, then it must be removed as many times as it was added for the + /// removal to be effective. Returns `E_INVALIDARG` for a filter that was + /// not added or is already removed. + /// If the filter was added for multiple requestSourceKinds and removed just for one of them + /// the filter remains for the non-removed requestSourceKinds. + /// + /// + /// See the ICoreWebView2_22 article. + /// + function RemoveWebResourceRequestedFilterWithRequestSourceKinds(const uri: wvstring; + ResourceContext: TWVWebResourceContext; + requestSourceKinds: TWVWebResourceRequestSourceKind): boolean; + /// /// Add the provided host object to script running in the WebView with the /// specified name. Host objects are exposed as host object proxies using /// `window.chrome.webview.hostObjects.{name}`. Host object proxies are @@ -3847,6 +3920,22 @@ function TWVBrowserBase.RemoveWebResourceRequestedFilter(const aURI: wvstring; a FCoreWebView2.RemoveWebResourceRequestedFilter(aURI, aResourceContext); end; +function TWVBrowserBase.AddWebResourceRequestedFilterWithRequestSourceKinds(const uri : wvstring; + ResourceContext : TWVWebResourceContext; + requestSourceKinds : TWVWebResourceRequestSourceKind): boolean; +begin + Result := Initialized and + FCoreWebView2.AddWebResourceRequestedFilterWithRequestSourceKinds(uri, ResourceContext, requestSourceKinds); +end; + +function TWVBrowserBase.RemoveWebResourceRequestedFilterWithRequestSourceKinds(const uri : wvstring; + ResourceContext : TWVWebResourceContext; + requestSourceKinds : TWVWebResourceRequestSourceKind): boolean; +begin + Result := Initialized and + FCoreWebView2.RemoveWebResourceRequestedFilterWithRequestSourceKinds(uri, ResourceContext, requestSourceKinds); +end; + // This function is asynchronous and it triggers the TWVBrowserBase.OnCapturePreviewCompleted event when it finishes function TWVBrowserBase.CapturePreview(aImageFormat: TWVCapturePreviewImageFormat; const aImageStream: IStream) : boolean; begin diff --git a/source/uWVCoreWebView2.pas b/source/uWVCoreWebView2.pas index 765f5d2..0785d08 100644 --- a/source/uWVCoreWebView2.pas +++ b/source/uWVCoreWebView2.pas @@ -38,6 +38,7 @@ TCoreWebView2 = class FBaseIntf19 : ICoreWebView2_19; FBaseIntf20 : ICoreWebView2_20; FBaseIntf21 : ICoreWebView2_21; + FBaseIntf22 : ICoreWebView2_22; FContainsFullScreenElementChangedToken : EventRegistrationToken; FContentLoadingToken : EventRegistrationToken; FDocumentTitleChangedToken : EventRegistrationToken; @@ -766,6 +767,80 @@ TCoreWebView2 = class /// \snippet ScriptComponent.cpp ExecuteScriptWithResult /// function ExecuteScriptWithResult(const JavaScript: wvstring; aExecutionID : integer; const aBrowserComponent : TComponent): boolean; + /// + /// A web resource request with a resource context that matches this + /// filter's resource context and a URI that matches this filter's URI + /// wildcard string for corresponding request sources will be raised via + /// the `WebResourceRequested` event. To receive all raised events filters + /// have to be added before main page navigation. + /// + /// The `uri` parameter value is a wildcard string matched against the URI + /// of the web resource request. This is a glob style + /// wildcard string in which a `*` matches zero or more characters and a `?` + /// matches exactly one character. + /// These wildcard characters can be escaped using a backslash just before + /// the wildcard character in order to represent the literal `*` or `?`. + /// + /// The matching occurs over the URI as a whole string and not limiting + /// wildcard matches to particular parts of the URI. + /// The wildcard filter is compared to the URI after the URI has been + /// normalized, any URI fragment has been removed, and non-ASCII hostnames + /// have been converted to punycode. + /// + /// Specifying a `nullptr` for the uri is equivalent to an empty string which + /// matches no URIs. + /// + /// For more information about resource context filters, navigate to + /// [COREWEBVIEW2_WEB_RESOURCE_CONTEXT](/microsoft-edge/webview2/reference/win32/icorewebview2#corewebview2_web_resource_context). + /// + /// The `requestSourceKinds` is a mask of one or more + /// `COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS`. OR operation(s) can be + /// applied to multiple `COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS` to + /// create a mask representing those data types. API returns `E_INVALIDARG` if + /// `requestSourceKinds` equals to zero. For more information about request + /// source kinds, navigate to + /// [COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS](/microsoft-edge/webview2/reference/win32/icorewebview2#corewebview2_web_resource_request_source_kinds). + /// + /// Because service workers and shared workers run separately from any one + /// HTML document their WebResourceRequested will be raised for all + /// CoreWebView2s that have appropriate filters added in the corresponding + /// CoreWebView2Environment. You should only add a WebResourceRequested filter + /// for COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS_SERVICE_WORKER or + /// COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS_SHARED_WORKER on + /// one CoreWebView2 to avoid handling the same WebResourceRequested + /// event multiple times. + /// + /// | URI Filter String | Request URI | Match | Notes | + /// | ---- | ---- | ---- | ---- | + /// | `*` | `https://contoso.com/a/b/c` | Yes | A single * will match all URIs | + /// | `*://contoso.com/*` | `https://contoso.com/a/b/c` | Yes | Matches everything in contoso.com across all schemes | + /// | `*://contoso.com/*` | `https://example.com/?https://contoso.com/` | Yes | But also matches a URI with just the same text anywhere in the URI | + /// | `example` | `https://contoso.com/example` | No | The filter does not perform partial matches | + /// | `*example` | `https://contoso.com/example` | Yes | The filter matches across URI parts | + /// | `*example` | `https://contoso.com/path/?example` | Yes | The filter matches across URI parts | + /// | `*example` | `https://contoso.com/path/?query#example` | No | The filter is matched against the URI with no fragment | + /// | `*example` | `https://example` | No | The URI is normalized before filter matching so the actual URI used for comparison is `https://example/` | + /// | `*example/` | `https://example` | Yes | Just like above, but this time the filter ends with a / just like the normalized URI | + /// | `https://xn--qei.example/` | `https://❤.example/` | Yes | Non-ASCII hostnames are normalized to punycode before wildcard comparison | + /// | `https://❤.example/` | `https://xn--qei.example/` | No | Non-ASCII hostnames are normalized to punycode before wildcard comparison | + /// + /// \snippet ScenarioSharedWorkerWRR.cpp WebResourceRequested2 + /// + function AddWebResourceRequestedFilterWithRequestSourceKinds(const uri: wvstring; + ResourceContext: TWVWebResourceContext; + requestSourceKinds: TWVWebResourceRequestSourceKind): boolean; + /// + /// Removes a matching WebResource filter that was previously added for the + /// `WebResourceRequested` event. If the same filter was added multiple + /// times, then it must be removed as many times as it was added for the + /// removal to be effective. Returns `E_INVALIDARG` for a filter that was + /// not added or is already removed. + /// If the filter was added for multiple requestSourceKinds and removed just for one of them + /// the filter remains for the non-removed requestSourceKinds. + /// + function RemoveWebResourceRequestedFilterWithRequestSourceKinds(const uri: wvstring; + ResourceContext: TWVWebResourceContext; + requestSourceKinds: TWVWebResourceRequestSourceKind): boolean; /// /// Returns true when the interface implemented by this class is fully initialized. @@ -977,8 +1052,9 @@ constructor TCoreWebView2.Create(const aBaseIntf : ICoreWebView2); LoggedQueryInterface(FBaseIntf, IID_ICoreWebView2_17, FBaseIntf17) and LoggedQueryInterface(FBaseIntf, IID_ICoreWebView2_18, FBaseIntf18) and LoggedQueryInterface(FBaseIntf, IID_ICoreWebView2_19, FBaseIntf19) and - LoggedQueryInterface(FBaseIntf, IID_ICoreWebView2_20, FBaseIntf20) then - LoggedQueryInterface(FBaseIntf, IID_ICoreWebView2_21, FBaseIntf21); + LoggedQueryInterface(FBaseIntf, IID_ICoreWebView2_20, FBaseIntf20) and + LoggedQueryInterface(FBaseIntf, IID_ICoreWebView2_21, FBaseIntf21) then + LoggedQueryInterface(FBaseIntf, IID_ICoreWebView2_22, FBaseIntf22); end; destructor TCoreWebView2.Destroy; @@ -1031,6 +1107,7 @@ procedure TCoreWebView2.InitializeFields; FBaseIntf19 := nil; FBaseIntf20 := nil; FBaseIntf21 := nil; + FBaseIntf22 := nil; FDevToolsEventTokens := nil; FDevToolsEventNames := nil; FFrameIDCopy := WEBVIEW4DELPHI_INVALID_FRAMEID; @@ -2058,6 +2135,22 @@ function TCoreWebView2.ExecuteScriptWithResult(const JavaScript: wvstring; aExec end; end; +function TCoreWebView2.AddWebResourceRequestedFilterWithRequestSourceKinds(const uri : wvstring; + ResourceContext : TWVWebResourceContext; + requestSourceKinds : TWVWebResourceRequestSourceKind): boolean; +begin + Result := assigned(FBaseIntf22) and + succeeded(FBaseIntf22.AddWebResourceRequestedFilterWithRequestSourceKinds(PWideChar(uri), ResourceContext, requestSourceKinds)); +end; + +function TCoreWebView2.RemoveWebResourceRequestedFilterWithRequestSourceKinds(const uri : wvstring; + ResourceContext : TWVWebResourceContext; + requestSourceKinds : TWVWebResourceRequestSourceKind): boolean; +begin + Result := assigned(FBaseIntf22) and + succeeded(FBaseIntf22.RemoveWebResourceRequestedFilterWithRequestSourceKinds(PWideChar(uri), ResourceContext, requestSourceKinds)); +end; + function TCoreWebView2.GetBrowserProcessID : cardinal; var TempID : DWORD; diff --git a/source/uWVCoreWebView2Args.pas b/source/uWVCoreWebView2Args.pas index d2344f6..8f4134f 100644 --- a/source/uWVCoreWebView2Args.pas +++ b/source/uWVCoreWebView2Args.pas @@ -1092,16 +1092,20 @@ TCoreWebView2WebMessageReceivedEventArgs = class /// TCoreWebView2WebResourceRequestedEventArgs = class protected - FBaseIntf : ICoreWebView2WebResourceRequestedEventArgs; + FBaseIntf : ICoreWebView2WebResourceRequestedEventArgs; + FBaseIntf2 : ICoreWebView2WebResourceRequestedEventArgs2; function GetInitialized : boolean; function GetRequest : ICoreWebView2WebResourceRequest; function GetResponse : ICoreWebView2WebResourceResponse; function GetDeferral : ICoreWebView2Deferral; function GetResourceContext : TWVWebResourceContext; + function GetRequestedSourceKind : TWVWebResourceRequestSourceKind; procedure SetResponse(const aValue : ICoreWebView2WebResourceResponse); + procedure InitializeFields; + public constructor Create(const aArgs: ICoreWebView2WebResourceRequestedEventArgs); reintroduce; destructor Destroy; override; @@ -1109,11 +1113,11 @@ TCoreWebView2WebResourceRequestedEventArgs = class /// /// Returns true when the interface implemented by this class is fully initialized. /// - property Initialized : boolean read GetInitialized; + property Initialized : boolean read GetInitialized; /// /// Returns the interface implemented by this class. /// - property BaseIntf : ICoreWebView2WebResourceRequestedEventArgs read FBaseIntf; + property BaseIntf : ICoreWebView2WebResourceRequestedEventArgs read FBaseIntf; /// /// The Web resource request. The request object may be missing some headers /// that are added by network stack at a later time. @@ -1121,7 +1125,7 @@ TCoreWebView2WebResourceRequestedEventArgs = class /// /// See the ICoreWebView2WebResourceRequestedEventArgs article. /// - property Request : ICoreWebView2WebResourceRequest read GetRequest; + property Request : ICoreWebView2WebResourceRequest read GetRequest; /// /// A placeholder for the web resource response object. If this object is /// set, the web resource request is completed with the specified response. @@ -1129,7 +1133,7 @@ TCoreWebView2WebResourceRequestedEventArgs = class /// /// See the ICoreWebView2WebResourceRequestedEventArgs article. /// - property Response : ICoreWebView2WebResourceResponse read GetResponse write SetResponse; + property Response : ICoreWebView2WebResourceResponse read GetResponse write SetResponse; /// /// Obtain an `ICoreWebView2Deferral` object and put the event into a /// deferred state. Use the `ICoreWebView2Deferral` object to complete the @@ -1138,14 +1142,21 @@ TCoreWebView2WebResourceRequestedEventArgs = class /// /// See the ICoreWebView2WebResourceRequestedEventArgs article. /// - property Deferral : ICoreWebView2Deferral read GetDeferral; + property Deferral : ICoreWebView2Deferral read GetDeferral; /// /// The web resource request context. /// /// /// See the ICoreWebView2WebResourceRequestedEventArgs article. /// - property ResourceContext : TWVWebResourceContext read GetResourceContext; + property ResourceContext : TWVWebResourceContext read GetResourceContext; + /// + /// The web resource requested source. + /// + /// + /// See the ICoreWebView2WebResourceRequestedEventArgs2 article. + /// + property RequestedSourceKind : TWVWebResourceRequestSourceKind read GetRequestedSourceKind; end; /// @@ -2972,16 +2983,27 @@ constructor TCoreWebView2WebResourceRequestedEventArgs.Create(const aArgs: ICore begin inherited Create; + InitializeFields; + FBaseIntf := aArgs; + + if Initialized then + LoggedQueryInterface(FBaseIntf, IID_ICoreWebView2WebResourceRequestedEventArgs2, FBaseIntf2); end; destructor TCoreWebView2WebResourceRequestedEventArgs.Destroy; begin - FBaseIntf := nil; + InitializeFields; inherited Destroy; end; +procedure TCoreWebView2WebResourceRequestedEventArgs.InitializeFields; +begin + FBaseIntf := nil; + FBaseIntf2 := nil; +end; + function TCoreWebView2WebResourceRequestedEventArgs.GetInitialized : boolean; begin Result := assigned(FBaseIntf); @@ -3034,7 +3056,18 @@ function TCoreWebView2WebResourceRequestedEventArgs.GetResourceContext : TWVWebR succeeded(FBaseIntf.Get_ResourceContext(TempContext)) then Result := TempContext else - Result := 0; + Result := COREWEBVIEW2_WEB_RESOURCE_CONTEXT_ALL; +end; + +function TCoreWebView2WebResourceRequestedEventArgs.GetRequestedSourceKind : TWVWebResourceRequestSourceKind; +var + TempResult : COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS; +begin + if assigned(FBaseIntf2) and + succeeded(FBaseIntf2.Get_RequestedSourceKind(TempResult)) then + Result := TempResult + else + Result := COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS_NONE; end; procedure TCoreWebView2WebResourceRequestedEventArgs.SetResponse(const aValue : ICoreWebView2WebResourceResponse); diff --git a/source/uWVCoreWebView2Frame.pas b/source/uWVCoreWebView2Frame.pas index 7acb54c..7dba6ff 100644 --- a/source/uWVCoreWebView2Frame.pas +++ b/source/uWVCoreWebView2Frame.pas @@ -219,8 +219,9 @@ TCoreWebView2Frame = class /// property FrameID : cardinal read GetFrameID; /// - /// The name of the iframe from the iframe html tag declaring it. - /// You can access this property even if the iframe is destroyed. + /// The value of iframe's window.name property. The default value equals to + /// iframe html tag declaring it. You can access this property even if the + /// iframe is destroyed. /// /// /// See the ICoreWebView2Frame article. diff --git a/source/uWVCoreWebView2FrameInfo.pas b/source/uWVCoreWebView2FrameInfo.pas index 6def80b..0b3b398 100644 --- a/source/uWVCoreWebView2FrameInfo.pas +++ b/source/uWVCoreWebView2FrameInfo.pas @@ -48,8 +48,10 @@ TCoreWebView2FrameInfo = class /// property BaseIntf : ICoreWebView2FrameInfo read FBaseIntf write FBaseIntf; /// - /// The name attribute of the frame, as in `