diff --git a/README.md b/README.md index 10dab34..9db73a9 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.2651.64](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.2739.15](https://www.nuget.org/packages/Microsoft.Web.WebView2) to embed a web browser. WebView4Delphi was developed and tested on Delphi 12.1, Delphi XE2, Delphi 7 and Lazarus 3.4/FPC 3.2.2. Delphi 6 support needs to be tested and it requires installing the second Delphi 6 patch. diff --git a/bin32/WebView2Loader.dll b/bin32/WebView2Loader.dll index 0c8d511..e6957b1 100644 Binary files a/bin32/WebView2Loader.dll and b/bin32/WebView2Loader.dll differ diff --git a/bin64/WebView2Loader.dll b/bin64/WebView2Loader.dll index 5eff65f..0a65a48 100644 Binary files a/bin64/WebView2Loader.dll and b/bin64/WebView2Loader.dll differ diff --git a/docs/WebView4Delphi.chm b/docs/WebView4Delphi.chm index e40fc81..1f8b7e1 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 3054048..ed6ca3c 100644 --- a/docs/html/AllClasses.html +++ b/docs/html/AllClasses.html @@ -733,6 +733,26 @@

All Classes, Interfaces, Objects and Records

Receives `NonClientRegionChanged` events.

+ICoreWebView2Notification +uWVTypeLibrary +

This is the ICoreWebView2Notification that represents a [HTML Notification object](https://developer.mozilla.org/docs/Web/API/Notification).

+ + +ICoreWebView2NotificationCloseRequestedEventHandler +uWVTypeLibrary +

Receives `CloseRequested` events.

+ + +ICoreWebView2NotificationReceivedEventArgs +uWVTypeLibrary +

Event args for the `NotificationReceived` event. \snippet ScenarioNotificationReceived.cpp NotificationReceived

+ + +ICoreWebView2NotificationReceivedEventHandler +uWVTypeLibrary +

Receives `NotificationReceived` events.

+ + ICoreWebView2ObjectCollection uWVTypeLibrary

Represents a collection of generic objects. Used to get, remove and add objects at the specified index.

@@ -919,6 +939,16 @@

All Classes, Interfaces, Objects and Records

A collection of RECT.

+ICoreWebView2SaveAsUIShowingEventArgs +uWVTypeLibrary +

The event args for `SaveAsUIShowing` event.

+ + +ICoreWebView2SaveAsUIShowingEventHandler +uWVTypeLibrary +

Receives `SaveAsUIShowing` events.

+ + ICoreWebView2ScriptDialogOpeningEventArgs uWVTypeLibrary

Event args for the ScriptDialogOpening event.

@@ -999,101 +1029,106 @@

All Classes, Interfaces, Objects and Records

The shared buffer object that is created by [CreateSharedBuffer](https://learn.microsoft.com/en-us/microsoft-edge/webview2/reference/win32/icorewebview2environment12#createsharedbuffer). The object is presented to script as ArrayBuffer when posted to script with [PostSharedBufferToScript](/microsoft-edge/webview2/reference/win32/icorewebview2_17#postsharedbuffertoscript).

+ICoreWebView2ShowSaveAsUICompletedHandler +uWVTypeLibrary +

Receives the result of the `ShowSaveAsUI` method.

+ + ICoreWebView2SourceChangedEventArgs uWVTypeLibrary

Event args for the SourceChanged event.

- + ICoreWebView2SourceChangedEventHandler uWVTypeLibrary

Receives SourceChanged events.

- + ICoreWebView2StateChangedEventHandler uWVTypeLibrary

Receives `StateChanged` events.

- + ICoreWebView2StatusBarTextChangedEventHandler uWVTypeLibrary

Receives StatusBarTextChanged events.

- + ICoreWebView2StringCollection uWVTypeLibrary

A collection of strings.

- + ICoreWebView2TrySuspendCompletedHandler uWVTypeLibrary

Receives the result of the `TrySuspend` method.

- + ICoreWebView2WebMessageReceivedEventArgs uWVTypeLibrary

Event args for the WebMessageReceived event.

- + ICoreWebView2WebMessageReceivedEventArgs2 uWVTypeLibrary

Extension of WebMessageReceivedEventArgs to provide access to additional WebMessage objects.

- + ICoreWebView2WebMessageReceivedEventHandler uWVTypeLibrary

Receives WebMessageReceived events.

- + ICoreWebView2WebResourceRequest uWVTypeLibrary

An HTTP request used with the WebResourceRequested event.

- + ICoreWebView2WebResourceRequestedEventArgs uWVTypeLibrary

Event args for the WebResourceRequested event.

- + ICoreWebView2WebResourceRequestedEventArgs2 uWVTypeLibrary

Event args for the `WebResourceRequested` event.

- + ICoreWebView2WebResourceRequestedEventHandler uWVTypeLibrary

Receives `WebResourceRequested` events.

- + 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 `GetContent` method.

- + ICoreWebView2WindowCloseRequestedEventHandler uWVTypeLibrary

Receives WindowCloseRequested events.

- + ICoreWebView2WindowFeatures uWVTypeLibrary

@@ -1106,297 +1141,307 @@

All Classes, Interfaces, Objects and Records

- + ICoreWebView2ZoomFactorChangedEventHandler uWVTypeLibrary

Receives `ZoomFactorChanged` events.

- + 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_23 uWVTypeLibrary

This is the ICoreWebView_23 interface for PostWebMessageAsJsonWithAdditionalObjects.

+ +ICoreWebView2_24 +uWVTypeLibrary +

This is the ICoreWebView2_24 interface that manages WebView2 Web Notification functionality.

+ +ICoreWebView2_25 +uWVTypeLibrary +

This is the ICoreWebView2_25 interface.

+ + ICoreWebView2_3 uWVTypeLibrary

A continuation of the ICoreWebView2_2 interface.

- + ICoreWebView2_4 uWVTypeLibrary

A continuation of the ICoreWebView2_3 interface to support FrameCreated and DownloadStarting events.

- + ICoreWebView2_5 uWVTypeLibrary

A continuation of the ICoreWebView2_4 interface to support ClientCertificateRequested event.

- + ICoreWebView2_6 uWVTypeLibrary

This interface is an extension of `ICoreWebView2_5` that manages opening the browser task manager window.

- + ICoreWebView2_7 uWVTypeLibrary

This interface is an extension of ICoreWebView2_5 that manages opening the browser task manager window.

- + ICoreWebView2_8 uWVTypeLibrary

This interface is an extension of ICoreWebView2_7 that supports media features.

- + ICoreWebView2_9 uWVTypeLibrary

This interface is an extension of ICoreWebView2_8 that default download dialog positioning and anchoring.

- + IWVBrowserEvents uWVInterfaces

 

- + IWVLoaderEvents uWVInterfaces

 

- + TCoreWebView2 uWVCoreWebView2

 

- + TCoreWebView2AcceleratorKeyPressedEventArgs uWVCoreWebView2Args

Event args for the AcceleratorKeyPressed event.

- + TCoreWebView2AcceleratorKeyPressedEventHandler uWVCoreWebView2Delegates

Receives AcceleratorKeyPressed events.

- + TCoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler uWVCoreWebView2Delegates

Receives the result of the AddScriptToExecuteOnDocumentCreated method.

- + TCoreWebView2BasicAuthenticationRequestedEventArgs uWVCoreWebView2Args

Event args for the BasicAuthenticationRequested event. Will contain the request that led to the HTTP authorization challenge, the challenge and allows the host to provide authentication response or cancel the request.

- + TCoreWebView2BasicAuthenticationRequestedEventHandler uWVCoreWebView2Delegates

The caller implements this interface to handle the BasicAuthenticationRequested event.

- + TCoreWebView2BasicAuthenticationResponse uWVCoreWebView2BasicAuthenticationResponse

Represents a Basic HTTP authentication response that contains a user name and a password as according to RFC7617 (https://tools.ietf.org/html/rfc7617)

- + TCoreWebView2BrowserExtension uWVCoreWebView2BrowserExtension

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.

- + TCoreWebView2BrowserExtensionEnableCompletedHandler uWVCoreWebView2Delegates

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.

- + TCoreWebView2BrowserExtensionList uWVCoreWebView2BrowserExtensionList

A collection of ICoreWebView2BrowserExtension.

- + TCoreWebView2BrowserExtensionRemoveCompletedHandler uWVCoreWebView2Delegates

The caller implements this interface to receive the result of removing the browser Extension from the Profile.

- + TCoreWebView2BrowserProcessExitedEventArgs uWVCoreWebView2Args

Event args for the BrowserProcessExited event.

- + TCoreWebView2BrowserProcessExitedEventHandler uWVCoreWebView2Delegates

Receives BrowserProcessExited events.

- + TCoreWebView2BytesReceivedChangedEventHandler uWVCoreWebView2Delegates

Implements the interface to receive BytesReceivedChanged event. Use the ICoreWebView2DownloadOperation.BytesReceived property to get the received bytes count.

- + TCoreWebView2CallDevToolsProtocolMethodCompletedHandler uWVCoreWebView2Delegates

Receives CallDevToolsProtocolMethod completion results.

- + TCoreWebView2CapturePreviewCompletedHandler uWVCoreWebView2Delegates

Receives the result of the CapturePreview method. The result is written to the stream provided in the CapturePreview method.

- + TCoreWebView2Certificate uWVCoreWebView2Certificate

Provides access to the certificate metadata.

- + TCoreWebView2ClearBrowsingDataCompletedHandler uWVCoreWebView2Delegates

The caller implements this interface to receive the ClearBrowsingData result.

- + TCoreWebView2ClearServerCertificateErrorActionsCompletedHandler uWVCoreWebView2Delegates

Receives the result of the ClearServerCertificateErrorActions method.

- + TCoreWebView2ClientCertificate uWVCoreWebView2ClientCertificate

Provides access to the client certificate metadata.

- + TCoreWebView2ClientCertificateCollection uWVCoreWebView2ClientCertificateCollection

A collection of ICoreWebView2ClientCertificate.

- + TCoreWebView2ClientCertificateRequestedEventArgs uWVCoreWebView2Args

Event args for the ClientCertificateRequested event.

- + TCoreWebView2ClientCertificateRequestedEventHandler uWVCoreWebView2Delegates

An event handler for the ClientCertificateRequested event.

- + TCoreWebView2CompositionController uWVCoreWebView2CompositionController

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.

- + TCoreWebView2ContainsFullScreenElementChangedEventHandler uWVCoreWebView2Delegates

Receives ContainsFullScreenElementChanged events.

- + TCoreWebView2ContentLoadingEventArgs uWVCoreWebView2Args

Receives ContentLoading events.

- + TCoreWebView2ContentLoadingEventHandler uWVCoreWebView2Delegates

Receives `ContentLoading` events.

- + TCoreWebView2ContextMenuItem uWVCoreWebView2ContextMenuItem

Represents a context menu item of a context menu displayed by WebView.

- + TCoreWebView2ContextMenuItemCollection uWVCoreWebView2ContextMenuItemCollection

Represents a collection of ContextMenuItem objects. Used to get, remove and add ContextMenuItem objects at the specified index.

- + TCoreWebView2ContextMenuRequestedEventArgs uWVCoreWebView2Args

Event args for the ContextMenuRequested event. Will contain the selection information and a collection of all of the default context menu items that the WebView would show. Allows the app to draw its own context menu or add/remove from the default context menu.

- + TCoreWebView2ContextMenuRequestedEventHandler uWVCoreWebView2Delegates

Receives ContextMenuRequested events.

- + TCoreWebView2ContextMenuTarget uWVCoreWebView2ContextMenuTarget

Represents the information regarding the context menu target. Includes the context selected and the appropriate data used for the actions of a context menu.

- + TCoreWebView2Controller uWVCoreWebView2Controller

The owner of the `CoreWebView2` object that provides support for resizing, showing and hiding, focusing, and other functionality related to windowing and composition. The `CoreWebView2Controller` owns the `CoreWebView2`, and if all references to the `CoreWebView2Controller` go away, the WebView is closed.

- + TCoreWebView2ControllerOptions uWVCoreWebView2ControllerOptions

@@ -1407,42 +1452,42 @@

All Classes, Interfaces, Objects and Records

- + TCoreWebView2Cookie uWVCoreWebView2Cookie

Provides a set of properties that are used to manage an ICoreWebView2Cookie.

- + TCoreWebView2CookieList uWVCoreWebView2CookieList

A collection of ICoreWebView2Cookie.

- + TCoreWebView2CookieManager uWVCoreWebView2CookieManager

Creates, adds or updates, gets, or or view the cookies. The changes would apply to the context of the user profile. That is, other WebViews under the same user profile could be affected.

- + TCoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler uWVCoreWebView2Delegates

The caller implements this interface to receive the CoreWebView2Controller created via CreateCoreWebView2CompositionController.

- + TCoreWebView2CreateCoreWebView2ControllerCompletedHandler uWVCoreWebView2Delegates

Receives the CoreWebView2Controller created using CreateCoreWebView2Controller.

- + TCoreWebView2CursorChangedEventHandler uWVCoreWebView2Delegates

The caller implements this interface to receive CursorChanged events. Use the Cursor property to get the new cursor.

- + TCoreWebView2CustomItemSelectedEventHandler uWVCoreWebView2Delegates

Raised to notify the host that the end user selected a custom ContextMenuItem. CustomItemSelected event is raised on the specific ContextMenuItem that the end user selected.

- + TCoreWebView2CustomSchemeRegistration uWVCoreWebView2CustomSchemeRegistration

@@ -1453,305 +1498,320 @@

All Classes, Interfaces, Objects and Records

- + TCoreWebView2Deferral uWVCoreWebView2Deferral

This interface is used to complete deferrals on event args that support getting deferrals using the GetDeferral method.

- + TCoreWebView2DevToolsProtocolEventReceivedEventArgs uWVCoreWebView2Args

Event args for the DevToolsProtocolEventReceived event.

- + TCoreWebView2DevToolsProtocolEventReceivedEventHandler uWVCoreWebView2Delegates

Receives DevToolsProtocolEventReceived events from the WebView.

- + TCoreWebView2DocumentTitleChangedEventHandler uWVCoreWebView2Delegates

Receives DocumentTitleChanged events. Use the DocumentTitle property to get the modified title.

- + TCoreWebView2DOMContentLoadedEventArgs uWVCoreWebView2Args

Event args for the DOMContentLoaded event.

- + TCoreWebView2DOMContentLoadedEventHandler uWVCoreWebView2Delegates

Receives DOMContentLoaded events.

- + TCoreWebView2DownloadOperation uWVCoreWebView2DownloadOperation

Represents a download operation. Gives access to the download's metadata and supports a user canceling, pausing, or resuming the download.

- + TCoreWebView2DownloadStartingEventArgs uWVCoreWebView2Args

Event args for the DownloadStarting event.

- + TCoreWebView2DownloadStartingEventHandler uWVCoreWebView2Delegates

Add an event handler for the DownloadStarting event.

- + TCoreWebView2Environment uWVCoreWebView2Environment

Represents the WebView2 Environment. WebViews created from an environment run on the browser process specified with environment parameters and objects created from an environment should be used in the same environment. Using it in different environments are not guaranteed to be compatible and may fail.

- + TCoreWebView2EnvironmentCompletedHandler uWVCoreWebView2Delegates

Receives the WebView2Environment created using CreateCoreWebView2Environment.

- + TCoreWebView2EnvironmentOptions uWVCoreWebView2EnvironmentOptions

Options used to create WebView2 Environment. A default implementation is provided in WebView2EnvironmentOptions.h.

- + TCoreWebView2EstimatedEndTimeChangedEventHandler uWVCoreWebView2Delegates

Implements the interface to receive EstimatedEndTimeChanged event. Use the ICoreWebView2DownloadOperation.EstimatedEndTime property to get the new estimated end time.

- + TCoreWebView2ExecuteScriptCompletedHandler uWVCoreWebView2Delegates

Receives the result of the ExecuteScript method.

- + TCoreWebView2ExecuteScriptResult uWVCoreWebView2ExecuteScriptResult

This is the result for ExecuteScriptWithResult.

- + TCoreWebView2ExecuteScriptWithResultCompletedHandler uWVCoreWebView2Delegates

This is the callback for ExecuteScriptWithResult

- + TCoreWebView2FaviconChangedEventHandler uWVCoreWebView2Delegates

This interface is a handler for when the Favicon is changed. The sender is the ICoreWebView2 object the top-level document of which has changed favicon and the eventArgs is nullptr. Use the FaviconUri property and GetFavicon method to obtain the favicon data. The second argument is always null. For more information see add_FaviconChanged.

- + TCoreWebView2File uWVCoreWebView2File

Representation of a DOM [File](https://developer.mozilla.org/docs/Web/API/File) object passed via WebMessage. You can use this object to obtain the path of a File dropped on WebView2.

- + TCoreWebView2Frame uWVCoreWebView2Frame

ICoreWebView2Frame provides direct access to the iframes information. You can get an ICoreWebView2Frame by handling the ICoreWebView2_4.add_FrameCreated event.

- + TCoreWebView2FrameContentLoadingEventHandler uWVCoreWebView2Delegates

Receives ContentLoading events for iframe.

- + TCoreWebView2FrameCreatedEventArgs uWVCoreWebView2Args

Event args for the FrameCreated events.

- + TCoreWebView2FrameCreatedEventHandler uWVCoreWebView2Delegates

Receives FrameCreated event.

- + TCoreWebView2FrameDestroyedEventHandler uWVCoreWebView2Delegates

Receives FrameDestroyed event.

- + TCoreWebView2FrameDOMContentLoadedEventHandler uWVCoreWebView2Delegates

Receives DOMContentLoaded events for iframe.

- + TCoreWebView2FrameInfo uWVCoreWebView2FrameInfo

Provides a set of properties for a frame in the ICoreWebView2.

- + TCoreWebView2FrameInfoCollection uWVCoreWebView2FrameInfoCollection

Collection of FrameInfos (name and source). Used to list the affected frames' info when a frame-only render process failure occurs in the ICoreWebView2.

- + TCoreWebView2FrameInfoCollectionIterator uWVCoreWebView2FrameInfoCollectionIterator

Iterator for a collection of FrameInfos. For more info, see ICoreWebView2ProcessFailedEventArgs2 and ICoreWebView2FrameInfoCollection.

- + TCoreWebView2FrameNameChangedEventHandler uWVCoreWebView2Delegates

Receives FrameNameChanged event.

- + TCoreWebView2FrameNavigationCompletedEventHandler uWVCoreWebView2Delegates

Receives NavigationCompleted events.

- + TCoreWebView2FrameNavigationCompletedEventHandler2 uWVCoreWebView2Delegates

Receives NavigationCompleted events for iframe.

- + TCoreWebView2FrameNavigationStartingEventHandler uWVCoreWebView2Delegates

Receives NavigationStarting events.

- + TCoreWebView2FrameNavigationStartingEventHandler2 uWVCoreWebView2Delegates

Receives NavigationStarting events for iframe.

- + TCoreWebView2FramePermissionRequestedEventHandler uWVCoreWebView2Delegates

Receives PermissionRequested events for iframes.

- + TCoreWebView2FrameWebMessageReceivedEventHandler uWVCoreWebView2Delegates

Receives WebMessageReceived events for iframe.

- + TCoreWebView2GetCookiesCompletedHandler uWVCoreWebView2Delegates

Receives the result of the GetCookies method. The result is written to the cookie list provided in the GetCookies method call.

- + TCoreWebView2GetFaviconCompletedHandler uWVCoreWebView2Delegates

This interface is a handler for when the Favicon is changed. The sender is the ICoreWebView2 object the top-level document of which has changed favicon and the eventArgs is nullptr. Use the FaviconUri property and GetFavicon method to obtain the favicon data. The second argument is always null. For more information see add_FaviconChanged.

- + TCoreWebView2GetNonDefaultPermissionSettingsCompletedHandler uWVCoreWebView2Delegates

The caller implements this interface to handle the result of GetNonDefaultPermissionSettings.

- + TCoreWebView2GetProcessExtendedInfosCompletedHandler uWVCoreWebView2Delegates

Receives the result of the `GetProcessExtendedInfos` method. The result is written to the collection of `ProcessExtendedInfo`s provided in the `GetProcessExtendedInfos` method call.

- + TCoreWebView2GotFocusEventHandler uWVCoreWebView2Delegates

Receives GotFocus and LostFocus events.

- + TCoreWebView2HistoryChangedEventHandler uWVCoreWebView2Delegates

Receives HistoryChanged events.

- + TCoreWebView2HttpHeadersCollectionIterator uWVCoreWebView2HttpHeadersCollectionIterator

Iterator for a collection of HTTP headers. For more information, navigate to ICoreWebView2HttpRequestHeaders and ICoreWebView2HttpResponseHeaders.

- + TCoreWebView2HttpRequestHeaders uWVCoreWebView2HttpRequestHeaders

HTTP request headers. Used to inspect the HTTP request on WebResourceRequested event and NavigationStarting event.

- + TCoreWebView2HttpResponseHeaders uWVCoreWebView2HttpResponseHeaders

HTTP response headers. Used to construct a WebResourceResponse for the WebResourceRequested event.

- + TCoreWebView2IsDefaultDownloadDialogOpenChangedEventHandler uWVCoreWebView2Delegates

Implements the interface to receive IsDefaultDownloadDialogOpenChanged events.

- + TCoreWebView2IsDocumentPlayingAudioChangedEventHandler uWVCoreWebView2Delegates

Implements the interface to receive IsDocumentPlayingAudioChanged events. Use the IsDocumentPlayingAudio property to get the audio playing state.

- + TCoreWebView2IsMutedChangedEventHandler uWVCoreWebView2Delegates

Implements the interface to receive IsMutedChanged events. Use the IsMuted property to get the mute state.

- + TCoreWebView2LaunchingExternalUriSchemeEventArgs uWVCoreWebView2Args

Event args for LaunchingExternalUriScheme event.

- + TCoreWebView2LaunchingExternalUriSchemeEventHandler uWVCoreWebView2Delegates

Event handler for the LaunchingExternalUriScheme event.

- + TCoreWebView2LostFocusEventHandler uWVCoreWebView2Delegates

Receives GotFocus and LostFocus events.

- + TCoreWebView2MoveFocusRequestedEventArgs uWVCoreWebView2Args

Event args for the MoveFocusRequested event.

- + TCoreWebView2MoveFocusRequestedEventHandler uWVCoreWebView2Delegates

Receives MoveFocusRequested events.

- + TCoreWebView2NavigationCompletedEventArgs uWVCoreWebView2Args

Event args for the NavigationCompleted event.

- + TCoreWebView2NavigationCompletedEventHandler uWVCoreWebView2Delegates

Receives NavigationCompleted events.

- + TCoreWebView2NavigationStartingEventArgs uWVCoreWebView2Args

Event args for the NavigationStarting event.

- + TCoreWebView2NavigationStartingEventHandler uWVCoreWebView2Delegates

Receives NavigationStarting events.

- + TCoreWebView2NewBrowserVersionAvailableEventHandler uWVCoreWebView2Delegates

Receives NewBrowserVersionAvailable events.

- + TCoreWebView2NewWindowRequestedEventArgs uWVCoreWebView2Args

Event args for the NewWindowRequested event. The event is run when content inside webview requested to a open a new window (through window.open() and so on).

- + TCoreWebView2NewWindowRequestedEventHandler uWVCoreWebView2Delegates

Receives NewWindowRequested events.

- + TCoreWebView2NonClientRegionChangedEventArgs uWVCoreWebView2Args

This is the Interface for non-client region change event args.

- + TCoreWebView2NonClientRegionChangedEventHandler uWVCoreWebView2Delegates -

This is the Interface of the event handler for the non-client region changed event.

+

Receives `NonClientRegionChanged` events. event.

+ + +TCoreWebView2NotificationCloseRequestedEventHandler +uWVCoreWebView2Delegates +

Receives `CloseRequested` events.

+ + +TCoreWebView2NotificationReceivedEventArgs +uWVCoreWebView2Args +

Event args for the `NotificationReceived` event.

+ + +TCoreWebView2NotificationReceivedEventHandler +uWVCoreWebView2Delegates +

Receives `NotificationReceived` events.

TCoreWebView2ObjectCollectionView @@ -1875,6 +1935,16 @@

All Classes, Interfaces, Objects and Records

A collection of RECT.

+TCoreWebView2SaveAsUIShowingEventArgs +uWVCoreWebView2Args +

The event args for `SaveAsUIShowing` event.

+ + +TCoreWebView2SaveAsUIShowingEventHandler +uWVCoreWebView2Delegates +

Receives `SaveAsUIShowing` events.

+ + TCoreWebView2ScriptDialogOpeningEventArgs uWVCoreWebView2Args

Event args for the ScriptDialogOpening event.

@@ -1915,96 +1985,101 @@

All Classes, Interfaces, Objects and Records

The shared buffer object that is created by CreateSharedBuffer. The object is presented to script as ArrayBuffer when posted to script with PostSharedBufferToScript.

+TCoreWebView2ShowSaveAsUICompletedHandler +uWVCoreWebView2Delegates +

Receives the result of the `ShowSaveAsUI` method.

+ + TCoreWebView2SourceChangedEventArgs uWVCoreWebView2Args

Event args for the SourceChanged event.

- + TCoreWebView2SourceChangedEventHandler uWVCoreWebView2Delegates

Receives SourceChanged events.

- + TCoreWebView2StateChangedEventHandler uWVCoreWebView2Delegates

Implements the interface to receive StateChanged event. Use the ICoreWebView2DownloadOperation.State property to get the current state, which can be in progress, interrupted, or completed. Use the ICoreWebView2DownloadOperation.InterruptReason property to get the interrupt reason if the download is interrupted.

- + TCoreWebView2StatusBarTextChangedEventHandler uWVCoreWebView2Delegates

Receives StatusBarTextChanged events.

- + TCoreWebView2StringCollection uWVCoreWebView2StringCollection

A collection of strings.

- + TCoreWebView2TrySuspendCompletedHandler uWVCoreWebView2Delegates

The caller implements this interface to receive the TrySuspend result.

- + TCoreWebView2WebMessageReceivedEventArgs uWVCoreWebView2Args

Event args for the WebMessageReceived event.

- + TCoreWebView2WebMessageReceivedEventHandler uWVCoreWebView2Delegates

Receives WebMessageReceived events.

- + TCoreWebView2WebResourceRequestedEventArgs uWVCoreWebView2Args

Event args for the WebResourceRequested event.

- + TCoreWebView2WebResourceRequestedEventHandler uWVCoreWebView2Delegates

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.

- + TCoreWebView2WebResourceRequestOwn uWVCoreWebView2WebResourceRequest

An HTTP request used with the WebResourceRequested event.

- + TCoreWebView2WebResourceRequestRef uWVCoreWebView2WebResourceRequest

An HTTP request used with the WebResourceRequested event.

- + TCoreWebView2WebResourceResponse uWVCoreWebView2WebResourceResponse

An HTTP response used with the WebResourceRequested event.

- + TCoreWebView2WebResourceResponseReceivedEventArgs uWVCoreWebView2Args

Event args for the WebResourceResponseReceived event.

- + TCoreWebView2WebResourceResponseReceivedEventHandler uWVCoreWebView2Delegates

Receives WebResourceResponseReceived events.

- + TCoreWebView2WebResourceResponseView uWVCoreWebView2WebResourceResponseView

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 TWVBrowserBase.OnWebResourceResponseReceived event.

- + TCoreWebView2WebResourceResponseViewGetContentCompletedHandler uWVCoreWebView2Delegates

Receives the result of the ICoreWebView2WebResourceResponseView.GetContent method.

- + TCoreWebView2WindowCloseRequestedEventHandler uWVCoreWebView2Delegates

Receives WindowCloseRequested events.

- + TCoreWebView2WindowFeatures uWVCoreWebView2WindowFeatures

@@ -2017,62 +2092,62 @@

All Classes, Interfaces, Objects and Records

- + TCoreWebView2ZoomFactorChangedEventHandler uWVCoreWebView2Delegates

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

- + TFileVersionInfo uWVTypes

Record used by GetDLLVersion to get the DLL version information

- + TWVBrowser uWVBrowser

VCL and LCL version of TWVBrowserBase that puts together all browser procedures, functions, properties and events in one place. It has all you need to create, modify and destroy a web browser.

- + TWVBrowserBase uWVBrowserBase

Parent class of TWVBrowser and TWVFMXBrowser that puts together all browser procedures, functions, properties and events in one place. It has all you need to create, modify and destroy a web browser.

- + TWVCustomSchemeInfo uWVTypes

Record with all the information to create a TCoreWebView2CustomSchemeRegistration instance to register a custom scheme.

- + TWVFMXBrowser uWVFMXBrowser

FMX version of TWVBrowserBase that puts together all browser procedures, functions, properties and events in one place. It has all you need to create, modify and destroy a web browser.

- + TWVFMXWindowParent uWVFMXWindowParent

Parent control used by FMX applications to show the web contents.

- + TWVLoader uWVLoader

Class used to simplify the WebView2 initialization and destruction.

- + TWVProxySettings uWVLoader

Class used by the TWVLoader.ProxySettigns property to configure a custom proxy server using the following command line switches: –no-proxy-server, –proxy-auto-detect, –proxy-bypass-list, –proxy-pac-url and –proxy-server.

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

diff --git a/docs/html/AllConstants.html b/docs/html/AllConstants.html index 6a96676..dfea97a 100644 --- a/docs/html/AllConstants.html +++ b/docs/html/AllConstants.html @@ -1141,31 +1141,82 @@

All Constants

The stable WebView2 Runtime that is released every 4 weeks.

+COREWEBVIEW2_SAVE_AS_KIND_COMPLETE +uWVTypeLibrary +

Save the page as HTML and download the page-related source files (for example: CSS, JavaScript, images, etc.) in a directory with the same filename prefix.

+ + +COREWEBVIEW2_SAVE_AS_KIND_DEFAULT +uWVTypeLibrary +

Default kind to save non-HTML content. If this kind is selected for an HTML page, the behavior is the same as the `HTML_ONLY` kind.

+ + +COREWEBVIEW2_SAVE_AS_KIND_HTML_ONLY +uWVTypeLibrary +

Save the page as HTML. Only the top-level document is saved, excluding subresources.

+ + +COREWEBVIEW2_SAVE_AS_KIND_SINGLE_FILE +uWVTypeLibrary +

Save the page as [MHTML](https://en.wikipedia.org/wiki/MHTML).

+ + +COREWEBVIEW2_SAVE_AS_UI_RESULT_CANCELLED +uWVTypeLibrary +

Did not perform Save As because the end user cancelled or the `Cancel` property on `ICoreWebView2SaveAsUIShowingEventArgs` was set to TRUE.

+ + +COREWEBVIEW2_SAVE_AS_UI_RESULT_FILE_ALREADY_EXISTS +uWVTypeLibrary +

Could not perform Save As because the destination file path already exists and replacing files was not allowed by the `AllowReplace` property.

+ + +COREWEBVIEW2_SAVE_AS_UI_RESULT_INVALID_PATH +uWVTypeLibrary +

Could not perform Save As because the destination file path is an invalid path. + +

The path is invalid when it is empty, a relative path, or a directory, or when the parent path does not exist.

+ + +COREWEBVIEW2_SAVE_AS_UI_RESULT_KIND_NOT_SUPPORTED +uWVTypeLibrary +

Could not perform Save As because the `Kind` property selection is not supported due to content MIME type or system limits. + +

See the `COREWEBVIEW2_SAVE_AS_KIND` enum for MIME type limits. + +

System limits include when the `HTML_ONLY` kind is selected for an error page at child mode, or when the `COMPLETE` kind is selected and the WebView is running in an App Container.

+ + +COREWEBVIEW2_SAVE_AS_UI_RESULT_SUCCESS +uWVTypeLibrary +

The ShowSaveAsUI method call completed successfully. By default, the system Save As dialog opens. If `SuppressDefaultDialog` is set to TRUE, the system dialog is skipped.

+ + COREWEBVIEW2_SCRIPT_DIALOG_KIND_ALERT uWVTypeLibrary

Indicates that the dialog uses the window.alert JavaScript function.

- + COREWEBVIEW2_SCRIPT_DIALOG_KIND_BEFOREUNLOAD uWVTypeLibrary

Indicates that the dialog uses the beforeunload JavaScript event.

- + COREWEBVIEW2_SCRIPT_DIALOG_KIND_CONFIRM uWVTypeLibrary

Indicates that the dialog uses the window.confirm JavaScript function.

- + COREWEBVIEW2_SCRIPT_DIALOG_KIND_PROMPT uWVTypeLibrary

Indicates that the dialog uses the window.prompt JavaScript function.

- + COREWEBVIEW2_SCROLLBAR_STYLE_DEFAULT uWVTypeLibrary

Browser default ScrollBar style.

- + COREWEBVIEW2_SCROLLBAR_STYLE_FLUENT_OVERLAY uWVTypeLibrary

@@ -1176,31 +1227,46 @@

All Constants

- + COREWEBVIEW2_SERVER_CERTIFICATE_ERROR_ACTION_ALWAYS_ALLOW uWVTypeLibrary

Indicates to ignore the warning and continue the request with the TLS certificate. This decision is cached for the RequestUri's host and the server certificate in the session.

- + COREWEBVIEW2_SERVER_CERTIFICATE_ERROR_ACTION_CANCEL uWVTypeLibrary

Indicates to reject the certificate and cancel the request.

- + COREWEBVIEW2_SERVER_CERTIFICATE_ERROR_ACTION_DEFAULT uWVTypeLibrary

Indicates to display the default TLS interstitial error page to user for page navigations. For others TLS certificate is rejected and the request is cancelled.

- + COREWEBVIEW2_SHARED_BUFFER_ACCESS_READ_ONLY uWVTypeLibrary

Script from web page only has read access to the shared buffer.

- + COREWEBVIEW2_SHARED_BUFFER_ACCESS_READ_WRITE uWVTypeLibrary

Script from web page has read and write access to the shared buffer.

+ +COREWEBVIEW2_TEXT_DIRECTION_KIND_DEFAULT +uWVTypeLibrary +

Indicates that the notification text direction adopts the browser's language setting behavior.

+ + +COREWEBVIEW2_TEXT_DIRECTION_KIND_LEFT_TO_RIGHT +uWVTypeLibrary +

Indicates that the notification text is left-to-right.

+ + +COREWEBVIEW2_TEXT_DIRECTION_KIND_RIGHT_TO_LEFT +uWVTypeLibrary +

Indicates that the notification text is right-to-left.

+ COREWEBVIEW2_TRACKING_PREVENTION_LEVEL_BALANCED uWVTypeLibrary @@ -2155,6 +2221,26 @@

All Constants

 

+IID_ICoreWebView2Notification +uWVTypeLibrary +

 

+ + +IID_ICoreWebView2NotificationCloseRequestedEventHandler +uWVTypeLibrary +

 

+ + +IID_ICoreWebView2NotificationReceivedEventArgs +uWVTypeLibrary +

 

+ + +IID_ICoreWebView2NotificationReceivedEventHandler +uWVTypeLibrary +

 

+ + IID_ICoreWebView2ObjectCollection uWVTypeLibrary

 

@@ -2335,6 +2421,16 @@

All Constants

 

+IID_ICoreWebView2SaveAsUIShowingEventArgs +uWVTypeLibrary +

 

+ + +IID_ICoreWebView2SaveAsUIShowingEventHandler +uWVTypeLibrary +

 

+ + IID_ICoreWebView2ScriptDialogOpeningEventArgs uWVTypeLibrary

 

@@ -2415,521 +2511,536 @@

All Constants

 

-IID_ICoreWebView2SourceChangedEventArgs +IID_ICoreWebView2ShowSaveAsUICompletedHandler uWVTypeLibrary

 

-IID_ICoreWebView2SourceChangedEventHandler +IID_ICoreWebView2SourceChangedEventArgs uWVTypeLibrary

 

-IID_ICoreWebView2StateChangedEventHandler +IID_ICoreWebView2SourceChangedEventHandler uWVTypeLibrary

 

-IID_ICoreWebView2StatusBarTextChangedEventHandler +IID_ICoreWebView2StateChangedEventHandler uWVTypeLibrary

 

-IID_ICoreWebView2StringCollection +IID_ICoreWebView2StatusBarTextChangedEventHandler uWVTypeLibrary

 

-IID_ICoreWebView2TrySuspendCompletedHandler +IID_ICoreWebView2StringCollection uWVTypeLibrary

 

-IID_ICoreWebView2WebMessageReceivedEventArgs +IID_ICoreWebView2TrySuspendCompletedHandler uWVTypeLibrary

 

-IID_ICoreWebView2WebMessageReceivedEventArgs2 +IID_ICoreWebView2WebMessageReceivedEventArgs uWVTypeLibrary

 

-IID_ICoreWebView2WebMessageReceivedEventHandler +IID_ICoreWebView2WebMessageReceivedEventArgs2 uWVTypeLibrary

 

-IID_ICoreWebView2WebResourceRequest +IID_ICoreWebView2WebMessageReceivedEventHandler uWVTypeLibrary

 

-IID_ICoreWebView2WebResourceRequestedEventArgs +IID_ICoreWebView2WebResourceRequest uWVTypeLibrary

 

-IID_ICoreWebView2WebResourceRequestedEventArgs2 +IID_ICoreWebView2WebResourceRequestedEventArgs uWVTypeLibrary

 

-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_21 +IID_ICoreWebView2_20 uWVTypeLibrary

 

-IID_ICoreWebView2_22 +IID_ICoreWebView2_21 uWVTypeLibrary

 

+IID_ICoreWebView2_22 +uWVTypeLibrary +

 

+ + IID_ICoreWebView2_23 uWVTypeLibrary

 

+ +IID_ICoreWebView2_24 +uWVTypeLibrary +

 

+ -IID_ICoreWebView2_3 +IID_ICoreWebView2_25 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. *

- + WV_DOWNLOADS_URL uWVConstants

 

- + WV_EXTENSIONS_URL uWVConstants

 

- + WV_FLAGS_URL uWVConstants

 

- + WV_URLS_URL uWVConstants

 

- + 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 55c264e..e78d8d6 100644 --- a/docs/html/AllIdentifiers.html +++ b/docs/html/AllIdentifiers.html @@ -1400,41 +1400,104 @@

All Identifiers

The stable WebView2 Runtime that is released every 4 weeks.

+COREWEBVIEW2_SAVE_AS_KIND +uWVTypeLibrary +

Specifies Save As kind selection options for `ICoreWebView2SaveAsUIShowingEventArgs`. + +

For HTML documents, we support 3 Save As kinds: HTML_ONLY, SINGLE_FILE and COMPLETE. For non-HTML documents, you must use DEFAULT. MIME types of `text/html` and `application/xhtml+xml` are considered HTML documents.

+ + +COREWEBVIEW2_SAVE_AS_KIND_COMPLETE +uWVTypeLibrary +

Save the page as HTML and download the page-related source files (for example: CSS, JavaScript, images, etc.) in a directory with the same filename prefix.

+ + +COREWEBVIEW2_SAVE_AS_KIND_DEFAULT +uWVTypeLibrary +

Default kind to save non-HTML content. If this kind is selected for an HTML page, the behavior is the same as the `HTML_ONLY` kind.

+ + +COREWEBVIEW2_SAVE_AS_KIND_HTML_ONLY +uWVTypeLibrary +

Save the page as HTML. Only the top-level document is saved, excluding subresources.

+ + +COREWEBVIEW2_SAVE_AS_KIND_SINGLE_FILE +uWVTypeLibrary +

Save the page as [MHTML](https://en.wikipedia.org/wiki/MHTML).

+ + +COREWEBVIEW2_SAVE_AS_UI_RESULT +uWVTypeLibrary +

Status of a programmatic Save As call. Indicates the result of the `ShowSaveAsUI` method.

+ + +COREWEBVIEW2_SAVE_AS_UI_RESULT_CANCELLED +uWVTypeLibrary +

Did not perform Save As because the end user cancelled or the `Cancel` property on `ICoreWebView2SaveAsUIShowingEventArgs` was set to TRUE.

+ + +COREWEBVIEW2_SAVE_AS_UI_RESULT_FILE_ALREADY_EXISTS +uWVTypeLibrary +

Could not perform Save As because the destination file path already exists and replacing files was not allowed by the `AllowReplace` property.

+ + +COREWEBVIEW2_SAVE_AS_UI_RESULT_INVALID_PATH +uWVTypeLibrary +

Could not perform Save As because the destination file path is an invalid path. + +

The path is invalid when it is empty, a relative path, or a directory, or when the parent path does not exist.

+ + +COREWEBVIEW2_SAVE_AS_UI_RESULT_KIND_NOT_SUPPORTED +uWVTypeLibrary +

Could not perform Save As because the `Kind` property selection is not supported due to content MIME type or system limits. + +

See the `COREWEBVIEW2_SAVE_AS_KIND` enum for MIME type limits. + +

System limits include when the `HTML_ONLY` kind is selected for an error page at child mode, or when the `COMPLETE` kind is selected and the WebView is running in an App Container.

+ + +COREWEBVIEW2_SAVE_AS_UI_RESULT_SUCCESS +uWVTypeLibrary +

The ShowSaveAsUI method call completed successfully. By default, the system Save As dialog opens. If `SuppressDefaultDialog` is set to TRUE, the system dialog is skipped.

+ + COREWEBVIEW2_SCRIPT_DIALOG_KIND uWVTypeLibrary

Specifies the JavaScript dialog type used in the ICoreWebView2ScriptDialogOpeningEventHandler interface.

- + COREWEBVIEW2_SCRIPT_DIALOG_KIND_ALERT uWVTypeLibrary

Indicates that the dialog uses the window.alert JavaScript function.

- + COREWEBVIEW2_SCRIPT_DIALOG_KIND_BEFOREUNLOAD uWVTypeLibrary

Indicates that the dialog uses the beforeunload JavaScript event.

- + COREWEBVIEW2_SCRIPT_DIALOG_KIND_CONFIRM uWVTypeLibrary

Indicates that the dialog uses the window.confirm JavaScript function.

- + COREWEBVIEW2_SCRIPT_DIALOG_KIND_PROMPT uWVTypeLibrary

Indicates that the dialog uses the window.prompt JavaScript function.

- + COREWEBVIEW2_SCROLLBAR_STYLE uWVTypeLibrary

Set ScrollBar style on `ICoreWebView2EnvironmentOptions` during environment creation.

- + COREWEBVIEW2_SCROLLBAR_STYLE_DEFAULT uWVTypeLibrary

Browser default ScrollBar style.

- + COREWEBVIEW2_SCROLLBAR_STYLE_FLUENT_OVERLAY uWVTypeLibrary

@@ -1445,66 +1508,86 @@

All Identifiers

- + COREWEBVIEW2_SERVER_CERTIFICATE_ERROR_ACTION uWVTypeLibrary

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

- + COREWEBVIEW2_SERVER_CERTIFICATE_ERROR_ACTION_ALWAYS_ALLOW uWVTypeLibrary

Indicates to ignore the warning and continue the request with the TLS certificate. This decision is cached for the RequestUri's host and the server certificate in the session.

- + COREWEBVIEW2_SERVER_CERTIFICATE_ERROR_ACTION_CANCEL uWVTypeLibrary

Indicates to reject the certificate and cancel the request.

- + COREWEBVIEW2_SERVER_CERTIFICATE_ERROR_ACTION_DEFAULT uWVTypeLibrary

Indicates to display the default TLS interstitial error page to user for page navigations. For others TLS certificate is rejected and the request is cancelled.

- + COREWEBVIEW2_SHARED_BUFFER_ACCESS uWVTypeLibrary

Specifies the desired access from script to CoreWebView2SharedBuffer.

- + COREWEBVIEW2_SHARED_BUFFER_ACCESS_READ_ONLY uWVTypeLibrary

Script from web page only has read access to the shared buffer.

- + COREWEBVIEW2_SHARED_BUFFER_ACCESS_READ_WRITE uWVTypeLibrary

Script from web page has read and write access to the shared buffer.

+ +COREWEBVIEW2_TEXT_DIRECTION_KIND +uWVTypeLibrary +

Indicates the text direction of the notification.

+ +COREWEBVIEW2_TEXT_DIRECTION_KIND_DEFAULT +uWVTypeLibrary +

Indicates that the notification text direction adopts the browser's language setting behavior.

+ + +COREWEBVIEW2_TEXT_DIRECTION_KIND_LEFT_TO_RIGHT +uWVTypeLibrary +

Indicates that the notification text is left-to-right.

+ + +COREWEBVIEW2_TEXT_DIRECTION_KIND_RIGHT_TO_LEFT +uWVTypeLibrary +

Indicates that the notification text is right-to-left.

+ + COREWEBVIEW2_TRACKING_PREVENTION_LEVEL uWVTypeLibrary

Tracking prevention levels.

- + COREWEBVIEW2_TRACKING_PREVENTION_LEVEL_BALANCED uWVTypeLibrary

The default level of tracking prevention. Set to this level to protect against social media tracking on top of malicious trackers. Content and ads will likely be less personalized.

See [Current tracking prevention behavior](/microsoft-edge/web-platform/tracking-prevention#current-tracking-prevention-behavior) for fine-grained information on what is being blocked with this level and can change with different Edge versions.

- + COREWEBVIEW2_TRACKING_PREVENTION_LEVEL_BASIC uWVTypeLibrary

The least restrictive level of tracking prevention. Set to this level to protect against malicious trackers but allows most other trackers and personalize content and ads.

See [Current tracking prevention behavior](/microsoft-edge/web-platform/tracking-prevention#current-tracking-prevention-behavior) for fine-grained information on what is being blocked with this level and can change with different Edge versions.

- + COREWEBVIEW2_TRACKING_PREVENTION_LEVEL_NONE uWVTypeLibrary

Tracking prevention is turned off.

- + COREWEBVIEW2_TRACKING_PREVENTION_LEVEL_STRICT uWVTypeLibrary

The most restrictive level of tracking prevention. Set to this level to protect against malicious trackers and most trackers across sites. Content and ads will likely have minimal personalization. @@ -1513,232 +1596,232 @@

All Identifiers

See [Current tracking prevention behavior](/microsoft-edge/web-platform/tracking-prevention#current-tracking-prevention-behavior) for fine-grained information on what is being blocked with this level and can change with different Edge versions.

- + COREWEBVIEW2_WEB_ERROR_STATUS uWVTypeLibrary

Indicates the error status values for web navigations.

- + COREWEBVIEW2_WEB_ERROR_STATUS_CANNOT_CONNECT uWVTypeLibrary

Indicates that a connection to the destination was not established.

- + COREWEBVIEW2_WEB_ERROR_STATUS_CERTIFICATE_COMMON_NAME_IS_INCORRECT uWVTypeLibrary

Indicates that the SSL certificate common name does not match the web address.

- + COREWEBVIEW2_WEB_ERROR_STATUS_CERTIFICATE_EXPIRED uWVTypeLibrary

Indicates that the SSL certificate has expired.

- + COREWEBVIEW2_WEB_ERROR_STATUS_CERTIFICATE_IS_INVALID uWVTypeLibrary

Indicates that the SSL certificate is not valid. The certificate may not match the public key pins for the host name, the certificate is signed by an untrusted authority or using a weak sign algorithm, the certificate claimed DNS names violate name constraints, the certificate contains a weak key, the validity period of the certificate is too long, lack of revocation information or revocation mechanism, non-unique host name, lack of certificate transparency information, or the certificate is chained to a [legacy Symantec root](https://security.googleblog.com/2018/03/distrust-of-symantec-pki-immediate.html).

- + COREWEBVIEW2_WEB_ERROR_STATUS_CERTIFICATE_REVOKED uWVTypeLibrary

Indicates that the SSL certificate has been revoked.

- + COREWEBVIEW2_WEB_ERROR_STATUS_CLIENT_CERTIFICATE_CONTAINS_ERRORS uWVTypeLibrary

Indicates that the SSL client certificate contains errors.

- + COREWEBVIEW2_WEB_ERROR_STATUS_CONNECTION_ABORTED uWVTypeLibrary

Indicates that the connection was stopped.

- + COREWEBVIEW2_WEB_ERROR_STATUS_CONNECTION_RESET uWVTypeLibrary

Indicates that the connection was reset.

- + COREWEBVIEW2_WEB_ERROR_STATUS_DISCONNECTED uWVTypeLibrary

Indicates that the Internet connection has been lost.

- + COREWEBVIEW2_WEB_ERROR_STATUS_ERROR_HTTP_INVALID_SERVER_RESPONSE uWVTypeLibrary

Indicates that the server returned an invalid or unrecognized response.

- + COREWEBVIEW2_WEB_ERROR_STATUS_HOST_NAME_NOT_RESOLVED uWVTypeLibrary

Indicates that the provided host name was not able to be resolved.

- + COREWEBVIEW2_WEB_ERROR_STATUS_OPERATION_CANCELED uWVTypeLibrary

Indicates that the operation was canceled. This status code is also used in the following cases: - When the app cancels a navigation via NavigationStarting event. - For original navigation if the app navigates the WebView2 in a rapid succession away after the load for original navigation commenced, but before it completed.

- + COREWEBVIEW2_WEB_ERROR_STATUS_REDIRECT_FAILED uWVTypeLibrary

Indicates that the request redirect failed.

- + COREWEBVIEW2_WEB_ERROR_STATUS_SERVER_UNREACHABLE uWVTypeLibrary

Indicates that the host is unreachable.

- + COREWEBVIEW2_WEB_ERROR_STATUS_TIMEOUT uWVTypeLibrary

Indicates that the connection has timed out.

- + COREWEBVIEW2_WEB_ERROR_STATUS_UNEXPECTED_ERROR uWVTypeLibrary

Indicates that an unexpected error occurred.

- + COREWEBVIEW2_WEB_ERROR_STATUS_UNKNOWN uWVTypeLibrary

Indicates that an unknown error occurred.

- + COREWEBVIEW2_WEB_ERROR_STATUS_VALID_AUTHENTICATION_CREDENTIALS_REQUIRED uWVTypeLibrary

Indicates that user is prompted with a login, waiting on user action. Initial navigation to a login site will always return this even if app provides credential using BasicAuthenticationRequested. HTTP response status code in this case is 401. See status code reference here: https://developer.mozilla.org/docs/Web/HTTP/Status.

- + COREWEBVIEW2_WEB_ERROR_STATUS_VALID_PROXY_AUTHENTICATION_REQUIRED uWVTypeLibrary

Indicates that user lacks proper authentication credentials for a proxy server. HTTP response status code in this case is 407. See status code reference here: https://developer.mozilla.org/docs/Web/HTTP/Status.

- + COREWEBVIEW2_WEB_RESOURCE_CONTEXT uWVTypeLibrary

Specifies the web resource request contexts.

- + COREWEBVIEW2_WEB_RESOURCE_CONTEXT_ALL uWVTypeLibrary

Specifies all resources.

- + COREWEBVIEW2_WEB_RESOURCE_CONTEXT_CSP_VIOLATION_REPORT uWVTypeLibrary

Specifies a CSP Violation Report.

- + COREWEBVIEW2_WEB_RESOURCE_CONTEXT_DOCUMENT uWVTypeLibrary

Specifies a document resource.

- + COREWEBVIEW2_WEB_RESOURCE_CONTEXT_EVENT_SOURCE uWVTypeLibrary

Specifies an EventSource API communication.

- + COREWEBVIEW2_WEB_RESOURCE_CONTEXT_FETCH uWVTypeLibrary

Specifies a Fetch API communication.

- + COREWEBVIEW2_WEB_RESOURCE_CONTEXT_FONT uWVTypeLibrary

Specifies a font resource.

- + COREWEBVIEW2_WEB_RESOURCE_CONTEXT_IMAGE uWVTypeLibrary

Specifies an image resource.

- + COREWEBVIEW2_WEB_RESOURCE_CONTEXT_MANIFEST uWVTypeLibrary

Specifies a Web App Manifest.

- + COREWEBVIEW2_WEB_RESOURCE_CONTEXT_MEDIA uWVTypeLibrary

Specifies another media resource such as a video.

- + COREWEBVIEW2_WEB_RESOURCE_CONTEXT_OTHER uWVTypeLibrary

Specifies an other resource.

- + COREWEBVIEW2_WEB_RESOURCE_CONTEXT_PING uWVTypeLibrary

Specifies a Ping request.

- + COREWEBVIEW2_WEB_RESOURCE_CONTEXT_SCRIPT uWVTypeLibrary

Specifies a script resource.

- + COREWEBVIEW2_WEB_RESOURCE_CONTEXT_SIGNED_EXCHANGE uWVTypeLibrary

Specifies a Signed HTTP Exchange.

- + COREWEBVIEW2_WEB_RESOURCE_CONTEXT_STYLESHEET uWVTypeLibrary

Specifies a CSS resource.

- + COREWEBVIEW2_WEB_RESOURCE_CONTEXT_TEXT_TRACK uWVTypeLibrary

Specifies a TextTrack resource.

- + COREWEBVIEW2_WEB_RESOURCE_CONTEXT_WEBSOCKET uWVTypeLibrary

Specifies a WebSocket API communication.

- + COREWEBVIEW2_WEB_RESOURCE_CONTEXT_XML_HTTP_REQUEST uWVTypeLibrary

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

 

- + CreateCoreWebView2Environment uWVLibFunctions

@@ -1749,87 +1832,87 @@

All Identifiers

- + CreateCoreWebView2EnvironmentWithOptions uWVLibFunctions

DLL export to create a WebView2 environment with a custom version of WebView2 Runtime, user data folder, and with or without additional options.

- + CRLF uWVConstants

 

- + CustomAbsolutePath uWVMiscFunctions

 

- + CustomExceptionHandler uWVMiscFunctions

 

- + CustomPathCanonicalize uWVMiscFunctions

 

- + CustomPathIsRelative uWVMiscFunctions

 

- + CustomPathIsUNC uWVMiscFunctions

 

- + CustomPathIsURL uWVMiscFunctions

 

- + CustomURLDecode uWVMiscFunctions

 

- + DeleteDirContents uWVMiscFunctions

 

- + DelphiColorToCoreWebViewColor uWVMiscFunctions

 

- + DestroyGlobalWebView2Loader uWVLoader

 

- + EditingCommandToString uWVMiscFunctions

 

- + EnvironmentCreationErrorToString uWVMiscFunctions

 

- + EscapeCommandLineParameter uWVMiscFunctions

 

- + EventRegistrationToken uWVTypeLibrary

Represents a reference to a delegate that receives change notifications.

- + GetAvailableCoreWebView2BrowserVersionString uWVLibFunctions

@@ -1844,7 +1927,7 @@

All Identifiers

- + GetAvailableCoreWebView2BrowserVersionStringWithOptions uWVLibFunctions

@@ -1857,784 +1940,804 @@

All Identifiers

- + GetDeviceScaleFactor uWVMiscFunctions

 

- + GetModulePath uWVMiscFunctions

 

- + GetScreenDPI uWVMiscFunctions

 

- + GlobalWebView2Loader uWVLoader

Global instance of TWVLoader used to simplify the WebView2 initialization and destruction.

- + GWLP_HWNDPARENT uWVMiscFunctions

 

- + GWLP_WNDPROC uWVMiscFunctions

 

- + HWND_MESSAGE uWVConstants

 

- + ICoreWebView2 uWVTypeLibrary

WebView2 enables you to host web content using the latest Microsoft Edge browser and web technology.

- + ICoreWebView2AcceleratorKeyPressedEventArgs uWVTypeLibrary

Event args for the AcceleratorKeyPressed event.

- + ICoreWebView2AcceleratorKeyPressedEventArgs2 uWVTypeLibrary

This is a continuation of the ICoreWebView2AcceleratorKeyPressedEventArgs interface.

- + ICoreWebView2AcceleratorKeyPressedEventHandler uWVTypeLibrary

Receives AcceleratorKeyPressed events.

- + ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler uWVTypeLibrary

Receives the result of the AddScriptToExecuteOnDocumentCreated method.

- + ICoreWebView2BasicAuthenticationRequestedEventArgs uWVTypeLibrary

Event args for the BasicAuthenticationRequested event. Will contain the request that led to the HTTP authorization challenge, the challenge and allows the host to provide authentication response or cancel the request.

- + ICoreWebView2BasicAuthenticationRequestedEventHandler uWVTypeLibrary

Receives `BasicAuthenticationRequested` events.

- + ICoreWebView2BasicAuthenticationResponse uWVTypeLibrary

Represents a Basic HTTP authentication response that contains a user name and a password as according to RFC7617 (https://tools.ietf.org/html/rfc7617)

- + ICoreWebView2BrowserExtension uWVTypeLibrary

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.

- + ICoreWebView2BrowserExtensionEnableCompletedHandler uWVTypeLibrary

Receives the result of the `Enable` method.

- + ICoreWebView2BrowserExtensionList uWVTypeLibrary

A collection of ICoreWebView2BrowserExtension.

- + ICoreWebView2BrowserExtensionRemoveCompletedHandler uWVTypeLibrary

Receives the result of the `Remove` method.

- + ICoreWebView2BrowserProcessExitedEventArgs uWVTypeLibrary

Event args for the BrowserProcessExited event.

- + ICoreWebView2BrowserProcessExitedEventHandler uWVTypeLibrary

Receives BrowserProcessExited events.

- + ICoreWebView2BytesReceivedChangedEventHandler uWVTypeLibrary

Receives `BytesReceivedChanged` events.

- + ICoreWebView2CallDevToolsProtocolMethodCompletedHandler uWVTypeLibrary

Receives the result of the `CallDevToolsProtocolMethod` method.

- + ICoreWebView2CapturePreviewCompletedHandler uWVTypeLibrary

Receives the result of the CapturePreview method. The result is written to the stream provided in the CapturePreview method.

- + ICoreWebView2Certificate uWVTypeLibrary

Provides access to the certificate metadata.

- + ICoreWebView2ClearBrowsingDataCompletedHandler uWVTypeLibrary

Receives the result of the `ClearBrowsingData` method.

- + ICoreWebView2ClearServerCertificateErrorActionsCompletedHandler uWVTypeLibrary

Receives the result of the ClearServerCertificateErrorActions method.

- + ICoreWebView2ClientCertificate uWVTypeLibrary

Provides access to the client certificate metadata.

- + ICoreWebView2ClientCertificateCollection uWVTypeLibrary

A collection of ICoreWebView2ClientCertificate.

- + ICoreWebView2ClientCertificateRequestedEventArgs uWVTypeLibrary

Event args for the ClientCertificateRequested event.

- + ICoreWebView2ClientCertificateRequestedEventHandler uWVTypeLibrary

Receives `ClientCertificateRequested` events.

- + ICoreWebView2CompositionController uWVTypeLibrary

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.

- + ICoreWebView2CompositionController2 uWVTypeLibrary

A continuation of the ICoreWebView2CompositionController interface.

- + ICoreWebView2CompositionController3 uWVTypeLibrary

This interface is the continuation of the ICoreWebView2CompositionController2 interface to manage drag and drop.

- + ICoreWebView2CompositionController4 uWVTypeLibrary

This Interface includes an API which enables non-client hit-testing support for WebView2.

- + ICoreWebView2ContainsFullScreenElementChangedEventHandler uWVTypeLibrary

Receives ContainsFullScreenElementChanged events.

- + ICoreWebView2ContentLoadingEventArgs uWVTypeLibrary

Receives ContentLoading events.

- + ICoreWebView2ContentLoadingEventHandler uWVTypeLibrary

Receives `ContentLoading` events.

- + ICoreWebView2ContextMenuItem uWVTypeLibrary

Represents a context menu item of a context menu displayed by WebView.

- + ICoreWebView2ContextMenuItemCollection uWVTypeLibrary

Represents a collection of ContextMenuItem objects. Used to get, remove and add ContextMenuItem objects at the specified index.

- + ICoreWebView2ContextMenuRequestedEventArgs uWVTypeLibrary

Event args for the ContextMenuRequested event. Will contain the selection information and a collection of all of the default context menu items that the WebView would show. Allows the app to draw its own context menu or add/remove from the default context menu.

- + ICoreWebView2ContextMenuRequestedEventHandler uWVTypeLibrary

Receives ContextMenuRequested events.

- + ICoreWebView2ContextMenuTarget uWVTypeLibrary

Represents the information regarding the context menu target. Includes the context selected and the appropriate data used for the actions of a context menu.

- + ICoreWebView2Controller uWVTypeLibrary

The owner of the `CoreWebView2` object that provides support for resizing, showing and hiding, focusing, and other functionality related to windowing and composition. The `CoreWebView2Controller` owns the `CoreWebView2`, and if all references to the `CoreWebView2Controller` go away, the WebView is closed.

- + ICoreWebView2Controller2 uWVTypeLibrary

A continuation of the ICoreWebView2Controller interface.

- + ICoreWebView2Controller3 uWVTypeLibrary

A continuation of the ICoreWebView2Controller2 interface.

- + ICoreWebView2Controller4 uWVTypeLibrary

This is the ICoreWebView2Controller4 interface. The ICoreWebView2Controller4 provides interface to enable/disable external drop.

- + ICoreWebView2ControllerOptions uWVTypeLibrary

This interface is used to manage profile options that created by 'CreateCoreWebView2ControllerOptions'.

- + ICoreWebView2ControllerOptions2 uWVTypeLibrary

This is the interface in ControllerOptions for ScriptLocale.

- + ICoreWebView2Cookie uWVTypeLibrary

Provides a set of properties that are used to manage an ICoreWebView2Cookie.

- + ICoreWebView2CookieList uWVTypeLibrary

A collection of ICoreWebView2Cookie.

- + ICoreWebView2CookieManager uWVTypeLibrary

Creates, adds or updates, gets, or or view the cookies. The changes would apply to the context of the user profile. That is, other WebViews under the same user profile could be affected.

- + ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler uWVTypeLibrary

Receives the result of the `CreateCoreWebView2CompositionController` method.

- + ICoreWebView2CreateCoreWebView2ControllerCompletedHandler uWVTypeLibrary

Receives the result of the `CreateCoreWebView2Controller` method.

- + ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler uWVTypeLibrary

Receives the result of the `CreateCoreWebView2Environment` method.

- + ICoreWebView2CursorChangedEventHandler uWVTypeLibrary

Receives `CursorChanged` events.

- + ICoreWebView2CustomItemSelectedEventHandler uWVTypeLibrary

Receives `CustomItemSelected` events.

- + ICoreWebView2CustomSchemeRegistration uWVTypeLibrary

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.

- + ICoreWebView2Deferral uWVTypeLibrary

This interface is used to complete deferrals on event args that support getting deferrals using the GetDeferral method.

- + ICoreWebView2DevToolsProtocolEventReceivedEventArgs uWVTypeLibrary

Event args for the DevToolsProtocolEventReceived event.

- + ICoreWebView2DevToolsProtocolEventReceivedEventArgs2 uWVTypeLibrary

This is a continuation of the ICoreWebView2DevToolsProtocolEventReceivedEventArgs interface that provides the session ID of the target where the event originates from.

- + ICoreWebView2DevToolsProtocolEventReceivedEventHandler uWVTypeLibrary

Receives `DevToolsProtocolEventReceived` events.

- + ICoreWebView2DevToolsProtocolEventReceiver uWVTypeLibrary

A Receiver is created for a particular DevTools Protocol event and allows you to subscribe and unsubscribe from that event. Obtained from the WebView object using GetDevToolsProtocolEventReceiver.

- + ICoreWebView2DocumentTitleChangedEventHandler uWVTypeLibrary

Receives DocumentTitleChanged events. Use the DocumentTitle property to get the modified title.

- + ICoreWebView2DOMContentLoadedEventArgs uWVTypeLibrary

Event args for the DOMContentLoaded event.

- + ICoreWebView2DOMContentLoadedEventHandler uWVTypeLibrary

Receives DOMContentLoaded events.

- + ICoreWebView2DownloadOperation uWVTypeLibrary

Represents a download operation. Gives access to the download's metadata and supports a user canceling, pausing, or resuming the download.

- + ICoreWebView2DownloadStartingEventArgs uWVTypeLibrary

Event args for the DownloadStarting event.

- + ICoreWebView2DownloadStartingEventHandler uWVTypeLibrary

Receives `DownloadStarting` events.

- + ICoreWebView2Environment uWVTypeLibrary

Represents the WebView2 Environment. WebViews created from an environment run on the browser process specified with environment parameters and objects created from an environment should be used in the same environment. Using it in different environments are not guaranteed to be compatible and may fail.

- + ICoreWebView2Environment10 uWVTypeLibrary

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.

- + ICoreWebView2Environment11 uWVTypeLibrary

A continuation of the ICoreWebView2Environment interface for getting the crash dump folder path.

- + ICoreWebView2Environment12 uWVTypeLibrary

A continuation of the ICoreWebView2Environment interface for creating shared buffer object.

- + ICoreWebView2Environment13 uWVTypeLibrary

A continuation of the ICoreWebView2Environment interface for getting process with associated information.

- + ICoreWebView2Environment14 uWVTypeLibrary

This is ICoreWebView2Environment14 that exposes new methods to create Filesystem access related DOM objects.

- + ICoreWebView2Environment2 uWVTypeLibrary

A continuation of the ICoreWebView2Environment interface.

- + ICoreWebView2Environment3 uWVTypeLibrary

A continuation of the ICoreWebView2Environment2 interface.

- + ICoreWebView2Environment4 uWVTypeLibrary

A continuation of the ICoreWebView2Environment3 interface.

- + ICoreWebView2Environment5 uWVTypeLibrary

A continuation of the ICoreWebView2Environment4 interface that supports the BrowserProcessExited event.

- + ICoreWebView2Environment6 uWVTypeLibrary

This interface is an extension of the ICoreWebView2Environment that supports creating print settings for printing to PDF.

- + ICoreWebView2Environment7 uWVTypeLibrary

This interface is an extension of the ICoreWebView2Environment. An object implementing the ICoreWebView2Environment7 interface will also implement ICoreWebView2Environment.

- + ICoreWebView2Environment8 uWVTypeLibrary

A continuation of the ICoreWebView2Environment7 interface that supports the ProcessInfosChanged event.

- + ICoreWebView2Environment9 uWVTypeLibrary

A continuation of the ICoreWebView2Environment interface for creating CoreWebView2 ContextMenuItem objects.

- + ICoreWebView2EnvironmentOptions uWVTypeLibrary

Options used to create WebView2 Environment. A default implementation is provided in WebView2EnvironmentOptions.h.

- + ICoreWebView2EnvironmentOptions2 uWVTypeLibrary

Additional options used to create WebView2 Environment. A default implementation is provided in WebView2EnvironmentOptions.h.

- + ICoreWebView2EnvironmentOptions3 uWVTypeLibrary

Additional options used to create WebView2 Environment to manage crash reporting.

- + ICoreWebView2EnvironmentOptions4 uWVTypeLibrary

Additional options used to create WebView2 Environment that manages custom scheme registration.

- + ICoreWebView2EnvironmentOptions5 uWVTypeLibrary

Additional options used to create WebView2 Environment to manage tracking prevention.

- + ICoreWebView2EnvironmentOptions6 uWVTypeLibrary

Additional options used to create WebView2 Environment to manage browser extensions.

- + ICoreWebView2EnvironmentOptions7 uWVTypeLibrary

Additional options used to create the WebView2 Environment that support specifying the `ReleaseChannels` and `ChannelSearchKind`.

- + ICoreWebView2EnvironmentOptions8 uWVTypeLibrary

Additional options used to create WebView2 Environment.

- + ICoreWebView2EstimatedEndTimeChangedEventHandler uWVTypeLibrary

Receives `EstimatedEndTimeChanged` events.

- + ICoreWebView2ExecuteScriptCompletedHandler uWVTypeLibrary

Receives the result of the ExecuteScript method.

- + ICoreWebView2ExecuteScriptResult uWVTypeLibrary

This is the result for ExecuteScriptWithResult.

- + ICoreWebView2ExecuteScriptWithResultCompletedHandler uWVTypeLibrary

Receives the result of the `ExecuteScriptWithResult` method.

- + ICoreWebView2FaviconChangedEventHandler uWVTypeLibrary

Receives `FaviconChanged` events.

- + ICoreWebView2File uWVTypeLibrary

Representation of a DOM [File](https://developer.mozilla.org/docs/Web/API/File) object passed via WebMessage. You can use this object to obtain the path of a File dropped on WebView2.

- + ICoreWebView2FileSystemHandle uWVTypeLibrary

Representation of a DOM [FileSystemHandle](https://developer.mozilla.org/docs/Web/API/FileSystemHandle) object.

- + ICoreWebView2FocusChangedEventHandler uWVTypeLibrary

Receives `GotFocus` events.

- + ICoreWebView2Frame uWVTypeLibrary

ICoreWebView2Frame provides direct access to the iframes information. You can get an ICoreWebView2Frame by handling the ICoreWebView2_4.add_FrameCreated event.

- + ICoreWebView2Frame2 uWVTypeLibrary

A continuation of the ICoreWebView2Frame interface with navigation events, executing script and posting web messages.

- + ICoreWebView2Frame3 uWVTypeLibrary

This is an extension of the ICoreWebView2Frame interface that supports PermissionRequested

- + ICoreWebView2Frame4 uWVTypeLibrary

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

- + ICoreWebView2Frame5 uWVTypeLibrary

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

- + ICoreWebView2FrameContentLoadingEventHandler uWVTypeLibrary

Receives `ContentLoading` events.

- + ICoreWebView2FrameCreatedEventArgs uWVTypeLibrary

Event args for the FrameCreated events.

- + ICoreWebView2FrameCreatedEventHandler uWVTypeLibrary

Receives `FrameCreated` events.

- + ICoreWebView2FrameDestroyedEventHandler uWVTypeLibrary

Receives `Destroyed` events.

- + ICoreWebView2FrameDOMContentLoadedEventHandler uWVTypeLibrary

Receives `DOMContentLoaded` events.

- + ICoreWebView2FrameInfo uWVTypeLibrary

Provides a set of properties for a frame in the ICoreWebView2.

- + ICoreWebView2FrameInfo2 uWVTypeLibrary

A continuation of the ICoreWebView2FrameInfo interface that provides `ParentFrameInfo`, `FrameId` and `FrameKind` properties.

- + ICoreWebView2FrameInfoCollection uWVTypeLibrary

Collection of FrameInfos (name and source). Used to list the affected frames' info when a frame-only render process failure occurs in the ICoreWebView2.

- + ICoreWebView2FrameInfoCollectionIterator uWVTypeLibrary

Iterator for a collection of FrameInfos. For more info, see ICoreWebView2ProcessFailedEventArgs2 and ICoreWebView2FrameInfoCollection.

- + ICoreWebView2FrameNameChangedEventHandler uWVTypeLibrary

Receives `NameChanged` events.

- + ICoreWebView2FrameNavigationCompletedEventHandler uWVTypeLibrary

Receives `NavigationCompleted` events.

- + ICoreWebView2FrameNavigationStartingEventHandler uWVTypeLibrary

Receives `NavigationStarting` events.

- + ICoreWebView2FramePermissionRequestedEventHandler uWVTypeLibrary

Receives `PermissionRequested` events.

- + ICoreWebView2FrameWebMessageReceivedEventHandler uWVTypeLibrary

Receives `WebMessageReceived` events.

- + ICoreWebView2GetCookiesCompletedHandler uWVTypeLibrary

Receives the result of the GetCookies method.

- + ICoreWebView2GetFaviconCompletedHandler uWVTypeLibrary

Receives the result of the `GetFavicon` method.

- + ICoreWebView2GetNonDefaultPermissionSettingsCompletedHandler uWVTypeLibrary

Receives the result of the `GetNonDefaultPermissionSettings` method.

- + ICoreWebView2GetProcessExtendedInfosCompletedHandler uWVTypeLibrary

Receives the result of the `GetProcessExtendedInfos` method.

- + ICoreWebView2HistoryChangedEventHandler uWVTypeLibrary

Receives HistoryChanged events.

- + ICoreWebView2HttpHeadersCollectionIterator uWVTypeLibrary

Iterator for a collection of HTTP headers. For more information, navigate to ICoreWebView2HttpRequestHeaders and ICoreWebView2HttpResponseHeaders.

- + ICoreWebView2HttpRequestHeaders uWVTypeLibrary

HTTP request headers. Used to inspect the HTTP request on WebResourceRequested event and NavigationStarting event.

- + ICoreWebView2HttpResponseHeaders uWVTypeLibrary

HTTP response headers. Used to construct a WebResourceResponse for the WebResourceRequested event.

- + ICoreWebView2IsDefaultDownloadDialogOpenChangedEventHandler uWVTypeLibrary

Receives `IsDefaultDownloadDialogOpenChanged` events.

- + ICoreWebView2IsDocumentPlayingAudioChangedEventHandler uWVTypeLibrary

Receives `IsDocumentPlayingAudioChanged` events.

- + ICoreWebView2IsMutedChangedEventHandler uWVTypeLibrary

Receives `IsMutedChanged` events.

- + ICoreWebView2LaunchingExternalUriSchemeEventArgs uWVTypeLibrary

Event args for LaunchingExternalUriScheme event.

- + ICoreWebView2LaunchingExternalUriSchemeEventHandler uWVTypeLibrary

Receives `LaunchingExternalUriScheme` events.

- + ICoreWebView2MoveFocusRequestedEventArgs uWVTypeLibrary

Event args for the MoveFocusRequested event.

- + ICoreWebView2MoveFocusRequestedEventHandler uWVTypeLibrary

Receives MoveFocusRequested events.

- + ICoreWebView2NavigationCompletedEventArgs uWVTypeLibrary

Event args for the NavigationCompleted event.

- + ICoreWebView2NavigationCompletedEventArgs2 uWVTypeLibrary

This is an interface for the StatusCode property of ICoreWebView2NavigationCompletedEventArgs

- + ICoreWebView2NavigationCompletedEventHandler uWVTypeLibrary

Receives NavigationCompleted events.

- + ICoreWebView2NavigationStartingEventArgs uWVTypeLibrary

Event args for the NavigationStarting event.

- + ICoreWebView2NavigationStartingEventArgs2 uWVTypeLibrary

The AdditionalAllowedFrameAncestors API that enable developers to provide additional allowed frame ancestors.

- + ICoreWebView2NavigationStartingEventArgs3 uWVTypeLibrary

The NavigationKind API that enables developers to get more information about navigation type.

- + ICoreWebView2NavigationStartingEventHandler uWVTypeLibrary

Receives NavigationStarting events.

- + ICoreWebView2NewBrowserVersionAvailableEventHandler uWVTypeLibrary

Receives NewBrowserVersionAvailable events.

- + ICoreWebView2NewWindowRequestedEventArgs uWVTypeLibrary

Event args for the NewWindowRequested event. The event is run when content inside webview requested to a open a new window (through window.open() and so on).

- + ICoreWebView2NewWindowRequestedEventArgs2 uWVTypeLibrary

This is a continuation of the ICoreWebView2NewWindowRequestedEventArgs interface.

- + ICoreWebView2NewWindowRequestedEventArgs3 uWVTypeLibrary

This is a continuation of the ICoreWebView2NewWindowRequestedEventArgs interface.

- + ICoreWebView2NewWindowRequestedEventHandler uWVTypeLibrary

Receives NewWindowRequested events.

- + ICoreWebView2NonClientRegionChangedEventArgs uWVTypeLibrary

This is the Interface for non-client region change event args.

- + ICoreWebView2NonClientRegionChangedEventHandler uWVTypeLibrary

Receives `NonClientRegionChanged` events.

+ +ICoreWebView2Notification +uWVTypeLibrary +

This is the ICoreWebView2Notification that represents a [HTML Notification object](https://developer.mozilla.org/docs/Web/API/Notification).

+ + +ICoreWebView2NotificationCloseRequestedEventHandler +uWVTypeLibrary +

Receives `CloseRequested` events.

+ + +ICoreWebView2NotificationReceivedEventArgs +uWVTypeLibrary +

Event args for the `NotificationReceived` event. \snippet ScenarioNotificationReceived.cpp NotificationReceived

+ +ICoreWebView2NotificationReceivedEventHandler +uWVTypeLibrary +

Receives `NotificationReceived` events.

+ + ICoreWebView2ObjectCollection uWVTypeLibrary

Represents a collection of generic objects. Used to get, remove and add objects at the specified index.

- + ICoreWebView2ObjectCollectionView uWVTypeLibrary

A collection of objects.

- + ICoreWebView2PermissionRequestedEventArgs uWVTypeLibrary

Event args for the PermissionRequested event.

- + ICoreWebView2PermissionRequestedEventArgs2 uWVTypeLibrary

This is a continuation of the ICoreWebView2PermissionRequestedEventArgs interface.

- + ICoreWebView2PermissionRequestedEventArgs3 uWVTypeLibrary

This is a continuation of the ICoreWebView2PermissionRequestedEventArgs interface.

- + ICoreWebView2PermissionRequestedEventHandler uWVTypeLibrary

Receives PermissionRequested events.

- + ICoreWebView2PermissionSetting uWVTypeLibrary

Provides a set of properties for a permission setting.

- + ICoreWebView2PermissionSettingCollectionView uWVTypeLibrary

Read-only collection of PermissionSettings (origin, kind, and state). Used to list the nondefault permission settings on the profile that are persisted across sessions.

- + ICoreWebView2PointerInfo uWVTypeLibrary

@@ -2645,221 +2748,236 @@

All Identifiers

- + ICoreWebView2PrintCompletedHandler uWVTypeLibrary

Receives the result of the Print method.

- + ICoreWebView2PrintSettings uWVTypeLibrary

Settings used by the PrintToPdf method.

- + ICoreWebView2PrintSettings2 uWVTypeLibrary

Settings used by the Print method.

- + ICoreWebView2PrintToPdfCompletedHandler uWVTypeLibrary

Receives the result of the `PrintToPdf` method.

- + ICoreWebView2PrintToPdfStreamCompletedHandler uWVTypeLibrary

Receives the result of the PrintToPdfStream method. errorCode returns S_OK if the PrintToPdfStream operation succeeded. The printable pdf data is returned in the pdfStream object.

- + ICoreWebView2ProcessExtendedInfo uWVTypeLibrary

Provides process with associated extended information in the `ICoreWebView2Environment`.

- + ICoreWebView2ProcessExtendedInfoCollection uWVTypeLibrary

A collection of ICoreWebView2ProcessExtendedInfo.

- + ICoreWebView2ProcessFailedEventArgs uWVTypeLibrary

Event args for the ProcessFailed event.

- + ICoreWebView2ProcessFailedEventArgs2 uWVTypeLibrary

A continuation of the ICoreWebView2ProcessFailedEventArgs interface.

- + ICoreWebView2ProcessFailedEventArgs3 uWVTypeLibrary

A continuation of the ICoreWebView2ProcessFailedEventArgs2 interface for getting blocked file for code integrity process failures.

- + ICoreWebView2ProcessFailedEventHandler uWVTypeLibrary

Receives ProcessFailed events.

- + ICoreWebView2ProcessInfo uWVTypeLibrary

Provides a set of properties for a process in the ICoreWebView2Environment.

- + ICoreWebView2ProcessInfoCollection uWVTypeLibrary

A collection of ICoreWebView2ProcessInfo.

- + ICoreWebView2ProcessInfosChangedEventHandler uWVTypeLibrary

eceives `ProcessInfosChanged` events.

- + ICoreWebView2Profile uWVTypeLibrary

Provides a set of properties to configure a Profile object.

- + ICoreWebView2Profile2 uWVTypeLibrary

Profile2 interface.

- + ICoreWebView2Profile3 uWVTypeLibrary

This is an extension of the ICoreWebView2Profile interface to control levels of tracking prevention.

- + ICoreWebView2Profile4 uWVTypeLibrary

This is the ICoreWebView2Profile interface for the permission management APIs.

- + ICoreWebView2Profile5 uWVTypeLibrary

This is the ICoreWebView2Profile interface for cookie manager.

- + ICoreWebView2Profile6 uWVTypeLibrary

Interfaces in profile for managing password-autosave and general-autofill.

- + ICoreWebView2Profile7 uWVTypeLibrary

Interfaces in profile for managing browser extensions.

- + ICoreWebView2Profile8 uWVTypeLibrary

This is the profile interface that manages profile deletion.

- + ICoreWebView2ProfileAddBrowserExtensionCompletedHandler uWVTypeLibrary

Receives the result of the `AddBrowserExtension` method.

- + ICoreWebView2ProfileDeletedEventHandler uWVTypeLibrary

Receives `Deleted` events.

- + ICoreWebView2ProfileGetBrowserExtensionsCompletedHandler uWVTypeLibrary

Receives the result of the `GetBrowserExtensions` method.

- + ICoreWebView2RasterizationScaleChangedEventHandler uWVTypeLibrary

Receives `RasterizationScaleChanged` events.

- + ICoreWebView2RegionRectCollectionView uWVTypeLibrary

A collection of RECT.

+ +ICoreWebView2SaveAsUIShowingEventArgs +uWVTypeLibrary +

The event args for `SaveAsUIShowing` event.

+ +ICoreWebView2SaveAsUIShowingEventHandler +uWVTypeLibrary +

Receives `SaveAsUIShowing` events.

+ + ICoreWebView2ScriptDialogOpeningEventArgs uWVTypeLibrary

Event args for the ScriptDialogOpening event.

- + ICoreWebView2ScriptDialogOpeningEventHandler uWVTypeLibrary

Receives ScriptDialogOpening events.

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

- + ICoreWebView2ServerCertificateErrorDetectedEventArgs uWVTypeLibrary

Event args for the ServerCertificateErrorDetected event.

- + ICoreWebView2ServerCertificateErrorDetectedEventHandler uWVTypeLibrary

Receives `ServerCertificateErrorDetected` events.

- + ICoreWebView2SetPermissionStateCompletedHandler uWVTypeLibrary

Receives the result of the `SetPermissionState` method.

- + ICoreWebView2Settings uWVTypeLibrary

Defines properties that enable, disable, or modify WebView features. Changes to IsGeneralAutofillEnabled and IsPasswordAutosaveEnabled apply immediately, while other setting changes made after NavigationStarting event do not apply until the next top-level navigation.

- + ICoreWebView2Settings2 uWVTypeLibrary

A continuation of the ICoreWebView2Settings interface that manages the user agent.

- + ICoreWebView2Settings3 uWVTypeLibrary

A continuation of the ICoreWebView2Settings interface that manages whether browser accelerator keys are enabled.

- + ICoreWebView2Settings4 uWVTypeLibrary

A continuation of the ICoreWebView2Settings interface to manage autofill.

- + ICoreWebView2Settings5 uWVTypeLibrary

A continuation of the ICoreWebView2Settings interface to manage pinch zoom.

- + ICoreWebView2Settings6 uWVTypeLibrary

A continuation of the ICoreWebView2Settings interface to manage swipe navigation.

- + ICoreWebView2Settings7 uWVTypeLibrary

A continuation of the ICoreWebView2Settings interface to hide Pdf toolbar items.

- + ICoreWebView2Settings8 uWVTypeLibrary

A continuation of the ICoreWebView2Settings interface to manage smartscreen.

- + ICoreWebView2Settings9 uWVTypeLibrary

A continuation of the ICoreWebView2Settings interface to manage non-client regions.

- + ICoreWebView2SharedBuffer uWVTypeLibrary

The shared buffer object that is created by [CreateSharedBuffer](https://learn.microsoft.com/en-us/microsoft-edge/webview2/reference/win32/icorewebview2environment12#createsharedbuffer). The object is presented to script as ArrayBuffer when posted to script with [PostSharedBufferToScript](/microsoft-edge/webview2/reference/win32/icorewebview2_17#postsharedbuffertoscript).

+ +ICoreWebView2ShowSaveAsUICompletedHandler +uWVTypeLibrary +

Receives the result of the `ShowSaveAsUI` method.

+ ICoreWebView2SourceChangedEventArgs uWVTypeLibrary @@ -3049,6 +3167,16 @@

All Identifiers

This is the ICoreWebView_23 interface for PostWebMessageAsJsonWithAdditionalObjects.

+ICoreWebView2_24 +uWVTypeLibrary +

This is the ICoreWebView2_24 interface that manages WebView2 Web Notification functionality.

+ + +ICoreWebView2_25 +uWVTypeLibrary +

This is the ICoreWebView2_25 interface.

+ + ICoreWebView2_3 uWVTypeLibrary

A continuation of the ICoreWebView2_2 interface.

@@ -3784,6 +3912,26 @@

All Identifiers

 

+IID_ICoreWebView2Notification +uWVTypeLibrary +

 

+ + +IID_ICoreWebView2NotificationCloseRequestedEventHandler +uWVTypeLibrary +

 

+ + +IID_ICoreWebView2NotificationReceivedEventArgs +uWVTypeLibrary +

 

+ + +IID_ICoreWebView2NotificationReceivedEventHandler +uWVTypeLibrary +

 

+ + IID_ICoreWebView2ObjectCollection uWVTypeLibrary

 

@@ -3964,6 +4112,16 @@

All Identifiers

 

+IID_ICoreWebView2SaveAsUIShowingEventArgs +uWVTypeLibrary +

 

+ + +IID_ICoreWebView2SaveAsUIShowingEventHandler +uWVTypeLibrary +

 

+ + IID_ICoreWebView2ScriptDialogOpeningEventArgs uWVTypeLibrary

 

@@ -4044,536 +4202,551 @@

All Identifiers

 

-IID_ICoreWebView2SourceChangedEventArgs +IID_ICoreWebView2ShowSaveAsUICompletedHandler uWVTypeLibrary

 

-IID_ICoreWebView2SourceChangedEventHandler +IID_ICoreWebView2SourceChangedEventArgs uWVTypeLibrary

 

-IID_ICoreWebView2StateChangedEventHandler +IID_ICoreWebView2SourceChangedEventHandler uWVTypeLibrary

 

-IID_ICoreWebView2StatusBarTextChangedEventHandler +IID_ICoreWebView2StateChangedEventHandler uWVTypeLibrary

 

-IID_ICoreWebView2StringCollection +IID_ICoreWebView2StatusBarTextChangedEventHandler uWVTypeLibrary

 

-IID_ICoreWebView2TrySuspendCompletedHandler +IID_ICoreWebView2StringCollection uWVTypeLibrary

 

-IID_ICoreWebView2WebMessageReceivedEventArgs +IID_ICoreWebView2TrySuspendCompletedHandler uWVTypeLibrary

 

-IID_ICoreWebView2WebMessageReceivedEventArgs2 +IID_ICoreWebView2WebMessageReceivedEventArgs uWVTypeLibrary

 

-IID_ICoreWebView2WebMessageReceivedEventHandler +IID_ICoreWebView2WebMessageReceivedEventArgs2 uWVTypeLibrary

 

-IID_ICoreWebView2WebResourceRequest +IID_ICoreWebView2WebMessageReceivedEventHandler uWVTypeLibrary

 

-IID_ICoreWebView2WebResourceRequestedEventArgs +IID_ICoreWebView2WebResourceRequest uWVTypeLibrary

 

-IID_ICoreWebView2WebResourceRequestedEventArgs2 +IID_ICoreWebView2WebResourceRequestedEventArgs uWVTypeLibrary

 

-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_2 +uWVTypeLibrary +

 

+ + IID_ICoreWebView2_20 uWVTypeLibrary

 

+ +IID_ICoreWebView2_21 +uWVTypeLibrary +

 

+ -IID_ICoreWebView2_21 +IID_ICoreWebView2_22 uWVTypeLibrary

 

-IID_ICoreWebView2_22 +IID_ICoreWebView2_23 uWVTypeLibrary

 

-IID_ICoreWebView2_23 +IID_ICoreWebView2_24 uWVTypeLibrary

 

-IID_ICoreWebView2_3 +IID_ICoreWebView2_25 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

 

+IID_ICoreWebView2_9 +uWVTypeLibrary +

 

+ + Internal_CompareBrowserVersions uWVLoaderInternal

 

- + Internal_CreateCoreWebView2Environment uWVLoaderInternal

 

- + Internal_CreateCoreWebView2EnvironmentWithOptions uWVLoaderInternal

 

- + Internal_GetAvailableCoreWebView2BrowserVersionString uWVLoaderInternal

 

- + Internal_GetAvailableCoreWebView2BrowserVersionStringWithOptions uWVLoaderInternal

 

- + IWVBrowserEvents uWVInterfaces

 

- + IWVLoaderEvents uWVInterfaces

 

- + JSONEscape uWVMiscFunctions

 

- + JSONUnescape uWVMiscFunctions

 

- + LIBID_WebView2 uWVTypeLibrary

 

- + LoggedQueryInterface uWVMiscFunctions

 

- + LogMouseEvent uWVMiscFunctions

 

- + LowestChromiumVersion uWVMiscFunctions

 

- + LowestLoaderDLLVersion uWVMiscFunctions

 

- + OutputDebugMessage uWVMiscFunctions

 

- + PathCanonicalizeAnsi uWVMiscFunctions

 

- + PathCanonicalizeUnicode uWVMiscFunctions

 

- + PathIsRelativeAnsi uWVMiscFunctions

 

- + PathIsRelativeUnicode uWVMiscFunctions

 

- + PathIsUNCAnsi uWVMiscFunctions

 

- + PathIsUNCUnicode uWVMiscFunctions

 

- + PathIsURLAnsi uWVMiscFunctions

 

- + PathIsURLUnicode uWVMiscFunctions

 

- + PPCoreWebView2CustomSchemeRegistration uWVTypeLibrary -

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

+

 

- + Register uWVBrowser

 

- + Register uWVWindowParent

 

- + SetWindowLongPtr uWVMiscFunctions

 

- + SHLWAPIDLL uWVMiscFunctions

 

- + SystemCursorIDToDelphiCursor uWVMiscFunctions

 

- + tagRECT uWVTypeLibrary

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

- + TCoreWebView2 uWVCoreWebView2

 

- + TCoreWebView2AcceleratorKeyPressedEventArgs uWVCoreWebView2Args

Event args for the AcceleratorKeyPressed event.

- + TCoreWebView2AcceleratorKeyPressedEventHandler uWVCoreWebView2Delegates

Receives AcceleratorKeyPressed events.

- + TCoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler uWVCoreWebView2Delegates

Receives the result of the AddScriptToExecuteOnDocumentCreated method.

- + TCoreWebView2BasicAuthenticationRequestedEventArgs uWVCoreWebView2Args

Event args for the BasicAuthenticationRequested event. Will contain the request that led to the HTTP authorization challenge, the challenge and allows the host to provide authentication response or cancel the request.

- + TCoreWebView2BasicAuthenticationRequestedEventHandler uWVCoreWebView2Delegates

The caller implements this interface to handle the BasicAuthenticationRequested event.

- + TCoreWebView2BasicAuthenticationResponse uWVCoreWebView2BasicAuthenticationResponse

Represents a Basic HTTP authentication response that contains a user name and a password as according to RFC7617 (https://tools.ietf.org/html/rfc7617)

- + TCoreWebView2BrowserExtension uWVCoreWebView2BrowserExtension

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.

- + TCoreWebView2BrowserExtensionEnableCompletedHandler uWVCoreWebView2Delegates

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.

- + TCoreWebView2BrowserExtensionList uWVCoreWebView2BrowserExtensionList

A collection of ICoreWebView2BrowserExtension.

- + TCoreWebView2BrowserExtensionRemoveCompletedHandler uWVCoreWebView2Delegates

The caller implements this interface to receive the result of removing the browser Extension from the Profile.

- + TCoreWebView2BrowserProcessExitedEventArgs uWVCoreWebView2Args

Event args for the BrowserProcessExited event.

- + TCoreWebView2BrowserProcessExitedEventHandler uWVCoreWebView2Delegates

Receives BrowserProcessExited events.

- + TCoreWebView2BytesReceivedChangedEventHandler uWVCoreWebView2Delegates

Implements the interface to receive BytesReceivedChanged event. Use the ICoreWebView2DownloadOperation.BytesReceived property to get the received bytes count.

- + TCoreWebView2CallDevToolsProtocolMethodCompletedHandler uWVCoreWebView2Delegates

Receives CallDevToolsProtocolMethod completion results.

- + TCoreWebView2CapturePreviewCompletedHandler uWVCoreWebView2Delegates

Receives the result of the CapturePreview method. The result is written to the stream provided in the CapturePreview method.

- + TCoreWebView2Certificate uWVCoreWebView2Certificate

Provides access to the certificate metadata.

- + TCoreWebView2ClearBrowsingDataCompletedHandler uWVCoreWebView2Delegates

The caller implements this interface to receive the ClearBrowsingData result.

- + TCoreWebView2ClearServerCertificateErrorActionsCompletedHandler uWVCoreWebView2Delegates

Receives the result of the ClearServerCertificateErrorActions method.

- + TCoreWebView2ClientCertificate uWVCoreWebView2ClientCertificate

Provides access to the client certificate metadata.

- + TCoreWebView2ClientCertificateCollection uWVCoreWebView2ClientCertificateCollection

A collection of ICoreWebView2ClientCertificate.

- + TCoreWebView2ClientCertificateRequestedEventArgs uWVCoreWebView2Args

Event args for the ClientCertificateRequested event.

- + TCoreWebView2ClientCertificateRequestedEventHandler uWVCoreWebView2Delegates

An event handler for the ClientCertificateRequested event.

- + TCoreWebView2CompositionController uWVCoreWebView2CompositionController

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.

- + TCoreWebView2ContainsFullScreenElementChangedEventHandler uWVCoreWebView2Delegates

Receives ContainsFullScreenElementChanged events.

- + TCoreWebView2ContentLoadingEventArgs uWVCoreWebView2Args

Receives ContentLoading events.

- + TCoreWebView2ContentLoadingEventHandler uWVCoreWebView2Delegates

Receives `ContentLoading` events.

- + TCoreWebView2ContextMenuItem uWVCoreWebView2ContextMenuItem

Represents a context menu item of a context menu displayed by WebView.

- + TCoreWebView2ContextMenuItemCollection uWVCoreWebView2ContextMenuItemCollection

Represents a collection of ContextMenuItem objects. Used to get, remove and add ContextMenuItem objects at the specified index.

- + TCoreWebView2ContextMenuRequestedEventArgs uWVCoreWebView2Args

Event args for the ContextMenuRequested event. Will contain the selection information and a collection of all of the default context menu items that the WebView would show. Allows the app to draw its own context menu or add/remove from the default context menu.

- + TCoreWebView2ContextMenuRequestedEventHandler uWVCoreWebView2Delegates

Receives ContextMenuRequested events.

- + TCoreWebView2ContextMenuTarget uWVCoreWebView2ContextMenuTarget

Represents the information regarding the context menu target. Includes the context selected and the appropriate data used for the actions of a context menu.

- + TCoreWebView2Controller uWVCoreWebView2Controller

The owner of the `CoreWebView2` object that provides support for resizing, showing and hiding, focusing, and other functionality related to windowing and composition. The `CoreWebView2Controller` owns the `CoreWebView2`, and if all references to the `CoreWebView2Controller` go away, the WebView is closed.

- + TCoreWebView2ControllerOptions uWVCoreWebView2ControllerOptions

@@ -4584,42 +4757,42 @@

All Identifiers

- + TCoreWebView2Cookie uWVCoreWebView2Cookie

Provides a set of properties that are used to manage an ICoreWebView2Cookie.

- + TCoreWebView2CookieList uWVCoreWebView2CookieList

A collection of ICoreWebView2Cookie.

- + TCoreWebView2CookieManager uWVCoreWebView2CookieManager

Creates, adds or updates, gets, or or view the cookies. The changes would apply to the context of the user profile. That is, other WebViews under the same user profile could be affected.

- + TCoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler uWVCoreWebView2Delegates

The caller implements this interface to receive the CoreWebView2Controller created via CreateCoreWebView2CompositionController.

- + TCoreWebView2CreateCoreWebView2ControllerCompletedHandler uWVCoreWebView2Delegates

Receives the CoreWebView2Controller created using CreateCoreWebView2Controller.

- + TCoreWebView2CursorChangedEventHandler uWVCoreWebView2Delegates

The caller implements this interface to receive CursorChanged events. Use the Cursor property to get the new cursor.

- + TCoreWebView2CustomItemSelectedEventHandler uWVCoreWebView2Delegates

Raised to notify the host that the end user selected a custom ContextMenuItem. CustomItemSelected event is raised on the specific ContextMenuItem that the end user selected.

- + TCoreWebView2CustomSchemeRegistration uWVCoreWebView2CustomSchemeRegistration

@@ -4630,305 +4803,320 @@

All Identifiers

- + TCoreWebView2Deferral uWVCoreWebView2Deferral

This interface is used to complete deferrals on event args that support getting deferrals using the GetDeferral method.

- + TCoreWebView2DevToolsProtocolEventReceivedEventArgs uWVCoreWebView2Args

Event args for the DevToolsProtocolEventReceived event.

- + TCoreWebView2DevToolsProtocolEventReceivedEventHandler uWVCoreWebView2Delegates

Receives DevToolsProtocolEventReceived events from the WebView.

- + TCoreWebView2DocumentTitleChangedEventHandler uWVCoreWebView2Delegates

Receives DocumentTitleChanged events. Use the DocumentTitle property to get the modified title.

- + TCoreWebView2DOMContentLoadedEventArgs uWVCoreWebView2Args

Event args for the DOMContentLoaded event.

- + TCoreWebView2DOMContentLoadedEventHandler uWVCoreWebView2Delegates

Receives DOMContentLoaded events.

- + TCoreWebView2DownloadOperation uWVCoreWebView2DownloadOperation

Represents a download operation. Gives access to the download's metadata and supports a user canceling, pausing, or resuming the download.

- + TCoreWebView2DownloadStartingEventArgs uWVCoreWebView2Args

Event args for the DownloadStarting event.

- + TCoreWebView2DownloadStartingEventHandler uWVCoreWebView2Delegates

Add an event handler for the DownloadStarting event.

- + TCoreWebView2Environment uWVCoreWebView2Environment

Represents the WebView2 Environment. WebViews created from an environment run on the browser process specified with environment parameters and objects created from an environment should be used in the same environment. Using it in different environments are not guaranteed to be compatible and may fail.

- + TCoreWebView2EnvironmentCompletedHandler uWVCoreWebView2Delegates

Receives the WebView2Environment created using CreateCoreWebView2Environment.

- + TCoreWebView2EnvironmentOptions uWVCoreWebView2EnvironmentOptions

Options used to create WebView2 Environment. A default implementation is provided in WebView2EnvironmentOptions.h.

- + TCoreWebView2EstimatedEndTimeChangedEventHandler uWVCoreWebView2Delegates

Implements the interface to receive EstimatedEndTimeChanged event. Use the ICoreWebView2DownloadOperation.EstimatedEndTime property to get the new estimated end time.

- + TCoreWebView2ExecuteScriptCompletedHandler uWVCoreWebView2Delegates

Receives the result of the ExecuteScript method.

- + TCoreWebView2ExecuteScriptResult uWVCoreWebView2ExecuteScriptResult

This is the result for ExecuteScriptWithResult.

- + TCoreWebView2ExecuteScriptWithResultCompletedHandler uWVCoreWebView2Delegates

This is the callback for ExecuteScriptWithResult

- + TCoreWebView2FaviconChangedEventHandler uWVCoreWebView2Delegates

This interface is a handler for when the Favicon is changed. The sender is the ICoreWebView2 object the top-level document of which has changed favicon and the eventArgs is nullptr. Use the FaviconUri property and GetFavicon method to obtain the favicon data. The second argument is always null. For more information see add_FaviconChanged.

- + TCoreWebView2File uWVCoreWebView2File

Representation of a DOM [File](https://developer.mozilla.org/docs/Web/API/File) object passed via WebMessage. You can use this object to obtain the path of a File dropped on WebView2.

- + TCoreWebView2Frame uWVCoreWebView2Frame

ICoreWebView2Frame provides direct access to the iframes information. You can get an ICoreWebView2Frame by handling the ICoreWebView2_4.add_FrameCreated event.

- + TCoreWebView2FrameContentLoadingEventHandler uWVCoreWebView2Delegates

Receives ContentLoading events for iframe.

- + TCoreWebView2FrameCreatedEventArgs uWVCoreWebView2Args

Event args for the FrameCreated events.

- + TCoreWebView2FrameCreatedEventHandler uWVCoreWebView2Delegates

Receives FrameCreated event.

- + TCoreWebView2FrameDestroyedEventHandler uWVCoreWebView2Delegates

Receives FrameDestroyed event.

- + TCoreWebView2FrameDOMContentLoadedEventHandler uWVCoreWebView2Delegates

Receives DOMContentLoaded events for iframe.

- + TCoreWebView2FrameInfo uWVCoreWebView2FrameInfo

Provides a set of properties for a frame in the ICoreWebView2.

- + TCoreWebView2FrameInfoCollection uWVCoreWebView2FrameInfoCollection

Collection of FrameInfos (name and source). Used to list the affected frames' info when a frame-only render process failure occurs in the ICoreWebView2.

- + TCoreWebView2FrameInfoCollectionIterator uWVCoreWebView2FrameInfoCollectionIterator

Iterator for a collection of FrameInfos. For more info, see ICoreWebView2ProcessFailedEventArgs2 and ICoreWebView2FrameInfoCollection.

- + TCoreWebView2FrameNameChangedEventHandler uWVCoreWebView2Delegates

Receives FrameNameChanged event.

- + TCoreWebView2FrameNavigationCompletedEventHandler uWVCoreWebView2Delegates

Receives NavigationCompleted events.

- + TCoreWebView2FrameNavigationCompletedEventHandler2 uWVCoreWebView2Delegates

Receives NavigationCompleted events for iframe.

- + TCoreWebView2FrameNavigationStartingEventHandler uWVCoreWebView2Delegates

Receives NavigationStarting events.

- + TCoreWebView2FrameNavigationStartingEventHandler2 uWVCoreWebView2Delegates

Receives NavigationStarting events for iframe.

- + TCoreWebView2FramePermissionRequestedEventHandler uWVCoreWebView2Delegates

Receives PermissionRequested events for iframes.

- + TCoreWebView2FrameWebMessageReceivedEventHandler uWVCoreWebView2Delegates

Receives WebMessageReceived events for iframe.

- + TCoreWebView2GetCookiesCompletedHandler uWVCoreWebView2Delegates

Receives the result of the GetCookies method. The result is written to the cookie list provided in the GetCookies method call.

- + TCoreWebView2GetFaviconCompletedHandler uWVCoreWebView2Delegates

This interface is a handler for when the Favicon is changed. The sender is the ICoreWebView2 object the top-level document of which has changed favicon and the eventArgs is nullptr. Use the FaviconUri property and GetFavicon method to obtain the favicon data. The second argument is always null. For more information see add_FaviconChanged.

- + TCoreWebView2GetNonDefaultPermissionSettingsCompletedHandler uWVCoreWebView2Delegates

The caller implements this interface to handle the result of GetNonDefaultPermissionSettings.

- + TCoreWebView2GetProcessExtendedInfosCompletedHandler uWVCoreWebView2Delegates

Receives the result of the `GetProcessExtendedInfos` method. The result is written to the collection of `ProcessExtendedInfo`s provided in the `GetProcessExtendedInfos` method call.

- + TCoreWebView2GotFocusEventHandler uWVCoreWebView2Delegates

Receives GotFocus and LostFocus events.

- + TCoreWebView2HistoryChangedEventHandler uWVCoreWebView2Delegates

Receives HistoryChanged events.

- + TCoreWebView2HttpHeadersCollectionIterator uWVCoreWebView2HttpHeadersCollectionIterator

Iterator for a collection of HTTP headers. For more information, navigate to ICoreWebView2HttpRequestHeaders and ICoreWebView2HttpResponseHeaders.

- + TCoreWebView2HttpRequestHeaders uWVCoreWebView2HttpRequestHeaders

HTTP request headers. Used to inspect the HTTP request on WebResourceRequested event and NavigationStarting event.

- + TCoreWebView2HttpResponseHeaders uWVCoreWebView2HttpResponseHeaders

HTTP response headers. Used to construct a WebResourceResponse for the WebResourceRequested event.

- + TCoreWebView2IsDefaultDownloadDialogOpenChangedEventHandler uWVCoreWebView2Delegates

Implements the interface to receive IsDefaultDownloadDialogOpenChanged events.

- + TCoreWebView2IsDocumentPlayingAudioChangedEventHandler uWVCoreWebView2Delegates

Implements the interface to receive IsDocumentPlayingAudioChanged events. Use the IsDocumentPlayingAudio property to get the audio playing state.

- + TCoreWebView2IsMutedChangedEventHandler uWVCoreWebView2Delegates

Implements the interface to receive IsMutedChanged events. Use the IsMuted property to get the mute state.

- + TCoreWebView2LaunchingExternalUriSchemeEventArgs uWVCoreWebView2Args

Event args for LaunchingExternalUriScheme event.

- + TCoreWebView2LaunchingExternalUriSchemeEventHandler uWVCoreWebView2Delegates

Event handler for the LaunchingExternalUriScheme event.

- + TCoreWebView2LostFocusEventHandler uWVCoreWebView2Delegates

Receives GotFocus and LostFocus events.

- + TCoreWebView2MoveFocusRequestedEventArgs uWVCoreWebView2Args

Event args for the MoveFocusRequested event.

- + TCoreWebView2MoveFocusRequestedEventHandler uWVCoreWebView2Delegates

Receives MoveFocusRequested events.

- + TCoreWebView2NavigationCompletedEventArgs uWVCoreWebView2Args

Event args for the NavigationCompleted event.

- + TCoreWebView2NavigationCompletedEventHandler uWVCoreWebView2Delegates

Receives NavigationCompleted events.

- + TCoreWebView2NavigationStartingEventArgs uWVCoreWebView2Args

Event args for the NavigationStarting event.

- + TCoreWebView2NavigationStartingEventHandler uWVCoreWebView2Delegates

Receives NavigationStarting events.

- + TCoreWebView2NewBrowserVersionAvailableEventHandler uWVCoreWebView2Delegates

Receives NewBrowserVersionAvailable events.

- + TCoreWebView2NewWindowRequestedEventArgs uWVCoreWebView2Args

Event args for the NewWindowRequested event. The event is run when content inside webview requested to a open a new window (through window.open() and so on).

- + TCoreWebView2NewWindowRequestedEventHandler uWVCoreWebView2Delegates

Receives NewWindowRequested events.

- + TCoreWebView2NonClientRegionChangedEventArgs uWVCoreWebView2Args

This is the Interface for non-client region change event args.

- + TCoreWebView2NonClientRegionChangedEventHandler uWVCoreWebView2Delegates -

This is the Interface of the event handler for the non-client region changed event.

+

Receives `NonClientRegionChanged` events. event.

+ + +TCoreWebView2NotificationCloseRequestedEventHandler +uWVCoreWebView2Delegates +

Receives `CloseRequested` events.

+ + +TCoreWebView2NotificationReceivedEventArgs +uWVCoreWebView2Args +

Event args for the `NotificationReceived` event.

+ + +TCoreWebView2NotificationReceivedEventHandler +uWVCoreWebView2Delegates +

Receives `NotificationReceived` events.

TCoreWebView2ObjectCollectionView @@ -5052,6 +5240,16 @@

All Identifiers

A collection of RECT.

+TCoreWebView2SaveAsUIShowingEventArgs +uWVCoreWebView2Args +

The event args for `SaveAsUIShowing` event.

+ + +TCoreWebView2SaveAsUIShowingEventHandler +uWVCoreWebView2Delegates +

Receives `SaveAsUIShowing` events.

+ + TCoreWebView2ScriptDialogOpeningEventArgs uWVCoreWebView2Args

Event args for the ScriptDialogOpening event.

@@ -5092,96 +5290,101 @@

All Identifiers

The shared buffer object that is created by CreateSharedBuffer. The object is presented to script as ArrayBuffer when posted to script with PostSharedBufferToScript.

+TCoreWebView2ShowSaveAsUICompletedHandler +uWVCoreWebView2Delegates +

Receives the result of the `ShowSaveAsUI` method.

+ + TCoreWebView2SourceChangedEventArgs uWVCoreWebView2Args

Event args for the SourceChanged event.

- + TCoreWebView2SourceChangedEventHandler uWVCoreWebView2Delegates

Receives SourceChanged events.

- + TCoreWebView2StateChangedEventHandler uWVCoreWebView2Delegates

Implements the interface to receive StateChanged event. Use the ICoreWebView2DownloadOperation.State property to get the current state, which can be in progress, interrupted, or completed. Use the ICoreWebView2DownloadOperation.InterruptReason property to get the interrupt reason if the download is interrupted.

- + TCoreWebView2StatusBarTextChangedEventHandler uWVCoreWebView2Delegates

Receives StatusBarTextChanged events.

- + TCoreWebView2StringCollection uWVCoreWebView2StringCollection

A collection of strings.

- + TCoreWebView2TrySuspendCompletedHandler uWVCoreWebView2Delegates

The caller implements this interface to receive the TrySuspend result.

- + TCoreWebView2WebMessageReceivedEventArgs uWVCoreWebView2Args

Event args for the WebMessageReceived event.

- + TCoreWebView2WebMessageReceivedEventHandler uWVCoreWebView2Delegates

Receives WebMessageReceived events.

- + TCoreWebView2WebResourceRequestedEventArgs uWVCoreWebView2Args

Event args for the WebResourceRequested event.

- + TCoreWebView2WebResourceRequestedEventHandler uWVCoreWebView2Delegates

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.

- + TCoreWebView2WebResourceRequestOwn uWVCoreWebView2WebResourceRequest

An HTTP request used with the WebResourceRequested event.

- + TCoreWebView2WebResourceRequestRef uWVCoreWebView2WebResourceRequest

An HTTP request used with the WebResourceRequested event.

- + TCoreWebView2WebResourceResponse uWVCoreWebView2WebResourceResponse

An HTTP response used with the WebResourceRequested event.

- + TCoreWebView2WebResourceResponseReceivedEventArgs uWVCoreWebView2Args

Event args for the WebResourceResponseReceived event.

- + TCoreWebView2WebResourceResponseReceivedEventHandler uWVCoreWebView2Delegates

Receives WebResourceResponseReceived events.

- + TCoreWebView2WebResourceResponseView uWVCoreWebView2WebResourceResponseView

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 TWVBrowserBase.OnWebResourceResponseReceived event.

- + TCoreWebView2WebResourceResponseViewGetContentCompletedHandler uWVCoreWebView2Delegates

Receives the result of the ICoreWebView2WebResourceResponseView.GetContent method.

- + TCoreWebView2WindowCloseRequestedEventHandler uWVCoreWebView2Delegates

Receives WindowCloseRequested events.

- + TCoreWebView2WindowFeatures uWVCoreWebView2WindowFeatures

@@ -5194,361 +5397,376 @@

All Identifiers

- + TCoreWebView2ZoomFactorChangedEventHandler uWVCoreWebView2Delegates

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

- + TFileVersionInfo uWVTypes

Record used by GetDLLVersion to get the DLL version information

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

 

- + TOnNonClientRegionChangedEvent uWVEvents

 

+ +TOnNotificationCloseRequestedEvent +uWVEvents +

 

+ -TOnOfflineCompletedEvent +TOnNotificationReceivedEvent uWVEvents

 

-TOnPermissionRequestedEvent +TOnOfflineCompletedEvent uWVEvents

 

-TOnPrintCompletedEvent +TOnPermissionRequestedEvent uWVEvents

 

-TOnPrintToPdfCompletedEvent +TOnPrintCompletedEvent uWVEvents

 

-TOnPrintToPdfStreamCompletedEvent +TOnPrintToPdfCompletedEvent uWVEvents

 

-TOnProcessFailedEvent +TOnPrintToPdfStreamCompletedEvent uWVEvents

 

-TOnProcessInfosChangedEvent +TOnProcessFailedEvent uWVEvents

 

-TOnProfileAddBrowserExtensionCompletedEvent +TOnProcessInfosChangedEvent uWVEvents

 

-TOnProfileDeletedEvent +TOnProfileAddBrowserExtensionCompletedEvent uWVEvents

 

-TOnProfileGetBrowserExtensionsCompletedEvent +TOnProfileDeletedEvent uWVEvents

 

-TOnRefreshIgnoreCacheCompletedEvent +TOnProfileGetBrowserExtensionsCompletedEvent uWVEvents

 

-TOnRetrieveHTMLCompletedEvent +TOnRefreshIgnoreCacheCompletedEvent uWVEvents

 

-TOnRetrieveMHTMLCompletedEvent +TOnRetrieveHTMLCompletedEvent uWVEvents

 

+TOnRetrieveMHTMLCompletedEvent +uWVEvents +

 

+ + TOnRetrieveTextCompletedEvent uWVEvents

 

+ +TOnSaveAsUIShowingEvent +uWVEvents +

 

+ TOnScriptDialogOpeningEvent uWVEvents @@ -5570,333 +5788,338 @@

All Identifiers

 

-TOnSimulateKeyEventCompletedEvent +TOnShowSaveAsUICompletedEvent uWVEvents

 

-TOnSourceChangedEvent +TOnSimulateKeyEventCompletedEvent uWVEvents

 

-TOnStatusBarTextChangedEvent +TOnSourceChangedEvent uWVEvents

 

-TOnTrySuspendCompletedEvent +TOnStatusBarTextChangedEvent uWVEvents

 

-TOnWebMessageReceivedEvent +TOnTrySuspendCompletedEvent uWVEvents

 

-TOnWebResourceRequestedEvent +TOnWebMessageReceivedEvent uWVEvents

 

-TOnWebResourceResponseReceivedEvent +TOnWebResourceRequestedEvent uWVEvents

 

+TOnWebResourceResponseReceivedEvent +uWVEvents +

 

+ + TOnWebResourceResponseViewGetContentCompletedEvent uWVEvents

 

- + TryIso8601BasicToDate uWVMiscFunctions

 

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

- + TWVBrowser uWVBrowser

VCL and LCL version of TWVBrowserBase that puts together all browser procedures, functions, properties and events in one place. It has all you need to create, modify and destroy a web browser.

- + TWVBrowserBase uWVBrowserBase

Parent class of TWVBrowser and TWVFMXBrowser that puts together all browser procedures, functions, properties and events in one place. It has all you need to create, modify and destroy a web browser.

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

- + TWVChannelSearchKind uWVTypes

The channel search kind determines the order that release channels are searched for during environment creation. The default behavior is to search for and use the most stable channel found on the device. The order from most to least stable is: WebView2 Runtime -> Beta -> Dev -> Canary. Switch the order to prefer the least stable channel in order to perform pre-release testing. See `COREWEBVIEW2_RELEASE_CHANNELS` for descriptions of channels.

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

- + TWVCustomSchemeInfo uWVTypes

Record with all the information to create a TCoreWebView2CustomSchemeRegistration instance to register a custom scheme.

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

- + TWVFileSystemHandleKind uWVTypes

Kind of CoreWebView2FileSystemHandle as described in [FileSystemHandle.kind](https://developer.mozilla.org/docs/Web/API/FileSystemHandle/kind)

- + TWVFileSystemHandlePermission uWVTypes

Allowed permissions of a CoreWebView2FileSystemHandle as described in [FileSystemHandle.requestPermission()](https://developer.mozilla.org/docs/Web/API/FileSystemHandle/requestPermission)

- + TWVFMXBrowser uWVFMXBrowser

FMX version of TWVBrowserBase that puts together all browser procedures, functions, properties and events in one place. It has all you need to create, modify and destroy a web browser.

- + TWVFMXWindowParent uWVFMXWindowParent

Parent control used by FMX applications to show the web contents.

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

- + TWVLoader uWVLoader

Class used to simplify the WebView2 initialization and destruction.

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

- + TWVNonClientRegionKind uWVTypes

This enum contains values representing possible regions a given point lies within.

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

- + TWVProxySettings uWVLoader

Class used by the TWVLoader.ProxySettigns property to configure a custom proxy server using the following command line switches: –no-proxy-server, –proxy-auto-detect, –proxy-bypass-list, –proxy-pac-url and –proxy-server.

- + TWVReleaseChannels uWVTypes

@@ -5915,31 +6138,48 @@

All Identifiers

+ +TWVSaveAsKind +uWVTypes +

Specifies Save As kind selection options for `ICoreWebView2SaveAsUIShowingEventArgs`. + +

For HTML documents, we support 3 Save As kinds: HTML_ONLY, SINGLE_FILE and COMPLETE. For non-HTML documents, you must use DEFAULT. MIME types of `text/html` and `application/xhtml+xml` are considered HTML documents.

+ +TWVSaveAsUIResult +uWVTypes +

Status of a programmatic Save As call. Indicates the result of the `ShowSaveAsUI` method.

+ + TWVScriptDialogKind uWVTypes

Specifies the JavaScript dialog type used in the ICoreWebView2ScriptDialogOpeningEventHandler interface.

- + TWVScrollBarStyle uWVTypes

Set ScrollBar style on `ICoreWebView2EnvironmentOptions` during environment creation.

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

+ +TWVTextDirectionKind +uWVTypes +

Indicates the text direction of the notification.

+ TWVTrackingPreventionLevel uWVTypes @@ -5976,301 +6216,306 @@

All Identifiers

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

+Uint64Array +uWVTypeLibrary +

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

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

 

- + WV_DOWNLOADS_URL uWVConstants

 

- + WV_EXTENSIONS_URL uWVConstants

 

- + WV_FLAGS_URL uWVConstants

 

- + WV_URLS_URL uWVConstants

 

- + 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 f1485d5..bd8e09a 100644 --- a/docs/html/AllTypes.html +++ b/docs/html/AllTypes.html @@ -232,6 +232,18 @@

All Types

+COREWEBVIEW2_SAVE_AS_KIND +uWVTypeLibrary +

Specifies Save As kind selection options for `ICoreWebView2SaveAsUIShowingEventArgs`. + +

For HTML documents, we support 3 Save As kinds: HTML_ONLY, SINGLE_FILE and COMPLETE. For non-HTML documents, you must use DEFAULT. MIME types of `text/html` and `application/xhtml+xml` are considered HTML documents.

+ + +COREWEBVIEW2_SAVE_AS_UI_RESULT +uWVTypeLibrary +

Status of a programmatic Save As call. Indicates the result of the `ShowSaveAsUI` method.

+ + COREWEBVIEW2_SCRIPT_DIALOG_KIND uWVTypeLibrary

Specifies the JavaScript dialog type used in the ICoreWebView2ScriptDialogOpeningEventHandler interface.

@@ -252,380 +264,400 @@

All Types

Specifies the desired access from script to CoreWebView2SharedBuffer.

+COREWEBVIEW2_TEXT_DIRECTION_KIND +uWVTypeLibrary +

Indicates the text direction of the notification.

+ + COREWEBVIEW2_TRACKING_PREVENTION_LEVEL uWVTypeLibrary

Tracking prevention levels.

- + COREWEBVIEW2_WEB_ERROR_STATUS uWVTypeLibrary

Indicates the error status values for web navigations.

- + COREWEBVIEW2_WEB_RESOURCE_CONTEXT uWVTypeLibrary

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

 

- + TOnNonClientRegionChangedEvent uWVEvents

 

+ +TOnNotificationCloseRequestedEvent +uWVEvents +

 

+ -TOnOfflineCompletedEvent +TOnNotificationReceivedEvent uWVEvents

 

-TOnPermissionRequestedEvent +TOnOfflineCompletedEvent uWVEvents

 

-TOnPrintCompletedEvent +TOnPermissionRequestedEvent uWVEvents

 

-TOnPrintToPdfCompletedEvent +TOnPrintCompletedEvent uWVEvents

 

-TOnPrintToPdfStreamCompletedEvent +TOnPrintToPdfCompletedEvent uWVEvents

 

-TOnProcessFailedEvent +TOnPrintToPdfStreamCompletedEvent uWVEvents

 

-TOnProcessInfosChangedEvent +TOnProcessFailedEvent uWVEvents

 

-TOnProfileAddBrowserExtensionCompletedEvent +TOnProcessInfosChangedEvent uWVEvents

 

-TOnProfileDeletedEvent +TOnProfileAddBrowserExtensionCompletedEvent uWVEvents

 

-TOnProfileGetBrowserExtensionsCompletedEvent +TOnProfileDeletedEvent uWVEvents

 

-TOnRefreshIgnoreCacheCompletedEvent +TOnProfileGetBrowserExtensionsCompletedEvent uWVEvents

 

-TOnRetrieveHTMLCompletedEvent +TOnRefreshIgnoreCacheCompletedEvent uWVEvents

 

-TOnRetrieveMHTMLCompletedEvent +TOnRetrieveHTMLCompletedEvent uWVEvents

 

+TOnRetrieveMHTMLCompletedEvent +uWVEvents +

 

+ + TOnRetrieveTextCompletedEvent uWVEvents

 

+ +TOnSaveAsUIShowingEvent +uWVEvents +

 

+ TOnScriptDialogOpeningEvent uWVEvents @@ -647,293 +679,298 @@

All Types

 

-TOnSimulateKeyEventCompletedEvent +TOnShowSaveAsUICompletedEvent uWVEvents

 

-TOnSourceChangedEvent +TOnSimulateKeyEventCompletedEvent uWVEvents

 

-TOnStatusBarTextChangedEvent +TOnSourceChangedEvent uWVEvents

 

-TOnTrySuspendCompletedEvent +TOnStatusBarTextChangedEvent uWVEvents

 

-TOnWebMessageReceivedEvent +TOnTrySuspendCompletedEvent uWVEvents

 

-TOnWebResourceRequestedEvent +TOnWebMessageReceivedEvent uWVEvents

 

-TOnWebResourceResponseReceivedEvent +TOnWebResourceRequestedEvent uWVEvents

 

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

- + TWVChannelSearchKind uWVTypes

The channel search kind determines the order that release channels are searched for during environment creation. The default behavior is to search for and use the most stable channel found on the device. The order from most to least stable is: WebView2 Runtime -> Beta -> Dev -> Canary. Switch the order to prefer the least stable channel in order to perform pre-release testing. See `COREWEBVIEW2_RELEASE_CHANNELS` for descriptions of channels.

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

- + TWVFileSystemHandleKind uWVTypes

Kind of CoreWebView2FileSystemHandle as described in [FileSystemHandle.kind](https://developer.mozilla.org/docs/Web/API/FileSystemHandle/kind)

- + TWVFileSystemHandlePermission uWVTypes

Allowed permissions of a CoreWebView2FileSystemHandle as described in [FileSystemHandle.requestPermission()](https://developer.mozilla.org/docs/Web/API/FileSystemHandle/requestPermission)

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

- + TWVNonClientRegionKind uWVTypes

This enum contains values representing possible regions a given point lies within.

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

- + TWVReleaseChannels uWVTypes

@@ -952,31 +989,48 @@

All Types

+ +TWVSaveAsKind +uWVTypes +

Specifies Save As kind selection options for `ICoreWebView2SaveAsUIShowingEventArgs`. + +

For HTML documents, we support 3 Save As kinds: HTML_ONLY, SINGLE_FILE and COMPLETE. For non-HTML documents, you must use DEFAULT. MIME types of `text/html` and `application/xhtml+xml` are considered HTML documents.

+ +TWVSaveAsUIResult +uWVTypes +

Status of a programmatic Save As call. Indicates the result of the `ShowSaveAsUI` method.

+ + TWVScriptDialogKind uWVTypes

Specifies the JavaScript dialog type used in the ICoreWebView2ScriptDialogOpeningEventHandler interface.

- + TWVScrollBarStyle uWVTypes

Set ScrollBar style on `ICoreWebView2EnvironmentOptions` during environment creation.

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

+ +TWVTextDirectionKind +uWVTypes +

Indicates the text direction of the notification.

+ TWVTrackingPreventionLevel uWVTypes @@ -998,6 +1052,11 @@

All Types

Specifies the source of `WebResourceRequested` event.

+Uint64Array +uWVTypeLibrary +

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

+ + wvstring uWVTypes

 

diff --git a/docs/html/ClassHierarchy.html b/docs/html/ClassHierarchy.html index fbdc2fd..30e157e 100644 --- a/docs/html/ClassHierarchy.html +++ b/docs/html/ClassHierarchy.html @@ -36,7 +36,13 @@

Class Hierarchy

  • ICoreWebView2_20
  • @@ -176,7 +182,7 @@

    Class Hierarchy

    -
  • ICoreWebView2NewWindowRequestedEventHandler
  • ICoreWebView2NonClientRegionChangedEventArgs
  • ICoreWebView2NonClientRegionChangedEventHandler
  • ICoreWebView2ObjectCollectionView @@ -6661,6 +6777,214 @@ +
  • + + + + +
  • + + + +
  • @@ -11497,6 +11821,142 @@ +
  • + + + + +
  • + + + + +
  • + + + + +
  • + + + +
  • @@ -16048,6 +16508,22 @@
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • @@ -16473,6 +16949,26 @@ +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + +
  • @@ -16975,6 +17471,22 @@ +
  • + + + +
  • + + + +
  • + + + +
  • + + + @@ -21850,6 +22362,290 @@
  • + + + + +
  • + + + + +
  • + + + + +
  • + + + + +
  • + + + + +
  • + + + + +
  • + + + + +
  • + + + + +
  • + + + + +
  • @@ -24384,6 +25180,18 @@
  • + + + +
  • + + + +
  • + + + +
  • @@ -24480,6 +25288,10 @@
  • + + + +
  • @@ -25026,6 +25838,42 @@
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • @@ -26038,6 +26886,54 @@
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • @@ -26872,6 +27768,18 @@
  • + + + +
  • + + + +
  • + + + +
  • @@ -30796,6 +31704,154 @@
  • + + + + +
  • + + + + +
  • + + + + +
  • + + + + +
  • @@ -31896,6 +32952,82 @@
  • + + + + +
  • + + + + +
  • @@ -32340,6 +33472,22 @@
  • + + + + +
  • @@ -33128,6 +34276,50 @@
  • + + + + +
  • + + + + +
  • @@ -33558,6 +34750,14 @@
  • + + + +
  • + + + +
  • @@ -33598,6 +34798,10 @@
  • + + + +
  • @@ -33610,6 +34814,10 @@
  • + + + +
  • @@ -33754,6 +34962,14 @@
  • + + + +
  • + + + +
  • @@ -33874,6 +35090,10 @@
  • + + + +
  • @@ -33882,6 +35102,10 @@
  • + + + +
  • @@ -34170,6 +35394,10 @@
  • + + + +
  • @@ -34262,6 +35490,10 @@
  • + + + +
  • @@ -34270,6 +35502,10 @@
  • + + + +
  • @@ -41090,6 +42326,158 @@
  • + + + + +
  • + + + + +
  • + + + + +
  • @@ -43126,6 +44514,164 @@
  • + + + + +
  • + + + + +
  • @@ -43896,6 +45442,40 @@
  • + + + + +
  • @@ -45390,6 +46970,18 @@
  • + + + +
  • + + + +
  • + + + +
  • @@ -45454,6 +47046,10 @@
  • + + + +
  • @@ -45470,6 +47066,10 @@
  • + + + +
  • @@ -45936,6 +47536,14 @@
  • + + + +
  • + + + +
  • @@ -46000,6 +47608,10 @@
  • + + + +
  • @@ -46016,6 +47628,10 @@
  • + + + +
  • @@ -46634,6 +48250,14 @@
  • + + + +
  • + + + +
  • @@ -46698,6 +48322,10 @@
  • + + + +
  • @@ -46714,6 +48342,10 @@
  • + + + +
  • @@ -47232,6 +48864,10 @@
  • + + + +
  • @@ -47748,6 +49384,14 @@
  • + + + +
  • + + + +
  • @@ -47788,6 +49432,10 @@
  • + + + +
  • @@ -47800,6 +49448,10 @@
  • + + + +
  • @@ -48168,6 +49820,14 @@
  • + + + +
  • + + + +
  • @@ -48228,6 +49888,10 @@
  • + + + +
  • @@ -48244,6 +49908,10 @@
  • + + + +
  • @@ -48796,6 +50464,18 @@
  • + + + +
  • + + + +
  • + + + +
  • @@ -48860,6 +50540,10 @@
  • + + + +
  • @@ -48876,6 +50560,10 @@
  • + + + +
  • diff --git a/docs/html/WebView4Delphi.hhk b/docs/html/WebView4Delphi.hhk index 5050b23..abd63d0 100644 --- a/docs/html/WebView4Delphi.hhk +++ b/docs/html/WebView4Delphi.hhk @@ -1125,6 +1125,50 @@
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • @@ -1185,6 +1229,22 @@
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • @@ -3941,6 +4001,122 @@
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • @@ -4753,6 +4929,66 @@
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • @@ -5069,6 +5305,14 @@
  • + + + +
  • + + + +
  • @@ -5569,6 +5813,34 @@
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • @@ -6273,6 +6545,22 @@
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • @@ -6417,6 +6705,14 @@
  • + + + +
  • + + + +
  • @@ -6481,6 +6777,10 @@
  • + + + +
  • @@ -6625,6 +6925,14 @@
  • + + + +
  • + + + +
  • @@ -6897,6 +7205,14 @@
  • + + + +
  • + + + +
  • @@ -6937,6 +7253,10 @@
  • + + + +
  • @@ -6949,6 +7269,10 @@
  • + + + +
  • @@ -7199,6 +7523,10 @@
  • + + + +
  • @@ -7207,6 +7535,10 @@
  • + + + +
  • @@ -7403,6 +7735,14 @@
  • + + + +
  • + + + +
  • @@ -7523,6 +7863,10 @@
  • + + + +
  • @@ -7535,6 +7879,10 @@
  • + + + +
  • @@ -7807,6 +8155,10 @@
  • + + + +
  • @@ -9258,16 +9610,16 @@
  • - +
  • @@ -12843,6 +13195,110 @@
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • @@ -14491,6 +14947,130 @@
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • @@ -15119,6 +15699,26 @@
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • @@ -16211,6 +16811,14 @@
  • + + + +
  • + + + +
  • @@ -16267,6 +16875,10 @@
  • + + + +
  • @@ -16283,6 +16895,10 @@
  • + + + +
  • @@ -16627,6 +17243,18 @@
  • + + + +
  • + + + +
  • + + + +
  • @@ -16691,6 +17319,10 @@
  • + + + +
  • @@ -16707,6 +17339,10 @@
  • + + + +
  • @@ -17066,16 +17702,16 @@
  • - +
  • @@ -17088,16 +17724,16 @@
  • - +
  • @@ -17469,6 +18105,14 @@
  • + + + +
  • + + + +
  • @@ -17529,6 +18173,10 @@
  • + + + +
  • @@ -17545,6 +18193,10 @@
  • + + + +
  • @@ -18029,6 +18681,14 @@
  • + + + +
  • + + + +
  • @@ -18093,6 +18753,10 @@
  • + + + +
  • @@ -18109,6 +18773,10 @@
  • + + + +
  • @@ -18745,6 +19413,14 @@
  • + + + +
  • + + + +
  • @@ -19001,6 +19677,14 @@
  • + + + +
  • + + + +
  • @@ -19065,6 +19749,10 @@
  • + + + +
  • @@ -19081,6 +19769,10 @@
  • + + + +
  • @@ -19337,6 +20029,10 @@
  • + + + +
  • @@ -19573,6 +20269,14 @@
  • + + + +
  • + + + +
  • @@ -20081,6 +20785,18 @@
  • + + + +
  • + + + +
  • + + + +
  • @@ -20145,6 +20861,10 @@
  • + + + +
  • @@ -20161,6 +20881,10 @@
  • + + + +
  • @@ -21217,6 +21941,14 @@
  • + + + +
  • + + + +
  • @@ -21237,6 +21969,10 @@
  • + + + +
  • @@ -21453,6 +22189,10 @@
  • + + + +
  • diff --git a/docs/html/WebView4Delphi.hhp b/docs/html/WebView4Delphi.hhp index 6506afd..3d3bc29 100644 --- a/docs/html/WebView4Delphi.hhp +++ b/docs/html/WebView4Delphi.hhp @@ -56,6 +56,8 @@ uWVCoreWebView2Args.TCoreWebView2ContextMenuRequestedEventArgs.html uWVCoreWebView2Args.TCoreWebView2ServerCertificateErrorDetectedEventArgs.html uWVCoreWebView2Args.TCoreWebView2LaunchingExternalUriSchemeEventArgs.html uWVCoreWebView2Args.TCoreWebView2NonClientRegionChangedEventArgs.html +uWVCoreWebView2Args.TCoreWebView2NotificationReceivedEventArgs.html +uWVCoreWebView2Args.TCoreWebView2SaveAsUIShowingEventArgs.html uWVCoreWebView2BasicAuthenticationResponse.html uWVCoreWebView2BasicAuthenticationResponse.TCoreWebView2BasicAuthenticationResponse.html uWVCoreWebView2BrowserExtension.html @@ -170,6 +172,10 @@ uWVCoreWebView2Delegates.TCoreWebView2ProfileGetBrowserExtensionsCompletedHandle uWVCoreWebView2Delegates.TCoreWebView2ProfileDeletedEventHandler.html uWVCoreWebView2Delegates.TCoreWebView2ExecuteScriptWithResultCompletedHandler.html uWVCoreWebView2Delegates.TCoreWebView2NonClientRegionChangedEventHandler.html +uWVCoreWebView2Delegates.TCoreWebView2NotificationReceivedEventHandler.html +uWVCoreWebView2Delegates.TCoreWebView2NotificationCloseRequestedEventHandler.html +uWVCoreWebView2Delegates.TCoreWebView2SaveAsUIShowingEventHandler.html +uWVCoreWebView2Delegates.TCoreWebView2ShowSaveAsUICompletedHandler.html uWVCoreWebView2DownloadOperation.html uWVCoreWebView2DownloadOperation.TCoreWebView2DownloadOperation.html uWVCoreWebView2Environment.html @@ -381,6 +387,15 @@ uWVTypeLibrary.ICoreWebView2ExecuteScriptResult.html uWVTypeLibrary.ICoreWebView2ScriptException.html uWVTypeLibrary.ICoreWebView2_22.html uWVTypeLibrary.ICoreWebView2_23.html +uWVTypeLibrary.ICoreWebView2_24.html +uWVTypeLibrary.ICoreWebView2NotificationReceivedEventHandler.html +uWVTypeLibrary.ICoreWebView2NotificationReceivedEventArgs.html +uWVTypeLibrary.ICoreWebView2Notification.html +uWVTypeLibrary.ICoreWebView2NotificationCloseRequestedEventHandler.html +uWVTypeLibrary.ICoreWebView2_25.html +uWVTypeLibrary.ICoreWebView2SaveAsUIShowingEventHandler.html +uWVTypeLibrary.ICoreWebView2SaveAsUIShowingEventArgs.html +uWVTypeLibrary.ICoreWebView2ShowSaveAsUICompletedHandler.html uWVTypeLibrary.ICoreWebView2BrowserProcessExitedEventArgs.html uWVTypeLibrary.ICoreWebView2BrowserProcessExitedEventHandler.html uWVTypeLibrary.ICoreWebView2CompositionController.html diff --git a/docs/html/WebView4Delphi.log b/docs/html/WebView4Delphi.log index ea1432d..59f747a 100644 --- a/docs/html/WebView4Delphi.log +++ b/docs/html/WebView4Delphi.log @@ -43,6 +43,8 @@ uWVCoreWebView2Args.TCoreWebView2ContextMenuRequestedEventArgs.html uWVCoreWebView2Args.TCoreWebView2ServerCertificateErrorDetectedEventArgs.html uWVCoreWebView2Args.TCoreWebView2LaunchingExternalUriSchemeEventArgs.html uWVCoreWebView2Args.TCoreWebView2NonClientRegionChangedEventArgs.html +uWVCoreWebView2Args.TCoreWebView2NotificationReceivedEventArgs.html +uWVCoreWebView2Args.TCoreWebView2SaveAsUIShowingEventArgs.html uWVCoreWebView2BasicAuthenticationResponse.html uWVCoreWebView2BasicAuthenticationResponse.TCoreWebView2BasicAuthenticationResponse.html uWVCoreWebView2BrowserExtension.html @@ -157,6 +159,10 @@ uWVCoreWebView2Delegates.TCoreWebView2ProfileGetBrowserExtensionsCompletedHandle uWVCoreWebView2Delegates.TCoreWebView2ProfileDeletedEventHandler.html uWVCoreWebView2Delegates.TCoreWebView2ExecuteScriptWithResultCompletedHandler.html uWVCoreWebView2Delegates.TCoreWebView2NonClientRegionChangedEventHandler.html +uWVCoreWebView2Delegates.TCoreWebView2NotificationReceivedEventHandler.html +uWVCoreWebView2Delegates.TCoreWebView2NotificationCloseRequestedEventHandler.html +uWVCoreWebView2Delegates.TCoreWebView2SaveAsUIShowingEventHandler.html +uWVCoreWebView2Delegates.TCoreWebView2ShowSaveAsUICompletedHandler.html uWVCoreWebView2DownloadOperation.html uWVCoreWebView2DownloadOperation.TCoreWebView2DownloadOperation.html uWVCoreWebView2Environment.html @@ -368,6 +374,15 @@ uWVTypeLibrary.ICoreWebView2ExecuteScriptResult.html uWVTypeLibrary.ICoreWebView2ScriptException.html uWVTypeLibrary.ICoreWebView2_22.html uWVTypeLibrary.ICoreWebView2_23.html +uWVTypeLibrary.ICoreWebView2_24.html +uWVTypeLibrary.ICoreWebView2NotificationReceivedEventHandler.html +uWVTypeLibrary.ICoreWebView2NotificationReceivedEventArgs.html +uWVTypeLibrary.ICoreWebView2Notification.html +uWVTypeLibrary.ICoreWebView2NotificationCloseRequestedEventHandler.html +uWVTypeLibrary.ICoreWebView2_25.html +uWVTypeLibrary.ICoreWebView2SaveAsUIShowingEventHandler.html +uWVTypeLibrary.ICoreWebView2SaveAsUIShowingEventArgs.html +uWVTypeLibrary.ICoreWebView2ShowSaveAsUICompletedHandler.html uWVTypeLibrary.ICoreWebView2BrowserProcessExitedEventArgs.html uWVTypeLibrary.ICoreWebView2BrowserProcessExitedEventHandler.html uWVTypeLibrary.ICoreWebView2CompositionController.html @@ -490,12 +505,12 @@ published.gif automated.gif pasdoc.css -Compile time: 0 minutes, 8 seconds -8,011 Topics -61,579 Local links +Compile time: 0 minutes, 9 seconds +8,291 Topics +63,713 Local links 5 Internet links 5 Graphics -Created c:\Users\usuario\Documents\Embarcadero\Studio\Projects\WebView4Delphi\docs\WebView4Delphi.chm, 1,937,646 bytes -Compression decreased file by 12,475,419 bytes. +Created c:\Users\usuario\Documents\Embarcadero\Studio\Projects\WebView4Delphi\docs\WebView4Delphi.chm, 2,002,416 bytes +Compression decreased file by 12,903,064 bytes. diff --git a/docs/html/uWVBrowser.TWVBrowser.html b/docs/html/uWVBrowser.TWVBrowser.html index 08e388f..104a479 100644 --- a/docs/html/uWVBrowser.TWVBrowser.html +++ b/docs/html/uWVBrowser.TWVBrowser.html @@ -459,6 +459,26 @@

    Description

    Published property OnExecuteScriptWithResultCompleted; + +Published +property OnNonClientRegionChanged; + + +Published +property OnNotificationReceived; + + +Published +property OnNotificationCloseRequested; + + +Published +property OnSaveAsUIShowing; + + +Published +property OnShowSaveAsUICompleted; +

    Description

    Methods

    @@ -1742,15 +1762,15 @@

    Properties

    If a deferral is not taken on the event args, the external URI scheme launch is blocked until the event handler returns. If a deferral is taken, the external URI scheme launch is blocked until the deferral is completed. The host also has the option to cancel the URI scheme launch. -

    The `NavigationStarting` and `NavigationCompleted` events will be raised, regardless of whether the `Cancel` property is set to `TRUE` or `FALSE`. The `NavigationCompleted` event will be raised with the `IsSuccess` property set to `FALSE` and the `WebErrorStatus` property set to `ConnectionAborted` regardless of whether the host sets the `Cancel` property on the `ICoreWebView2LaunchingExternalUriSchemeEventArgs`. The `SourceChanged`, `ContentLoading`, and `HistoryChanged` events will not be raised for this navigation to the external URI scheme regardless of the `Cancel` property. +

    The `OnNavigationStarting` and `OnNavigationCompleted` events will be raised, regardless of whether the `Cancel` property is set to `TRUE` or `FALSE`. The `OnNavigationCompleted` event will be raised with the `IsSuccess` property set to `FALSE` and the `WebErrorStatus` property set to `ConnectionAborted` regardless of whether the host sets the `Cancel` property on the `ICoreWebView2LaunchingExternalUriSchemeEventArgs`. The `OnSourceChanged`, `OnContentLoading`, and `OnHistoryChanged` events will not be raised for this navigation to the external URI scheme regardless of the `Cancel` property. -

    The `OnLaunchingExternalUriScheme` event will be raised after the `NavigationStarting` event and before the `NavigationCompleted` event. +

    The `OnLaunchingExternalUriScheme` event will be raised after the `OnNavigationStarting` event and before the `OnNavigationCompleted` event.

    The default `CoreWebView2Settings` will also be updated upon navigation to an external URI scheme. If a setting on the `CoreWebView2Settings` interface has been changed, navigating to an external URI scheme will trigger the `CoreWebView2Settings` to update.

    The WebView2 may not display the default dialog based on user settings, browser settings, and whether the origin is determined as a [trustworthy origin](https://w3c.github.io/webappsec-secure-contexts# potentially-trustworthy-origin); however, the event will still be raised. -

    If the request is initiated by a cross-origin frame without a user gesture, the request will be blocked and the `OnLaunchingExternalUriScheme` event will not be raised. A URI scheme may be blocked for safety reasons. In this case the `LaunchingExternalUriScheme` event will not be raised. The default dialog may show an "always allow" checkbox which allows the user to opt-in to relaxed security (i.e. skipping future default dialogs) for the combination of the URI scheme and the origin of the page initiating this external URI scheme launch. The checkbox is offered so long as the group policy to show the checkbox is not explicitly disabled and there is a trustworthy initiating origin. If the user has checked this box, future attempts to launch this URI scheme will still raise the event. +

    If the request is initiated by a cross-origin frame without a user gesture, the request will be blocked and the `OnLaunchingExternalUriScheme` event will not be raised.

    @@ -1841,6 +1861,72 @@

    Properties

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

    + + + + + + +
    Publishedproperty OnNonClientRegionChanged;
    +

    This item has no description. Showing description inherited from TWVBrowserBase.OnNonClientRegionChanged.

    + This event is fired when regions which are marked as non-client in the app html have changed. So either when new regions have been marked, or unmarked, or the region(s) have been changed to a different kind. + +

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

    +
    + + + + + + +
    Publishedproperty OnNotificationReceived;
    +

    This item has no description. Showing description inherited from TWVBrowserBase.OnNotificationReceived.

    + + +

    Event for non-persistent notifications. + +

    If a deferral is not taken on the event args, the subsequent scripts after the DOM notification creation call (i.e. `Notification()`) are blocked until the event handler returns. If a deferral is taken, the scripts are blocked until the deferral is completed. + +

    + +

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

    +
    + + + + + + +
    Publishedproperty OnNotificationCloseRequested;
    +

    This item has no description. Showing description inherited from TWVBrowserBase.OnNotificationCloseRequested.

    + This event is raised when the notification is closed by the web code, such as through `notification.close()`. You don't need to call `ReportClosed` since this is coming from the web code. + +

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

    +
    + + + + + + +
    Publishedproperty OnSaveAsUIShowing;
    +

    This item has no description. Showing description inherited from TWVBrowserBase.OnSaveAsUIShowing.

    + This event is raised when save as is triggered, programmatically or manually. + +

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

    +
    + + + + + + +
    Publishedproperty OnShowSaveAsUICompleted;
    +

    This item has no description. Showing description inherited from TWVBrowserBase.OnShowSaveAsUICompleted.

    + This event receives the result of the `ShowSaveAsUI` method. + +

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

    +

    Generated by PasDoc 0.16.0-snapshot. diff --git a/docs/html/uWVBrowserBase.TWVBrowserBase.html b/docs/html/uWVBrowserBase.TWVBrowserBase.html index 4923f20..8075251 100644 --- a/docs/html/uWVBrowserBase.TWVBrowserBase.html +++ b/docs/html/uWVBrowserBase.TWVBrowserBase.html @@ -599,6 +599,22 @@

    Description

    Protected FOnNonClientRegionChanged: TOnNonClientRegionChangedEvent; + +Protected +FOnNotificationReceived: TOnNotificationReceivedEvent; + + +Protected +FOnNotificationCloseRequested: TOnNotificationCloseRequestedEvent; + + +Protected +FOnSaveAsUIShowing: TOnSaveAsUIShowingEvent; + + +Protected +FOnShowSaveAsUICompleted: TOnShowSaveAsUICompletedEvent; +

    Methods

    @@ -1440,6 +1456,22 @@

    Description

    + + + + + + + + + + + + + + + + @@ -1799,6 +1831,22 @@

    Description

    + + + + + + + + + + + + + + + + @@ -2194,6 +2242,10 @@

    Description

    + + + +
    Protectedfunction NotificationReceivedEventHandler_Invoke(const sender: ICoreWebView2; const args: ICoreWebView2NotificationReceivedEventArgs): HRESULT;
    Protectedfunction NotificationCloseRequestedEventHandler_Invoke(const sender: ICoreWebView2Notification; const args: IUnknown): HRESULT;
    Protectedfunction SaveAsUIShowingEventHandler_Invoke(const sender: ICoreWebView2; const args: ICoreWebView2SaveAsUIShowingEventArgs): HRESULT;
    Protectedfunction ShowSaveAsUICompletedHandler_Invoke(errorCode: HResult; result_: COREWEBVIEW2_SAVE_AS_UI_RESULT): HRESULT;
    Protected procedure doOnInitializationError(aErrorCode: HRESULT; const aErrorMessage: wvstring); virtual;
    procedure doOnNonClientRegionChangedEvent(const sender: ICoreWebView2CompositionController; const args: ICoreWebView2NonClientRegionChangedEventArgs); virtual;
    Protectedprocedure doOnNotificationReceivedEvent(const sender: ICoreWebView2; const args: ICoreWebView2NotificationReceivedEventArgs); virtual;
    Protectedprocedure doOnNotificationCloseRequestedEvent(const sender: ICoreWebView2Notification; const args: IUnknown); virtual;
    Protectedprocedure doOnSaveAsUIShowingEvent(const sender: ICoreWebView2; const args: ICoreWebView2SaveAsUIShowingEventArgs); virtual;
    Protectedprocedure doOnShowSaveAsUICompletedEvent(errorCode: HResult; result_: COREWEBVIEW2_SAVE_AS_UI_RESULT); virtual;
    Public constructor Create(AOwner: TComponent); override;
    Public function GetProcessExtendedInfos: boolean;
    Publicfunction ShowSaveAsUI: boolean;

    Properties

    @@ -2941,6 +2993,22 @@

    Description

    + + + + + + + + + + + + + + + +
    Public property OnNonClientRegionChanged : TOnNonClientRegionChangedEvent read FOnNonClientRegionChanged write FOnNonClientRegionChanged;
    Publicproperty OnNotificationReceived : TOnNotificationReceivedEvent read FOnNotificationReceived write FOnNotificationReceived;
    Publicproperty OnNotificationCloseRequested : TOnNotificationCloseRequestedEvent read FOnNotificationCloseRequested write FOnNotificationCloseRequested;
    Publicproperty OnSaveAsUIShowing : TOnSaveAsUIShowingEvent read FOnSaveAsUIShowing write FOnSaveAsUIShowing;
    Publicproperty OnShowSaveAsUICompleted : TOnShowSaveAsUICompletedEvent read FOnShowSaveAsUICompleted write FOnShowSaveAsUICompleted;

    Description

    Fields

    @@ -4090,6 +4158,38 @@

    Fields

    This item has no description.

    + + + + + + +
    ProtectedFOnNotificationReceived: TOnNotificationReceivedEvent;
    +

    This item has no description.

    + + + + + + +
    ProtectedFOnNotificationCloseRequested: TOnNotificationCloseRequestedEvent;
    +

    This item has no description.

    + + + + + + +
    ProtectedFOnSaveAsUIShowing: TOnSaveAsUIShowingEvent;
    +

    This item has no description.

    + + + + + + +
    ProtectedFOnShowSaveAsUICompleted: TOnShowSaveAsUICompletedEvent;
    +

    This item has no description.

    Methods

    @@ -5922,6 +6022,46 @@

    Methods

    + + + +
    Protectedfunction NotificationReceivedEventHandler_Invoke(const sender: ICoreWebView2; const args: ICoreWebView2NotificationReceivedEventArgs): HRESULT;
    +

    This item has no description. Showing description inherited from IWVBrowserEvents.NotificationReceivedEventHandler_Invoke.

    +ICoreWebView2NonClientRegionChangedEventHandler

    +
    + + + + + + +
    Protectedfunction NotificationCloseRequestedEventHandler_Invoke(const sender: ICoreWebView2Notification; const args: IUnknown): HRESULT;
    +

    This item has no description. Showing description inherited from IWVBrowserEvents.NotificationCloseRequestedEventHandler_Invoke.

    +ICoreWebView2NotificationCloseRequestedEventHandler

    +
    + + + + + + +
    Protectedfunction SaveAsUIShowingEventHandler_Invoke(const sender: ICoreWebView2; const args: ICoreWebView2SaveAsUIShowingEventArgs): HRESULT;
    +

    This item has no description. Showing description inherited from IWVBrowserEvents.SaveAsUIShowingEventHandler_Invoke.

    +ICoreWebView2SaveAsUIShowingEventHandler

    +
    + + + + + + +
    Protectedfunction ShowSaveAsUICompletedHandler_Invoke(errorCode: HResult; result_: COREWEBVIEW2_SAVE_AS_UI_RESULT): HRESULT;
    +

    This item has no description. Showing description inherited from IWVBrowserEvents.ShowSaveAsUICompletedHandler_Invoke.

    +ICoreWebView2ShowSaveAsUICompletedHandler

    +
    + + +
    Protected procedure doOnInitializationError(aErrorCode: HRESULT; const aErrorMessage: wvstring); virtual;
    @@ -6641,6 +6781,38 @@

    Methods

    + + + + +
    Protectedprocedure doOnNotificationReceivedEvent(const sender: ICoreWebView2; const args: ICoreWebView2NotificationReceivedEventArgs); virtual;
    +

    This item has no description.

    + + + + + + +
    Protectedprocedure doOnNotificationCloseRequestedEvent(const sender: ICoreWebView2Notification; const args: IUnknown); virtual;
    +

    This item has no description.

    + + + + + + +
    Protectedprocedure doOnSaveAsUIShowingEvent(const sender: ICoreWebView2; const args: ICoreWebView2SaveAsUIShowingEventArgs); virtual;
    +

    This item has no description.

    + + + + + + +
    Protectedprocedure doOnShowSaveAsUICompletedEvent(errorCode: HResult; result_: COREWEBVIEW2_SAVE_AS_UI_RESULT); virtual;
    +

    This item has no description.

    + + @@ -7747,7 +7919,63 @@
    Parameters
    Public constructor Create(AOwner: TComponent); override;

    - 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 promises and resolves to an object representing the host object. The promise is rejected if the app has not added an object with the name. When JavaScript code access a property or method of the object, a promise is return, which resolves to the value returned from the host for the property or method, or rejected in case of error, for example, no property or method on the object or parameters are not valid.

    + + +

    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 promises and resolves to an object representing the host object. The promise is rejected if the app has not added an object with the name. + +

    When JavaScript code access a property or method of the object, a promise is return, which resolves to the value returned from the host for the property or method, or rejected in case of error, for example, no property or method on the object or parameters are not valid. + +

    NOTE: While simple types, `IDispatch` and array are supported, and `IUnknown` objects that also implement `IDispatch` are treated as `IDispatch`, generic `IUnknown`, `VT_DECIMAL`, or `VT_RECORD` variant is not supported. Remote JavaScript objects like callback functions are represented as an `VT_DISPATCH` `VARIANT` with the object implementing `IDispatch`. The JavaScript callback method may be invoked using `DISPID_VALUE` for the `DISPID`. Such callback method invocations will return immediately and will not wait for the JavaScript function to run and so will not provide the return value of the JavaScript function. + +

    Nested arrays are supported up to a depth of 3. Arrays of by reference types are not supported. `VT_EMPTY` and `VT_NULL` are mapped into JavaScript as `null`. In JavaScript, `null` and undefined are mapped to `VT_EMPTY`. + +

    Additionally, all host objects are exposed as `window.chrome.webview.hostObjects.sync.{name}`. Here the host objects are exposed as synchronous host object proxies. These are not promises and function runtimes or property access synchronously block running script waiting to communicate cross process for the host code to run. Accordingly the result may have reliability issues and it is recommended that you use the promise-based asynchronous `window.chrome.webview.hostObjects.{name}` API. + +

    Synchronous host object proxies and asynchronous host object proxies may both use a proxy to the same host object. Remote changes made by one proxy propagates to any other proxy of that same host object whether the other proxies and synchronous or asynchronous. + +

    While JavaScript is blocked on a synchronous run to native code, that native code is unable to run back to JavaScript. Attempts to do so fail with `HRESULT_FROM_WIN32(ERROR_POSSIBLE_DEADLOCK)`. + +

    Host object proxies are JavaScript Proxy objects that intercept all property get, property set, and method invocations. Properties or methods that are a part of the Function or Object prototype are run locally. Additionally any property or method in the `chrome.webview.hostObjects.options.forceLocalProperties` array are also run locally. This defaults to including optional methods that have meaning in JavaScript like `toJSON` and `Symbol.toPrimitive`. Add more to the array as required. + +

    The `chrome.webview.hostObjects.cleanupSome` method performs a best effort garbage collection on host object proxies. + +

    The `chrome.webview.hostObjects.options` object provides the ability to change some functionality of host objects. + +

    + +
    +Options property | Details
    +---|---
    +`forceLocalProperties` | This is an array of host object property names that will be run locally, instead of being called on the native host object. This defaults to `then`, `toJSON`, `Symbol.toString`, and `Symbol.toPrimitive`. You can add other properties to specify that they should be run locally on the javascript host object proxy.
    +`log` | This is a callback that will be called with debug information. For example, you can set this to `console.log.bind(console)` to have it print debug information to the console to help when troubleshooting host object usage. By default this is null.
    +`shouldSerializeDates` | By default this is false, and javascript Date objects will be sent to host objects as a string using `JSON.stringify`. You can set this property to true to have Date objects properly serialize as a `VT_DATE` when sending to the native host object, and have `VT_DATE` properties and return values create a javascript Date object.
    +`defaultSyncProxy` | When calling a method on a synchronous proxy, the result should also be a synchronous proxy. But in some cases, the sync/async context is lost (for example, when providing to native code a reference to a function, and then calling that function in native code). In these cases, the proxy will be asynchronous, unless this property is set.
    +`forceAsyncMethodMatches ` | This is an array of regular expressions. When calling a method on a synchronous proxy, the method call will be performed asynchronously if the method name matches a string or regular expression in this array. Setting this value to `Async` will make any method that ends with Async be an asynchronous method call. If an async method doesn't match here and isn't forced to be asynchronous, the method will be invoked synchronously, blocking execution of the calling JavaScript and then returning the resolution of the promise, rather than returning a promise.
    +`ignoreMemberNotFoundError` | By default, an exception is thrown when attempting to get the value of a proxy property that doesn't exist on the corresponding native class. Setting this property to `true` switches the behavior to match Chakra WinRT projection (and general JavaScript) behavior of returning `undefined` with no error.
    +`shouldPassTypedArraysAsArrays` | By default, typed arrays are passed to the host as `IDispatch`. To instead pass typed arrays to the host as `array`, set this to `true`.
    + +

    + +

    Host object proxies additionally have the following methods which run locally. + +

    + +
    + Method name | Details
    + ---|---
    +`applyHostFunction`, `getHostProperty`, `setHostProperty` | Perform a method invocation, property get, or property set on the host object. Use the methods to explicitly force a method or property to run remotely if a conflicting local method or property exists.  For instance, `proxy.toString()` runs the local `toString` method on the proxy object. But proxy.applyHostFunction('toString') runs `toString` on the host proxied object instead.
    +`getLocalProperty`, `setLocalProperty` | Perform property get, or property set locally.  Use the methods to force getting or setting a property on the host object proxy rather than on the host object it represents. For instance, `proxy.unknownProperty` gets the property named `unknownProperty` from the host proxied object.  But proxy.getLocalProperty('unknownProperty') gets the value of the property `unknownProperty` on the proxy object.
    +`sync` | Asynchronous host object proxies expose a sync method which returns a promise for a synchronous host object proxy for the same host object.  For example, `chrome.webview.hostObjects.sample.methodCall()` returns an asynchronous host object proxy.  Use the `sync` method to obtain a synchronous host object proxy instead: `const syncProxy = await chrome.webview.hostObjects.sample.methodCall().sync()`.
    +`async` | Synchronous host object proxies expose an async method which blocks and returns an asynchronous host object proxy for the same host object.  For example, `chrome.webview.hostObjects.sync.sample.methodCall()` returns a synchronous host object proxy.  Running the `async` method on this blocks and then returns an asynchronous host object proxy for the same host object: `const asyncProxy = chrome.webview.hostObjects.sync.sample.methodCall().async()`.
    +`then` | Asynchronous host object proxies have a `then` method.  Allows proxies to be awaitable.  `then` returns a promise that resolves with a representation of the host object.  If the proxy represents a JavaScript literal, a copy of that is returned locally.  If the proxy represents a function, a non-awaitable proxy is returned.  If the proxy represents a JavaScript object with a mix of literal properties and function properties, the a copy of the object is returned with some properties as host object proxies.
    + +

    + +

    All other property and method invocations (other than the above Remote object proxy methods, `forceLocalProperties` list, and properties on Function and Object prototypes) are run remotely. Asynchronous host object proxies return a promise representing asynchronous completion of remotely invoking the method, or getting the property. The promise resolves after the remote operations complete and the promises resolve to the resulting value of the operation. Synchronous host object proxies work similarly, but block running JavaScript and wait for the remote operation to complete. + +

    Setting a property on an asynchronous host object proxy works slightly differently. The set returns immediately and the return value is the value that is set. This is a requirement of the JavaScript Proxy object. If you need to asynchronously wait for the property set to complete, use the `setHostProperty` method which returns a promise as described above. Synchronous object property set property synchronously blocks until the property is set. + +

    @@ -8575,6 +8803,31 @@

    Returns

    <see href="https://learn.microsoft.com/en-us/microsoft-edge/webview2/reference/win32/icorewebview2environment13#getprocessextendedinfos">See the ICoreWebView2Environment13 article.

    + + + + + + +
    Publicfunction ShowSaveAsUI: boolean;
    +

    + + +

    Programmatically trigger a Save As action for the currently loaded document. + +

    Opens a system modal dialog by default. If the `SuppressDefaultDialog` property is `TRUE`, the system dialog is not opened. + +

    This method returns `COREWEBVIEW2_SAVE_AS_UI_RESULT`. See `COREWEBVIEW2_SAVE_AS_UI_RESULT` for details. + +

    +

    + + +

    This function triggers the TWVBrowserBase.OnSaveAsUIShowing and TWVBrowserBase.OnShowSaveAsUICompleted events.

    +
    Returns
    +

    True if successfull.</return> + +

    <see href="https://learn.microsoft.com/en-us/microsoft-edge/webview2/reference/win32/icorewebview2_25#showsaveasui">See the ICoreWebView2_25 article.

    Properties

    @@ -11353,15 +11606,15 @@

    Properties

    If a deferral is not taken on the event args, the external URI scheme launch is blocked until the event handler returns. If a deferral is taken, the external URI scheme launch is blocked until the deferral is completed. The host also has the option to cancel the URI scheme launch. -

    The `NavigationStarting` and `NavigationCompleted` events will be raised, regardless of whether the `Cancel` property is set to `TRUE` or `FALSE`. The `NavigationCompleted` event will be raised with the `IsSuccess` property set to `FALSE` and the `WebErrorStatus` property set to `ConnectionAborted` regardless of whether the host sets the `Cancel` property on the `ICoreWebView2LaunchingExternalUriSchemeEventArgs`. The `SourceChanged`, `ContentLoading`, and `HistoryChanged` events will not be raised for this navigation to the external URI scheme regardless of the `Cancel` property. +

    The `OnNavigationStarting` and `OnNavigationCompleted` events will be raised, regardless of whether the `Cancel` property is set to `TRUE` or `FALSE`. The `OnNavigationCompleted` event will be raised with the `IsSuccess` property set to `FALSE` and the `WebErrorStatus` property set to `ConnectionAborted` regardless of whether the host sets the `Cancel` property on the `ICoreWebView2LaunchingExternalUriSchemeEventArgs`. The `OnSourceChanged`, `OnContentLoading`, and `OnHistoryChanged` events will not be raised for this navigation to the external URI scheme regardless of the `Cancel` property. -

    The `OnLaunchingExternalUriScheme` event will be raised after the `NavigationStarting` event and before the `NavigationCompleted` event. +

    The `OnLaunchingExternalUriScheme` event will be raised after the `OnNavigationStarting` event and before the `OnNavigationCompleted` event.

    The default `CoreWebView2Settings` will also be updated upon navigation to an external URI scheme. If a setting on the `CoreWebView2Settings` interface has been changed, navigating to an external URI scheme will trigger the `CoreWebView2Settings` to update.

    The WebView2 may not display the default dialog based on user settings, browser settings, and whether the origin is determined as a [trustworthy origin](https://w3c.github.io/webappsec-secure-contexts# potentially-trustworthy-origin); however, the event will still be raised. -

    If the request is initiated by a cross-origin frame without a user gesture, the request will be blocked and the `OnLaunchingExternalUriScheme` event will not be raised. A URI scheme may be blocked for safety reasons. In this case the `LaunchingExternalUriScheme` event will not be raised. The default dialog may show an "always allow" checkbox which allows the user to opt-in to relaxed security (i.e. skipping future default dialogs) for the combination of the URI scheme and the origin of the page initiating this external URI scheme launch. The checkbox is offered so long as the group policy to show the checkbox is not explicitly disabled and there is a trustworthy initiating origin. If the user has checked this box, future attempts to launch this URI scheme will still raise the event. +

    If the request is initiated by a cross-origin frame without a user gesture, the request will be blocked and the `OnLaunchingExternalUriScheme` event will not be raised.

    @@ -11482,6 +11735,68 @@

    Properties

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

    + + + + + + +
    Publicproperty OnNotificationReceived : TOnNotificationReceivedEvent read FOnNotificationReceived write FOnNotificationReceived;
    +

    + + +

    Event for non-persistent notifications. + +

    If a deferral is not taken on the event args, the subsequent scripts after the DOM notification creation call (i.e. `Notification()`) are blocked until the event handler returns. If a deferral is taken, the scripts are blocked until the deferral is completed. + +

    +

    + + +

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

    +
    + + + + + + +
    Publicproperty OnNotificationCloseRequested : TOnNotificationCloseRequestedEvent read FOnNotificationCloseRequested write FOnNotificationCloseRequested;
    +

    + This event is raised when the notification is closed by the web code, such as through `notification.close()`. You don't need to call `ReportClosed` since this is coming from the web code.

    +

    + + +

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

    +
    + + + + + + +
    Publicproperty OnSaveAsUIShowing : TOnSaveAsUIShowingEvent read FOnSaveAsUIShowing write FOnSaveAsUIShowing;
    +

    + This event is raised when save as is triggered, programmatically or manually.

    +

    + + +

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

    +
    + + + + + + +
    Publicproperty OnShowSaveAsUICompleted : TOnShowSaveAsUICompletedEvent read FOnShowSaveAsUICompleted write FOnShowSaveAsUICompleted;
    +

    + This event receives the result of the `ShowSaveAsUI` method.

    +

    + + +

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

    +

    Generated by PasDoc 0.16.0-snapshot. diff --git a/docs/html/uWVConstants.html b/docs/html/uWVConstants.html index 318b6c8..8d3ae7d 100644 --- a/docs/html/uWVConstants.html +++ b/docs/html/uWVConstants.html @@ -22,13 +22,13 @@

    Unit uWVConstants

    WEBVIEW2LOADERLIB_VERSION_MINOR = 0; -WEBVIEW2LOADERLIB_VERSION_RELEASE = 2651; +WEBVIEW2LOADERLIB_VERSION_RELEASE = 2739; -WEBVIEW2LOADERLIB_VERSION_BUILD = 64; +WEBVIEW2LOADERLIB_VERSION_BUILD = 15; -CHROMIUM_VERSION_MAJOR = 127; +CHROMIUM_VERSION_MAJOR = 128; CHROMIUM_VERSION_MINOR = 0; @@ -228,21 +228,21 @@

    Constants

    - +
    WEBVIEW2LOADERLIB_VERSION_RELEASE = 2651;WEBVIEW2LOADERLIB_VERSION_RELEASE = 2739;

    This item has no description.

    - +
    WEBVIEW2LOADERLIB_VERSION_BUILD = 64;WEBVIEW2LOADERLIB_VERSION_BUILD = 15;

    This item has no description.

    - + + + + + + + + + @@ -237,6 +245,14 @@

    Description

    + + + + + + + + @@ -487,6 +503,14 @@

    Description

    + + + + + + + + @@ -658,6 +682,10 @@

    Description

    + + + +
    CHROMIUM_VERSION_MAJOR = 127;CHROMIUM_VERSION_MAJOR = 128;

    diff --git a/docs/html/uWVCoreWebView2.TCoreWebView2.html b/docs/html/uWVCoreWebView2.TCoreWebView2.html index d527742..8aadeec 100644 --- a/docs/html/uWVCoreWebView2.TCoreWebView2.html +++ b/docs/html/uWVCoreWebView2.TCoreWebView2.html @@ -117,6 +117,14 @@

    Description

    ProtectedFBaseIntf24: ICoreWebView2_24;
    ProtectedFBaseIntf25: ICoreWebView2_25;
    Protected FContainsFullScreenElementChangedToken: EventRegistrationToken;
    ProtectedFNotificationReceivedToken: EventRegistrationToken;
    ProtectedFSaveAsUIShowingToken: EventRegistrationToken;
    Protected FFrameIDCopy: cardinal;
    function AddLaunchingExternalUriScheme(const aBrowserComponent : TComponent) : boolean;
    Protectedfunction AddNotificationReceived(const aBrowserComponent : TComponent) : boolean;
    Protectedfunction AddSaveAsUIShowing(const aBrowserComponent : TComponent) : boolean;
    Public constructor Create(const aBaseIntf : ICoreWebView2); reintroduce;
    Public function PostWebMessageAsJsonWithAdditionalObjects(const webMessageAsJson: wvstring; const additionalObjects: ICoreWebView2ObjectCollectionView): boolean;
    Publicfunction ShowSaveAsUI(const aBrowserComponent : TComponent) : boolean;

    Properties

    @@ -939,6 +967,22 @@

    Fields

    + + + +
    ProtectedFBaseIntf24: ICoreWebView2_24;
    +

    This item has no description.

    + + + + + + +
    ProtectedFBaseIntf25: ICoreWebView2_25;
    +

    This item has no description.

    + + + + + + + + + + +
    Protected FContainsFullScreenElementChangedToken: EventRegistrationToken;
    @@ -1179,6 +1223,22 @@

    Fields

    + + + +
    ProtectedFNotificationReceivedToken: EventRegistrationToken;
    +

    This item has no description.

    + + + + + + +
    ProtectedFSaveAsUIShowingToken: EventRegistrationToken;
    +

    This item has no description.

    + + +
    Protected FFrameIDCopy: cardinal;
    @@ -1675,6 +1735,22 @@

    Methods

    + + + + +
    Protectedfunction AddNotificationReceived(const aBrowserComponent : TComponent) : boolean;
    +

    This item has no description.

    + + + + + + +
    Protectedfunction AddSaveAsUIShowing(const aBrowserComponent : TComponent) : boolean;
    +

    This item has no description.

    + + @@ -2110,9 +2186,15 @@
    Parameters
    Public constructor Create(const aBaseIntf : ICoreWebView2); reintroduce;

    - 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 promises and resolves to an object representing the host object. The promise is rejected if the app has not added an object with the name. When JavaScript code access a property or method of the object, a promise is return, which resolves to the value returned from the host for the property or method, or rejected in case of error, for example, no property or method on the object or parameters are not valid. -

    NOTE: While simple types, `IDispatch` and array are supported, and `IUnknown` objects that also implement `IDispatch` are treated as `IDispatch`, generic `IUnknown`, `VT_DECIMAL`, or `VT_RECORD` variant is not supported. Remote JavaScript objects like callback functions are represented as an `VT_DISPATCH` `VARIANT` with the object implementing `IDispatch`. The JavaScript callback method may be invoked using `DISPID_VALUE` for the `DISPID`. Such callback method invocations will return immediately and will not wait for the JavaScript function to run and so will not provide the return value of the JavaScript function. Nested arrays are supported up to a depth of 3. Arrays of by reference types are not supported. `VT_EMPTY` and `VT_NULL` are mapped into JavaScript as `null`. In JavaScript, `null` and undefined are mapped to `VT_EMPTY`. + +

    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 promises and resolves to an object representing the host object. The promise is rejected if the app has not added an object with the name. + +

    When JavaScript code access a property or method of the object, a promise is return, which resolves to the value returned from the host for the property or method, or rejected in case of error, for example, no property or method on the object or parameters are not valid. + +

    NOTE: While simple types, `IDispatch` and array are supported, and `IUnknown` objects that also implement `IDispatch` are treated as `IDispatch`, generic `IUnknown`, `VT_DECIMAL`, or `VT_RECORD` variant is not supported. Remote JavaScript objects like callback functions are represented as an `VT_DISPATCH` `VARIANT` with the object implementing `IDispatch`. The JavaScript callback method may be invoked using `DISPID_VALUE` for the `DISPID`. Such callback method invocations will return immediately and will not wait for the JavaScript function to run and so will not provide the return value of the JavaScript function. + +

    Nested arrays are supported up to a depth of 3. Arrays of by reference types are not supported. `VT_EMPTY` and `VT_NULL` are mapped into JavaScript as `null`. In JavaScript, `null` and undefined are mapped to `VT_EMPTY`.

    Additionally, all host objects are exposed as `window.chrome.webview.hostObjects.sync.{name}`. Here the host objects are exposed as synchronous host object proxies. These are not promises and function runtimes or property access synchronously block running script waiting to communicate cross process for the host code to run. Accordingly the result may have reliability issues and it is recommended that you use the promise-based asynchronous `window.chrome.webview.hostObjects.{name}` API. @@ -2124,7 +2206,9 @@

    Parameters

    The `chrome.webview.hostObjects.cleanupSome` method performs a best effort garbage collection on host object proxies. -

    The `chrome.webview.hostObjects.options` object provides the ability to change some functionality of host objects.

    +

    The `chrome.webview.hostObjects.options` object provides the ability to change some functionality of host objects. + +

     Options property | Details
    @@ -2135,9 +2219,13 @@ 
    Parameters
    `defaultSyncProxy` | When calling a method on a synchronous proxy, the result should also be a synchronous proxy. But in some cases, the sync/async context is lost (for example, when providing to native code a reference to a function, and then calling that function in native code). In these cases, the proxy will be asynchronous, unless this property is set. `forceAsyncMethodMatches ` | This is an array of regular expressions. When calling a method on a synchronous proxy, the method call will be performed asynchronously if the method name matches a string or regular expression in this array. Setting this value to `Async` will make any method that ends with Async be an asynchronous method call. If an async method doesn't match here and isn't forced to be asynchronous, the method will be invoked synchronously, blocking execution of the calling JavaScript and then returning the resolution of the promise, rather than returning a promise. `ignoreMemberNotFoundError` | By default, an exception is thrown when attempting to get the value of a proxy property that doesn't exist on the corresponding native class. Setting this property to `true` switches the behavior to match Chakra WinRT projection (and general JavaScript) behavior of returning `undefined` with no error. -`shouldPassTypedArraysAsArrays` | By default, typed arrays will be passed to host as IDispatch. Otherwise, set to true to pass typed arrays to host as array.
    +`shouldPassTypedArraysAsArrays` | By default, typed arrays are passed to the host as `IDispatch`. To instead pass typed arrays to the host as `array`, set this to `true`. -

    Host object proxies additionally have the following methods which run locally.

    +

    + +

    Host object proxies additionally have the following methods which run locally. + +

      Method name | Details
    @@ -2148,9 +2236,13 @@ 
    Parameters
    `async` | Synchronous host object proxies expose an async method which blocks and returns an asynchronous host object proxy for the same host object. For example, `chrome.webview.hostObjects.sync.sample.methodCall()` returns a synchronous host object proxy. Running the `async` method on this blocks and then returns an asynchronous host object proxy for the same host object: `const asyncProxy = chrome.webview.hostObjects.sync.sample.methodCall().async()`. `then` | Asynchronous host object proxies have a `then` method. Allows proxies to be awaitable. `then` returns a promise that resolves with a representation of the host object. If the proxy represents a JavaScript literal, a copy of that is returned locally. If the proxy represents a function, a non-awaitable proxy is returned. If the proxy represents a JavaScript object with a mix of literal properties and function properties, the a copy of the object is returned with some properties as host object proxies.
    -

    All other property and method invocations (other than the above Remote object proxy methods, `forceLocalProperties` list, and properties on Function and Object prototypes) are run remotely. Asynchronous host object proxies return a promise representing asynchronous completion of remotely invoking the method, or getting the property. The promise resolves after the remote operations complete and the promises resolve to the resulting value of the operation. Synchronous host object proxies work similarly, but block running JavaScript and wait for the remote operation to complete. +

    + +

    All other property and method invocations (other than the above Remote object proxy methods, `forceLocalProperties` list, and properties on Function and Object prototypes) are run remotely. Asynchronous host object proxies return a promise representing asynchronous completion of remotely invoking the method, or getting the property. The promise resolves after the remote operations complete and the promises resolve to the resulting value of the operation. Synchronous host object proxies work similarly, but block running JavaScript and wait for the remote operation to complete. -

    Setting a property on an asynchronous host object proxy works slightly differently. The set returns immediately and the return value is the value that is set. This is a requirement of the JavaScript Proxy object. If you need to asynchronously wait for the property set to complete, use the `setHostProperty` method which returns a promise as described above. Synchronous object property set property synchronously blocks until the property is set.

    +

    Setting a property on an asynchronous host object proxy works slightly differently. The set returns immediately and the return value is the value that is set. This is a requirement of the JavaScript Proxy object. If you need to asynchronously wait for the property set to complete, use the `setHostProperty` method which returns a promise as described above. Synchronous object property set property synchronously blocks until the property is set. + +

    @@ -2397,6 +2489,26 @@
    Parameters

    Warning: An app needs to be mindful when using this API to post DOM objects as this API provides the web content with unusual access to sensitive Web Platform features such as filesystem access! Similar to PostWebMessageAsJson the app should check the `Source` property of WebView2 right before posting the message to ensure the message and objects will only be sent to the target web content that it expects to receive the DOM objects. Additionally, the order of messages that are posted between `PostWebMessageAsJson` and `PostWebMessageAsJsonWithAdditionalObjects` may not be preserved. +

    + +
    + + + + + +
    Publicfunction ShowSaveAsUI(const aBrowserComponent : TComponent) : boolean;
    +

    + + +

    Programmatically trigger a Save As action for the currently loaded document. + +

    The `SaveAsUIShowing` event is raised. + +

    Opens a system modal dialog by default. If the `SuppressDefaultDialog` property is `TRUE`, the system dialog is not opened. + +

    This method returns `COREWEBVIEW2_SAVE_AS_UI_RESULT`. See `COREWEBVIEW2_SAVE_AS_UI_RESULT` for details. +

    diff --git a/docs/html/uWVCoreWebView2Args.TCoreWebView2NotificationReceivedEventArgs.html b/docs/html/uWVCoreWebView2Args.TCoreWebView2NotificationReceivedEventArgs.html new file mode 100644 index 0000000..8eb4515 --- /dev/null +++ b/docs/html/uWVCoreWebView2Args.TCoreWebView2NotificationReceivedEventArgs.html @@ -0,0 +1,243 @@ + + + +WebView4Delphi: uWVCoreWebView2Args: Class TCoreWebView2NotificationReceivedEventArgs + + + + + + +

    Class TCoreWebView2NotificationReceivedEventArgs

    + +

    Unit

    + +

    Declaration

    +

    +type TCoreWebView2NotificationReceivedEventArgs = class(TObject)

    +

    Description

    +

    + Event args for the `NotificationReceived` event.

    +

    + + +

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

    +

    Hierarchy

    +
    • TObject
    • +
    • TCoreWebView2NotificationReceivedEventArgs

    Overview

    +

    Fields

    + + + + + +
    ProtectedFBaseIntf: ICoreWebView2NotificationReceivedEventArgs;
    +

    Methods

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Protectedfunction GetInitialized: boolean;
    Protectedfunction GetSenderOrigin: wvstring;
    Protectedfunction GetNotification: ICoreWebView2Notification;
    Protectedfunction GetHandled: boolean;
    Protectedfunction GetDeferral: ICoreWebView2Deferral;
    Protectedprocedure SetHandled(aValue: boolean);
    Publicconstructor Create(const aArgs: ICoreWebView2NotificationReceivedEventArgs); reintroduce;
    Publicdestructor Destroy; override;
    +

    Properties

    + + + + + + + + + + + + + + + + + + + + + + + + + +
    Publicproperty Initialized : boolean read GetInitialized;
    Publicproperty BaseIntf : ICoreWebView2NotificationReceivedEventArgs read FBaseIntf;
    Publicproperty SenderOrigin : wvstring read GetSenderOrigin;
    Publicproperty Notification : ICoreWebView2Notification read GetNotification;
    Publicproperty Handled : boolean read GetHandled write SetHandled;
    Publicproperty Deferral : ICoreWebView2Deferral read GetDeferral;
    +

    Description

    +

    Fields

    + + + + + + +
    ProtectedFBaseIntf: ICoreWebView2NotificationReceivedEventArgs;
    +

    This item has no description.

    +

    Methods

    + + + + + + +
    Protectedfunction GetInitialized: boolean;
    +

    This item has no description.

    + + + + + + +
    Protectedfunction GetSenderOrigin: wvstring;
    +

    This item has no description.

    + + + + + + +
    Protectedfunction GetNotification: ICoreWebView2Notification;
    +

    This item has no description.

    + + + + + + +
    Protectedfunction GetHandled: boolean;
    +

    This item has no description.

    + + + + + + +
    Protectedfunction GetDeferral: ICoreWebView2Deferral;
    +

    This item has no description.

    + + + + + + +
    Protectedprocedure SetHandled(aValue: boolean);
    +

    This item has no description.

    + + + + + + +
    Publicconstructor Create(const aArgs: ICoreWebView2NotificationReceivedEventArgs); reintroduce;
    +

    This item has no description.

    + + + + + + +
    Publicdestructor Destroy; override;
    +

    This item has no description.

    +

    Properties

    + + + + + + +
    Publicproperty Initialized : boolean read GetInitialized;
    +

    + Returns true when the interface implemented by this class is fully initialized.

    +
    + + + + + + +
    Publicproperty BaseIntf : ICoreWebView2NotificationReceivedEventArgs read FBaseIntf;
    +

    + Returns the interface implemented by this class.

    +
    + + + + + + +
    Publicproperty SenderOrigin : wvstring read GetSenderOrigin;
    +

    + The origin of the web content that sends the notification, such as `https://example.com/` or `https://www.example.com/`.

    +
    + + + + + + +
    Publicproperty Notification : ICoreWebView2Notification read GetNotification;
    +

    + The notification that was received. You can access the properties on the Notification object to show your own notification.

    +
    + + + + + + +
    Publicproperty Handled : boolean read GetHandled write SetHandled;
    +

    + + +

    Sets whether the `NotificationReceived` event is handled by the host after the event handler completes or if there is a deferral then after the deferral is completed. + +

    If `Handled` is set to TRUE then WebView will not display the notification with the default UI, and the host will be responsible for handling the notification and for letting the web content know that the notification has been displayed, clicked, or closed. You must set `Handled` to `TRUE` before you call `ReportShown`, `ReportClicked`, `ReportClickedWithActionIndex` and `ReportClosed`, otherwise they will fail with `HRESULT_FROM_WIN32(ERROR_INVALID_STATE)`. If after the event handler or deferral completes `Handled` is set to FALSE then WebView will display the default notification UI. Note that you cannot un-handle this event once you have set `Handled` to be `TRUE`. The initial value is FALSE. + +

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

    + Returns an `ICoreWebView2Deferral` object. Use this operation to complete the event at a later time.

    +
    +
    Generated by PasDoc 0.16.0-snapshot. + + diff --git a/docs/html/uWVCoreWebView2Args.TCoreWebView2SaveAsUIShowingEventArgs.html b/docs/html/uWVCoreWebView2Args.TCoreWebView2SaveAsUIShowingEventArgs.html new file mode 100644 index 0000000..fd5190f --- /dev/null +++ b/docs/html/uWVCoreWebView2Args.TCoreWebView2SaveAsUIShowingEventArgs.html @@ -0,0 +1,397 @@ + + + +WebView4Delphi: uWVCoreWebView2Args: Class TCoreWebView2SaveAsUIShowingEventArgs + + + + + + +

    Class TCoreWebView2SaveAsUIShowingEventArgs

    + +

    Unit

    + +

    Declaration

    +

    +type TCoreWebView2SaveAsUIShowingEventArgs = class(TObject)

    +

    Description

    +

    + The event args for `SaveAsUIShowing` event.

    +

    + + +

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

    +

    Hierarchy

    +
    • TObject
    • +
    • TCoreWebView2SaveAsUIShowingEventArgs

    Overview

    +

    Fields

    + + + + + +
    ProtectedFBaseIntf: ICoreWebView2SaveAsUIShowingEventArgs;
    +

    Methods

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Protectedfunction GetInitialized: boolean;
    Protectedfunction GetContentMimeType: wvstring;
    Protectedfunction GetCancel: boolean;
    Protectedfunction GetSuppressDefaultDialog: boolean;
    Protectedfunction GetDeferral: ICoreWebView2Deferral;
    Protectedfunction GetSaveAsFilePath: wvstring;
    Protectedfunction GetAllowReplace: boolean;
    Protectedfunction GetKind: TWVSaveAsKind;
    Protectedprocedure SetCancel(aValue : boolean);
    Protectedprocedure SetSuppressDefaultDialog(aValue : boolean);
    Protectedprocedure SetSaveAsFilePath(const aValue : wvstring);
    Protectedprocedure SetAllowReplace(aValue : boolean);
    Protectedprocedure SetKind(aValue : TWVSaveAsKind);
    Publicconstructor Create(const aArgs: ICoreWebView2SaveAsUIShowingEventArgs); reintroduce;
    Publicdestructor Destroy; override;
    +

    Properties

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Publicproperty Initialized : boolean read GetInitialized;
    Publicproperty BaseIntf : ICoreWebView2SaveAsUIShowingEventArgs read FBaseIntf;
    Publicproperty ContentMimeType : wvstring read GetContentMimeType;
    Publicproperty Cancel : boolean read GetCancel write SetCancel;
    Publicproperty SuppressDefaultDialog : boolean read GetSuppressDefaultDialog write SetSuppressDefaultDialog;
    Publicproperty Deferral : ICoreWebView2Deferral read GetDeferral;
    Publicproperty SaveAsFilePath : wvstring read GetSaveAsFilePath write SetSaveAsFilePath;
    Publicproperty AllowReplace : boolean read GetAllowReplace write SetAllowReplace;
    Publicproperty Kind : TWVSaveAsKind read GetKind write SetKind;
    +

    Description

    +

    Fields

    + + + + + + +
    ProtectedFBaseIntf: ICoreWebView2SaveAsUIShowingEventArgs;
    +

    This item has no description.

    +

    Methods

    + + + + + + +
    Protectedfunction GetInitialized: boolean;
    +

    This item has no description.

    + + + + + + +
    Protectedfunction GetContentMimeType: wvstring;
    +

    This item has no description.

    + + + + + + +
    Protectedfunction GetCancel: boolean;
    +

    This item has no description.

    + + + + + + +
    Protectedfunction GetSuppressDefaultDialog: boolean;
    +

    This item has no description.

    + + + + + + +
    Protectedfunction GetDeferral: ICoreWebView2Deferral;
    +

    This item has no description.

    + + + + + + +
    Protectedfunction GetSaveAsFilePath: wvstring;
    +

    This item has no description.

    + + + + + + +
    Protectedfunction GetAllowReplace: boolean;
    +

    This item has no description.

    + + + + + + +
    Protectedfunction GetKind: TWVSaveAsKind;
    +

    This item has no description.

    + + + + + + +
    Protectedprocedure SetCancel(aValue : boolean);
    +

    This item has no description.

    + + + + + + +
    Protectedprocedure SetSuppressDefaultDialog(aValue : boolean);
    +

    This item has no description.

    + + + + + + +
    Protectedprocedure SetSaveAsFilePath(const aValue : wvstring);
    +

    This item has no description.

    + + + + + + +
    Protectedprocedure SetAllowReplace(aValue : boolean);
    +

    This item has no description.

    + + + + + + +
    Protectedprocedure SetKind(aValue : TWVSaveAsKind);
    +

    This item has no description.

    + + + + + + +
    Publicconstructor Create(const aArgs: ICoreWebView2SaveAsUIShowingEventArgs); reintroduce;
    +

    This item has no description.

    + + + + + + +
    Publicdestructor Destroy; override;
    +

    This item has no description.

    +

    Properties

    + + + + + + +
    Publicproperty Initialized : boolean read GetInitialized;
    +

    + Returns true when the interface implemented by this class is fully initialized.

    +
    + + + + + + +
    Publicproperty BaseIntf : ICoreWebView2SaveAsUIShowingEventArgs read FBaseIntf;
    +

    + Returns the interface implemented by this class.

    +
    + + + + + + +
    Publicproperty ContentMimeType : wvstring read GetContentMimeType;
    +

    + Get the Mime type of content to be saved.

    +
    + + + + + + +
    Publicproperty Cancel : boolean read GetCancel write SetCancel;
    +

    + Sets the `Cancel` property. Set this property to `TRUE` to cancel the Save As action and prevent the download from starting. ShowSaveAsUI returns `COREWEBVIEW2_SAVE_AS_UI_RESULT_CANCELLED` in this case. The default value is `FALSE`.

    +
    + + + + + + +
    Publicproperty SuppressDefaultDialog : boolean read GetSuppressDefaultDialog write SetSuppressDefaultDialog;
    +

    + + +

    Sets the `SuppressDefaultDialog` property, which indicates whether the system default dialog is suppressed. When `SuppressDefaultDialog` is `FALSE`, the default Save As dialog is shown and the values assigned through `SaveAsFilePath`, `AllowReplace` and `Kind` are ignored when the event args invoke completed. + +

    Set `SuppressDefaultDialog` to `TRUE` to perform a silent Save As. When `SuppressDefaultDialog` is `TRUE`, the system dialog is skipped and the `SaveAsFilePath`, `AllowReplace` and `Kind` values are used. + +

    The default value is FALSE. + +

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

    + Returns an `ICoreWebView2Deferral` object. This will defer showing the default Save As dialog and performing the Save As operation.

    +
    + + + + + + +
    Publicproperty SaveAsFilePath : wvstring read GetSaveAsFilePath write SetSaveAsFilePath;
    +

    + + +

    Set the `SaveAsFilePath` property for Save As. `SaveAsFilePath` is an absolute path of the location. It includes the file name and extension. If `SaveAsFilePath` is not valid (for example, the root drive does not exist), Save As is denied and `COREWEBVIEW2_SAVE_AS_INVALID_PATH` is returned. + +

    If the associated download completes successfully, a target file is saved at this location. If the Kind property is `COREWEBVIEW2_SAVE_AS_KIND_COMPLETE`, there will be an additional directory with resources files. + +

    The default value is a system suggested path, based on users' local environment. + +

    +
    + + + + + + +
    Publicproperty AllowReplace : boolean read GetAllowReplace write SetAllowReplace;
    +

    + + +

    `AllowReplace` allows user to control what happens when a file already exists in the file path to which the Save As operation is saving. + +

    Setting this property to `TRUE` allows existing files to be replaced. + +

    Setting this property to `FALSE` will not replace existing files and will return `COREWEBVIEW2_SAVE_AS_UI_RESULT_FILE_ALREADY_EXISTS`. + +

    The default value is `FALSE`. + +

    +
    + + + + + + +
    Publicproperty Kind : TWVSaveAsKind read GetKind write SetKind;
    +

    + + +

    Sets the `Kind` property to save documents of different kinds. See the `COREWEBVIEW2_SAVE_AS_KIND` enum for a description of the different options. + +

    If the kind is not allowed for the current document, ShowSaveAsUI returns `COREWEBVIEW2_SAVE_AS_UI_RESULT_KIND_NOT_SUPPORTED`. + +

    The default value is `COREWEBVIEW2_SAVE_AS_KIND_DEFAULT`. + +

    +
    +
    Generated by PasDoc 0.16.0-snapshot. + + diff --git a/docs/html/uWVCoreWebView2Args.html b/docs/html/uWVCoreWebView2Args.html index 3f46b5a..316d2df 100644 --- a/docs/html/uWVCoreWebView2Args.html +++ b/docs/html/uWVCoreWebView2Args.html @@ -115,6 +115,14 @@

    Unit uWVCoreWebView2Args

    Class TCoreWebView2NonClientRegionChangedEventArgs This is the Interface for non-client region change event args.
    Class TCoreWebView2NotificationReceivedEventArgs Event args for the `NotificationReceived` event.
    Class TCoreWebView2SaveAsUIShowingEventArgs The event args for `SaveAsUIShowing` event.

    Generated by PasDoc 0.16.0-snapshot. diff --git a/docs/html/uWVCoreWebView2Delegates.TCoreWebView2NonClientRegionChangedEventHandler.html b/docs/html/uWVCoreWebView2Delegates.TCoreWebView2NonClientRegionChangedEventHandler.html index dec798c..4180830 100644 --- a/docs/html/uWVCoreWebView2Delegates.TCoreWebView2NonClientRegionChangedEventHandler.html +++ b/docs/html/uWVCoreWebView2Delegates.TCoreWebView2NonClientRegionChangedEventHandler.html @@ -19,7 +19,7 @@

    Declaration

    type TCoreWebView2NonClientRegionChangedEventHandler = class(TInterfacedObject, ICoreWebView2NonClientRegionChangedEventHandler)

    Description

    - This is the Interface of the event handler for the non-client region changed event.

    + Receives `NonClientRegionChanged` events. event.

    diff --git a/docs/html/uWVCoreWebView2Delegates.TCoreWebView2NotificationCloseRequestedEventHandler.html b/docs/html/uWVCoreWebView2Delegates.TCoreWebView2NotificationCloseRequestedEventHandler.html new file mode 100644 index 0000000..fa5d228 --- /dev/null +++ b/docs/html/uWVCoreWebView2Delegates.TCoreWebView2NotificationCloseRequestedEventHandler.html @@ -0,0 +1,91 @@ + + + +WebView4Delphi: uWVCoreWebView2Delegates: Class TCoreWebView2NotificationCloseRequestedEventHandler + + + + + + +

    Class TCoreWebView2NotificationCloseRequestedEventHandler

    +
    +
    Properties
    +

    Unit

    + +

    Declaration

    +

    +type TCoreWebView2NotificationCloseRequestedEventHandler = class(TInterfacedObject, ICoreWebView2NotificationCloseRequestedEventHandler)

    +

    Description

    +

    + Receives `CloseRequested` events.

    +

    + + +

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

    +

    Hierarchy

    +

    Overview

    +

    Fields

    + + + + + +
    ProtectedFEvents: Pointer;
    +

    Methods

    + + + + + + + + + + + + + +
    Protectedfunction Invoke(const sender: ICoreWebView2Notification; const args: IUnknown): HResult; stdcall;
    Publicconstructor Create(const aEvents: IWVBrowserEvents); reintroduce;
    Publicdestructor Destroy; override;
    +

    Description

    +

    Fields

    + + + + + + +
    ProtectedFEvents: Pointer;
    +

    This item has no description.

    +

    Methods

    + + + + + + +
    Protectedfunction Invoke(const sender: ICoreWebView2Notification; const args: IUnknown): HResult; stdcall;
    +

    This item has no description. Showing description inherited from ICoreWebView2NotificationCloseRequestedEventHandler.Invoke.

    + Provides the event args for the corresponding event.

    +
    + + + + + + +
    Publicconstructor Create(const aEvents: IWVBrowserEvents); reintroduce;
    +

    This item has no description.

    + + + + + + +
    Publicdestructor Destroy; override;
    +

    This item has no description.

    +
    Generated by PasDoc 0.16.0-snapshot. + + diff --git a/docs/html/uWVCoreWebView2Delegates.TCoreWebView2NotificationReceivedEventHandler.html b/docs/html/uWVCoreWebView2Delegates.TCoreWebView2NotificationReceivedEventHandler.html new file mode 100644 index 0000000..1c4cc82 --- /dev/null +++ b/docs/html/uWVCoreWebView2Delegates.TCoreWebView2NotificationReceivedEventHandler.html @@ -0,0 +1,91 @@ + + + +WebView4Delphi: uWVCoreWebView2Delegates: Class TCoreWebView2NotificationReceivedEventHandler + + + + + + +

    Class TCoreWebView2NotificationReceivedEventHandler

    +
    +
    Properties
    +

    Unit

    + +

    Declaration

    +

    +type TCoreWebView2NotificationReceivedEventHandler = class(TInterfacedObject, ICoreWebView2NotificationReceivedEventHandler)

    +

    Description

    +

    + Receives `NotificationReceived` events.

    +

    + + +

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

    +

    Hierarchy

    +

    Overview

    +

    Fields

    + + + + + +
    ProtectedFEvents: Pointer;
    +

    Methods

    + + + + + + + + + + + + + +
    Protectedfunction Invoke(const sender: ICoreWebView2; const args: ICoreWebView2NotificationReceivedEventArgs): HResult; stdcall;
    Publicconstructor Create(const aEvents: IWVBrowserEvents); reintroduce;
    Publicdestructor Destroy; override;
    +

    Description

    +

    Fields

    + + + + + + +
    ProtectedFEvents: Pointer;
    +

    This item has no description.

    +

    Methods

    + + + + + + +
    Protectedfunction Invoke(const sender: ICoreWebView2; const args: ICoreWebView2NotificationReceivedEventArgs): HResult; stdcall;
    +

    This item has no description. Showing description inherited from ICoreWebView2NotificationReceivedEventHandler.Invoke.

    + Provides the event args for the corresponding event.

    +
    + + + + + + +
    Publicconstructor Create(const aEvents: IWVBrowserEvents); reintroduce;
    +

    This item has no description.

    + + + + + + +
    Publicdestructor Destroy; override;
    +

    This item has no description.

    +
    Generated by PasDoc 0.16.0-snapshot. + + diff --git a/docs/html/uWVCoreWebView2Delegates.TCoreWebView2SaveAsUIShowingEventHandler.html b/docs/html/uWVCoreWebView2Delegates.TCoreWebView2SaveAsUIShowingEventHandler.html new file mode 100644 index 0000000..411f8ab --- /dev/null +++ b/docs/html/uWVCoreWebView2Delegates.TCoreWebView2SaveAsUIShowingEventHandler.html @@ -0,0 +1,91 @@ + + + +WebView4Delphi: uWVCoreWebView2Delegates: Class TCoreWebView2SaveAsUIShowingEventHandler + + + + + + +

    Class TCoreWebView2SaveAsUIShowingEventHandler

    +
    +
    Properties
    +

    Unit

    + +

    Declaration

    +

    +type TCoreWebView2SaveAsUIShowingEventHandler = class(TInterfacedObject, ICoreWebView2SaveAsUIShowingEventHandler)

    +

    Description

    +

    + Receives `SaveAsUIShowing` events.

    +

    + + +

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

    +

    Hierarchy

    +

    Overview

    +

    Fields

    + + + + + +
    ProtectedFEvents: Pointer;
    +

    Methods

    + + + + + + + + + + + + + +
    Protectedfunction Invoke(const sender: ICoreWebView2; const args: ICoreWebView2SaveAsUIShowingEventArgs): HResult; stdcall;
    Publicconstructor Create(const aEvents: IWVBrowserEvents); reintroduce;
    Publicdestructor Destroy; override;
    +

    Description

    +

    Fields

    + + + + + + +
    ProtectedFEvents: Pointer;
    +

    This item has no description.

    +

    Methods

    + + + + + + +
    Protectedfunction Invoke(const sender: ICoreWebView2; const args: ICoreWebView2SaveAsUIShowingEventArgs): HResult; stdcall;
    +

    This item has no description. Showing description inherited from ICoreWebView2SaveAsUIShowingEventHandler.Invoke.

    + Provides the event args for the corresponding event.

    +
    + + + + + + +
    Publicconstructor Create(const aEvents: IWVBrowserEvents); reintroduce;
    +

    This item has no description.

    + + + + + + +
    Publicdestructor Destroy; override;
    +

    This item has no description.

    +
    Generated by PasDoc 0.16.0-snapshot. + + diff --git a/docs/html/uWVCoreWebView2Delegates.TCoreWebView2ShowSaveAsUICompletedHandler.html b/docs/html/uWVCoreWebView2Delegates.TCoreWebView2ShowSaveAsUICompletedHandler.html new file mode 100644 index 0000000..6c38a56 --- /dev/null +++ b/docs/html/uWVCoreWebView2Delegates.TCoreWebView2ShowSaveAsUICompletedHandler.html @@ -0,0 +1,91 @@ + + + +WebView4Delphi: uWVCoreWebView2Delegates: Class TCoreWebView2ShowSaveAsUICompletedHandler + + + + + + +

    Class TCoreWebView2ShowSaveAsUICompletedHandler

    +
    +
    Properties
    +

    Unit

    + +

    Declaration

    +

    +type TCoreWebView2ShowSaveAsUICompletedHandler = class(TInterfacedObject, ICoreWebView2ShowSaveAsUICompletedHandler)

    +

    Description

    +

    + Receives the result of the `ShowSaveAsUI` method.

    +

    + + +

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

    +

    Hierarchy

    +

    Overview

    +

    Fields

    + + + + + +
    ProtectedFEvents: Pointer;
    +

    Methods

    + + + + + + + + + + + + + +
    Protectedfunction Invoke(errorCode: HResult; result_: COREWEBVIEW2_SAVE_AS_UI_RESULT): HResult; stdcall;
    Publicconstructor Create(const aEvents: IWVBrowserEvents); reintroduce;
    Publicdestructor Destroy; override;
    +

    Description

    +

    Fields

    + + + + + + +
    ProtectedFEvents: Pointer;
    +

    This item has no description.

    +

    Methods

    + + + + + + +
    Protectedfunction Invoke(errorCode: HResult; result_: COREWEBVIEW2_SAVE_AS_UI_RESULT): HResult; stdcall;
    +

    This item has no description. Showing description inherited from ICoreWebView2ShowSaveAsUICompletedHandler.Invoke.

    + Provides the result of the corresponding asynchronous method.

    +
    + + + + + + +
    Publicconstructor Create(const aEvents: IWVBrowserEvents); reintroduce;
    +

    This item has no description.

    + + + + + + +
    Publicdestructor Destroy; override;
    +

    This item has no description.

    +
    Generated by PasDoc 0.16.0-snapshot. + + diff --git a/docs/html/uWVCoreWebView2Delegates.html b/docs/html/uWVCoreWebView2Delegates.html index 7bb9159..7ff4289 100644 --- a/docs/html/uWVCoreWebView2Delegates.html +++ b/docs/html/uWVCoreWebView2Delegates.html @@ -333,7 +333,23 @@

    Unit uWVCoreWebView2Delegates

    Class TCoreWebView2NonClientRegionChangedEventHandler - This is the Interface of the event handler for the non-client region changed event. + Receives `NonClientRegionChanged` events. event. + + +Class TCoreWebView2NotificationReceivedEventHandler + Receives `NotificationReceived` events. + + +Class TCoreWebView2NotificationCloseRequestedEventHandler + Receives `CloseRequested` events. + + +Class TCoreWebView2SaveAsUIShowingEventHandler + Receives `SaveAsUIShowing` events. + + +Class TCoreWebView2ShowSaveAsUICompletedHandler + Receives the result of the `ShowSaveAsUI` method.
    Generated by PasDoc 0.16.0-snapshot. diff --git a/docs/html/uWVCoreWebView2Frame.TCoreWebView2Frame.html b/docs/html/uWVCoreWebView2Frame.TCoreWebView2Frame.html index 82f09b4..790a908 100644 --- a/docs/html/uWVCoreWebView2Frame.TCoreWebView2Frame.html +++ b/docs/html/uWVCoreWebView2Frame.TCoreWebView2Frame.html @@ -452,15 +452,11 @@

    Methods

    Constructor of the ICoreWebView2Frame wrapper.

    - - -

    +

    Parameters
    aBaseIntf
    The ICoreWebView2Frame instance.
    -
    aFrameID
    -
    Custom ID used to identify this frame.
    diff --git a/docs/html/uWVEvents.html b/docs/html/uWVEvents.html index 6e069e4..7c52c33 100644 --- a/docs/html/uWVEvents.html +++ b/docs/html/uWVEvents.html @@ -256,6 +256,18 @@

    Unit uWVEvents

    TOnNonClientRegionChangedEvent = procedure(Sender: TObject; const aController : ICoreWebView2CompositionController; const aArgs : ICoreWebView2NonClientRegionChangedEventArgs) of object; +TOnNotificationReceivedEvent = procedure(Sender: TObject; const aWebView : ICoreWebView2; const aArgs : ICoreWebView2NotificationReceivedEventArgs) of object; + + +TOnNotificationCloseRequestedEvent = procedure(Sender: TObject; const aNotification: ICoreWebView2Notification; const aArgs: IUnknown) of object; + + +TOnSaveAsUIShowingEvent = procedure(Sender: TObject; const aWebView: ICoreWebView2; const aArgs: ICoreWebView2SaveAsUIShowingEventArgs) of object; + + +TOnShowSaveAsUICompletedEvent = procedure(Sender: TObject; aErrorCode: HResult; aResult: TWVSaveAsUIResult) of object; + + TOnCompMsgEvent = procedure(Sender: TObject; var aMessage: TMessage; var aHandled: Boolean) of object; @@ -827,6 +839,34 @@

    Types

    + + + +
    TOnNotificationReceivedEvent = procedure(Sender: TObject; const aWebView : ICoreWebView2; const aArgs : ICoreWebView2NotificationReceivedEventArgs) of object;
    +

    This item has no description.

    + + + + + +
    TOnNotificationCloseRequestedEvent = procedure(Sender: TObject; const aNotification: ICoreWebView2Notification; const aArgs: IUnknown) of object;
    +

    This item has no description.

    + + + + + +
    TOnSaveAsUIShowingEvent = procedure(Sender: TObject; const aWebView: ICoreWebView2; const aArgs: ICoreWebView2SaveAsUIShowingEventArgs) of object;
    +

    This item has no description.

    + + + + + +
    TOnShowSaveAsUICompletedEvent = procedure(Sender: TObject; aErrorCode: HResult; aResult: TWVSaveAsUIResult) of object;
    +

    This item has no description.

    + + + + + + + + + + + + + + + + + + + + + +
    TOnCompMsgEvent = procedure(Sender: TObject; var aMessage: TMessage; var aHandled: Boolean) of object;
    diff --git a/docs/html/uWVFMXBrowser.TWVFMXBrowser.html b/docs/html/uWVFMXBrowser.TWVFMXBrowser.html index 22474a4..f0b4c6e 100644 --- a/docs/html/uWVFMXBrowser.TWVFMXBrowser.html +++ b/docs/html/uWVFMXBrowser.TWVFMXBrowser.html @@ -467,6 +467,26 @@

    Description

    Published property OnExecuteScriptWithResultCompleted;
    Publishedproperty OnNonClientRegionChanged;
    Publishedproperty OnNotificationReceived;
    Publishedproperty OnNotificationCloseRequested;
    Publishedproperty OnSaveAsUIShowing;
    Publishedproperty OnShowSaveAsUICompleted;

    Description

    Methods

    @@ -1766,15 +1786,15 @@

    Properties

    If a deferral is not taken on the event args, the external URI scheme launch is blocked until the event handler returns. If a deferral is taken, the external URI scheme launch is blocked until the deferral is completed. The host also has the option to cancel the URI scheme launch. -

    The `NavigationStarting` and `NavigationCompleted` events will be raised, regardless of whether the `Cancel` property is set to `TRUE` or `FALSE`. The `NavigationCompleted` event will be raised with the `IsSuccess` property set to `FALSE` and the `WebErrorStatus` property set to `ConnectionAborted` regardless of whether the host sets the `Cancel` property on the `ICoreWebView2LaunchingExternalUriSchemeEventArgs`. The `SourceChanged`, `ContentLoading`, and `HistoryChanged` events will not be raised for this navigation to the external URI scheme regardless of the `Cancel` property. +

    The `OnNavigationStarting` and `OnNavigationCompleted` events will be raised, regardless of whether the `Cancel` property is set to `TRUE` or `FALSE`. The `OnNavigationCompleted` event will be raised with the `IsSuccess` property set to `FALSE` and the `WebErrorStatus` property set to `ConnectionAborted` regardless of whether the host sets the `Cancel` property on the `ICoreWebView2LaunchingExternalUriSchemeEventArgs`. The `OnSourceChanged`, `OnContentLoading`, and `OnHistoryChanged` events will not be raised for this navigation to the external URI scheme regardless of the `Cancel` property. -

    The `OnLaunchingExternalUriScheme` event will be raised after the `NavigationStarting` event and before the `NavigationCompleted` event. +

    The `OnLaunchingExternalUriScheme` event will be raised after the `OnNavigationStarting` event and before the `OnNavigationCompleted` event.

    The default `CoreWebView2Settings` will also be updated upon navigation to an external URI scheme. If a setting on the `CoreWebView2Settings` interface has been changed, navigating to an external URI scheme will trigger the `CoreWebView2Settings` to update.

    The WebView2 may not display the default dialog based on user settings, browser settings, and whether the origin is determined as a [trustworthy origin](https://w3c.github.io/webappsec-secure-contexts# potentially-trustworthy-origin); however, the event will still be raised. -

    If the request is initiated by a cross-origin frame without a user gesture, the request will be blocked and the `OnLaunchingExternalUriScheme` event will not be raised. A URI scheme may be blocked for safety reasons. In this case the `LaunchingExternalUriScheme` event will not be raised. The default dialog may show an "always allow" checkbox which allows the user to opt-in to relaxed security (i.e. skipping future default dialogs) for the combination of the URI scheme and the origin of the page initiating this external URI scheme launch. The checkbox is offered so long as the group policy to show the checkbox is not explicitly disabled and there is a trustworthy initiating origin. If the user has checked this box, future attempts to launch this URI scheme will still raise the event. +

    If the request is initiated by a cross-origin frame without a user gesture, the request will be blocked and the `OnLaunchingExternalUriScheme` event will not be raised.

    @@ -1865,6 +1885,72 @@

    Properties

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

    + + + + + + +
    Publishedproperty OnNonClientRegionChanged;
    +

    This item has no description. Showing description inherited from TWVBrowserBase.OnNonClientRegionChanged.

    + This event is fired when regions which are marked as non-client in the app html have changed. So either when new regions have been marked, or unmarked, or the region(s) have been changed to a different kind. + +

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

    +
    + + + + + + +
    Publishedproperty OnNotificationReceived;
    +

    This item has no description. Showing description inherited from TWVBrowserBase.OnNotificationReceived.

    + + +

    Event for non-persistent notifications. + +

    If a deferral is not taken on the event args, the subsequent scripts after the DOM notification creation call (i.e. `Notification()`) are blocked until the event handler returns. If a deferral is taken, the scripts are blocked until the deferral is completed. + +

    + +

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

    +
    + + + + + + +
    Publishedproperty OnNotificationCloseRequested;
    +

    This item has no description. Showing description inherited from TWVBrowserBase.OnNotificationCloseRequested.

    + This event is raised when the notification is closed by the web code, such as through `notification.close()`. You don't need to call `ReportClosed` since this is coming from the web code. + +

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

    +
    + + + + + + +
    Publishedproperty OnSaveAsUIShowing;
    +

    This item has no description. Showing description inherited from TWVBrowserBase.OnSaveAsUIShowing.

    + This event is raised when save as is triggered, programmatically or manually. + +

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

    +
    + + + + + + +
    Publishedproperty OnShowSaveAsUICompleted;
    +

    This item has no description. Showing description inherited from TWVBrowserBase.OnShowSaveAsUICompleted.

    + This event receives the result of the `ShowSaveAsUI` method. + +

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

    +

    Generated by PasDoc 0.16.0-snapshot. diff --git a/docs/html/uWVInterfaces.IWVBrowserEvents.html b/docs/html/uWVInterfaces.IWVBrowserEvents.html index 3d2109d..98022fd 100644 --- a/docs/html/uWVInterfaces.IWVBrowserEvents.html +++ b/docs/html/uWVInterfaces.IWVBrowserEvents.html @@ -340,6 +340,22 @@

    Description

    Public function NonClientRegionChangedEventHandler_Invoke(const sender: ICoreWebView2CompositionController; const args: ICoreWebView2NonClientRegionChangedEventArgs): HResult; + +Public +function NotificationReceivedEventHandler_Invoke(const sender: ICoreWebView2; const args: ICoreWebView2NotificationReceivedEventArgs): HResult; + + +Public +function NotificationCloseRequestedEventHandler_Invoke(const sender: ICoreWebView2Notification; const args: IUnknown): HResult; + + +Public +function SaveAsUIShowingEventHandler_Invoke(const sender: ICoreWebView2; const args: ICoreWebView2SaveAsUIShowingEventArgs): HResult; + + +Public +function ShowSaveAsUICompletedHandler_Invoke(errorCode: HResult; result_: COREWEBVIEW2_SAVE_AS_UI_RESULT): HResult; +

    Description

    Methods

    @@ -1123,6 +1139,46 @@

    Methods

    ICoreWebView2NonClientRegionChangedEventHandler

    + + + + + + +
    Publicfunction NotificationReceivedEventHandler_Invoke(const sender: ICoreWebView2; const args: ICoreWebView2NotificationReceivedEventArgs): HResult;
    +

    +ICoreWebView2NonClientRegionChangedEventHandler

    +
    + + + + + + +
    Publicfunction NotificationCloseRequestedEventHandler_Invoke(const sender: ICoreWebView2Notification; const args: IUnknown): HResult;
    +

    +ICoreWebView2NotificationCloseRequestedEventHandler

    +
    + + + + + + +
    Publicfunction SaveAsUIShowingEventHandler_Invoke(const sender: ICoreWebView2; const args: ICoreWebView2SaveAsUIShowingEventArgs): HResult;
    +

    +ICoreWebView2SaveAsUIShowingEventHandler

    +
    + + + + + + +
    Publicfunction ShowSaveAsUICompletedHandler_Invoke(errorCode: HResult; result_: COREWEBVIEW2_SAVE_AS_UI_RESULT): HResult;
    +

    +ICoreWebView2ShowSaveAsUICompletedHandler

    +

    Generated by PasDoc 0.16.0-snapshot. diff --git a/docs/html/uWVTypeLibrary.ICoreWebView2.html b/docs/html/uWVTypeLibrary.ICoreWebView2.html index 3f896f4..8bf9592 100644 --- a/docs/html/uWVTypeLibrary.ICoreWebView2.html +++ b/docs/html/uWVTypeLibrary.ICoreWebView2.html @@ -840,7 +840,7 @@
    Attributes

    The `chrome.webview.hostObjects.options` object provides the ability to change some functionality of host objects. -

    Options property | Details —|— `forceLocalProperties` | This is an array of host object property names that will be run locally, instead of being called on the native host object. This defaults to `then`, `toJSON`, `Symbol.toString`, and `Symbol.toPrimitive`. You can add other properties to specify that they should be run locally on the javascript host object proxy. `log` | This is a callback that will be called with debug information. For example, you can set this to `console.log.bind(console)` to have it print debug information to the console to help when troubleshooting host object usage. By default this is null. `shouldSerializeDates` | By default this is false, and javascript Date objects will be sent to host objects as a string using `JSON.stringify`. You can set this property to true to have Date objects properly serialize as a `VT_DATE` when sending to the native host object, and have `VT_DATE` properties and return values create a javascript Date object. `defaultSyncProxy` | When calling a method on a synchronous proxy, the result should also be a synchronous proxy. But in some cases, the sync/async context is lost (for example, when providing to native code a reference to a function, and then calling that function in native code). In these cases, the proxy will be asynchronous, unless this property is set. `forceAsyncMethodMatches ` | This is an array of regular expressions. When calling a method on a synchronous proxy, the method call will be performed asynchronously if the method name matches a string or regular expression in this array. Setting this value to `Async` will make any method that ends with Async be an asynchronous method call. If an async method doesn't match here and isn't forced to be asynchronous, the method will be invoked synchronously, blocking execution of the calling JavaScript and then returning the resolution of the promise, rather than returning a promise. `ignoreMemberNotFoundError` | By default, an exception is thrown when attempting to get the value of a proxy property that doesn't exist on the corresponding native class. Setting this property to `true` switches the behavior to match Chakra WinRT projection (and general JavaScript) behavior of returning `undefined` with no error. `shouldPassTypedArraysAsArrays` | By default, typed arrays will be passed to host as IDispatch. Otherwise, set to true to pass typed arrays to host as array. +

    Options property | Details —|— `forceLocalProperties` | This is an array of host object property names that will be run locally, instead of being called on the native host object. This defaults to `then`, `toJSON`, `Symbol.toString`, and `Symbol.toPrimitive`. You can add other properties to specify that they should be run locally on the javascript host object proxy. `log` | This is a callback that will be called with debug information. For example, you can set this to `console.log.bind(console)` to have it print debug information to the console to help when troubleshooting host object usage. By default this is null. `shouldSerializeDates` | By default this is false, and javascript Date objects will be sent to host objects as a string using `JSON.stringify`. You can set this property to true to have Date objects properly serialize as a `VT_DATE` when sending to the native host object, and have `VT_DATE` properties and return values create a javascript Date object. `defaultSyncProxy` | When calling a method on a synchronous proxy, the result should also be a synchronous proxy. But in some cases, the sync/async context is lost (for example, when providing to native code a reference to a function, and then calling that function in native code). In these cases, the proxy will be asynchronous, unless this property is set. `forceAsyncMethodMatches ` | This is an array of regular expressions. When calling a method on a synchronous proxy, the method call will be performed asynchronously if the method name matches a string or regular expression in this array. Setting this value to `Async` will make any method that ends with Async be an asynchronous method call. If an async method doesn't match here and isn't forced to be asynchronous, the method will be invoked synchronously, blocking execution of the calling JavaScript and then returning the resolution of the promise, rather than returning a promise. `ignoreMemberNotFoundError` | By default, an exception is thrown when attempting to get the value of a proxy property that doesn't exist on the corresponding native class. Setting this property to `true` switches the behavior to match Chakra WinRT projection (and general JavaScript) behavior of returning `undefined` with no error. `shouldPassTypedArraysAsArrays` | By default, typed arrays are passed to the host as `IDispatch`. To instead pass typed arrays to the host as `array`, set this to `true`.

    Host object proxies additionally have the following methods which run locally. diff --git a/docs/html/uWVTypeLibrary.ICoreWebView2Notification.html b/docs/html/uWVTypeLibrary.ICoreWebView2Notification.html new file mode 100644 index 0000000..5ccdf24 --- /dev/null +++ b/docs/html/uWVTypeLibrary.ICoreWebView2Notification.html @@ -0,0 +1,308 @@ + + + +WebView4Delphi: uWVTypeLibrary: Interface ICoreWebView2Notification + + + + + + +

    Interface ICoreWebView2Notification

    +
    +
    Fields
    Properties
    +

    Unit

    + +

    Declaration

    +

    +type ICoreWebView2Notification = interface(IUnknown)

    +

    Description

    +

    + This is the ICoreWebView2Notification that represents a [HTML Notification object](https://developer.mozilla.org/docs/Web/API/Notification).

    +

    + + +

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

    +

    Hierarchy

    +

    Overview

    +

    Methods

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Publicfunction add_CloseRequested(const eventHandler: ICoreWebView2NotificationCloseRequestedEventHandler; out token: EventRegistrationToken): HResult; stdcall;
    Publicfunction remove_CloseRequested(token: EventRegistrationToken): HResult; stdcall;
    Publicfunction ReportShown: HResult; stdcall;
    Publicfunction ReportClicked: HResult; stdcall;
    Publicfunction ReportClosed: HResult; stdcall;
    Publicfunction Get_Body(out value: PWideChar): HResult; stdcall;
    Publicfunction Get_Direction(out value: COREWEBVIEW2_TEXT_DIRECTION_KIND): HResult; stdcall;
    Publicfunction Get_Language(out value: PWideChar): HResult; stdcall;
    Publicfunction Get_Tag(out value: PWideChar): HResult; stdcall;
    Publicfunction Get_IconUri(out value: PWideChar): HResult; stdcall;
    Publicfunction Get_title(out value: PWideChar): HResult; stdcall;
    Publicfunction Get_BadgeUri(out value: PWideChar): HResult; stdcall;
    Publicfunction Get_BodyImageUri(out value: PWideChar): HResult; stdcall;
    Publicfunction Get_ShouldRenotify(out value: Integer): HResult; stdcall;
    Publicfunction Get_RequiresInteraction(out value: Integer): HResult; stdcall;
    Publicfunction Get_IsSilent(out value: Integer): HResult; stdcall;
    Publicfunction Get_Timestamp(out value: Double): HResult; stdcall;
    Publicfunction GetVibrationPattern(out Count: SYSUINT; out vibrationPattern: Uint64Array): HResult; stdcall;
    +

    Description

    +

    Methods

    + + + + + + +
    Publicfunction add_CloseRequested(const eventHandler: ICoreWebView2NotificationCloseRequestedEventHandler; out token: EventRegistrationToken): HResult; stdcall;
    +

    + Add an event handler for the `CloseRequested` event. This event is raised when the notification is closed by the web code, such as through `notification.close()`. You don't need to call `ReportClosed` since this is coming from the web code.

    +
    Attributes
    +
    +
    GUID['{B7434D98-6BC8-419D-9DA5-FB5A96D4DACD}']
    +
    +
    +
    + + + + + + +
    Publicfunction remove_CloseRequested(token: EventRegistrationToken): HResult; stdcall;
    +

    + Remove an event handler previously added with `add_CloseRequested`.

    +
    + + + + + + +
    Publicfunction ReportShown: HResult; stdcall;
    +

    + The host may run this to report the notification has been displayed and it will cause the [show](https://developer.mozilla.org/docs/Web/API/Notification/show_event) event to be raised for non-persistent notifications. You must not run this unless you are handling the `NotificationReceived` event. Returns `HRESULT_FROM_WIN32(ERROR_INVALID_STATE)` if `Handled` is `FALSE` when this is called.

    +
    + + + + + + +
    Publicfunction ReportClicked: HResult; stdcall;
    +

    + The host may run this to report the notification has been clicked, and it will cause the [click](https://developer.mozilla.org/docs/Web/API/Notification/click_event) event to be raised for non-persistent notifications and the [notificationclick](https://developer.mozilla.org/docs/Web/API/ServiceWorkerGlobalScope/notificationclick_event) event for persistent notifications. Use `ReportClickedWithActionIndex` to specify an action to activate a persistent notification. You must not run this unless you are handling the `NotificationReceived` event. Returns `HRESULT_FROM_WIN32(ERROR_INVALID_STATE)` if `Handled` is `FALSE` or `ReportShown` has not been run when this is called.

    +
    + + + + + + +
    Publicfunction ReportClosed: HResult; stdcall;
    +

    + The host may run this to report the notification was dismissed, and it will cause the [close](https://developer.mozilla.org/docs/Web/API/Notification/close_event) event to be raised for non-persistent notifications and the [notificationclose](https://developer.mozilla.org/docs/Web/API/ServiceWorkerGlobalScope/notificationclose_event) event for persistent notifications. You must not run this unless you are handling the `NotificationReceived` event. Returns `HRESULT_FROM_WIN32(ERROR_INVALID_STATE)` if `Handled` is `FALSE` or `ReportShown` has not been run when this is called.

    +
    + + + + + + +
    Publicfunction Get_Body(out value: PWideChar): HResult; stdcall;
    +

    + A string representing the body text of the notification. The default value is an empty string. + +

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

    +
    + + + + + + +
    Publicfunction Get_Direction(out value: COREWEBVIEW2_TEXT_DIRECTION_KIND): HResult; stdcall;
    +

    + The text direction in which to display the notification. This corresponds to [Notification.dir](https://developer.mozilla.org/docs/Web/API/Notification/dir) DOM API. The default value is `COREWEBVIEW2_TEXT_DIRECTION_KIND_DEFAULT`.

    +
    + + + + + + +
    Publicfunction Get_Language(out value: PWideChar): HResult; stdcall;
    +

    + The notification's language, as intended to be specified using a string representing a language tag (such as `en-US`) according to [BCP47](https://datatracker.ietf.org/doc/html/rfc5646). Note that no validation is performed on this property and it can be any string the notification sender specifies. This corresponds to [Notification.lang](https://developer.mozilla.org/docs/Web/API/Notification/lang) DOM API. The default value is an empty string. + +

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

    +
    + + + + + + +
    Publicfunction Get_Tag(out value: PWideChar): HResult; stdcall;
    +

    + A string representing an identifying tag for the notification. This corresponds to [Notification.tag](https://developer.mozilla.org/docs/Web/API/Notification/tag) DOM API. The default value is an empty string. + +

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

    +
    + + + + + + +
    Publicfunction Get_IconUri(out value: PWideChar): HResult; stdcall;
    +

    + A string containing the URI of an icon to be displayed in the notification. The default value is an empty string. + +

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

    +
    + + + + + + +
    Publicfunction Get_title(out value: PWideChar): HResult; stdcall;
    +

    + The title of the notification. + +

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

    +
    + + + + + + +
    Publicfunction Get_BadgeUri(out value: PWideChar): HResult; stdcall;
    +

    + A string containing the URI of the image used to represent the notification when there isn't enough space to display the notification itself. The default value is an empty string. + +

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

    +
    + + + + + + +
    Publicfunction Get_BodyImageUri(out value: PWideChar): HResult; stdcall;
    +

    + A string containing the URI of an image to be displayed in the notification. The default value is an empty string. + +

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

    +
    + + + + + + +
    Publicfunction Get_ShouldRenotify(out value: Integer): HResult; stdcall;
    +

    + Indicates whether the user should be notified after a new notification replaces an old one. This corresponds to [Notification.renotify](https://developer.mozilla.org/docs/Web/API/Notification/renotify) DOM API. The default value is `FALSE`.

    +
    + + + + + + +
    Publicfunction Get_RequiresInteraction(out value: Integer): HResult; stdcall;
    +

    + A boolean value indicating that a notification should remain active until the user clicks or dismisses it, rather than closing automatically. This corresponds to [Notification.requireInteraction](https://developer.mozilla.org/docs/Web/API/Notification/requireInteraction) DOM API. Note that you may not be able to necessarily implement this due to native API limitations. The default value is `FALSE`.

    +
    + + + + + + +
    Publicfunction Get_IsSilent(out value: Integer): HResult; stdcall;
    +

    + Indicates whether the notification should be silent – i.e., no sounds or vibrations should be issued, regardless of the device settings. This corresponds to [Notification.silent](https://developer.mozilla.org/docs/Web/API/Notification/silent) DOM API. The default value is `FALSE`.

    +
    + + + + + + +
    Publicfunction Get_Timestamp(out value: Double): HResult; stdcall;
    +

    + Indicates the time at which a notification is created or applicable (past, present, or future) as the number of milliseconds since the UNIX epoch.

    +
    + + + + + + +
    Publicfunction GetVibrationPattern(out Count: SYSUINT; out vibrationPattern: Uint64Array): HResult; stdcall;
    +

    +* vibrationPattern: PLargeuint1 –> vibrationPattern: Uint64Array ************** WEBVIEW4DELPHI ************** *

    +
    +
    Generated by PasDoc 0.16.0-snapshot. + + diff --git a/docs/html/uWVTypeLibrary.ICoreWebView2NotificationCloseRequestedEventHandler.html b/docs/html/uWVTypeLibrary.ICoreWebView2NotificationCloseRequestedEventHandler.html new file mode 100644 index 0000000..fbb38d8 --- /dev/null +++ b/docs/html/uWVTypeLibrary.ICoreWebView2NotificationCloseRequestedEventHandler.html @@ -0,0 +1,56 @@ + + + +WebView4Delphi: uWVTypeLibrary: Interface ICoreWebView2NotificationCloseRequestedEventHandler + + + + + + +

    Interface ICoreWebView2NotificationCloseRequestedEventHandler

    +
    +
    Fields
    Properties
    +

    Unit

    + +

    Declaration

    +

    +type ICoreWebView2NotificationCloseRequestedEventHandler = interface(IUnknown)

    +

    Description

    +

    + Receives `CloseRequested` events.

    +

    + + +

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

    +

    Hierarchy

    +

    Overview

    +

    Methods

    + + + + + +
    Publicfunction Invoke(const sender: ICoreWebView2Notification; const args: IUnknown): HResult; stdcall;
    +

    Description

    +

    Methods

    + + + + + + +
    Publicfunction Invoke(const sender: ICoreWebView2Notification; const args: IUnknown): HResult; stdcall;
    +

    + Provides the event args for the corresponding event.

    +
    Attributes
    +
    +
    GUID['{47C32D23-1E94-4733-85F1-D9BF4ACD0974}']
    +
    +
    +
    +
    Generated by PasDoc 0.16.0-snapshot. + + diff --git a/docs/html/uWVTypeLibrary.ICoreWebView2NotificationReceivedEventArgs.html b/docs/html/uWVTypeLibrary.ICoreWebView2NotificationReceivedEventArgs.html new file mode 100644 index 0000000..220d346 --- /dev/null +++ b/docs/html/uWVTypeLibrary.ICoreWebView2NotificationReceivedEventArgs.html @@ -0,0 +1,116 @@ + + + +WebView4Delphi: uWVTypeLibrary: Interface ICoreWebView2NotificationReceivedEventArgs + + + + + + +

    Interface ICoreWebView2NotificationReceivedEventArgs

    +
    +
    Fields
    Properties
    +

    Unit

    + +

    Declaration

    +

    +type ICoreWebView2NotificationReceivedEventArgs = interface(IUnknown)

    +

    Description

    +

    + Event args for the `NotificationReceived` event. \snippet ScenarioNotificationReceived.cpp NotificationReceived

    +

    + + +

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

    +

    Hierarchy

    +

    Overview

    +

    Methods

    + + + + + + + + + + + + + + + + + + + + + +
    Publicfunction Get_SenderOrigin(out value: PWideChar): HResult; stdcall;
    Publicfunction Get_Notification(out value: ICoreWebView2Notification): HResult; stdcall;
    Publicfunction Set_Handled(value: Integer): HResult; stdcall;
    Publicfunction Get_Handled(out value: Integer): HResult; stdcall;
    Publicfunction GetDeferral(out deferral: ICoreWebView2Deferral): HResult; stdcall;
    +

    Description

    +

    Methods

    + + + + + + +
    Publicfunction Get_SenderOrigin(out value: PWideChar): HResult; stdcall;
    +

    + The origin of the web content that sends the notification, such as `https://example.com/` or `https://www.example.com/`. + +

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

    +
    Attributes
    +
    +
    GUID['{1512DD5B-5514-4F85-886E-21C3A4C9CFE6}']
    +
    +
    +
    + + + + + + +
    Publicfunction Get_Notification(out value: ICoreWebView2Notification): HResult; stdcall;
    +

    + The notification that was received. You can access the properties on the Notification object to show your own notification.

    +
    + + + + + + +
    Publicfunction Set_Handled(value: Integer): HResult; stdcall;
    +

    + Sets whether the `NotificationReceived` event is handled by the host after the event handler completes or if there is a deferral then after the deferral is completed. + +

    If `Handled` is set to TRUE then WebView will not display the notification with the default UI, and the host will be responsible for handling the notification and for letting the web content know that the notification has been displayed, clicked, or closed. You must set `Handled` to `TRUE` before you call `ReportShown`, `ReportClicked`, `ReportClickedWithActionIndex` and `ReportClosed`, otherwise they will fail with `HRESULT_FROM_WIN32(ERROR_INVALID_STATE)`. If after the event handler or deferral completes `Handled` is set to FALSE then WebView will display the default notification UI. Note that you cannot un-handle this event once you have set `Handled` to be `TRUE`. The initial value is FALSE.

    +
    + + + + + + +
    Publicfunction Get_Handled(out value: Integer): HResult; stdcall;
    +

    + Gets whether the `NotificationReceived` event is handled by host.

    +
    + + + + + + +
    Publicfunction GetDeferral(out deferral: ICoreWebView2Deferral): HResult; stdcall;
    +

    + Returns an `ICoreWebView2Deferral` object. Use this operation to complete the event at a later time.

    +
    +
    Generated by PasDoc 0.16.0-snapshot. + + diff --git a/docs/html/uWVTypeLibrary.ICoreWebView2NotificationReceivedEventHandler.html b/docs/html/uWVTypeLibrary.ICoreWebView2NotificationReceivedEventHandler.html new file mode 100644 index 0000000..cdb9ddf --- /dev/null +++ b/docs/html/uWVTypeLibrary.ICoreWebView2NotificationReceivedEventHandler.html @@ -0,0 +1,56 @@ + + + +WebView4Delphi: uWVTypeLibrary: Interface ICoreWebView2NotificationReceivedEventHandler + + + + + + +

    Interface ICoreWebView2NotificationReceivedEventHandler

    +
    +
    Fields
    Properties
    +

    Unit

    + +

    Declaration

    +

    +type ICoreWebView2NotificationReceivedEventHandler = interface(IUnknown)

    +

    Description

    +

    + Receives `NotificationReceived` events.

    +

    + + +

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

    +

    Hierarchy

    +

    Overview

    +

    Methods

    + + + + + +
    Publicfunction Invoke(const sender: ICoreWebView2; const args: ICoreWebView2NotificationReceivedEventArgs): HResult; stdcall;
    +

    Description

    +

    Methods

    + + + + + + +
    Publicfunction Invoke(const sender: ICoreWebView2; const args: ICoreWebView2NotificationReceivedEventArgs): HResult; stdcall;
    +

    + Provides the event args for the corresponding event.

    +
    Attributes
    +
    +
    GUID['{89C5D598-8788-423B-BE97-E6E01C0F9EE3}']
    +
    +
    +
    +
    Generated by PasDoc 0.16.0-snapshot. + + diff --git a/docs/html/uWVTypeLibrary.ICoreWebView2SaveAsUIShowingEventArgs.html b/docs/html/uWVTypeLibrary.ICoreWebView2SaveAsUIShowingEventArgs.html new file mode 100644 index 0000000..6a31a45 --- /dev/null +++ b/docs/html/uWVTypeLibrary.ICoreWebView2SaveAsUIShowingEventArgs.html @@ -0,0 +1,226 @@ + + + +WebView4Delphi: uWVTypeLibrary: Interface ICoreWebView2SaveAsUIShowingEventArgs + + + + + + +

    Interface ICoreWebView2SaveAsUIShowingEventArgs

    +
    +
    Fields
    Properties
    +

    Unit

    + +

    Declaration

    +

    +type ICoreWebView2SaveAsUIShowingEventArgs = interface(IUnknown)

    +

    Description

    +

    + The event args for `SaveAsUIShowing` event.

    +

    + + +

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

    +

    Hierarchy

    +

    Overview

    +

    Methods

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Publicfunction Get_ContentMimeType(out value: PWideChar): HResult; stdcall;
    Publicfunction Set_Cancel(value: Integer): HResult; stdcall;
    Publicfunction Get_Cancel(out value: Integer): HResult; stdcall;
    Publicfunction Set_SuppressDefaultDialog(value: Integer): HResult; stdcall;
    Publicfunction Get_SuppressDefaultDialog(out value: Integer): HResult; stdcall;
    Publicfunction GetDeferral(out value: ICoreWebView2Deferral): HResult; stdcall;
    Publicfunction Set_SaveAsFilePath(value: PWideChar): HResult; stdcall;
    Publicfunction Get_SaveAsFilePath(out value: PWideChar): HResult; stdcall;
    Publicfunction Set_AllowReplace(value: Integer): HResult; stdcall;
    Publicfunction Get_AllowReplace(out value: Integer): HResult; stdcall;
    Publicfunction Set_Kind(value: COREWEBVIEW2_SAVE_AS_KIND): HResult; stdcall;
    Publicfunction Get_Kind(out value: COREWEBVIEW2_SAVE_AS_KIND): HResult; stdcall;
    +

    Description

    +

    Methods

    + + + + + + +
    Publicfunction Get_ContentMimeType(out value: PWideChar): HResult; stdcall;
    +

    + Get the Mime type of content to be saved. + +

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

    +
    Attributes
    +
    +
    GUID['{55902952-0E0D-5AAA-A7D0-E833CDB34F62}']
    +
    +
    +
    + + + + + + +
    Publicfunction Set_Cancel(value: Integer): HResult; stdcall;
    +

    + Sets the `Cancel` property. Set this property to `TRUE` to cancel the Save As action and prevent the download from starting. ShowSaveAsUI returns `COREWEBVIEW2_SAVE_AS_UI_RESULT_CANCELLED` in this case. The default value is `FALSE`.

    +
    + + + + + + +
    Publicfunction Get_Cancel(out value: Integer): HResult; stdcall;
    +

    + Gets the `Cancel` property.

    +
    + + + + + + +
    Publicfunction Set_SuppressDefaultDialog(value: Integer): HResult; stdcall;
    +

    + Sets the `SuppressDefaultDialog` property, which indicates whether the system default dialog is suppressed. When `SuppressDefaultDialog` is `FALSE`, the default Save As dialog is shown and the values assigned through `SaveAsFilePath`, `AllowReplace` and `Kind` are ignored when the event args invoke completed. + +

    Set `SuppressDefaultDialog` to `TRUE` to perform a silent Save As. When `SuppressDefaultDialog` is `TRUE`, the system dialog is skipped and the `SaveAsFilePath`, `AllowReplace` and `Kind` values are used. + +

    The default value is FALSE.

    +
    + + + + + + +
    Publicfunction Get_SuppressDefaultDialog(out value: Integer): HResult; stdcall;
    +

    + Gets the `SuppressDefaultDialog` property.

    +
    + + + + + + +
    Publicfunction GetDeferral(out value: ICoreWebView2Deferral): HResult; stdcall;
    +

    + Returns an `ICoreWebView2Deferral` object. This will defer showing the default Save As dialog and performing the Save As operation.

    +
    + + + + + + +
    Publicfunction Set_SaveAsFilePath(value: PWideChar): HResult; stdcall;
    +

    + Set the `SaveAsFilePath` property for Save As. `SaveAsFilePath` is an absolute path of the location. It includes the file name and extension. If `SaveAsFilePath` is not valid (for example, the root drive does not exist), Save As is denied and `COREWEBVIEW2_SAVE_AS_INVALID_PATH` is returned. + +

    If the associated download completes successfully, a target file is saved at this location. If the Kind property is `COREWEBVIEW2_SAVE_AS_KIND_COMPLETE`, there will be an additional directory with resources files. + +

    The default value is a system suggested path, based on users' local environment.

    +
    + + + + + + +
    Publicfunction Get_SaveAsFilePath(out value: PWideChar): HResult; stdcall;
    +

    + Gets the `SaveAsFilePath` property. + +

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

    +
    + + + + + + +
    Publicfunction Set_AllowReplace(value: Integer): HResult; stdcall;
    +

    + `AllowReplace` allows user to control what happens when a file already exists in the file path to which the Save As operation is saving. Setting this property to `TRUE` allows existing files to be replaced. Setting this property to `FALSE` will not replace existing files and will return `COREWEBVIEW2_SAVE_AS_UI_RESULT_FILE_ALREADY_EXISTS`. + +

    The default value is `FALSE`.

    +
    + + + + + + +
    Publicfunction Get_AllowReplace(out value: Integer): HResult; stdcall;
    +

    + Gets the `AllowReplace` property.

    +
    + + + + + + +
    Publicfunction Set_Kind(value: COREWEBVIEW2_SAVE_AS_KIND): HResult; stdcall;
    +

    + Sets the `Kind` property to save documents of different kinds. See the `COREWEBVIEW2_SAVE_AS_KIND` enum for a description of the different options. If the kind is not allowed for the current document, ShowSaveAsUI returns `COREWEBVIEW2_SAVE_AS_UI_RESULT_KIND_NOT_SUPPORTED`. + +

    The default value is `COREWEBVIEW2_SAVE_AS_KIND_DEFAULT`.

    +
    + + + + + + +
    Publicfunction Get_Kind(out value: COREWEBVIEW2_SAVE_AS_KIND): HResult; stdcall;
    +

    + Gets the `Kind` property.

    +
    +
    Generated by PasDoc 0.16.0-snapshot. + + diff --git a/docs/html/uWVTypeLibrary.ICoreWebView2SaveAsUIShowingEventHandler.html b/docs/html/uWVTypeLibrary.ICoreWebView2SaveAsUIShowingEventHandler.html new file mode 100644 index 0000000..5e92159 --- /dev/null +++ b/docs/html/uWVTypeLibrary.ICoreWebView2SaveAsUIShowingEventHandler.html @@ -0,0 +1,56 @@ + + + +WebView4Delphi: uWVTypeLibrary: Interface ICoreWebView2SaveAsUIShowingEventHandler + + + + + + +

    Interface ICoreWebView2SaveAsUIShowingEventHandler

    +
    +
    Fields
    Properties
    +

    Unit

    + +

    Declaration

    +

    +type ICoreWebView2SaveAsUIShowingEventHandler = interface(IUnknown)

    +

    Description

    +

    + Receives `SaveAsUIShowing` events.

    +

    + + +

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

    +

    Hierarchy

    +

    Overview

    +

    Methods

    + + + + + +
    Publicfunction Invoke(const sender: ICoreWebView2; const args: ICoreWebView2SaveAsUIShowingEventArgs): HResult; stdcall;
    +

    Description

    +

    Methods

    + + + + + + +
    Publicfunction Invoke(const sender: ICoreWebView2; const args: ICoreWebView2SaveAsUIShowingEventArgs): HResult; stdcall;
    +

    + Provides the event args for the corresponding event.

    +
    Attributes
    +
    +
    GUID['{6BAA177E-3A2E-5CCF-9A13-FAD676CD0522}']
    +
    +
    +
    +
    Generated by PasDoc 0.16.0-snapshot. + + diff --git a/docs/html/uWVTypeLibrary.ICoreWebView2ShowSaveAsUICompletedHandler.html b/docs/html/uWVTypeLibrary.ICoreWebView2ShowSaveAsUICompletedHandler.html new file mode 100644 index 0000000..de2b209 --- /dev/null +++ b/docs/html/uWVTypeLibrary.ICoreWebView2ShowSaveAsUICompletedHandler.html @@ -0,0 +1,56 @@ + + + +WebView4Delphi: uWVTypeLibrary: Interface ICoreWebView2ShowSaveAsUICompletedHandler + + + + + + +

    Interface ICoreWebView2ShowSaveAsUICompletedHandler

    +
    +
    Fields
    Properties
    +

    Unit

    + +

    Declaration

    +

    +type ICoreWebView2ShowSaveAsUICompletedHandler = interface(IUnknown)

    +

    Description

    +

    + Receives the result of the `ShowSaveAsUI` method.

    +

    + + +

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

    +

    Hierarchy

    +

    Overview

    +

    Methods

    + + + + + +
    Publicfunction Invoke(errorCode: HResult; result_: COREWEBVIEW2_SAVE_AS_UI_RESULT): HResult; stdcall;
    +

    Description

    +

    Methods

    + + + + + + +
    Publicfunction Invoke(errorCode: HResult; result_: COREWEBVIEW2_SAVE_AS_UI_RESULT): HResult; stdcall;
    +

    + Provides the result of the corresponding asynchronous method.

    +
    Attributes
    +
    +
    GUID['{E24B07E3-8169-5C34-994A-7F6478946A3C}']
    +
    +
    +
    +
    Generated by PasDoc 0.16.0-snapshot. + + diff --git a/docs/html/uWVTypeLibrary.ICoreWebView2_24.html b/docs/html/uWVTypeLibrary.ICoreWebView2_24.html new file mode 100644 index 0000000..a914990 --- /dev/null +++ b/docs/html/uWVTypeLibrary.ICoreWebView2_24.html @@ -0,0 +1,95 @@ + + + +WebView4Delphi: uWVTypeLibrary: Interface ICoreWebView2_24 + + + + + + +

    Interface ICoreWebView2_24

    +
    +
    Fields
    Properties
    +

    Unit

    + +

    Declaration

    +

    +type ICoreWebView2_24 = interface(ICoreWebView2_23)

    +

    Description

    +

    + This is the ICoreWebView2_24 interface that manages WebView2 Web Notification functionality.

    +

    + + +

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

    +

    Hierarchy

    +

    Overview

    +

    Methods

    + + + + + + + + + +
    Publicfunction add_NotificationReceived(const eventHandler: ICoreWebView2NotificationReceivedEventHandler; out token: EventRegistrationToken): HResult; stdcall;
    Publicfunction remove_NotificationReceived(token: EventRegistrationToken): HResult; stdcall;
    +

    Description

    +

    Methods

    + + + + + + +
    Publicfunction add_NotificationReceived(const eventHandler: ICoreWebView2NotificationReceivedEventHandler; out token: EventRegistrationToken): HResult; stdcall;
    +

    + Adds an event handler for the `NotificationReceived` event for non-persistent notifications. + +

    If a deferral is not taken on the event args, the subsequent scripts after the DOM notification creation call (i.e. `Notification()`) are blocked until the event handler returns. If a deferral is taken, the scripts are blocked until the deferral is completed.

    +
    Attributes
    +
    +
    GUID['{39A7AD55-4287-5CC1-88A1-C6F458593824}']
    +
    +
    +
    + + + + + + +
    Publicfunction remove_NotificationReceived(token: EventRegistrationToken): HResult; stdcall;
    +

    + Removes an event handler previously added with `add_NotificationReceived`.

    +
    +
    Generated by PasDoc 0.16.0-snapshot. + + diff --git a/docs/html/uWVTypeLibrary.ICoreWebView2_25.html b/docs/html/uWVTypeLibrary.ICoreWebView2_25.html new file mode 100644 index 0000000..a2913b8 --- /dev/null +++ b/docs/html/uWVTypeLibrary.ICoreWebView2_25.html @@ -0,0 +1,116 @@ + + + +WebView4Delphi: uWVTypeLibrary: Interface ICoreWebView2_25 + + + + + + +

    Interface ICoreWebView2_25

    +
    +
    Fields
    Properties
    +

    Unit

    + +

    Declaration

    +

    +type ICoreWebView2_25 = interface(ICoreWebView2_24)

    +

    Description

    +

    + This is the ICoreWebView2_25 interface.

    +

    + + +

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

    +

    Hierarchy

    +

    Overview

    +

    Methods

    + + + + + + + + + + + + + +
    Publicfunction add_SaveAsUIShowing(const eventHandler: ICoreWebView2SaveAsUIShowingEventHandler; out token: EventRegistrationToken): HResult; stdcall;
    Publicfunction remove_SaveAsUIShowing(token: EventRegistrationToken): HResult; stdcall;
    Publicfunction ShowSaveAsUI(const handler: ICoreWebView2ShowSaveAsUICompletedHandler): HResult; stdcall;
    +

    Description

    +

    Methods

    + + + + + + +
    Publicfunction add_SaveAsUIShowing(const eventHandler: ICoreWebView2SaveAsUIShowingEventHandler; out token: EventRegistrationToken): HResult; stdcall;
    +

    + Adds an event handler for the `SaveAsUIShowing` event. This event is raised when save as is triggered, programmatically or manually. + +

    \snippet ScenarioSaveAs.cpp ToggleSilent

    +
    Attributes
    +
    +
    GUID['{B5A86092-DF50-5B4F-A17B-6C8F8B40B771}']
    +
    +
    +
    + + + + + + +
    Publicfunction remove_SaveAsUIShowing(token: EventRegistrationToken): HResult; stdcall;
    +

    + Removes an event handler previously added with `add_SaveAsUIShowing`.

    +
    + + + + + + +
    Publicfunction ShowSaveAsUI(const handler: ICoreWebView2ShowSaveAsUICompletedHandler): HResult; stdcall;
    +

    + Programmatically trigger a Save As action for the currently loaded document. The `SaveAsUIShowing` event is raised. + +

    Opens a system modal dialog by default. If the `SuppressDefaultDialog` property is `TRUE`, the system dialog is not opened. + +

    This method returns `COREWEBVIEW2_SAVE_AS_UI_RESULT`. See `COREWEBVIEW2_SAVE_AS_UI_RESULT` for details. + +

    \snippet ScenarioSaveAs.cpp ProgrammaticSaveAs

    +
    +
    Generated by PasDoc 0.16.0-snapshot. + + diff --git a/docs/html/uWVTypeLibrary.html b/docs/html/uWVTypeLibrary.html index cf45cfb..6978cdc 100644 --- a/docs/html/uWVTypeLibrary.html +++ b/docs/html/uWVTypeLibrary.html @@ -560,18 +560,54 @@

    Unit uWVTypeLibrary

    This is the ICoreWebView_23 interface for PostWebMessageAsJsonWithAdditionalObjects. +Interface ICoreWebView2_24 + This is the ICoreWebView2_24 interface that manages WebView2 Web Notification functionality. + + +Interface ICoreWebView2NotificationReceivedEventHandler + Receives `NotificationReceived` events. + + +Interface ICoreWebView2NotificationReceivedEventArgs + Event args for the `NotificationReceived` event. \snippet ScenarioNotificationReceived.cpp NotificationReceived + + +Interface ICoreWebView2Notification + This is the ICoreWebView2Notification that represents a [HTML Notification object](https://developer.mozilla.org/docs/Web/API/Notification). + + +Interface ICoreWebView2NotificationCloseRequestedEventHandler + Receives `CloseRequested` events. + + +Interface ICoreWebView2_25 + This is the ICoreWebView2_25 interface. + + +Interface ICoreWebView2SaveAsUIShowingEventHandler + Receives `SaveAsUIShowing` events. + + +Interface ICoreWebView2SaveAsUIShowingEventArgs + The event args for `SaveAsUIShowing` event. + + +Interface ICoreWebView2ShowSaveAsUICompletedHandler + Receives the result of the `ShowSaveAsUI` method. + + 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 @@ -581,409 +617,409 @@

    Unit uWVTypeLibrary

    - + Interface ICoreWebView2CursorChangedEventHandler Receives `CursorChanged` events. - + 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. - + 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 Receives the result of the `ClearBrowsingData` method. - + Interface ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler Receives the result of the `CreateCoreWebView2CompositionController` method. - + Interface ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler Receives the result of the `CreateCoreWebView2Environment` method. - + 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 eceives `ProcessInfosChanged` events. - + Interface ICoreWebView2ProcessInfoCollection A collection of ICoreWebView2ProcessInfo. - + 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. - + Interface ICoreWebView2ProcessExtendedInfoCollection A collection of ICoreWebView2ProcessExtendedInfo. - + 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 ICoreWebView2Environment14 This is ICoreWebView2Environment14 that exposes new methods to create Filesystem access related DOM objects. - + Interface ICoreWebView2FileSystemHandle Representation of a DOM [FileSystemHandle](https://developer.mozilla.org/docs/Web/API/FileSystemHandle) object. - + 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 ICoreWebView2EnvironmentOptions7 Additional options used to create the WebView2 Environment that support specifying the `ReleaseChannels` and `ChannelSearchKind`. - + Interface ICoreWebView2EnvironmentOptions8 Additional options used to create WebView2 Environment. - + Interface ICoreWebView2Frame2 A continuation of the ICoreWebView2Frame interface with navigation events, executing script and posting web messages. - + Interface ICoreWebView2FrameNavigationStartingEventHandler Receives `NavigationStarting` events. - + Interface ICoreWebView2FrameContentLoadingEventHandler Receives `ContentLoading` events. - + Interface ICoreWebView2FrameNavigationCompletedEventHandler Receives `NavigationCompleted` events. - + Interface ICoreWebView2FrameDOMContentLoadedEventHandler Receives `DOMContentLoaded` events. - + Interface ICoreWebView2FrameWebMessageReceivedEventHandler Receives `WebMessageReceived` events. - + Interface ICoreWebView2Frame3 This is an extension of the ICoreWebView2Frame interface that supports PermissionRequested - + Interface ICoreWebView2FramePermissionRequestedEventHandler Receives `PermissionRequested` events. - + 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 Receives the result of the `GetNonDefaultPermissionSettings` method. - + 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 ICoreWebView2ProcessFailedEventArgs3 A continuation of the ICoreWebView2ProcessFailedEventArgs2 interface for getting blocked file for code integrity process failures. - + 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 Receives the result of the `SetPermissionState` method. - + 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 Receives the result of the `AddBrowserExtension` method. - + 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 Receives the result of the `Remove` method. - + Interface ICoreWebView2BrowserExtensionEnableCompletedHandler Receives the result of the `Enable` method. - + Interface ICoreWebView2ProfileGetBrowserExtensionsCompletedHandler Receives the result of the `GetBrowserExtensions` method. - + Interface ICoreWebView2BrowserExtensionList A collection of ICoreWebView2BrowserExtension. - + Interface ICoreWebView2Profile8 This is the profile interface that manages profile deletion. - + Interface ICoreWebView2ProfileDeletedEventHandler Receives `Deleted` events. - + 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 ICoreWebView2Settings9 A continuation of the ICoreWebView2Settings interface to manage non-client regions. - + Interface ICoreWebView2WebResourceRequestedEventArgs2 Event args for the `WebResourceRequested` event. - + Interface ICoreWebView2NonClientRegionChangedEventHandler Receives `NonClientRegionChanged` events. - + Interface ICoreWebView2NonClientRegionChangedEventArgs This is the Interface for non-client region change event args. - + Interface ICoreWebView2RegionRectCollectionView A collection of RECT. - + Interface ICoreWebView2CompositionController4 This Interface includes an API which enables non-client hit-testing support for WebView2. - + Interface ICoreWebView2File Representation of a DOM [File](https://developer.mozilla.org/docs/Web/API/File) object passed via WebMessage. You can use this object to obtain the path of a File dropped on WebView2. - + Interface ICoreWebView2ObjectCollectionView A collection of objects. - + Interface ICoreWebView2ObjectCollection Represents a collection of generic objects. Used to get, remove and add objects at the specified index. - + Interface ICoreWebView2WebMessageReceivedEventArgs2 Extension of WebMessageReceivedEventArgs to provide access to additional WebMessage objects. @@ -1063,77 +1099,89 @@

    Unit uWVTypeLibrary

    COREWEBVIEW2_SHARED_BUFFER_ACCESS = TOleEnum; -COREWEBVIEW2_BROWSER_PROCESS_EXIT_KIND = TOleEnum; +COREWEBVIEW2_TEXT_DIRECTION_KIND = TOleEnum; -COREWEBVIEW2_MOUSE_EVENT_KIND = TOleEnum; +COREWEBVIEW2_SAVE_AS_KIND = TOleEnum; -COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS = TOleEnum; +COREWEBVIEW2_SAVE_AS_UI_RESULT = TOleEnum; -COREWEBVIEW2_POINTER_EVENT_KIND = TOleEnum; +COREWEBVIEW2_BROWSER_PROCESS_EXIT_KIND = TOleEnum; -COREWEBVIEW2_BOUNDS_MODE = TOleEnum; +COREWEBVIEW2_MOUSE_EVENT_KIND = TOleEnum; -COREWEBVIEW2_PROCESS_KIND = TOleEnum; +COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS = TOleEnum; -COREWEBVIEW2_FILE_SYSTEM_HANDLE_PERMISSION = TOleEnum; +COREWEBVIEW2_POINTER_EVENT_KIND = TOleEnum; -COREWEBVIEW2_FILE_SYSTEM_HANDLE_KIND = TOleEnum; +COREWEBVIEW2_BOUNDS_MODE = TOleEnum; -COREWEBVIEW2_CHANNEL_SEARCH_KIND = TOleEnum; +COREWEBVIEW2_PROCESS_KIND = TOleEnum; -COREWEBVIEW2_RELEASE_CHANNELS = TOleEnum; +COREWEBVIEW2_FILE_SYSTEM_HANDLE_PERMISSION = TOleEnum; -COREWEBVIEW2_SCROLLBAR_STYLE = TOleEnum; +COREWEBVIEW2_FILE_SYSTEM_HANDLE_KIND = TOleEnum; -COREWEBVIEW2_FRAME_KIND = TOleEnum; +COREWEBVIEW2_CHANNEL_SEARCH_KIND = TOleEnum; -COREWEBVIEW2_NAVIGATION_KIND = TOleEnum; +COREWEBVIEW2_RELEASE_CHANNELS = TOleEnum; -COREWEBVIEW2_PRINT_COLLATION = TOleEnum; +COREWEBVIEW2_SCROLLBAR_STYLE = TOleEnum; -COREWEBVIEW2_PRINT_COLOR_MODE = TOleEnum; +COREWEBVIEW2_FRAME_KIND = TOleEnum; -COREWEBVIEW2_PRINT_DUPLEX = TOleEnum; +COREWEBVIEW2_NAVIGATION_KIND = TOleEnum; -COREWEBVIEW2_PRINT_MEDIA_SIZE = TOleEnum; +COREWEBVIEW2_PRINT_COLLATION = TOleEnum; -COREWEBVIEW2_PROCESS_FAILED_REASON = TOleEnum; +COREWEBVIEW2_PRINT_COLOR_MODE = TOleEnum; -COREWEBVIEW2_BROWSING_DATA_KINDS = TOleEnum; +COREWEBVIEW2_PRINT_DUPLEX = TOleEnum; -COREWEBVIEW2_TRACKING_PREVENTION_LEVEL = TOleEnum; +COREWEBVIEW2_PRINT_MEDIA_SIZE = TOleEnum; -COREWEBVIEW2_PDF_TOOLBAR_ITEMS = TOleEnum; +COREWEBVIEW2_PROCESS_FAILED_REASON = TOleEnum; -COREWEBVIEW2_NON_CLIENT_REGION_KIND = TOleEnum; +COREWEBVIEW2_BROWSING_DATA_KINDS = TOleEnum; -COREWEBVIEW2_MEMORY_USAGE_TARGET_LEVEL = TOleEnum; +COREWEBVIEW2_TRACKING_PREVENTION_LEVEL = TOleEnum; + + +COREWEBVIEW2_PDF_TOOLBAR_ITEMS = TOleEnum; + + +COREWEBVIEW2_NON_CLIENT_REGION_KIND = TOleEnum; +COREWEBVIEW2_MEMORY_USAGE_TARGET_LEVEL = TOleEnum; + + COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS = TOleEnum; + +Uint64Array = array of Uint64; + PPCoreWebView2CustomSchemeRegistration = ˆICoreWebView2CustomSchemeRegistration; @@ -1543,1143 +1591,1206 @@

    Unit uWVTypeLibrary

    IID_ICoreWebView2ObjectCollectionView: TGUID = '{0F36FD87-4F69-4415-98DA-888F89FB9A33}'; -IID_ICoreWebView2AcceleratorKeyPressedEventArgs2: TGUID = '{03B2C8C8-7799-4E34-BD66-ED26AA85F2BF}'; +IID_ICoreWebView2_24: TGUID = '{39A7AD55-4287-5CC1-88A1-C6F458593824}'; -IID_ICoreWebView2BrowserExtension: TGUID = '{7EF7FFA0-FAC5-462C-B189-3D9EDBE575DA}'; +IID_ICoreWebView2NotificationReceivedEventHandler: TGUID = '{89C5D598-8788-423B-BE97-E6E01C0F9EE3}'; -IID_ICoreWebView2BrowserExtensionRemoveCompletedHandler: TGUID = '{8E41909A-9B18-4BB1-8CDF-930F467A50BE}'; +IID_ICoreWebView2NotificationReceivedEventArgs: TGUID = '{1512DD5B-5514-4F85-886E-21C3A4C9CFE6}'; -IID_ICoreWebView2BrowserExtensionEnableCompletedHandler: TGUID = '{30C186CE-7FAD-421F-A3BC-A8EAF071DDB8}'; +IID_ICoreWebView2Notification: TGUID = '{B7434D98-6BC8-419D-9DA5-FB5A96D4DACD}'; -IID_ICoreWebView2BrowserProcessExitedEventArgs: TGUID = '{1F00663F-AF8C-4782-9CDD-DD01C52E34CB}'; +IID_ICoreWebView2NotificationCloseRequestedEventHandler: TGUID = '{47C32D23-1E94-4733-85F1-D9BF4ACD0974}'; -IID_ICoreWebView2CompositionController: TGUID = '{3DF9B733-B9AE-4A15-86B4-EB9EE9826469}'; +IID_ICoreWebView2_25: TGUID = '{B5A86092-DF50-5B4F-A17B-6C8F8B40B771}'; -IID_ICoreWebView2PointerInfo: TGUID = '{E6995887-D10D-4F5D-9359-4CE46E4F96B9}'; +IID_ICoreWebView2SaveAsUIShowingEventHandler: TGUID = '{6BAA177E-3A2E-5CCF-9A13-FAD676CD0522}'; -IID_ICoreWebView2CursorChangedEventHandler: TGUID = '{9DA43CCC-26E1-4DAD-B56C-D8961C94C571}'; +IID_ICoreWebView2SaveAsUIShowingEventArgs: TGUID = '{55902952-0E0D-5AAA-A7D0-E833CDB34F62}'; -IID_ICoreWebView2CompositionController2: TGUID = '{0B6A3D24-49CB-4806-BA20-B5E0734A7B26}'; +IID_ICoreWebView2ShowSaveAsUICompletedHandler: TGUID = '{E24B07E3-8169-5C34-994A-7F6478946A3C}'; -IID_ICoreWebView2CompositionController3: TGUID = '{9570570E-4D76-4361-9EE1-F04D0DBDFB1E}'; +IID_ICoreWebView2AcceleratorKeyPressedEventArgs2: TGUID = '{03B2C8C8-7799-4E34-BD66-ED26AA85F2BF}'; -IID_ICoreWebView2CompositionController4: TGUID = '{7C367B9B-3D2B-450F-9E58-D61A20F486AA}'; +IID_ICoreWebView2BrowserExtension: TGUID = '{7EF7FFA0-FAC5-462C-B189-3D9EDBE575DA}'; -IID_ICoreWebView2RegionRectCollectionView: TGUID = '{333353B8-48BF-4449-8FCC-22697FAF5753}'; +IID_ICoreWebView2BrowserExtensionRemoveCompletedHandler: TGUID = '{8E41909A-9B18-4BB1-8CDF-930F467A50BE}'; -IID_ICoreWebView2NonClientRegionChangedEventHandler: TGUID = '{4A794E66-AA6C-46BD-93A3-382196837680}'; +IID_ICoreWebView2BrowserExtensionEnableCompletedHandler: TGUID = '{30C186CE-7FAD-421F-A3BC-A8EAF071DDB8}'; -IID_ICoreWebView2NonClientRegionChangedEventArgs: TGUID = '{AB71D500-0820-4A52-809C-48DB04FF93BF}'; +IID_ICoreWebView2BrowserProcessExitedEventArgs: TGUID = '{1F00663F-AF8C-4782-9CDD-DD01C52E34CB}'; -IID_ICoreWebView2Controller2: TGUID = '{C979903E-D4CA-4228-92EB-47EE3FA96EAB}'; +IID_ICoreWebView2CompositionController: TGUID = '{3DF9B733-B9AE-4A15-86B4-EB9EE9826469}'; -IID_ICoreWebView2Controller3: TGUID = '{F9614724-5D2B-41DC-AEF7-73D62B51543B}'; +IID_ICoreWebView2PointerInfo: TGUID = '{E6995887-D10D-4F5D-9359-4CE46E4F96B9}'; -IID_ICoreWebView2RasterizationScaleChangedEventHandler: TGUID = '{9C98C8B1-AC53-427E-A345-3049B5524BBE}'; +IID_ICoreWebView2CursorChangedEventHandler: TGUID = '{9DA43CCC-26E1-4DAD-B56C-D8961C94C571}'; -IID_ICoreWebView2Controller4: TGUID = '{97D418D5-A426-4E49-A151-E1A10F327D9E}'; +IID_ICoreWebView2CompositionController2: TGUID = '{0B6A3D24-49CB-4806-BA20-B5E0734A7B26}'; -IID_ICoreWebView2ControllerOptions: TGUID = '{12AAE616-8CCB-44EC-BCB3-EB1831881635}'; +IID_ICoreWebView2CompositionController3: TGUID = '{9570570E-4D76-4361-9EE1-F04D0DBDFB1E}'; -IID_ICoreWebView2ControllerOptions2: TGUID = '{06C991D8-9E7E-11ED-A8FC-0242AC120002}'; +IID_ICoreWebView2CompositionController4: TGUID = '{7C367B9B-3D2B-450F-9E58-D61A20F486AA}'; -IID_ICoreWebView2CustomSchemeRegistration: TGUID = '{D60AC92C-37A6-4B26-A39E-95CFE59047BB}'; +IID_ICoreWebView2RegionRectCollectionView: TGUID = '{333353B8-48BF-4449-8FCC-22697FAF5753}'; -IID_ICoreWebView2DevToolsProtocolEventReceivedEventArgs2: TGUID = '{2DC4959D-1494-4393-95BA-BEA4CB9EBD1B}'; +IID_ICoreWebView2NonClientRegionChangedEventHandler: TGUID = '{4A794E66-AA6C-46BD-93A3-382196837680}'; -IID_ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler: TGUID = '{4E8A3389-C9D8-4BD2-B6B5-124FEE6CC14D}'; +IID_ICoreWebView2NonClientRegionChangedEventArgs: TGUID = '{AB71D500-0820-4A52-809C-48DB04FF93BF}'; -IID_ICoreWebView2Environment2: TGUID = '{41F3632B-5EF4-404F-AD82-2D606C5A9A21}'; +IID_ICoreWebView2Controller2: TGUID = '{C979903E-D4CA-4228-92EB-47EE3FA96EAB}'; -IID_ICoreWebView2Environment3: TGUID = '{80A22AE3-BE7C-4CE2-AFE1-5A50056CDEEB}'; +IID_ICoreWebView2Controller3: TGUID = '{F9614724-5D2B-41DC-AEF7-73D62B51543B}'; -IID_ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler: TGUID = '{02FAB84B-1428-4FB7-AD45-1B2E64736184}'; +IID_ICoreWebView2RasterizationScaleChangedEventHandler: TGUID = '{9C98C8B1-AC53-427E-A345-3049B5524BBE}'; -IID_ICoreWebView2Environment4: TGUID = '{20944379-6DCF-41D6-A0A0-ABC0FC50DE0D}'; +IID_ICoreWebView2Controller4: TGUID = '{97D418D5-A426-4E49-A151-E1A10F327D9E}'; -IID_ICoreWebView2Environment5: TGUID = '{319E423D-E0D7-4B8D-9254-AE9475DE9B17}'; +IID_ICoreWebView2ControllerOptions: TGUID = '{12AAE616-8CCB-44EC-BCB3-EB1831881635}'; -IID_ICoreWebView2BrowserProcessExitedEventHandler: TGUID = '{FA504257-A216-4911-A860-FE8825712861}'; +IID_ICoreWebView2ControllerOptions2: TGUID = '{06C991D8-9E7E-11ED-A8FC-0242AC120002}'; -IID_ICoreWebView2Environment6: TGUID = '{E59EE362-ACBD-4857-9A8E-D3644D9459A9}'; +IID_ICoreWebView2CustomSchemeRegistration: TGUID = '{D60AC92C-37A6-4B26-A39E-95CFE59047BB}'; -IID_ICoreWebView2Environment7: TGUID = '{43C22296-3BBD-43A4-9C00-5C0DF6DD29A2}'; +IID_ICoreWebView2DevToolsProtocolEventReceivedEventArgs2: TGUID = '{2DC4959D-1494-4393-95BA-BEA4CB9EBD1B}'; -IID_ICoreWebView2Environment8: TGUID = '{D6EB91DD-C3D2-45E5-BD29-6DC2BC4DE9CF}'; +IID_ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler: TGUID = '{4E8A3389-C9D8-4BD2-B6B5-124FEE6CC14D}'; -IID_ICoreWebView2ProcessInfosChangedEventHandler: TGUID = '{F4AF0C39-44B9-40E9-8B11-0484CFB9E0A1}'; +IID_ICoreWebView2Environment2: TGUID = '{41F3632B-5EF4-404F-AD82-2D606C5A9A21}'; -IID_ICoreWebView2ProcessInfoCollection: TGUID = '{402B99CD-A0CC-4FA5-B7A5-51D86A1D2339}'; +IID_ICoreWebView2Environment3: TGUID = '{80A22AE3-BE7C-4CE2-AFE1-5A50056CDEEB}'; -IID_ICoreWebView2ProcessInfo: TGUID = '{84FA7612-3F3D-4FBF-889D-FAD000492D72}'; +IID_ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler: TGUID = '{02FAB84B-1428-4FB7-AD45-1B2E64736184}'; -IID_ICoreWebView2Environment9: TGUID = '{F06F41BF-4B5A-49D8-B9F6-FA16CD29F274}'; +IID_ICoreWebView2Environment4: TGUID = '{20944379-6DCF-41D6-A0A0-ABC0FC50DE0D}'; -IID_ICoreWebView2Environment10: TGUID = '{EE0EB9DF-6F12-46CE-B53F-3F47B9C928E0}'; +IID_ICoreWebView2Environment5: TGUID = '{319E423D-E0D7-4B8D-9254-AE9475DE9B17}'; -IID_ICoreWebView2Environment11: TGUID = '{F0913DC6-A0EC-42EF-9805-91DFF3A2966A}'; +IID_ICoreWebView2BrowserProcessExitedEventHandler: TGUID = '{FA504257-A216-4911-A860-FE8825712861}'; -IID_ICoreWebView2Environment12: TGUID = '{F503DB9B-739F-48DD-B151-FDFCF253F54E}'; +IID_ICoreWebView2Environment6: TGUID = '{E59EE362-ACBD-4857-9A8E-D3644D9459A9}'; -IID_ICoreWebView2Environment13: TGUID = '{AF641F58-72B2-11EE-B962-0242AC120002}'; +IID_ICoreWebView2Environment7: TGUID = '{43C22296-3BBD-43A4-9C00-5C0DF6DD29A2}'; -IID_ICoreWebView2GetProcessExtendedInfosCompletedHandler: TGUID = '{F45E55AA-3BC2-11EE-BE56-0242AC120002}'; +IID_ICoreWebView2Environment8: TGUID = '{D6EB91DD-C3D2-45E5-BD29-6DC2BC4DE9CF}'; -IID_ICoreWebView2ProcessExtendedInfoCollection: TGUID = '{32EFA696-407A-11EE-BE56-0242AC120002}'; +IID_ICoreWebView2ProcessInfosChangedEventHandler: TGUID = '{F4AF0C39-44B9-40E9-8B11-0484CFB9E0A1}'; -IID_ICoreWebView2ProcessExtendedInfo: TGUID = '{AF4C4C2E-45DB-11EE-BE56-0242AC120002}'; +IID_ICoreWebView2ProcessInfoCollection: TGUID = '{402B99CD-A0CC-4FA5-B7A5-51D86A1D2339}'; -IID_ICoreWebView2FrameInfoCollection: TGUID = '{8F834154-D38E-4D90-AFFB-6800A7272839}'; +IID_ICoreWebView2ProcessInfo: TGUID = '{84FA7612-3F3D-4FBF-889D-FAD000492D72}'; -IID_ICoreWebView2FrameInfoCollectionIterator: TGUID = '{1BF89E2D-1B2B-4629-B28F-05099B41BB03}'; +IID_ICoreWebView2Environment9: TGUID = '{F06F41BF-4B5A-49D8-B9F6-FA16CD29F274}'; -IID_ICoreWebView2FrameInfo: TGUID = '{DA86B8A1-BDF3-4F11-9955-528CEFA59727}'; +IID_ICoreWebView2Environment10: TGUID = '{EE0EB9DF-6F12-46CE-B53F-3F47B9C928E0}'; -IID_ICoreWebView2Environment14: TGUID = '{A5E9FAD9-C875-59DA-9BD7-473AA5CA1CEF}'; +IID_ICoreWebView2Environment11: TGUID = '{F0913DC6-A0EC-42EF-9805-91DFF3A2966A}'; -IID_ICoreWebView2FileSystemHandle: TGUID = '{C65100AC-0DE2-5551-A362-23D9BD1D0E1F}'; +IID_ICoreWebView2Environment12: TGUID = '{F503DB9B-739F-48DD-B151-FDFCF253F54E}'; -IID_ICoreWebView2ObjectCollection: TGUID = '{5CFEC11C-25BD-4E8D-9E1A-7ACDAEEEC047}'; +IID_ICoreWebView2Environment13: TGUID = '{AF641F58-72B2-11EE-B962-0242AC120002}'; -IID_ICoreWebView2EnvironmentOptions: TGUID = '{2FDE08A8-1E9A-4766-8C05-95A9CEB9D1C5}'; +IID_ICoreWebView2GetProcessExtendedInfosCompletedHandler: TGUID = '{F45E55AA-3BC2-11EE-BE56-0242AC120002}'; -IID_ICoreWebView2EnvironmentOptions2: TGUID = '{FF85C98A-1BA7-4A6B-90C8-2B752C89E9E2}'; +IID_ICoreWebView2ProcessExtendedInfoCollection: TGUID = '{32EFA696-407A-11EE-BE56-0242AC120002}'; -IID_ICoreWebView2EnvironmentOptions3: TGUID = '{4A5C436E-A9E3-4A2E-89C3-910D3513F5CC}'; +IID_ICoreWebView2ProcessExtendedInfo: TGUID = '{AF4C4C2E-45DB-11EE-BE56-0242AC120002}'; -IID_ICoreWebView2EnvironmentOptions4: TGUID = '{AC52D13F-0D38-475A-9DCA-876580D6793E}'; +IID_ICoreWebView2FrameInfoCollection: TGUID = '{8F834154-D38E-4D90-AFFB-6800A7272839}'; -IID_ICoreWebView2EnvironmentOptions5: TGUID = '{0AE35D64-C47F-4464-814E-259C345D1501}'; +IID_ICoreWebView2FrameInfoCollectionIterator: TGUID = '{1BF89E2D-1B2B-4629-B28F-05099B41BB03}'; -IID_ICoreWebView2EnvironmentOptions6: TGUID = '{57D29CC3-C84F-42A0-B0E2-EFFBD5E179DE}'; +IID_ICoreWebView2FrameInfo: TGUID = '{DA86B8A1-BDF3-4F11-9955-528CEFA59727}'; -IID_ICoreWebView2EnvironmentOptions7: TGUID = '{C48D539F-E39F-441C-AE68-1F66E570BDC5}'; +IID_ICoreWebView2Environment14: TGUID = '{A5E9FAD9-C875-59DA-9BD7-473AA5CA1CEF}'; -IID_ICoreWebView2EnvironmentOptions8: TGUID = '{7C7ECF51-E918-5CAF-853C-E9A2BCC27775}'; +IID_ICoreWebView2FileSystemHandle: TGUID = '{C65100AC-0DE2-5551-A362-23D9BD1D0E1F}'; -IID_ICoreWebView2File: TGUID = '{F2C19559-6BC1-4583-A757-90021BE9AFEC}'; +IID_ICoreWebView2ObjectCollection: TGUID = '{5CFEC11C-25BD-4E8D-9E1A-7ACDAEEEC047}'; -IID_ICoreWebView2Frame2: TGUID = '{7A6A5834-D185-4DBF-B63F-4A9BC43107D4}'; +IID_ICoreWebView2EnvironmentOptions: TGUID = '{2FDE08A8-1E9A-4766-8C05-95A9CEB9D1C5}'; -IID_ICoreWebView2FrameNavigationStartingEventHandler: TGUID = '{E79908BF-2D5D-4968-83DB-263FEA2C1DA3}'; +IID_ICoreWebView2EnvironmentOptions2: TGUID = '{FF85C98A-1BA7-4A6B-90C8-2B752C89E9E2}'; -IID_ICoreWebView2FrameContentLoadingEventHandler: TGUID = '{0D6156F2-D332-49A7-9E03-7D8F2FEEEE54}'; +IID_ICoreWebView2EnvironmentOptions3: TGUID = '{4A5C436E-A9E3-4A2E-89C3-910D3513F5CC}'; -IID_ICoreWebView2FrameNavigationCompletedEventHandler: TGUID = '{609302AD-0E36-4F9A-A210-6A45272842A9}'; +IID_ICoreWebView2EnvironmentOptions4: TGUID = '{AC52D13F-0D38-475A-9DCA-876580D6793E}'; -IID_ICoreWebView2FrameDOMContentLoadedEventHandler: TGUID = '{38D9520D-340F-4D1E-A775-43FCE9753683}'; +IID_ICoreWebView2EnvironmentOptions5: TGUID = '{0AE35D64-C47F-4464-814E-259C345D1501}'; -IID_ICoreWebView2FrameWebMessageReceivedEventHandler: TGUID = '{E371E005-6D1D-4517-934B-A8F1629C62A5}'; +IID_ICoreWebView2EnvironmentOptions6: TGUID = '{57D29CC3-C84F-42A0-B0E2-EFFBD5E179DE}'; -IID_ICoreWebView2Frame3: TGUID = '{B50D82CC-CC28-481D-9614-CB048895E6A0}'; +IID_ICoreWebView2EnvironmentOptions7: TGUID = '{C48D539F-E39F-441C-AE68-1F66E570BDC5}'; -IID_ICoreWebView2FramePermissionRequestedEventHandler: TGUID = '{845D0EDD-8BD8-429B-9915-4821789F23E9}'; +IID_ICoreWebView2EnvironmentOptions8: TGUID = '{7C7ECF51-E918-5CAF-853C-E9A2BCC27775}'; -IID_ICoreWebView2PermissionRequestedEventArgs2: TGUID = '{74D7127F-9DE6-4200-8734-42D6FB4FF741}'; +IID_ICoreWebView2File: TGUID = '{F2C19559-6BC1-4583-A757-90021BE9AFEC}'; -IID_ICoreWebView2Frame4: TGUID = '{188782DC-92AA-4732-AB3C-FCC59F6F68B9}'; +IID_ICoreWebView2Frame2: TGUID = '{7A6A5834-D185-4DBF-B63F-4A9BC43107D4}'; -IID_ICoreWebView2Frame5: TGUID = '{99D199C4-7305-11EE-B962-0242AC120002}'; +IID_ICoreWebView2FrameNavigationStartingEventHandler: TGUID = '{E79908BF-2D5D-4968-83DB-263FEA2C1DA3}'; -IID_ICoreWebView2FrameInfo2: TGUID = '{56F85CFA-72C4-11EE-B962-0242AC120002}'; +IID_ICoreWebView2FrameContentLoadingEventHandler: TGUID = '{0D6156F2-D332-49A7-9E03-7D8F2FEEEE54}'; -IID_ICoreWebView2NavigationCompletedEventArgs2: TGUID = '{FDF8B738-EE1E-4DB2-A329-8D7D7B74D792}'; +IID_ICoreWebView2FrameNavigationCompletedEventHandler: TGUID = '{609302AD-0E36-4F9A-A210-6A45272842A9}'; -IID_ICoreWebView2NavigationStartingEventArgs2: TGUID = '{9086BE93-91AA-472D-A7E0-579F2BA006AD}'; +IID_ICoreWebView2FrameDOMContentLoadedEventHandler: TGUID = '{38D9520D-340F-4D1E-A775-43FCE9753683}'; -IID_ICoreWebView2NavigationStartingEventArgs3: TGUID = '{DDFFE494-4942-4BD2-AB73-35B8FF40E19F}'; +IID_ICoreWebView2FrameWebMessageReceivedEventHandler: TGUID = '{E371E005-6D1D-4517-934B-A8F1629C62A5}'; -IID_ICoreWebView2NewWindowRequestedEventArgs2: TGUID = '{BBC7BAED-74C6-4C92-B63A-7F5AEAE03DE3}'; +IID_ICoreWebView2Frame3: TGUID = '{B50D82CC-CC28-481D-9614-CB048895E6A0}'; -IID_ICoreWebView2NewWindowRequestedEventArgs3: TGUID = '{842BED3C-6AD6-4DD9-B938-28C96667AD66}'; +IID_ICoreWebView2FramePermissionRequestedEventHandler: TGUID = '{845D0EDD-8BD8-429B-9915-4821789F23E9}'; -IID_ICoreWebView2PermissionRequestedEventArgs3: TGUID = '{E61670BC-3DCE-4177-86D2-C629AE3CB6AC}'; +IID_ICoreWebView2PermissionRequestedEventArgs2: TGUID = '{74D7127F-9DE6-4200-8734-42D6FB4FF741}'; -IID_ICoreWebView2PermissionSetting: TGUID = '{792B6ECA-5576-421C-9119-74EBB3A4FFB3}'; +IID_ICoreWebView2Frame4: TGUID = '{188782DC-92AA-4732-AB3C-FCC59F6F68B9}'; -IID_ICoreWebView2PrintSettings2: TGUID = '{CA7F0E1F-3484-41D1-8C1A-65CD44A63F8D}'; +IID_ICoreWebView2Frame5: TGUID = '{99D199C4-7305-11EE-B962-0242AC120002}'; -IID_ICoreWebView2ProcessFailedEventArgs2: TGUID = '{4DAB9422-46FA-4C3E-A5D2-41D2071D3680}'; +IID_ICoreWebView2FrameInfo2: TGUID = '{56F85CFA-72C4-11EE-B962-0242AC120002}'; -IID_ICoreWebView2ProcessFailedEventArgs3: TGUID = '{AB667428-094D-5FD1-B480-8B4C0FDBDF2F}'; +IID_ICoreWebView2NavigationCompletedEventArgs2: TGUID = '{FDF8B738-EE1E-4DB2-A329-8D7D7B74D792}'; -IID_ICoreWebView2Profile2: TGUID = '{FA740D4B-5EAE-4344-A8AD-74BE31925397}'; +IID_ICoreWebView2NavigationStartingEventArgs2: TGUID = '{9086BE93-91AA-472D-A7E0-579F2BA006AD}'; -IID_ICoreWebView2ClearBrowsingDataCompletedHandler: TGUID = '{E9710A06-1D1D-49B2-8234-226F35846AE5}'; +IID_ICoreWebView2NavigationStartingEventArgs3: TGUID = '{DDFFE494-4942-4BD2-AB73-35B8FF40E19F}'; -IID_ICoreWebView2Profile3: TGUID = '{B188E659-5685-4E05-BDBA-FC640E0F1992}'; +IID_ICoreWebView2NewWindowRequestedEventArgs2: TGUID = '{BBC7BAED-74C6-4C92-B63A-7F5AEAE03DE3}'; -IID_ICoreWebView2Profile4: TGUID = '{8F4AE680-192E-4EC8-833A-21CFADAEF628}'; +IID_ICoreWebView2NewWindowRequestedEventArgs3: TGUID = '{842BED3C-6AD6-4DD9-B938-28C96667AD66}'; -IID_ICoreWebView2SetPermissionStateCompletedHandler: TGUID = '{FC77FB30-9C9E-4076-B8C7-7644A703CA1B}'; +IID_ICoreWebView2PermissionRequestedEventArgs3: TGUID = '{E61670BC-3DCE-4177-86D2-C629AE3CB6AC}'; -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_ICoreWebView2PrintSettings2: TGUID = '{CA7F0E1F-3484-41D1-8C1A-65CD44A63F8D}'; -IID_ICoreWebView2Profile5: TGUID = '{2EE5B76E-6E80-4DF2-BCD3-D4EC3340A01B}'; +IID_ICoreWebView2ProcessFailedEventArgs2: TGUID = '{4DAB9422-46FA-4C3E-A5D2-41D2071D3680}'; -IID_ICoreWebView2Profile6: TGUID = '{BD82FA6A-1D65-4C33-B2B4-0393020CC61B}'; +IID_ICoreWebView2ProcessFailedEventArgs3: TGUID = '{AB667428-094D-5FD1-B480-8B4C0FDBDF2F}'; -IID_ICoreWebView2Profile7: TGUID = '{7B4C7906-A1AA-4CB4-B723-DB09F813D541}'; +IID_ICoreWebView2Profile2: TGUID = '{FA740D4B-5EAE-4344-A8AD-74BE31925397}'; -IID_ICoreWebView2ProfileAddBrowserExtensionCompletedHandler: TGUID = '{DF1AAB27-82B9-4AB6-AAE8-017A49398C14}'; +IID_ICoreWebView2ClearBrowsingDataCompletedHandler: TGUID = '{E9710A06-1D1D-49B2-8234-226F35846AE5}'; -IID_ICoreWebView2ProfileGetBrowserExtensionsCompletedHandler: TGUID = '{FCE16A1C-F107-4601-8B75-FC4940AE25D0}'; +IID_ICoreWebView2Profile3: TGUID = '{B188E659-5685-4E05-BDBA-FC640E0F1992}'; -IID_ICoreWebView2BrowserExtensionList: TGUID = '{2EF3D2DC-BD5F-4F4D-90AF-FD67798F0C2F}'; +IID_ICoreWebView2Profile4: TGUID = '{8F4AE680-192E-4EC8-833A-21CFADAEF628}'; -IID_ICoreWebView2Profile8: TGUID = '{FBF70C2F-EB1F-4383-85A0-163E92044011}'; +IID_ICoreWebView2SetPermissionStateCompletedHandler: TGUID = '{FC77FB30-9C9E-4076-B8C7-7644A703CA1B}'; -IID_ICoreWebView2ProfileDeletedEventHandler: TGUID = '{DF35055D-772E-4DBE-B743-5FBF74A2B258}'; +IID_ICoreWebView2GetNonDefaultPermissionSettingsCompletedHandler: TGUID = '{38274481-A15C-4563-94CF-990EDC9AEB95}'; -IID_ICoreWebView2Settings2: TGUID = '{EE9A0F68-F46C-4E32-AC23-EF8CAC224D2A}'; +IID_ICoreWebView2PermissionSettingCollectionView: TGUID = '{F5596F62-3DE5-47B1-91E8-A4104B596B96}'; -IID_ICoreWebView2Settings3: TGUID = '{FDB5AB74-AF33-4854-84F0-0A631DEB5EBA}'; +IID_ICoreWebView2Profile5: TGUID = '{2EE5B76E-6E80-4DF2-BCD3-D4EC3340A01B}'; -IID_ICoreWebView2Settings4: TGUID = '{CB56846C-4168-4D53-B04F-03B6D6796FF2}'; +IID_ICoreWebView2Profile6: TGUID = '{BD82FA6A-1D65-4C33-B2B4-0393020CC61B}'; -IID_ICoreWebView2Settings5: TGUID = '{183E7052-1D03-43A0-AB99-98E043B66B39}'; +IID_ICoreWebView2Profile7: TGUID = '{7B4C7906-A1AA-4CB4-B723-DB09F813D541}'; -IID_ICoreWebView2Settings6: TGUID = '{11CB3ACD-9BC8-43B8-83BF-F40753714F87}'; +IID_ICoreWebView2ProfileAddBrowserExtensionCompletedHandler: TGUID = '{DF1AAB27-82B9-4AB6-AAE8-017A49398C14}'; -IID_ICoreWebView2Settings7: TGUID = '{488DC902-35EF-42D2-BC7D-94B65C4BC49C}'; +IID_ICoreWebView2ProfileGetBrowserExtensionsCompletedHandler: TGUID = '{FCE16A1C-F107-4601-8B75-FC4940AE25D0}'; -IID_ICoreWebView2Settings8: TGUID = '{9E6B0E8F-86AD-4E81-8147-A9B5EDB68650}'; +IID_ICoreWebView2BrowserExtensionList: TGUID = '{2EF3D2DC-BD5F-4F4D-90AF-FD67798F0C2F}'; -IID_ICoreWebView2Settings9: TGUID = '{0528A73B-E92D-49F4-927A-E547DDDAA37D}'; +IID_ICoreWebView2Profile8: TGUID = '{FBF70C2F-EB1F-4383-85A0-163E92044011}'; -IID_ICoreWebView2WebMessageReceivedEventArgs2: TGUID = '{06FC7AB7-C90C-4297-9389-33CA01CF6D5E}'; +IID_ICoreWebView2ProfileDeletedEventHandler: TGUID = '{DF35055D-772E-4DBE-B743-5FBF74A2B258}'; -IID_ICoreWebView2WebResourceRequestedEventArgs2: TGUID = '{9C562C24-B219-4D7F-92F6-B187FBBADD56}'; +IID_ICoreWebView2Settings2: TGUID = '{EE9A0F68-F46C-4E32-AC23-EF8CAC224D2A}'; -COREWEBVIEW2_KEY_EVENT_KIND_KEY_DOWN = $00000000; +IID_ICoreWebView2Settings3: TGUID = '{FDB5AB74-AF33-4854-84F0-0A631DEB5EBA}'; -COREWEBVIEW2_KEY_EVENT_KIND_KEY_UP = $00000001; +IID_ICoreWebView2Settings4: TGUID = '{CB56846C-4168-4D53-B04F-03B6D6796FF2}'; -COREWEBVIEW2_KEY_EVENT_KIND_SYSTEM_KEY_DOWN = $00000002; +IID_ICoreWebView2Settings5: TGUID = '{183E7052-1D03-43A0-AB99-98E043B66B39}'; -COREWEBVIEW2_KEY_EVENT_KIND_SYSTEM_KEY_UP = $00000003; +IID_ICoreWebView2Settings6: TGUID = '{11CB3ACD-9BC8-43B8-83BF-F40753714F87}'; -COREWEBVIEW2_MOVE_FOCUS_REASON_PROGRAMMATIC = $00000000; +IID_ICoreWebView2Settings7: TGUID = '{488DC902-35EF-42D2-BC7D-94B65C4BC49C}'; -COREWEBVIEW2_MOVE_FOCUS_REASON_NEXT = $00000001; +IID_ICoreWebView2Settings8: TGUID = '{9E6B0E8F-86AD-4E81-8147-A9B5EDB68650}'; -COREWEBVIEW2_MOVE_FOCUS_REASON_PREVIOUS = $00000002; +IID_ICoreWebView2Settings9: TGUID = '{0528A73B-E92D-49F4-927A-E547DDDAA37D}'; -COREWEBVIEW2_WEB_ERROR_STATUS_UNKNOWN = $00000000; +IID_ICoreWebView2WebMessageReceivedEventArgs2: TGUID = '{06FC7AB7-C90C-4297-9389-33CA01CF6D5E}'; -COREWEBVIEW2_WEB_ERROR_STATUS_CERTIFICATE_COMMON_NAME_IS_INCORRECT = $00000001; +IID_ICoreWebView2WebResourceRequestedEventArgs2: TGUID = '{9C562C24-B219-4D7F-92F6-B187FBBADD56}'; -COREWEBVIEW2_WEB_ERROR_STATUS_CERTIFICATE_EXPIRED = $00000002; +COREWEBVIEW2_KEY_EVENT_KIND_KEY_DOWN = $00000000; -COREWEBVIEW2_WEB_ERROR_STATUS_CLIENT_CERTIFICATE_CONTAINS_ERRORS = $00000003; +COREWEBVIEW2_KEY_EVENT_KIND_KEY_UP = $00000001; -COREWEBVIEW2_WEB_ERROR_STATUS_CERTIFICATE_REVOKED = $00000004; +COREWEBVIEW2_KEY_EVENT_KIND_SYSTEM_KEY_DOWN = $00000002; -COREWEBVIEW2_WEB_ERROR_STATUS_CERTIFICATE_IS_INVALID = $00000005; +COREWEBVIEW2_KEY_EVENT_KIND_SYSTEM_KEY_UP = $00000003; -COREWEBVIEW2_WEB_ERROR_STATUS_SERVER_UNREACHABLE = $00000006; +COREWEBVIEW2_MOVE_FOCUS_REASON_PROGRAMMATIC = $00000000; -COREWEBVIEW2_WEB_ERROR_STATUS_TIMEOUT = $00000007; +COREWEBVIEW2_MOVE_FOCUS_REASON_NEXT = $00000001; -COREWEBVIEW2_WEB_ERROR_STATUS_ERROR_HTTP_INVALID_SERVER_RESPONSE = $00000008; +COREWEBVIEW2_MOVE_FOCUS_REASON_PREVIOUS = $00000002; -COREWEBVIEW2_WEB_ERROR_STATUS_CONNECTION_ABORTED = $00000009; +COREWEBVIEW2_WEB_ERROR_STATUS_UNKNOWN = $00000000; -COREWEBVIEW2_WEB_ERROR_STATUS_CONNECTION_RESET = $0000000A; +COREWEBVIEW2_WEB_ERROR_STATUS_CERTIFICATE_COMMON_NAME_IS_INCORRECT = $00000001; -COREWEBVIEW2_WEB_ERROR_STATUS_DISCONNECTED = $0000000B; +COREWEBVIEW2_WEB_ERROR_STATUS_CERTIFICATE_EXPIRED = $00000002; -COREWEBVIEW2_WEB_ERROR_STATUS_CANNOT_CONNECT = $0000000C; +COREWEBVIEW2_WEB_ERROR_STATUS_CLIENT_CERTIFICATE_CONTAINS_ERRORS = $00000003; -COREWEBVIEW2_WEB_ERROR_STATUS_HOST_NAME_NOT_RESOLVED = $0000000D; +COREWEBVIEW2_WEB_ERROR_STATUS_CERTIFICATE_REVOKED = $00000004; -COREWEBVIEW2_WEB_ERROR_STATUS_OPERATION_CANCELED = $0000000E; +COREWEBVIEW2_WEB_ERROR_STATUS_CERTIFICATE_IS_INVALID = $00000005; -COREWEBVIEW2_WEB_ERROR_STATUS_REDIRECT_FAILED = $0000000F; +COREWEBVIEW2_WEB_ERROR_STATUS_SERVER_UNREACHABLE = $00000006; -COREWEBVIEW2_WEB_ERROR_STATUS_UNEXPECTED_ERROR = $00000010; +COREWEBVIEW2_WEB_ERROR_STATUS_TIMEOUT = $00000007; -COREWEBVIEW2_WEB_ERROR_STATUS_VALID_AUTHENTICATION_CREDENTIALS_REQUIRED = $00000011; +COREWEBVIEW2_WEB_ERROR_STATUS_ERROR_HTTP_INVALID_SERVER_RESPONSE = $00000008; -COREWEBVIEW2_WEB_ERROR_STATUS_VALID_PROXY_AUTHENTICATION_REQUIRED = $00000012; +COREWEBVIEW2_WEB_ERROR_STATUS_CONNECTION_ABORTED = $00000009; -COREWEBVIEW2_SCRIPT_DIALOG_KIND_ALERT = $00000000; +COREWEBVIEW2_WEB_ERROR_STATUS_CONNECTION_RESET = $0000000A; -COREWEBVIEW2_SCRIPT_DIALOG_KIND_CONFIRM = $00000001; +COREWEBVIEW2_WEB_ERROR_STATUS_DISCONNECTED = $0000000B; -COREWEBVIEW2_SCRIPT_DIALOG_KIND_PROMPT = $00000002; +COREWEBVIEW2_WEB_ERROR_STATUS_CANNOT_CONNECT = $0000000C; -COREWEBVIEW2_SCRIPT_DIALOG_KIND_BEFOREUNLOAD = $00000003; +COREWEBVIEW2_WEB_ERROR_STATUS_HOST_NAME_NOT_RESOLVED = $0000000D; -COREWEBVIEW2_PERMISSION_KIND_UNKNOWN_PERMISSION = $00000000; +COREWEBVIEW2_WEB_ERROR_STATUS_OPERATION_CANCELED = $0000000E; -COREWEBVIEW2_PERMISSION_KIND_MICROPHONE = $00000001; +COREWEBVIEW2_WEB_ERROR_STATUS_REDIRECT_FAILED = $0000000F; -COREWEBVIEW2_PERMISSION_KIND_CAMERA = $00000002; +COREWEBVIEW2_WEB_ERROR_STATUS_UNEXPECTED_ERROR = $00000010; -COREWEBVIEW2_PERMISSION_KIND_GEOLOCATION = $00000003; +COREWEBVIEW2_WEB_ERROR_STATUS_VALID_AUTHENTICATION_CREDENTIALS_REQUIRED = $00000011; -COREWEBVIEW2_PERMISSION_KIND_NOTIFICATIONS = $00000004; +COREWEBVIEW2_WEB_ERROR_STATUS_VALID_PROXY_AUTHENTICATION_REQUIRED = $00000012; -COREWEBVIEW2_PERMISSION_KIND_OTHER_SENSORS = $00000005; +COREWEBVIEW2_SCRIPT_DIALOG_KIND_ALERT = $00000000; -COREWEBVIEW2_PERMISSION_KIND_CLIPBOARD_READ = $00000006; +COREWEBVIEW2_SCRIPT_DIALOG_KIND_CONFIRM = $00000001; -COREWEBVIEW2_PERMISSION_KIND_MULTIPLE_AUTOMATIC_DOWNLOADS = $00000007; +COREWEBVIEW2_SCRIPT_DIALOG_KIND_PROMPT = $00000002; -COREWEBVIEW2_PERMISSION_KIND_FILE_READ_WRITE = $00000008; +COREWEBVIEW2_SCRIPT_DIALOG_KIND_BEFOREUNLOAD = $00000003; -COREWEBVIEW2_PERMISSION_KIND_AUTOPLAY = $00000009; +COREWEBVIEW2_PERMISSION_KIND_UNKNOWN_PERMISSION = $00000000; -COREWEBVIEW2_PERMISSION_KIND_LOCAL_FONTS = $0000000A; +COREWEBVIEW2_PERMISSION_KIND_MICROPHONE = $00000001; -COREWEBVIEW2_PERMISSION_KIND_MIDI_SYSTEM_EXCLUSIVE_MESSAGES = $0000000B; +COREWEBVIEW2_PERMISSION_KIND_CAMERA = $00000002; -COREWEBVIEW2_PERMISSION_KIND_WINDOW_MANAGEMENT = $0000000C; +COREWEBVIEW2_PERMISSION_KIND_GEOLOCATION = $00000003; -COREWEBVIEW2_PERMISSION_STATE_DEFAULT = $00000000; +COREWEBVIEW2_PERMISSION_KIND_NOTIFICATIONS = $00000004; -COREWEBVIEW2_PERMISSION_STATE_ALLOW = $00000001; +COREWEBVIEW2_PERMISSION_KIND_OTHER_SENSORS = $00000005; -COREWEBVIEW2_PERMISSION_STATE_DENY = $00000002; +COREWEBVIEW2_PERMISSION_KIND_CLIPBOARD_READ = $00000006; -COREWEBVIEW2_PROCESS_FAILED_KIND_BROWSER_PROCESS_EXITED = $00000000; +COREWEBVIEW2_PERMISSION_KIND_MULTIPLE_AUTOMATIC_DOWNLOADS = $00000007; -COREWEBVIEW2_PROCESS_FAILED_KIND_RENDER_PROCESS_EXITED = $00000001; +COREWEBVIEW2_PERMISSION_KIND_FILE_READ_WRITE = $00000008; -COREWEBVIEW2_PROCESS_FAILED_KIND_RENDER_PROCESS_UNRESPONSIVE = $00000002; +COREWEBVIEW2_PERMISSION_KIND_AUTOPLAY = $00000009; -COREWEBVIEW2_PROCESS_FAILED_KIND_FRAME_RENDER_PROCESS_EXITED = $00000003; +COREWEBVIEW2_PERMISSION_KIND_LOCAL_FONTS = $0000000A; -COREWEBVIEW2_PROCESS_FAILED_KIND_UTILITY_PROCESS_EXITED = $00000004; +COREWEBVIEW2_PERMISSION_KIND_MIDI_SYSTEM_EXCLUSIVE_MESSAGES = $0000000B; -COREWEBVIEW2_PROCESS_FAILED_KIND_SANDBOX_HELPER_PROCESS_EXITED = $00000005; +COREWEBVIEW2_PERMISSION_KIND_WINDOW_MANAGEMENT = $0000000C; -COREWEBVIEW2_PROCESS_FAILED_KIND_GPU_PROCESS_EXITED = $00000006; +COREWEBVIEW2_PERMISSION_STATE_DEFAULT = $00000000; -COREWEBVIEW2_PROCESS_FAILED_KIND_PPAPI_PLUGIN_PROCESS_EXITED = $00000007; +COREWEBVIEW2_PERMISSION_STATE_ALLOW = $00000001; -COREWEBVIEW2_PROCESS_FAILED_KIND_PPAPI_BROKER_PROCESS_EXITED = $00000008; +COREWEBVIEW2_PERMISSION_STATE_DENY = $00000002; -COREWEBVIEW2_PROCESS_FAILED_KIND_UNKNOWN_PROCESS_EXITED = $00000009; +COREWEBVIEW2_PROCESS_FAILED_KIND_BROWSER_PROCESS_EXITED = $00000000; -COREWEBVIEW2_CAPTURE_PREVIEW_IMAGE_FORMAT_PNG = $00000000; +COREWEBVIEW2_PROCESS_FAILED_KIND_RENDER_PROCESS_EXITED = $00000001; -COREWEBVIEW2_CAPTURE_PREVIEW_IMAGE_FORMAT_JPEG = $00000001; +COREWEBVIEW2_PROCESS_FAILED_KIND_RENDER_PROCESS_UNRESPONSIVE = $00000002; -COREWEBVIEW2_WEB_RESOURCE_CONTEXT_ALL = $00000000; +COREWEBVIEW2_PROCESS_FAILED_KIND_FRAME_RENDER_PROCESS_EXITED = $00000003; -COREWEBVIEW2_WEB_RESOURCE_CONTEXT_DOCUMENT = $00000001; +COREWEBVIEW2_PROCESS_FAILED_KIND_UTILITY_PROCESS_EXITED = $00000004; -COREWEBVIEW2_WEB_RESOURCE_CONTEXT_STYLESHEET = $00000002; +COREWEBVIEW2_PROCESS_FAILED_KIND_SANDBOX_HELPER_PROCESS_EXITED = $00000005; -COREWEBVIEW2_WEB_RESOURCE_CONTEXT_IMAGE = $00000003; +COREWEBVIEW2_PROCESS_FAILED_KIND_GPU_PROCESS_EXITED = $00000006; -COREWEBVIEW2_WEB_RESOURCE_CONTEXT_MEDIA = $00000004; +COREWEBVIEW2_PROCESS_FAILED_KIND_PPAPI_PLUGIN_PROCESS_EXITED = $00000007; -COREWEBVIEW2_WEB_RESOURCE_CONTEXT_FONT = $00000005; +COREWEBVIEW2_PROCESS_FAILED_KIND_PPAPI_BROKER_PROCESS_EXITED = $00000008; -COREWEBVIEW2_WEB_RESOURCE_CONTEXT_SCRIPT = $00000006; +COREWEBVIEW2_PROCESS_FAILED_KIND_UNKNOWN_PROCESS_EXITED = $00000009; -COREWEBVIEW2_WEB_RESOURCE_CONTEXT_XML_HTTP_REQUEST = $00000007; +COREWEBVIEW2_CAPTURE_PREVIEW_IMAGE_FORMAT_PNG = $00000000; -COREWEBVIEW2_WEB_RESOURCE_CONTEXT_FETCH = $00000008; +COREWEBVIEW2_CAPTURE_PREVIEW_IMAGE_FORMAT_JPEG = $00000001; -COREWEBVIEW2_WEB_RESOURCE_CONTEXT_TEXT_TRACK = $00000009; +COREWEBVIEW2_WEB_RESOURCE_CONTEXT_ALL = $00000000; -COREWEBVIEW2_WEB_RESOURCE_CONTEXT_EVENT_SOURCE = $0000000A; +COREWEBVIEW2_WEB_RESOURCE_CONTEXT_DOCUMENT = $00000001; -COREWEBVIEW2_WEB_RESOURCE_CONTEXT_WEBSOCKET = $0000000B; +COREWEBVIEW2_WEB_RESOURCE_CONTEXT_STYLESHEET = $00000002; -COREWEBVIEW2_WEB_RESOURCE_CONTEXT_MANIFEST = $0000000C; +COREWEBVIEW2_WEB_RESOURCE_CONTEXT_IMAGE = $00000003; -COREWEBVIEW2_WEB_RESOURCE_CONTEXT_SIGNED_EXCHANGE = $0000000D; +COREWEBVIEW2_WEB_RESOURCE_CONTEXT_MEDIA = $00000004; -COREWEBVIEW2_WEB_RESOURCE_CONTEXT_PING = $0000000E; +COREWEBVIEW2_WEB_RESOURCE_CONTEXT_FONT = $00000005; -COREWEBVIEW2_WEB_RESOURCE_CONTEXT_CSP_VIOLATION_REPORT = $0000000F; +COREWEBVIEW2_WEB_RESOURCE_CONTEXT_SCRIPT = $00000006; -COREWEBVIEW2_WEB_RESOURCE_CONTEXT_OTHER = $00000010; +COREWEBVIEW2_WEB_RESOURCE_CONTEXT_XML_HTTP_REQUEST = $00000007; -COREWEBVIEW2_COOKIE_SAME_SITE_KIND_NONE = $00000000; +COREWEBVIEW2_WEB_RESOURCE_CONTEXT_FETCH = $00000008; -COREWEBVIEW2_COOKIE_SAME_SITE_KIND_LAX = $00000001; +COREWEBVIEW2_WEB_RESOURCE_CONTEXT_TEXT_TRACK = $00000009; -COREWEBVIEW2_COOKIE_SAME_SITE_KIND_STRICT = $00000002; +COREWEBVIEW2_WEB_RESOURCE_CONTEXT_EVENT_SOURCE = $0000000A; -COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND_DENY = $00000000; +COREWEBVIEW2_WEB_RESOURCE_CONTEXT_WEBSOCKET = $0000000B; -COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND_ALLOW = $00000001; +COREWEBVIEW2_WEB_RESOURCE_CONTEXT_MANIFEST = $0000000C; -COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND_DENY_CORS = $00000002; +COREWEBVIEW2_WEB_RESOURCE_CONTEXT_SIGNED_EXCHANGE = $0000000D; -COREWEBVIEW2_DOWNLOAD_STATE_IN_PROGRESS = $00000000; +COREWEBVIEW2_WEB_RESOURCE_CONTEXT_PING = $0000000E; -COREWEBVIEW2_DOWNLOAD_STATE_INTERRUPTED = $00000001; +COREWEBVIEW2_WEB_RESOURCE_CONTEXT_CSP_VIOLATION_REPORT = $0000000F; -COREWEBVIEW2_DOWNLOAD_STATE_COMPLETED = $00000002; +COREWEBVIEW2_WEB_RESOURCE_CONTEXT_OTHER = $00000010; -COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_NONE = $00000000; +COREWEBVIEW2_COOKIE_SAME_SITE_KIND_NONE = $00000000; -COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_FILE_FAILED = $00000001; +COREWEBVIEW2_COOKIE_SAME_SITE_KIND_LAX = $00000001; -COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_FILE_ACCESS_DENIED = $00000002; +COREWEBVIEW2_COOKIE_SAME_SITE_KIND_STRICT = $00000002; -COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_FILE_NO_SPACE = $00000003; +COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND_DENY = $00000000; -COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_FILE_NAME_TOO_LONG = $00000004; +COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND_ALLOW = $00000001; -COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_FILE_TOO_LARGE = $00000005; +COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND_DENY_CORS = $00000002; -COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_FILE_MALICIOUS = $00000006; +COREWEBVIEW2_DOWNLOAD_STATE_IN_PROGRESS = $00000000; -COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_FILE_TRANSIENT_ERROR = $00000007; +COREWEBVIEW2_DOWNLOAD_STATE_INTERRUPTED = $00000001; -COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_FILE_BLOCKED_BY_POLICY = $00000008; +COREWEBVIEW2_DOWNLOAD_STATE_COMPLETED = $00000002; -COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_FILE_SECURITY_CHECK_FAILED = $00000009; +COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_NONE = $00000000; -COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_FILE_TOO_SHORT = $0000000A; +COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_FILE_FAILED = $00000001; -COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_FILE_HASH_MISMATCH = $0000000B; +COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_FILE_ACCESS_DENIED = $00000002; -COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_NETWORK_FAILED = $0000000C; +COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_FILE_NO_SPACE = $00000003; -COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_NETWORK_TIMEOUT = $0000000D; +COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_FILE_NAME_TOO_LONG = $00000004; -COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_NETWORK_DISCONNECTED = $0000000E; +COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_FILE_TOO_LARGE = $00000005; -COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_NETWORK_SERVER_DOWN = $0000000F; +COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_FILE_MALICIOUS = $00000006; -COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_NETWORK_INVALID_REQUEST = $00000010; +COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_FILE_TRANSIENT_ERROR = $00000007; -COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_SERVER_FAILED = $00000011; +COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_FILE_BLOCKED_BY_POLICY = $00000008; -COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_SERVER_NO_RANGE = $00000012; +COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_FILE_SECURITY_CHECK_FAILED = $00000009; -COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_SERVER_BAD_CONTENT = $00000013; +COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_FILE_TOO_SHORT = $0000000A; -COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_SERVER_UNAUTHORIZED = $00000014; +COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_FILE_HASH_MISMATCH = $0000000B; -COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_SERVER_CERTIFICATE_PROBLEM = $00000015; +COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_NETWORK_FAILED = $0000000C; -COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_SERVER_FORBIDDEN = $00000016; +COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_NETWORK_TIMEOUT = $0000000D; -COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_SERVER_UNEXPECTED_RESPONSE = $00000017; +COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_NETWORK_DISCONNECTED = $0000000E; -COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_SERVER_CONTENT_LENGTH_MISMATCH = $00000018; +COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_NETWORK_SERVER_DOWN = $0000000F; -COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_SERVER_CROSS_ORIGIN_REDIRECT = $00000019; +COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_NETWORK_INVALID_REQUEST = $00000010; -COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_USER_CANCELED = $0000001A; +COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_SERVER_FAILED = $00000011; -COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_USER_SHUTDOWN = $0000001B; +COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_SERVER_NO_RANGE = $00000012; -COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_USER_PAUSED = $0000001C; +COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_SERVER_BAD_CONTENT = $00000013; -COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_DOWNLOAD_PROCESS_CRASHED = $0000001D; +COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_SERVER_UNAUTHORIZED = $00000014; -COREWEBVIEW2_CLIENT_CERTIFICATE_KIND_SMART_CARD = $00000000; +COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_SERVER_CERTIFICATE_PROBLEM = $00000015; -COREWEBVIEW2_CLIENT_CERTIFICATE_KIND_PIN = $00000001; +COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_SERVER_FORBIDDEN = $00000016; -COREWEBVIEW2_CLIENT_CERTIFICATE_KIND_OTHER = $00000002; +COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_SERVER_UNEXPECTED_RESPONSE = $00000017; -COREWEBVIEW2_PRINT_ORIENTATION_PORTRAIT = $00000000; +COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_SERVER_CONTENT_LENGTH_MISMATCH = $00000018; -COREWEBVIEW2_PRINT_ORIENTATION_LANDSCAPE = $00000001; +COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_SERVER_CROSS_ORIGIN_REDIRECT = $00000019; -COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT_TOP_LEFT = $00000000; +COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_USER_CANCELED = $0000001A; -COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT_TOP_RIGHT = $00000001; +COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_USER_SHUTDOWN = $0000001B; + + +COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_USER_PAUSED = $0000001C; + + +COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_DOWNLOAD_PROCESS_CRASHED = $0000001D; + + +COREWEBVIEW2_CLIENT_CERTIFICATE_KIND_SMART_CARD = $00000000; + + +COREWEBVIEW2_CLIENT_CERTIFICATE_KIND_PIN = $00000001; + + +COREWEBVIEW2_CLIENT_CERTIFICATE_KIND_OTHER = $00000002; + + +COREWEBVIEW2_PRINT_ORIENTATION_PORTRAIT = $00000000; +COREWEBVIEW2_PRINT_ORIENTATION_LANDSCAPE = $00000001; + + +COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT_TOP_LEFT = $00000000; + + +COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT_TOP_RIGHT = $00000001; + + COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT_BOTTOM_LEFT = $00000002; + +COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT_BOTTOM_RIGHT = $00000003; + + +COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND_COMMAND = $00000000; + + +COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND_CHECK_BOX = $00000001; + + +COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND_RADIO = $00000002; + + +COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND_SEPARATOR = $00000003; + + +COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND_SUBMENU = $00000004; + + +COREWEBVIEW2_CONTEXT_MENU_TARGET_KIND_PAGE = $00000000; + + +COREWEBVIEW2_CONTEXT_MENU_TARGET_KIND_IMAGE = $00000001; + + +COREWEBVIEW2_CONTEXT_MENU_TARGET_KIND_SELECTED_TEXT = $00000002; + + +COREWEBVIEW2_CONTEXT_MENU_TARGET_KIND_AUDIO = $00000003; + + +COREWEBVIEW2_CONTEXT_MENU_TARGET_KIND_VIDEO = $00000004; + -COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT_BOTTOM_RIGHT = $00000003; +COREWEBVIEW2_PREFERRED_COLOR_SCHEME_AUTO = $00000000; -COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND_COMMAND = $00000000; +COREWEBVIEW2_PREFERRED_COLOR_SCHEME_LIGHT = $00000001; -COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND_CHECK_BOX = $00000001; +COREWEBVIEW2_PREFERRED_COLOR_SCHEME_DARK = $00000002; -COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND_RADIO = $00000002; +COREWEBVIEW2_SERVER_CERTIFICATE_ERROR_ACTION_ALWAYS_ALLOW = $00000000; -COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND_SEPARATOR = $00000003; +COREWEBVIEW2_SERVER_CERTIFICATE_ERROR_ACTION_CANCEL = $00000001; -COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND_SUBMENU = $00000004; +COREWEBVIEW2_SERVER_CERTIFICATE_ERROR_ACTION_DEFAULT = $00000002; -COREWEBVIEW2_CONTEXT_MENU_TARGET_KIND_PAGE = $00000000; +COREWEBVIEW2_FAVICON_IMAGE_FORMAT_PNG = $00000000; -COREWEBVIEW2_CONTEXT_MENU_TARGET_KIND_IMAGE = $00000001; +COREWEBVIEW2_FAVICON_IMAGE_FORMAT_JPEG = $00000001; -COREWEBVIEW2_CONTEXT_MENU_TARGET_KIND_SELECTED_TEXT = $00000002; +COREWEBVIEW2_PRINT_STATUS_SUCCEEDED = $00000000; -COREWEBVIEW2_CONTEXT_MENU_TARGET_KIND_AUDIO = $00000003; +COREWEBVIEW2_PRINT_STATUS_PRINTER_UNAVAILABLE = $00000001; -COREWEBVIEW2_CONTEXT_MENU_TARGET_KIND_VIDEO = $00000004; +COREWEBVIEW2_PRINT_STATUS_OTHER_ERROR = $00000002; -COREWEBVIEW2_PREFERRED_COLOR_SCHEME_AUTO = $00000000; +COREWEBVIEW2_PRINT_DIALOG_KIND_BROWSER = $00000000; -COREWEBVIEW2_PREFERRED_COLOR_SCHEME_LIGHT = $00000001; +COREWEBVIEW2_PRINT_DIALOG_KIND_SYSTEM = $00000001; -COREWEBVIEW2_PREFERRED_COLOR_SCHEME_DARK = $00000002; +COREWEBVIEW2_SHARED_BUFFER_ACCESS_READ_ONLY = $00000000; -COREWEBVIEW2_SERVER_CERTIFICATE_ERROR_ACTION_ALWAYS_ALLOW = $00000000; +COREWEBVIEW2_SHARED_BUFFER_ACCESS_READ_WRITE = $00000001; -COREWEBVIEW2_SERVER_CERTIFICATE_ERROR_ACTION_CANCEL = $00000001; +COREWEBVIEW2_TEXT_DIRECTION_KIND_DEFAULT = $00000000; -COREWEBVIEW2_SERVER_CERTIFICATE_ERROR_ACTION_DEFAULT = $00000002; +COREWEBVIEW2_TEXT_DIRECTION_KIND_LEFT_TO_RIGHT = $00000001; -COREWEBVIEW2_FAVICON_IMAGE_FORMAT_PNG = $00000000; +COREWEBVIEW2_TEXT_DIRECTION_KIND_RIGHT_TO_LEFT = $00000002; -COREWEBVIEW2_FAVICON_IMAGE_FORMAT_JPEG = $00000001; +COREWEBVIEW2_SAVE_AS_KIND_DEFAULT = $00000000; -COREWEBVIEW2_PRINT_STATUS_SUCCEEDED = $00000000; +COREWEBVIEW2_SAVE_AS_KIND_HTML_ONLY = $00000001; -COREWEBVIEW2_PRINT_STATUS_PRINTER_UNAVAILABLE = $00000001; +COREWEBVIEW2_SAVE_AS_KIND_SINGLE_FILE = $00000002; -COREWEBVIEW2_PRINT_STATUS_OTHER_ERROR = $00000002; +COREWEBVIEW2_SAVE_AS_KIND_COMPLETE = $00000003; -COREWEBVIEW2_PRINT_DIALOG_KIND_BROWSER = $00000000; +COREWEBVIEW2_SAVE_AS_UI_RESULT_SUCCESS = $00000000; -COREWEBVIEW2_PRINT_DIALOG_KIND_SYSTEM = $00000001; +COREWEBVIEW2_SAVE_AS_UI_RESULT_INVALID_PATH = $00000001; -COREWEBVIEW2_SHARED_BUFFER_ACCESS_READ_ONLY = $00000000; +COREWEBVIEW2_SAVE_AS_UI_RESULT_FILE_ALREADY_EXISTS = $00000002; -COREWEBVIEW2_SHARED_BUFFER_ACCESS_READ_WRITE = $00000001; +COREWEBVIEW2_SAVE_AS_UI_RESULT_KIND_NOT_SUPPORTED = $00000003; -COREWEBVIEW2_BROWSER_PROCESS_EXIT_KIND_NORMAL = $00000000; +COREWEBVIEW2_SAVE_AS_UI_RESULT_CANCELLED = $00000004; -COREWEBVIEW2_BROWSER_PROCESS_EXIT_KIND_FAILED = $00000001; +COREWEBVIEW2_BROWSER_PROCESS_EXIT_KIND_NORMAL = $00000000; -COREWEBVIEW2_MOUSE_EVENT_KIND_HORIZONTAL_WHEEL = 526; +COREWEBVIEW2_BROWSER_PROCESS_EXIT_KIND_FAILED = $00000001; -COREWEBVIEW2_MOUSE_EVENT_KIND_LEFT_BUTTON_DOUBLE_CLICK = 515; +COREWEBVIEW2_MOUSE_EVENT_KIND_HORIZONTAL_WHEEL = 526; -COREWEBVIEW2_MOUSE_EVENT_KIND_LEFT_BUTTON_DOWN = 513; +COREWEBVIEW2_MOUSE_EVENT_KIND_LEFT_BUTTON_DOUBLE_CLICK = 515; -COREWEBVIEW2_MOUSE_EVENT_KIND_LEFT_BUTTON_UP = 514; +COREWEBVIEW2_MOUSE_EVENT_KIND_LEFT_BUTTON_DOWN = 513; -COREWEBVIEW2_MOUSE_EVENT_KIND_LEAVE = 675; +COREWEBVIEW2_MOUSE_EVENT_KIND_LEFT_BUTTON_UP = 514; -COREWEBVIEW2_MOUSE_EVENT_KIND_MIDDLE_BUTTON_DOUBLE_CLICK = 521; +COREWEBVIEW2_MOUSE_EVENT_KIND_LEAVE = 675; -COREWEBVIEW2_MOUSE_EVENT_KIND_MIDDLE_BUTTON_DOWN = 519; +COREWEBVIEW2_MOUSE_EVENT_KIND_MIDDLE_BUTTON_DOUBLE_CLICK = 521; -COREWEBVIEW2_MOUSE_EVENT_KIND_MIDDLE_BUTTON_UP = 520; +COREWEBVIEW2_MOUSE_EVENT_KIND_MIDDLE_BUTTON_DOWN = 519; -COREWEBVIEW2_MOUSE_EVENT_KIND_MOVE = 512; +COREWEBVIEW2_MOUSE_EVENT_KIND_MIDDLE_BUTTON_UP = 520; -COREWEBVIEW2_MOUSE_EVENT_KIND_RIGHT_BUTTON_DOUBLE_CLICK = 518; +COREWEBVIEW2_MOUSE_EVENT_KIND_MOVE = 512; -COREWEBVIEW2_MOUSE_EVENT_KIND_RIGHT_BUTTON_DOWN = 516; +COREWEBVIEW2_MOUSE_EVENT_KIND_RIGHT_BUTTON_DOUBLE_CLICK = 518; -COREWEBVIEW2_MOUSE_EVENT_KIND_RIGHT_BUTTON_UP = 517; +COREWEBVIEW2_MOUSE_EVENT_KIND_RIGHT_BUTTON_DOWN = 516; -COREWEBVIEW2_MOUSE_EVENT_KIND_WHEEL = 522; +COREWEBVIEW2_MOUSE_EVENT_KIND_RIGHT_BUTTON_UP = 517; -COREWEBVIEW2_MOUSE_EVENT_KIND_X_BUTTON_DOUBLE_CLICK = 525; +COREWEBVIEW2_MOUSE_EVENT_KIND_WHEEL = 522; -COREWEBVIEW2_MOUSE_EVENT_KIND_X_BUTTON_DOWN = 523; +COREWEBVIEW2_MOUSE_EVENT_KIND_X_BUTTON_DOUBLE_CLICK = 525; -COREWEBVIEW2_MOUSE_EVENT_KIND_X_BUTTON_UP = 524; +COREWEBVIEW2_MOUSE_EVENT_KIND_X_BUTTON_DOWN = 523; -COREWEBVIEW2_MOUSE_EVENT_KIND_NON_CLIENT_RIGHT_BUTTON_DOWN = 164; +COREWEBVIEW2_MOUSE_EVENT_KIND_X_BUTTON_UP = 524; -COREWEBVIEW2_MOUSE_EVENT_KIND_NON_CLIENT_RIGHT_BUTTON_UP = 165; +COREWEBVIEW2_MOUSE_EVENT_KIND_NON_CLIENT_RIGHT_BUTTON_DOWN = 164; -COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS_NONE = $00000000; +COREWEBVIEW2_MOUSE_EVENT_KIND_NON_CLIENT_RIGHT_BUTTON_UP = 165; -COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS_LEFT_BUTTON = $00000001; +COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS_NONE = $00000000; -COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS_RIGHT_BUTTON = $00000002; +COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS_LEFT_BUTTON = $00000001; -COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS_SHIFT = $00000004; +COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS_RIGHT_BUTTON = $00000002; -COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS_CONTROL = $00000008; +COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS_SHIFT = $00000004; -COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS_MIDDLE_BUTTON = $00000010; +COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS_CONTROL = $00000008; -COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS_X_BUTTON1 = $00000020; +COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS_MIDDLE_BUTTON = $00000010; -COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS_X_BUTTON2 = $00000040; +COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS_X_BUTTON1 = $00000020; -COREWEBVIEW2_POINTER_EVENT_KIND_ACTIVATE = $0000024B; +COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS_X_BUTTON2 = $00000040; -COREWEBVIEW2_POINTER_EVENT_KIND_DOWN = $00000246; +COREWEBVIEW2_POINTER_EVENT_KIND_ACTIVATE = $0000024B; -COREWEBVIEW2_POINTER_EVENT_KIND_ENTER = $00000249; +COREWEBVIEW2_POINTER_EVENT_KIND_DOWN = $00000246; -COREWEBVIEW2_POINTER_EVENT_KIND_LEAVE = $0000024A; +COREWEBVIEW2_POINTER_EVENT_KIND_ENTER = $00000249; -COREWEBVIEW2_POINTER_EVENT_KIND_UP = $00000247; +COREWEBVIEW2_POINTER_EVENT_KIND_LEAVE = $0000024A; -COREWEBVIEW2_POINTER_EVENT_KIND_UPDATE = $00000245; +COREWEBVIEW2_POINTER_EVENT_KIND_UP = $00000247; -COREWEBVIEW2_BOUNDS_MODE_USE_RAW_PIXELS = $00000000; +COREWEBVIEW2_POINTER_EVENT_KIND_UPDATE = $00000245; -COREWEBVIEW2_BOUNDS_MODE_USE_RASTERIZATION_SCALE = $00000001; +COREWEBVIEW2_BOUNDS_MODE_USE_RAW_PIXELS = $00000000; -COREWEBVIEW2_PROCESS_KIND_BROWSER = $00000000; +COREWEBVIEW2_BOUNDS_MODE_USE_RASTERIZATION_SCALE = $00000001; -COREWEBVIEW2_PROCESS_KIND_RENDERER = $00000001; +COREWEBVIEW2_PROCESS_KIND_BROWSER = $00000000; -COREWEBVIEW2_PROCESS_KIND_UTILITY = $00000002; +COREWEBVIEW2_PROCESS_KIND_RENDERER = $00000001; -COREWEBVIEW2_PROCESS_KIND_SANDBOX_HELPER = $00000003; +COREWEBVIEW2_PROCESS_KIND_UTILITY = $00000002; -COREWEBVIEW2_PROCESS_KIND_GPU = $00000004; +COREWEBVIEW2_PROCESS_KIND_SANDBOX_HELPER = $00000003; -COREWEBVIEW2_PROCESS_KIND_PPAPI_PLUGIN = $00000005; +COREWEBVIEW2_PROCESS_KIND_GPU = $00000004; -COREWEBVIEW2_PROCESS_KIND_PPAPI_BROKER = $00000006; +COREWEBVIEW2_PROCESS_KIND_PPAPI_PLUGIN = $00000005; -COREWEBVIEW2_FILE_SYSTEM_HANDLE_PERMISSION_READ_ONLY = $00000000; +COREWEBVIEW2_PROCESS_KIND_PPAPI_BROKER = $00000006; -COREWEBVIEW2_FILE_SYSTEM_HANDLE_PERMISSION_READ_WRITE = $00000001; +COREWEBVIEW2_FILE_SYSTEM_HANDLE_PERMISSION_READ_ONLY = $00000000; -COREWEBVIEW2_FILE_SYSTEM_HANDLE_KIND_FILE = $00000000; +COREWEBVIEW2_FILE_SYSTEM_HANDLE_PERMISSION_READ_WRITE = $00000001; -COREWEBVIEW2_FILE_SYSTEM_HANDLE_KIND_DIRECTORY = $00000001; +COREWEBVIEW2_FILE_SYSTEM_HANDLE_KIND_FILE = $00000000; -COREWEBVIEW2_CHANNEL_SEARCH_KIND_MOST_STABLE = $00000000; +COREWEBVIEW2_FILE_SYSTEM_HANDLE_KIND_DIRECTORY = $00000001; -COREWEBVIEW2_CHANNEL_SEARCH_KIND_LEAST_STABLE = $00000001; +COREWEBVIEW2_CHANNEL_SEARCH_KIND_MOST_STABLE = $00000000; -COREWEBVIEW2_RELEASE_CHANNELS_NONE = $00000000; +COREWEBVIEW2_CHANNEL_SEARCH_KIND_LEAST_STABLE = $00000001; -COREWEBVIEW2_RELEASE_CHANNELS_STABLE = $00000001; +COREWEBVIEW2_RELEASE_CHANNELS_NONE = $00000000; -COREWEBVIEW2_RELEASE_CHANNELS_BETA = $00000002; +COREWEBVIEW2_RELEASE_CHANNELS_STABLE = $00000001; -COREWEBVIEW2_RELEASE_CHANNELS_DEV = $00000004; +COREWEBVIEW2_RELEASE_CHANNELS_BETA = $00000002; -COREWEBVIEW2_RELEASE_CHANNELS_CANARY = $00000008; +COREWEBVIEW2_RELEASE_CHANNELS_DEV = $00000004; -COREWEBVIEW2_SCROLLBAR_STYLE_DEFAULT = $00000000; +COREWEBVIEW2_RELEASE_CHANNELS_CANARY = $00000008; -COREWEBVIEW2_SCROLLBAR_STYLE_FLUENT_OVERLAY = $00000001; +COREWEBVIEW2_SCROLLBAR_STYLE_DEFAULT = $00000000; -COREWEBVIEW2_FRAME_KIND_UNKNOWN = $00000000; +COREWEBVIEW2_SCROLLBAR_STYLE_FLUENT_OVERLAY = $00000001; -COREWEBVIEW2_FRAME_KIND_MAIN_FRAME = $00000001; +COREWEBVIEW2_FRAME_KIND_UNKNOWN = $00000000; -COREWEBVIEW2_FRAME_KIND_IFRAME = $00000002; +COREWEBVIEW2_FRAME_KIND_MAIN_FRAME = $00000001; -COREWEBVIEW2_FRAME_KIND_EMBED = $00000003; +COREWEBVIEW2_FRAME_KIND_IFRAME = $00000002; -COREWEBVIEW2_FRAME_KIND_OBJECT = $00000004; +COREWEBVIEW2_FRAME_KIND_EMBED = $00000003; -COREWEBVIEW2_NAVIGATION_KIND_RELOAD = $00000000; +COREWEBVIEW2_FRAME_KIND_OBJECT = $00000004; -COREWEBVIEW2_NAVIGATION_KIND_BACK_OR_FORWARD = $00000001; +COREWEBVIEW2_NAVIGATION_KIND_RELOAD = $00000000; -COREWEBVIEW2_NAVIGATION_KIND_NEW_DOCUMENT = $00000002; +COREWEBVIEW2_NAVIGATION_KIND_BACK_OR_FORWARD = $00000001; -COREWEBVIEW2_PRINT_COLLATION_DEFAULT = $00000000; +COREWEBVIEW2_NAVIGATION_KIND_NEW_DOCUMENT = $00000002; -COREWEBVIEW2_PRINT_COLLATION_COLLATED = $00000001; +COREWEBVIEW2_PRINT_COLLATION_DEFAULT = $00000000; -COREWEBVIEW2_PRINT_COLLATION_UNCOLLATED = $00000002; +COREWEBVIEW2_PRINT_COLLATION_COLLATED = $00000001; -COREWEBVIEW2_PRINT_COLOR_MODE_DEFAULT = $00000000; +COREWEBVIEW2_PRINT_COLLATION_UNCOLLATED = $00000002; -COREWEBVIEW2_PRINT_COLOR_MODE_COLOR = $00000001; +COREWEBVIEW2_PRINT_COLOR_MODE_DEFAULT = $00000000; -COREWEBVIEW2_PRINT_COLOR_MODE_GRAYSCALE = $00000002; +COREWEBVIEW2_PRINT_COLOR_MODE_COLOR = $00000001; -COREWEBVIEW2_PRINT_DUPLEX_DEFAULT = $00000000; +COREWEBVIEW2_PRINT_COLOR_MODE_GRAYSCALE = $00000002; -COREWEBVIEW2_PRINT_DUPLEX_ONE_SIDED = $00000001; +COREWEBVIEW2_PRINT_DUPLEX_DEFAULT = $00000000; -COREWEBVIEW2_PRINT_DUPLEX_TWO_SIDED_LONG_EDGE = $00000002; +COREWEBVIEW2_PRINT_DUPLEX_ONE_SIDED = $00000001; -COREWEBVIEW2_PRINT_DUPLEX_TWO_SIDED_SHORT_EDGE = $00000003; +COREWEBVIEW2_PRINT_DUPLEX_TWO_SIDED_LONG_EDGE = $00000002; -COREWEBVIEW2_PRINT_MEDIA_SIZE_DEFAULT = $00000000; +COREWEBVIEW2_PRINT_DUPLEX_TWO_SIDED_SHORT_EDGE = $00000003; -COREWEBVIEW2_PRINT_MEDIA_SIZE_CUSTOM = $00000001; +COREWEBVIEW2_PRINT_MEDIA_SIZE_DEFAULT = $00000000; -COREWEBVIEW2_PROCESS_FAILED_REASON_UNEXPECTED = $00000000; +COREWEBVIEW2_PRINT_MEDIA_SIZE_CUSTOM = $00000001; -COREWEBVIEW2_PROCESS_FAILED_REASON_UNRESPONSIVE = $00000001; +COREWEBVIEW2_PROCESS_FAILED_REASON_UNEXPECTED = $00000000; -COREWEBVIEW2_PROCESS_FAILED_REASON_TERMINATED = $00000002; +COREWEBVIEW2_PROCESS_FAILED_REASON_UNRESPONSIVE = $00000001; -COREWEBVIEW2_PROCESS_FAILED_REASON_CRASHED = $00000003; +COREWEBVIEW2_PROCESS_FAILED_REASON_TERMINATED = $00000002; -COREWEBVIEW2_PROCESS_FAILED_REASON_LAUNCH_FAILED = $00000004; +COREWEBVIEW2_PROCESS_FAILED_REASON_CRASHED = $00000003; -COREWEBVIEW2_PROCESS_FAILED_REASON_OUT_OF_MEMORY = $00000005; +COREWEBVIEW2_PROCESS_FAILED_REASON_LAUNCH_FAILED = $00000004; -COREWEBVIEW2_PROCESS_FAILED_REASON_PROFILE_DELETED = $00000006; +COREWEBVIEW2_PROCESS_FAILED_REASON_OUT_OF_MEMORY = $00000005; -COREWEBVIEW2_BROWSING_DATA_KINDS_FILE_SYSTEMS = $0001; +COREWEBVIEW2_PROCESS_FAILED_REASON_PROFILE_DELETED = $00000006; -COREWEBVIEW2_BROWSING_DATA_KINDS_INDEXED_DB = $0002; +COREWEBVIEW2_BROWSING_DATA_KINDS_FILE_SYSTEMS = $0001; -COREWEBVIEW2_BROWSING_DATA_KINDS_LOCAL_STORAGE = $0004; +COREWEBVIEW2_BROWSING_DATA_KINDS_INDEXED_DB = $0002; -COREWEBVIEW2_BROWSING_DATA_KINDS_WEB_SQL = $0008; +COREWEBVIEW2_BROWSING_DATA_KINDS_LOCAL_STORAGE = $0004; -COREWEBVIEW2_BROWSING_DATA_KINDS_CACHE_STORAGE = $0010; +COREWEBVIEW2_BROWSING_DATA_KINDS_WEB_SQL = $0008; -COREWEBVIEW2_BROWSING_DATA_KINDS_ALL_DOM_STORAGE = $0020; +COREWEBVIEW2_BROWSING_DATA_KINDS_CACHE_STORAGE = $0010; -COREWEBVIEW2_BROWSING_DATA_KINDS_COOKIES = $0040; +COREWEBVIEW2_BROWSING_DATA_KINDS_ALL_DOM_STORAGE = $0020; -COREWEBVIEW2_BROWSING_DATA_KINDS_ALL_SITE = $0080; +COREWEBVIEW2_BROWSING_DATA_KINDS_COOKIES = $0040; -COREWEBVIEW2_BROWSING_DATA_KINDS_DISK_CACHE = $0100; +COREWEBVIEW2_BROWSING_DATA_KINDS_ALL_SITE = $0080; -COREWEBVIEW2_BROWSING_DATA_KINDS_DOWNLOAD_HISTORY = $0200; +COREWEBVIEW2_BROWSING_DATA_KINDS_DISK_CACHE = $0100; -COREWEBVIEW2_BROWSING_DATA_KINDS_GENERAL_AUTOFILL = $0400; +COREWEBVIEW2_BROWSING_DATA_KINDS_DOWNLOAD_HISTORY = $0200; -COREWEBVIEW2_BROWSING_DATA_KINDS_PASSWORD_AUTOSAVE = $0800; +COREWEBVIEW2_BROWSING_DATA_KINDS_GENERAL_AUTOFILL = $0400; -COREWEBVIEW2_BROWSING_DATA_KINDS_BROWSING_HISTORY = $1000; +COREWEBVIEW2_BROWSING_DATA_KINDS_PASSWORD_AUTOSAVE = $0800; -COREWEBVIEW2_BROWSING_DATA_KINDS_SETTINGS = $2000; +COREWEBVIEW2_BROWSING_DATA_KINDS_BROWSING_HISTORY = $1000; -COREWEBVIEW2_BROWSING_DATA_KINDS_ALL_PROFILE = $4000; +COREWEBVIEW2_BROWSING_DATA_KINDS_SETTINGS = $2000; -COREWEBVIEW2_BROWSING_DATA_KINDS_SERVICE_WORKERS = $8000; +COREWEBVIEW2_BROWSING_DATA_KINDS_ALL_PROFILE = $4000; -COREWEBVIEW2_TRACKING_PREVENTION_LEVEL_NONE = $00000000; +COREWEBVIEW2_BROWSING_DATA_KINDS_SERVICE_WORKERS = $8000; -COREWEBVIEW2_TRACKING_PREVENTION_LEVEL_BASIC = $00000001; +COREWEBVIEW2_TRACKING_PREVENTION_LEVEL_NONE = $00000000; -COREWEBVIEW2_TRACKING_PREVENTION_LEVEL_BALANCED = $00000002; +COREWEBVIEW2_TRACKING_PREVENTION_LEVEL_BASIC = $00000001; -COREWEBVIEW2_TRACKING_PREVENTION_LEVEL_STRICT = $00000003; +COREWEBVIEW2_TRACKING_PREVENTION_LEVEL_BALANCED = $00000002; -COREWEBVIEW2_PDF_TOOLBAR_ITEMS_NONE = $00000000; +COREWEBVIEW2_TRACKING_PREVENTION_LEVEL_STRICT = $00000003; -COREWEBVIEW2_PDF_TOOLBAR_ITEMS_SAVE = $00000001; +COREWEBVIEW2_PDF_TOOLBAR_ITEMS_NONE = $00000000; -COREWEBVIEW2_PDF_TOOLBAR_ITEMS_PRINT = $00000002; +COREWEBVIEW2_PDF_TOOLBAR_ITEMS_SAVE = $00000001; +COREWEBVIEW2_PDF_TOOLBAR_ITEMS_PRINT = $00000002; + + COREWEBVIEW2_PDF_TOOLBAR_ITEMS_SAVE_AS = $00000004; - + COREWEBVIEW2_PDF_TOOLBAR_ITEMS_ZOOM_IN = $00000008; - + COREWEBVIEW2_PDF_TOOLBAR_ITEMS_ZOOM_OUT = $00000010; - + COREWEBVIEW2_PDF_TOOLBAR_ITEMS_ROTATE = $00000020; - + COREWEBVIEW2_PDF_TOOLBAR_ITEMS_FIT_PAGE = $00000040; - + COREWEBVIEW2_PDF_TOOLBAR_ITEMS_PAGE_LAYOUT = $00000080; - + COREWEBVIEW2_PDF_TOOLBAR_ITEMS_BOOKMARKS = $00000100; - + COREWEBVIEW2_PDF_TOOLBAR_ITEMS_PAGE_SELECTOR = $00000200; - + COREWEBVIEW2_PDF_TOOLBAR_ITEMS_SEARCH = $00000400; - + COREWEBVIEW2_PDF_TOOLBAR_ITEMS_FULL_SCREEN = $00000800; - + COREWEBVIEW2_PDF_TOOLBAR_ITEMS_MORE_SETTINGS = $00001000; - + COREWEBVIEW2_NON_CLIENT_REGION_KIND_NOWHERE = $00000000; - + COREWEBVIEW2_NON_CLIENT_REGION_KIND_CLIENT = $00000001; - + COREWEBVIEW2_NON_CLIENT_REGION_KIND_CAPTION = $00000002; - + COREWEBVIEW2_MEMORY_USAGE_TARGET_LEVEL_NORMAL = $00000000; - + 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; @@ -3001,6 +3112,47 @@

    Types

    + + + +
    COREWEBVIEW2_TEXT_DIRECTION_KIND = TOleEnum;
    +

    + Indicates the text direction of the notification.

    +

    + + +

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

    +
    + + + + + +
    COREWEBVIEW2_SAVE_AS_KIND = TOleEnum;
    +

    + Specifies Save As kind selection options for `ICoreWebView2SaveAsUIShowingEventArgs`. + +

    For HTML documents, we support 3 Save As kinds: HTML_ONLY, SINGLE_FILE and COMPLETE. For non-HTML documents, you must use DEFAULT. MIME types of `text/html` and `application/xhtml+xml` are considered HTML documents.

    +

    + + +

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

    +
    + + + + + +
    COREWEBVIEW2_SAVE_AS_UI_RESULT = TOleEnum;
    +

    + Status of a programmatic Save As call. Indicates the result of the `ShowSaveAsUI` method.

    +

    + + +

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

    +
    + +
    COREWEBVIEW2_BROWSER_PROCESS_EXIT_KIND = TOleEnum;
    @@ -3327,7 +3479,7 @@

    Types

    - +
    PPCoreWebView2CustomSchemeRegistration = ˆICoreWebView2CustomSchemeRegistration;Uint64Array = array of Uint64;

    @@ -3336,6 +3488,13 @@

    Types

    + + + +
    PPCoreWebView2CustomSchemeRegistration = ˆICoreWebView2CustomSchemeRegistration;
    +

    This item has no description.

    + +
    tagRECT = TRect;
    @@ -4281,6 +4440,69 @@

    Constants

    + + + +
    IID_ICoreWebView2_24: TGUID = '{39A7AD55-4287-5CC1-88A1-C6F458593824}';
    +

    This item has no description.

    + + + + + +
    IID_ICoreWebView2NotificationReceivedEventHandler: TGUID = '{89C5D598-8788-423B-BE97-E6E01C0F9EE3}';
    +

    This item has no description.

    + + + + + +
    IID_ICoreWebView2NotificationReceivedEventArgs: TGUID = '{1512DD5B-5514-4F85-886E-21C3A4C9CFE6}';
    +

    This item has no description.

    + + + + + +
    IID_ICoreWebView2Notification: TGUID = '{B7434D98-6BC8-419D-9DA5-FB5A96D4DACD}';
    +

    This item has no description.

    + + + + + +
    IID_ICoreWebView2NotificationCloseRequestedEventHandler: TGUID = '{47C32D23-1E94-4733-85F1-D9BF4ACD0974}';
    +

    This item has no description.

    + + + + + +
    IID_ICoreWebView2_25: TGUID = '{B5A86092-DF50-5B4F-A17B-6C8F8B40B771}';
    +

    This item has no description.

    + + + + + +
    IID_ICoreWebView2SaveAsUIShowingEventHandler: TGUID = '{6BAA177E-3A2E-5CCF-9A13-FAD676CD0522}';
    +

    This item has no description.

    + + + + + +
    IID_ICoreWebView2SaveAsUIShowingEventArgs: TGUID = '{55902952-0E0D-5AAA-A7D0-E833CDB34F62}';
    +

    This item has no description.

    + + + + + +
    IID_ICoreWebView2ShowSaveAsUICompletedHandler: TGUID = '{E24B07E3-8169-5C34-994A-7F6478946A3C}';
    +

    This item has no description.

    + +
    IID_ICoreWebView2AcceleratorKeyPressedEventArgs2: TGUID = '{03B2C8C8-7799-4E34-BD66-ED26AA85F2BF}';
    @@ -6946,6 +7168,168 @@

    Constants

    + + + +
    COREWEBVIEW2_TEXT_DIRECTION_KIND_DEFAULT = $00000000;
    +

    + Indicates that the notification text direction adopts the browser's language setting behavior.

    +

    + + +

    This is one of the COREWEBVIEW2_TEXT_DIRECTION_KIND values.

    +
    + + + + + +
    COREWEBVIEW2_TEXT_DIRECTION_KIND_LEFT_TO_RIGHT = $00000001;
    +

    + Indicates that the notification text is left-to-right.

    +

    + + +

    This is one of the COREWEBVIEW2_TEXT_DIRECTION_KIND values.

    +
    + + + + + +
    COREWEBVIEW2_TEXT_DIRECTION_KIND_RIGHT_TO_LEFT = $00000002;
    +

    + Indicates that the notification text is right-to-left.

    +

    + + +

    This is one of the COREWEBVIEW2_TEXT_DIRECTION_KIND values.

    +
    + + + + + +
    COREWEBVIEW2_SAVE_AS_KIND_DEFAULT = $00000000;
    +

    + Default kind to save non-HTML content. If this kind is selected for an HTML page, the behavior is the same as the `HTML_ONLY` kind.

    +

    + + +

    This is one of the COREWEBVIEW2_SAVE_AS_KIND values.

    +
    + + + + + +
    COREWEBVIEW2_SAVE_AS_KIND_HTML_ONLY = $00000001;
    +

    + Save the page as HTML. Only the top-level document is saved, excluding subresources.

    +

    + + +

    This is one of the COREWEBVIEW2_SAVE_AS_KIND values.

    +
    + + + + + +
    COREWEBVIEW2_SAVE_AS_KIND_SINGLE_FILE = $00000002;
    +

    + Save the page as [MHTML](https://en.wikipedia.org/wiki/MHTML).

    +

    + + +

    This is one of the COREWEBVIEW2_SAVE_AS_KIND values.

    +
    + + + + + +
    COREWEBVIEW2_SAVE_AS_KIND_COMPLETE = $00000003;
    +

    + Save the page as HTML and download the page-related source files (for example: CSS, JavaScript, images, etc.) in a directory with the same filename prefix.

    +

    + + +

    This is one of the COREWEBVIEW2_SAVE_AS_KIND values.

    +
    + + + + + +
    COREWEBVIEW2_SAVE_AS_UI_RESULT_SUCCESS = $00000000;
    +

    + The ShowSaveAsUI method call completed successfully. By default, the system Save As dialog opens. If `SuppressDefaultDialog` is set to TRUE, the system dialog is skipped.

    +

    + + +

    This is one of the COREWEBVIEW2_SAVE_AS_UI_RESULT values.

    +
    + + + + + +
    COREWEBVIEW2_SAVE_AS_UI_RESULT_INVALID_PATH = $00000001;
    +

    + Could not perform Save As because the destination file path is an invalid path. + +

    The path is invalid when it is empty, a relative path, or a directory, or when the parent path does not exist.

    +

    + + +

    This is one of the COREWEBVIEW2_SAVE_AS_UI_RESULT values.

    +
    + + + + + +
    COREWEBVIEW2_SAVE_AS_UI_RESULT_FILE_ALREADY_EXISTS = $00000002;
    +

    + Could not perform Save As because the destination file path already exists and replacing files was not allowed by the `AllowReplace` property.

    +

    + + +

    This is one of the COREWEBVIEW2_SAVE_AS_UI_RESULT values.

    +
    + + + + + +
    COREWEBVIEW2_SAVE_AS_UI_RESULT_KIND_NOT_SUPPORTED = $00000003;
    +

    + Could not perform Save As because the `Kind` property selection is not supported due to content MIME type or system limits. + +

    See the `COREWEBVIEW2_SAVE_AS_KIND` enum for MIME type limits. + +

    System limits include when the `HTML_ONLY` kind is selected for an error page at child mode, or when the `COMPLETE` kind is selected and the WebView is running in an App Container.

    +

    + + +

    This is one of the COREWEBVIEW2_SAVE_AS_UI_RESULT values.

    +
    + + + + + +
    COREWEBVIEW2_SAVE_AS_UI_RESULT_CANCELLED = $00000004;
    +

    + Did not perform Save As because the end user cancelled or the `Cancel` property on `ICoreWebView2SaveAsUIShowingEventArgs` was set to TRUE.

    +

    + + +

    This is one of the COREWEBVIEW2_SAVE_AS_UI_RESULT values.

    +
    + + - + - + - + - + - + - + - + - + - + + + + + + + + + +
    COREWEBVIEW2_BROWSER_PROCESS_EXIT_KIND_NORMAL = $00000000;
    diff --git a/docs/html/uWVTypes.html b/docs/html/uWVTypes.html index bd8e36e..d1c5dec 100644 --- a/docs/html/uWVTypes.html +++ b/docs/html/uWVTypes.html @@ -185,33 +185,42 @@

    Unit uWVTypes

    TWVFileSystemHandleKind = type COREWEBVIEW2_FILE_SYSTEM_HANDLE_KIND;
    TWV2LoaderStatus = (...);TWVTextDirectionKind = type COREWEBVIEW2_TEXT_DIRECTION_KIND;
    TWV2KeyEventType = (...);TWVSaveAsKind = type COREWEBVIEW2_SAVE_AS_KIND;
    TWV2DebugLog = (...);TWVSaveAsUIResult = type COREWEBVIEW2_SAVE_AS_UI_RESULT;
    TWV2DebugLogLevel = (...);TWV2LoaderStatus = (...);
    TWV2EditingCommand = (...);TWV2KeyEventType = (...);
    TWVClearDataStorageTypes = (...);TWV2DebugLog = (...);
    TWVState = (...);TWV2DebugLogLevel = (...);
    TWVAutoplayPolicy = (...);TWV2EditingCommand = (...);
    TWVCustomSchemeInfoArray = array of TWVCustomSchemeInfo;TWVClearDataStorageTypes = (...);
    TWVState = (...);
    TWVAutoplayPolicy = (...);
    TWVCustomSchemeInfoArray = array of TWVCustomSchemeInfo;
    TWVCustomSchemeRegistrationArray = array of ICoreWebView2CustomSchemeRegistration;
    @@ -879,6 +888,47 @@

    Types

    + + + +
    TWVTextDirectionKind = type COREWEBVIEW2_TEXT_DIRECTION_KIND;
    +

    + Indicates the text direction of the notification.

    +

    + + +

    Renamed COREWEBVIEW2_TEXT_DIRECTION_KIND type.

    +
    + + + + + +
    TWVSaveAsKind = type COREWEBVIEW2_SAVE_AS_KIND;
    +

    + Specifies Save As kind selection options for `ICoreWebView2SaveAsUIShowingEventArgs`. + +

    For HTML documents, we support 3 Save As kinds: HTML_ONLY, SINGLE_FILE and COMPLETE. For non-HTML documents, you must use DEFAULT. MIME types of `text/html` and `application/xhtml+xml` are considered HTML documents.

    +

    + + +

    Renamed COREWEBVIEW2_SAVE_AS_KIND type.

    +
    + + + + + +
    TWVSaveAsUIResult = type COREWEBVIEW2_SAVE_AS_UI_RESULT;
    +

    + Status of a programmatic Save As call. Indicates the result of the `ShowSaveAsUI` method.

    +

    + + +

    Renamed COREWEBVIEW2_SAVE_AS_UI_RESULT type.

    +
    + +
    TWV2LoaderStatus = (...);
    diff --git a/packages/WebView4Delphi.dpk b/packages/WebView4Delphi.dpk index 4487c7f..36782cf 100644 --- a/packages/WebView4Delphi.dpk +++ b/packages/WebView4Delphi.dpk @@ -97,7 +97,8 @@ contains uWVCoreWebView2ExecuteScriptResult in '..\source\uWVCoreWebView2ExecuteScriptResult.pas', uWVCoreWebView2RegionRectCollectionView in '..\source\uWVCoreWebView2RegionRectCollectionView.pas', uWVCoreWebView2ObjectCollection in '..\source\uWVCoreWebView2ObjectCollection.pas', - uWVCoreWebView2FileSystemHandle in '..\source\uWVCoreWebView2FileSystemHandle.pas'; + uWVCoreWebView2FileSystemHandle in '..\source\uWVCoreWebView2FileSystemHandle.pas', + uWVCoreWebView2Notification in '..\source\uWVCoreWebView2Notification.pas'; end. diff --git a/packages/WebView4DelphiVCLRTL.dpk b/packages/WebView4DelphiVCLRTL.dpk index 17e2c04..8b6bc54 100644 --- a/packages/WebView4DelphiVCLRTL.dpk +++ b/packages/WebView4DelphiVCLRTL.dpk @@ -98,6 +98,7 @@ contains uWVCoreWebView2ExecuteScriptResult in '..\source\uWVCoreWebView2ExecuteScriptResult.pas', uWVCoreWebView2RegionRectCollectionView in '..\source\uWVCoreWebView2RegionRectCollectionView.pas', uWVCoreWebView2ObjectCollection in '..\source\uWVCoreWebView2ObjectCollection.pas', - uWVCoreWebView2FileSystemHandle in '..\source\uWVCoreWebView2FileSystemHandle.pas'; + uWVCoreWebView2FileSystemHandle in '..\source\uWVCoreWebView2FileSystemHandle.pas', + uWVCoreWebView2Notification in '..\source\uWVCoreWebView2Notification.pas'; end. diff --git a/packages/webview4delphi.lpk b/packages/webview4delphi.lpk index 049150d..0b220fb 100644 --- a/packages/webview4delphi.lpk +++ b/packages/webview4delphi.lpk @@ -16,8 +16,8 @@ - - + + @@ -280,6 +280,10 @@ + + + + diff --git a/packages/webview4delphi.pas b/packages/webview4delphi.pas index 223cb77..c74caeb 100644 --- a/packages/webview4delphi.pas +++ b/packages/webview4delphi.pas @@ -40,7 +40,8 @@ interface uWVCoreWebView2BrowserExtension, uWVCoreWebView2ProcessExtendedInfo, uWVCoreWebView2ExecuteScriptResult, uWVCoreWebView2ScriptException, uWVCoreWebView2RegionRectCollectionView, uWVCoreWebView2ObjectCollection, - uWVCoreWebView2FileSystemHandle, LazarusPackageIntf; + uWVCoreWebView2FileSystemHandle, uWVCoreWebView2Notification, + LazarusPackageIntf; implementation diff --git a/source/uWVBrowser.pas b/source/uWVBrowser.pas index 624fc22..64700f8 100644 --- a/source/uWVBrowser.pas +++ b/source/uWVBrowser.pas @@ -133,6 +133,11 @@ TWVBrowser = class(TWVBrowserBase) property OnProfileGetBrowserExtensionsCompleted; property OnProfileDeleted; property OnExecuteScriptWithResultCompleted; + property OnNonClientRegionChanged; + property OnNotificationReceived; + property OnNotificationCloseRequested; + property OnSaveAsUIShowing; + property OnShowSaveAsUICompleted; end; {$IFDEF FPC} diff --git a/source/uWVBrowserBase.pas b/source/uWVBrowserBase.pas index 270e08e..d462bdc 100644 --- a/source/uWVBrowserBase.pas +++ b/source/uWVBrowserBase.pas @@ -176,6 +176,10 @@ TWVBrowserBase = class(TComponent, IWVBrowserEvents) FOnProfileDeleted : TOnProfileDeletedEvent; FOnExecuteScriptWithResultCompleted : TOnExecuteScriptWithResultCompletedEvent; FOnNonClientRegionChanged : TOnNonClientRegionChangedEvent; + FOnNotificationReceived : TOnNotificationReceivedEvent; + FOnNotificationCloseRequested : TOnNotificationCloseRequestedEvent; + FOnSaveAsUIShowing : TOnSaveAsUIShowingEvent; + FOnShowSaveAsUICompleted : TOnShowSaveAsUICompletedEvent; function GetBrowserProcessID : cardinal; function GetBrowserVersionInfo : wvstring; @@ -393,6 +397,10 @@ TWVBrowserBase = class(TComponent, IWVBrowserEvents) function ProfileDeletedEventHandler_Invoke(const sender: ICoreWebView2Profile; const args: IUnknown): HRESULT; function ExecuteScriptWithResultCompletedHandler_Invoke(errorCode: HResult; const result_: ICoreWebView2ExecuteScriptResult; aExecutionID : integer): HRESULT; function NonClientRegionChangedEventHandler_Invoke(const sender: ICoreWebView2CompositionController; const args: ICoreWebView2NonClientRegionChangedEventArgs): HRESULT; + function NotificationReceivedEventHandler_Invoke(const sender: ICoreWebView2; const args: ICoreWebView2NotificationReceivedEventArgs): HRESULT; + function NotificationCloseRequestedEventHandler_Invoke(const sender: ICoreWebView2Notification; const args: IUnknown): HRESULT; + function SaveAsUIShowingEventHandler_Invoke(const sender: ICoreWebView2; const args: ICoreWebView2SaveAsUIShowingEventArgs): HRESULT; + function ShowSaveAsUICompletedHandler_Invoke(errorCode: HResult; result_: COREWEBVIEW2_SAVE_AS_UI_RESULT): HRESULT; procedure doOnInitializationError(aErrorCode: HRESULT; const aErrorMessage: wvstring); virtual; procedure doOnEnvironmentCompleted; virtual; @@ -484,6 +492,10 @@ TWVBrowserBase = class(TComponent, IWVBrowserEvents) procedure doOnProfileDeletedEvent(const sender: ICoreWebView2Profile; const args: IUnknown); virtual; procedure doOnExecuteScriptWithResultCompletedEvent(errorCode: HResult; const result_: ICoreWebView2ExecuteScriptResult; aExecutionID : integer); virtual; procedure doOnNonClientRegionChangedEvent(const sender: ICoreWebView2CompositionController; const args: ICoreWebView2NonClientRegionChangedEventArgs); virtual; + procedure doOnNotificationReceivedEvent(const sender: ICoreWebView2; const args: ICoreWebView2NotificationReceivedEventArgs); virtual; + procedure doOnNotificationCloseRequestedEvent(const sender: ICoreWebView2Notification; const args: IUnknown); virtual; + procedure doOnSaveAsUIShowingEvent(const sender: ICoreWebView2; const args: ICoreWebView2SaveAsUIShowingEventArgs); virtual; + procedure doOnShowSaveAsUICompletedEvent(errorCode: HResult; result_: COREWEBVIEW2_SAVE_AS_UI_RESULT); virtual; public constructor Create(AOwner: TComponent); override; @@ -1178,15 +1190,101 @@ TWVBrowserBase = class(TComponent, IWVBrowserEvents) function PostWebMessageAsJsonWithAdditionalObjects(const webMessageAsJson: wvstring; const additionalObjects: ICoreWebView2ObjectCollectionView): boolean; /// - /// Add the provided host object to script running in the WebView with the + /// 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 /// promises and resolves to an object representing the host object. The - /// promise is rejected if the app has not added an object with the name. - /// When JavaScript code access a property or method of the object, a promise + /// promise is rejected if the app has not added an object with the name. + /// When JavaScript code access a property or method of the object, a promise /// is return, which resolves to the value returned from the host for the /// property or method, or rejected in case of error, for example, no - /// property or method on the object or parameters are not valid. + /// property or method on the object or parameters are not valid. + /// + /// NOTE: While simple types, `IDispatch` and array are supported, and + /// `IUnknown` objects that also implement `IDispatch` are treated as `IDispatch`, + /// generic `IUnknown`, `VT_DECIMAL`, or `VT_RECORD` variant is not supported. + /// Remote JavaScript objects like callback functions are represented as an + /// `VT_DISPATCH` `VARIANT` with the object implementing `IDispatch`. The + /// JavaScript callback method may be invoked using `DISPID_VALUE` for the + /// `DISPID`. Such callback method invocations will return immediately and will + /// not wait for the JavaScript function to run and so will not provide the return + /// value of the JavaScript function. + /// Nested arrays are supported up to a depth of 3. Arrays of by + /// reference types are not supported. `VT_EMPTY` and `VT_NULL` are mapped + /// into JavaScript as `null`. In JavaScript, `null` and undefined are + /// mapped to `VT_EMPTY`. + /// + /// Additionally, all host objects are exposed as + /// `window.chrome.webview.hostObjects.sync.{name}`. Here the host objects + /// are exposed as synchronous host object proxies. These are not promises + /// and function runtimes or property access synchronously block running + /// script waiting to communicate cross process for the host code to run. + /// Accordingly the result may have reliability issues and it is recommended + /// that you use the promise-based asynchronous + /// `window.chrome.webview.hostObjects.{name}` API. + /// + /// Synchronous host object proxies and asynchronous host object proxies may + /// both use a proxy to the same host object. Remote changes made by one + /// proxy propagates to any other proxy of that same host object whether + /// the other proxies and synchronous or asynchronous. + /// + /// While JavaScript is blocked on a synchronous run to native code, that + /// native code is unable to run back to JavaScript. Attempts to do so fail + /// with `HRESULT_FROM_WIN32(ERROR_POSSIBLE_DEADLOCK)`. + /// + /// Host object proxies are JavaScript Proxy objects that intercept all + /// property get, property set, and method invocations. Properties or methods + /// that are a part of the Function or Object prototype are run locally. + /// Additionally any property or method in the + /// `chrome.webview.hostObjects.options.forceLocalProperties` + /// array are also run locally. This defaults to including optional methods + /// that have meaning in JavaScript like `toJSON` and `Symbol.toPrimitive`. + /// Add more to the array as required. + /// + /// The `chrome.webview.hostObjects.cleanupSome` method performs a best + /// effort garbage collection on host object proxies. + /// + /// The `chrome.webview.hostObjects.options` object provides the ability to + /// change some functionality of host objects. + /// + /// Options property | Details + /// ---|--- + /// `forceLocalProperties` | This is an array of host object property names that will be run locally, instead of being called on the native host object. This defaults to `then`, `toJSON`, `Symbol.toString`, and `Symbol.toPrimitive`. You can add other properties to specify that they should be run locally on the javascript host object proxy. + /// `log` | This is a callback that will be called with debug information. For example, you can set this to `console.log.bind(console)` to have it print debug information to the console to help when troubleshooting host object usage. By default this is null. + /// `shouldSerializeDates` | By default this is false, and javascript Date objects will be sent to host objects as a string using `JSON.stringify`. You can set this property to true to have Date objects properly serialize as a `VT_DATE` when sending to the native host object, and have `VT_DATE` properties and return values create a javascript Date object. + /// `defaultSyncProxy` | When calling a method on a synchronous proxy, the result should also be a synchronous proxy. But in some cases, the sync/async context is lost (for example, when providing to native code a reference to a function, and then calling that function in native code). In these cases, the proxy will be asynchronous, unless this property is set. + /// `forceAsyncMethodMatches ` | This is an array of regular expressions. When calling a method on a synchronous proxy, the method call will be performed asynchronously if the method name matches a string or regular expression in this array. Setting this value to `Async` will make any method that ends with Async be an asynchronous method call. If an async method doesn't match here and isn't forced to be asynchronous, the method will be invoked synchronously, blocking execution of the calling JavaScript and then returning the resolution of the promise, rather than returning a promise. + /// `ignoreMemberNotFoundError` | By default, an exception is thrown when attempting to get the value of a proxy property that doesn't exist on the corresponding native class. Setting this property to `true` switches the behavior to match Chakra WinRT projection (and general JavaScript) behavior of returning `undefined` with no error. + /// `shouldPassTypedArraysAsArrays` | By default, typed arrays are passed to the host as `IDispatch`. To instead pass typed arrays to the host as `array`, set this to `true`. + /// + /// Host object proxies additionally have the following methods which run + /// locally. + /// + /// Method name | Details + /// ---|--- + ///`applyHostFunction`, `getHostProperty`, `setHostProperty` | Perform a method invocation, property get, or property set on the host object. Use the methods to explicitly force a method or property to run remotely if a conflicting local method or property exists. For instance, `proxy.toString()` runs the local `toString` method on the proxy object. But proxy.applyHostFunction('toString') runs `toString` on the host proxied object instead. + ///`getLocalProperty`, `setLocalProperty` | Perform property get, or property set locally. Use the methods to force getting or setting a property on the host object proxy rather than on the host object it represents. For instance, `proxy.unknownProperty` gets the property named `unknownProperty` from the host proxied object. But proxy.getLocalProperty('unknownProperty') gets the value of the property `unknownProperty` on the proxy object. + ///`sync` | Asynchronous host object proxies expose a sync method which returns a promise for a synchronous host object proxy for the same host object. For example, `chrome.webview.hostObjects.sample.methodCall()` returns an asynchronous host object proxy. Use the `sync` method to obtain a synchronous host object proxy instead: `const syncProxy = await chrome.webview.hostObjects.sample.methodCall().sync()`. + ///`async` | Synchronous host object proxies expose an async method which blocks and returns an asynchronous host object proxy for the same host object. For example, `chrome.webview.hostObjects.sync.sample.methodCall()` returns a synchronous host object proxy. Running the `async` method on this blocks and then returns an asynchronous host object proxy for the same host object: `const asyncProxy = chrome.webview.hostObjects.sync.sample.methodCall().async()`. + ///`then` | Asynchronous host object proxies have a `then` method. Allows proxies to be awaitable. `then` returns a promise that resolves with a representation of the host object. If the proxy represents a JavaScript literal, a copy of that is returned locally. If the proxy represents a function, a non-awaitable proxy is returned. If the proxy represents a JavaScript object with a mix of literal properties and function properties, the a copy of the object is returned with some properties as host object proxies. + /// + /// All other property and method invocations (other than the above Remote + /// object proxy methods, `forceLocalProperties` list, and properties on + /// Function and Object prototypes) are run remotely. Asynchronous host + /// object proxies return a promise representing asynchronous completion of + /// remotely invoking the method, or getting the property. The promise + /// resolves after the remote operations complete and the promises resolve to + /// the resulting value of the operation. Synchronous host object proxies + /// work similarly, but block running JavaScript and wait for the remote + /// operation to complete. + /// + /// Setting a property on an asynchronous host object proxy works slightly + /// differently. The set returns immediately and the return value is the + /// value that is set. This is a requirement of the JavaScript Proxy object. + /// If you need to asynchronously wait for the property set to complete, use + /// the `setHostProperty` method which returns a promise as described above. + /// Synchronous object property set property synchronously blocks until the + /// property is set. /// /// /// See the ICoreWebView2 article. @@ -1685,6 +1783,19 @@ TWVBrowserBase = class(TComponent, IWVBrowserEvents) /// This function triggers the TWVBrowserBase.OnGetProcessExtendedInfosCompleted event. /// function GetProcessExtendedInfos : boolean; + /// + /// Programmatically trigger a Save As action for the currently loaded document. + /// Opens a system modal dialog by default. If the `SuppressDefaultDialog` property + /// is `TRUE`, the system dialog is not opened. + /// This method returns `COREWEBVIEW2_SAVE_AS_UI_RESULT`. See + /// `COREWEBVIEW2_SAVE_AS_UI_RESULT` for details. + /// + /// True if successfull. + /// + /// See the ICoreWebView2_25 article. + /// This function triggers the TWVBrowserBase.OnSaveAsUIShowing and TWVBrowserBase.OnShowSaveAsUICompleted events. + /// + function ShowSaveAsUI : boolean; // Custom properties property Initialized : boolean read GetInitialized; @@ -3556,39 +3667,39 @@ TWVBrowserBase = class(TComponent, IWVBrowserEvents) /// /// The `OnLaunchingExternalUriScheme` event is raised when a navigation request is made to /// a URI scheme that is registered with the OS. + /// /// The `OnLaunchingExternalUriScheme` event handler may suppress the default dialog /// or replace the default dialog with a custom dialog. + /// /// If a deferral is not taken on the event args, the external URI scheme launch is /// blocked until the event handler returns. If a deferral is taken, the /// external URI scheme launch is blocked until the deferral is completed. /// The host also has the option to cancel the URI scheme launch. - /// The `NavigationStarting` and `NavigationCompleted` events will be raised, + /// + /// The `OnNavigationStarting` and `OnNavigationCompleted` events will be raised, /// regardless of whether the `Cancel` property is set to `TRUE` or - /// `FALSE`. The `NavigationCompleted` event will be raised with the `IsSuccess` property + /// `FALSE`. The `OnNavigationCompleted` event will be raised with the `IsSuccess` property /// set to `FALSE` and the `WebErrorStatus` property set to `ConnectionAborted` regardless of /// whether the host sets the `Cancel` property on the - /// `ICoreWebView2LaunchingExternalUriSchemeEventArgs`. The `SourceChanged`, `ContentLoading`, - /// and `HistoryChanged` events will not be raised for this navigation to the external URI + /// `ICoreWebView2LaunchingExternalUriSchemeEventArgs`. The `OnSourceChanged`, `OnContentLoading`, + /// and `OnHistoryChanged` events will not be raised for this navigation to the external URI /// scheme regardless of the `Cancel` property. + /// /// The `OnLaunchingExternalUriScheme` event will be raised after the - /// `NavigationStarting` event and before the `NavigationCompleted` event. + /// `OnNavigationStarting` event and before the `OnNavigationCompleted` event. + /// /// The default `CoreWebView2Settings` will also be updated upon navigation to an external /// URI scheme. If a setting on the `CoreWebView2Settings` interface has been changed, /// navigating to an external URI scheme will trigger the `CoreWebView2Settings` to update. + /// /// The WebView2 may not display the default dialog based on user settings, browser settings, /// and whether the origin is determined as a /// [trustworthy origin](https://w3c.github.io/webappsec-secure-contexts# /// potentially-trustworthy-origin); however, the event will still be raised. + /// /// If the request is initiated by a cross-origin frame without a user gesture, /// the request will be blocked and the `OnLaunchingExternalUriScheme` event will not - /// be raised. A URI scheme may be blocked for safety reasons. In this case the - /// `LaunchingExternalUriScheme` event will not be raised. The default dialog may show - /// an "always allow" checkbox which allows the user to opt-in to relaxed security - /// (i.e. skipping future default dialogs) for the combination of the URI scheme and the - /// origin of the page initiating this external URI scheme launch. The checkbox is offered - /// so long as the group policy to show the checkbox is not explicitly disabled and there - /// is a trustworthy initiating origin. If the user has checked this box, future attempts - /// to launch this URI scheme will still raise the event. + /// be raised. /// /// /// See the ICoreWebView2_18 article. @@ -3652,6 +3763,41 @@ TWVBrowserBase = class(TComponent, IWVBrowserEvents) /// See the ICoreWebView2CompositionController4 article. /// property OnNonClientRegionChanged : TOnNonClientRegionChangedEvent read FOnNonClientRegionChanged write FOnNonClientRegionChanged; + /// + /// Event for non-persistent notifications. + /// + /// If a deferral is not taken on the event args, the subsequent scripts after + /// the DOM notification creation call (i.e. `Notification()`) are blocked + /// until the event handler returns. If a deferral is taken, the scripts are + /// blocked until the deferral is completed. + /// + /// + /// See the ICoreWebView2_24 article. + /// + property OnNotificationReceived : TOnNotificationReceivedEvent read FOnNotificationReceived write FOnNotificationReceived; + /// + /// This event is raised when the notification is closed by the web code, such as through + /// `notification.close()`. You don't need to call `ReportClosed` since this is + /// coming from the web code. + /// + /// + /// See the ICoreWebView2Notification article. + /// + property OnNotificationCloseRequested : TOnNotificationCloseRequestedEvent read FOnNotificationCloseRequested write FOnNotificationCloseRequested; + /// + /// This event is raised when save as is triggered, programmatically or manually. + /// + /// + /// See the ICoreWebView2_25 article. + /// + property OnSaveAsUIShowing : TOnSaveAsUIShowingEvent read FOnSaveAsUIShowing write FOnSaveAsUIShowing; + /// + /// This event receives the result of the `ShowSaveAsUI` method. + /// + /// + /// See the ICoreWebView2_25 article. + /// + property OnShowSaveAsUICompleted : TOnShowSaveAsUICompletedEvent read FOnShowSaveAsUICompleted write FOnShowSaveAsUICompleted; end; implementation @@ -3809,6 +3955,10 @@ constructor TWVBrowserBase.Create(AOwner: TComponent); FOnProfileDeleted := nil; FOnExecuteScriptWithResultCompleted := nil; FOnNonClientRegionChanged := nil; + FOnNotificationReceived := nil; + FOnNotificationCloseRequested := nil; + FOnSaveAsUIShowing := nil; + FOnShowSaveAsUICompleted := nil; end; destructor TWVBrowserBase.Destroy; @@ -4919,6 +5069,30 @@ procedure TWVBrowserBase.doOnNonClientRegionChangedEvent(const sender: ICoreWebV FOnNonClientRegionChanged(self, sender, args); end; +procedure TWVBrowserBase.doOnNotificationReceivedEvent(const sender: ICoreWebView2; const args: ICoreWebView2NotificationReceivedEventArgs); +begin + if assigned(FOnNotificationReceived) then + FOnNotificationReceived(self, sender, args); +end; + +procedure TWVBrowserBase.doOnNotificationCloseRequestedEvent(const sender: ICoreWebView2Notification; const args: IUnknown); +begin + if assigned(FOnNotificationCloseRequested) then + FOnNotificationCloseRequested(self, sender, args); +end; + +procedure TWVBrowserBase.doOnSaveAsUIShowingEvent(const sender: ICoreWebView2; const args: ICoreWebView2SaveAsUIShowingEventArgs); +begin + if assigned(FOnSaveAsUIShowing) then + FOnSaveAsUIShowing(self, sender, args); +end; + +procedure TWVBrowserBase.doOnShowSaveAsUICompletedEvent(errorCode: HResult; result_: COREWEBVIEW2_SAVE_AS_UI_RESULT); +begin + if assigned(FOnShowSaveAsUICompleted) then + FOnShowSaveAsUICompleted(self, errorCode, result_); +end; + procedure TWVBrowserBase.doOnRetrieveMHTMLCompleted( aErrorCode : HRESULT; const aReturnObjectAsJson : wvstring); var @@ -5266,6 +5440,30 @@ function TWVBrowserBase.NonClientRegionChangedEventHandler_Invoke(const sender: doOnNonClientRegionChangedEvent(sender, args); end; +function TWVBrowserBase.NotificationReceivedEventHandler_Invoke(const sender: ICoreWebView2; const args: ICoreWebView2NotificationReceivedEventArgs): HRESULT; +begin + Result := S_OK; + doOnNotificationReceivedEvent(sender, args); +end; + +function TWVBrowserBase.NotificationCloseRequestedEventHandler_Invoke(const sender: ICoreWebView2Notification; const args: IUnknown): HRESULT; +begin + Result := S_OK; + doOnNotificationCloseRequestedEvent(sender, args); +end; + +function TWVBrowserBase.SaveAsUIShowingEventHandler_Invoke(const sender: ICoreWebView2; const args: ICoreWebView2SaveAsUIShowingEventArgs): HRESULT; +begin + Result := S_OK; + doOnSaveAsUIShowingEvent(sender, args); +end; + +function TWVBrowserBase.ShowSaveAsUICompletedHandler_Invoke(errorCode: HResult; result_: COREWEBVIEW2_SAVE_AS_UI_RESULT): HRESULT; +begin + Result := S_OK; + doOnShowSaveAsUICompletedEvent(errorCode, result_); +end; + function TWVBrowserBase.ExecuteScriptCompletedHandler_Invoke(errorCode: HRESULT; result_: PWideChar; aExecutionID : integer): HRESULT; begin Result := S_OK; @@ -6252,6 +6450,12 @@ function TWVBrowserBase.GetProcessExtendedInfos : boolean; FCoreWebView2Environment.GetProcessExtendedInfos(self); end; +function TWVBrowserBase.ShowSaveAsUI : boolean; +begin + Result := Initialized and + FCoreWebView2.ShowSaveAsUI(self); +end; + function TWVBrowserBase.TrySuspend : boolean; var TempHandler : ICoreWebView2TrySuspendCompletedHandler; diff --git a/source/uWVCoreWebView2.pas b/source/uWVCoreWebView2.pas index e7ea3ca..bdcbafe 100644 --- a/source/uWVCoreWebView2.pas +++ b/source/uWVCoreWebView2.pas @@ -40,6 +40,8 @@ TCoreWebView2 = class FBaseIntf21 : ICoreWebView2_21; FBaseIntf22 : ICoreWebView2_22; FBaseIntf23 : ICoreWebView2_23; + FBaseIntf24 : ICoreWebView2_24; + FBaseIntf25 : ICoreWebView2_25; FContainsFullScreenElementChangedToken : EventRegistrationToken; FContentLoadingToken : EventRegistrationToken; FDocumentTitleChangedToken : EventRegistrationToken; @@ -70,6 +72,8 @@ TCoreWebView2 = class FServerCertificateErrorDetectedToken : EventRegistrationToken; FFaviconChangedToken : EventRegistrationToken; FLaunchingExternalUriSchemeToken : EventRegistrationToken; + FNotificationReceivedToken : EventRegistrationToken; + FSaveAsUIShowingToken : EventRegistrationToken; FFrameIDCopy : cardinal; FDevToolsEventNames : TStringList; FDevToolsEventTokens : array of EventRegistrationToken; @@ -136,6 +140,8 @@ TCoreWebView2 = class function AddServerCertificateErrorDetectedEvent(const aBrowserComponent : TComponent) : boolean; function AddFaviconChanged(const aBrowserComponent : TComponent) : boolean; function AddLaunchingExternalUriScheme(const aBrowserComponent : TComponent) : boolean; + function AddNotificationReceived(const aBrowserComponent : TComponent) : boolean; + function AddSaveAsUIShowing(const aBrowserComponent : TComponent) : boolean; public constructor Create(const aBaseIntf : ICoreWebView2); reintroduce; @@ -524,17 +530,17 @@ TCoreWebView2 = class /// function RemoveWebResourceRequestedFilter(const URI : wvstring; ResourceContext: TWVWebResourceContext) : boolean; /// - /// Add the provided host object to script running in the WebView with the + /// 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 /// promises and resolves to an object representing the host object. The - /// promise is rejected if the app has not added an object with the name. - /// When JavaScript code access a property or method of the object, a promise + /// promise is rejected if the app has not added an object with the name. + /// When JavaScript code access a property or method of the object, a promise /// is return, which resolves to the value returned from the host for the /// property or method, or rejected in case of error, for example, no - /// property or method on the object or parameters are not valid. + /// property or method on the object or parameters are not valid. /// - /// NOTE: While simple types, `IDispatch` and array are supported, and + /// NOTE: While simple types, `IDispatch` and array are supported, and /// `IUnknown` objects that also implement `IDispatch` are treated as `IDispatch`, /// generic `IUnknown`, `VT_DECIMAL`, or `VT_RECORD` variant is not supported. /// Remote JavaScript objects like callback functions are represented as an @@ -542,44 +548,44 @@ TCoreWebView2 = class /// JavaScript callback method may be invoked using `DISPID_VALUE` for the /// `DISPID`. Such callback method invocations will return immediately and will /// not wait for the JavaScript function to run and so will not provide the return - /// value of the JavaScript function. - /// Nested arrays are supported up to a depth of 3. Arrays of by + /// value of the JavaScript function. + /// Nested arrays are supported up to a depth of 3. Arrays of by /// reference types are not supported. `VT_EMPTY` and `VT_NULL` are mapped /// into JavaScript as `null`. In JavaScript, `null` and undefined are - /// mapped to `VT_EMPTY`. + /// mapped to `VT_EMPTY`. /// - /// Additionally, all host objects are exposed as + /// Additionally, all host objects are exposed as /// `window.chrome.webview.hostObjects.sync.{name}`. Here the host objects /// are exposed as synchronous host object proxies. These are not promises /// and function runtimes or property access synchronously block running /// script waiting to communicate cross process for the host code to run. /// Accordingly the result may have reliability issues and it is recommended /// that you use the promise-based asynchronous - /// `window.chrome.webview.hostObjects.{name}` API. + /// `window.chrome.webview.hostObjects.{name}` API. /// - /// Synchronous host object proxies and asynchronous host object proxies may + /// Synchronous host object proxies and asynchronous host object proxies may /// both use a proxy to the same host object. Remote changes made by one /// proxy propagates to any other proxy of that same host object whether - /// the other proxies and synchronous or asynchronous. + /// the other proxies and synchronous or asynchronous. /// - /// While JavaScript is blocked on a synchronous run to native code, that + /// While JavaScript is blocked on a synchronous run to native code, that /// native code is unable to run back to JavaScript. Attempts to do so fail - /// with `HRESULT_FROM_WIN32(ERROR_POSSIBLE_DEADLOCK)`. + /// with `HRESULT_FROM_WIN32(ERROR_POSSIBLE_DEADLOCK)`. /// - /// Host object proxies are JavaScript Proxy objects that intercept all + /// Host object proxies are JavaScript Proxy objects that intercept all /// property get, property set, and method invocations. Properties or methods /// that are a part of the Function or Object prototype are run locally. /// Additionally any property or method in the /// `chrome.webview.hostObjects.options.forceLocalProperties` /// array are also run locally. This defaults to including optional methods /// that have meaning in JavaScript like `toJSON` and `Symbol.toPrimitive`. - /// Add more to the array as required. + /// Add more to the array as required. /// - /// The `chrome.webview.hostObjects.cleanupSome` method performs a best - /// effort garbage collection on host object proxies. + /// The `chrome.webview.hostObjects.cleanupSome` method performs a best + /// effort garbage collection on host object proxies. /// - /// The `chrome.webview.hostObjects.options` object provides the ability to - /// change some functionality of host objects. + /// The `chrome.webview.hostObjects.options` object provides the ability to + /// change some functionality of host objects. /// /// Options property | Details /// ---|--- @@ -589,10 +595,10 @@ TCoreWebView2 = class /// `defaultSyncProxy` | When calling a method on a synchronous proxy, the result should also be a synchronous proxy. But in some cases, the sync/async context is lost (for example, when providing to native code a reference to a function, and then calling that function in native code). In these cases, the proxy will be asynchronous, unless this property is set. /// `forceAsyncMethodMatches ` | This is an array of regular expressions. When calling a method on a synchronous proxy, the method call will be performed asynchronously if the method name matches a string or regular expression in this array. Setting this value to `Async` will make any method that ends with Async be an asynchronous method call. If an async method doesn't match here and isn't forced to be asynchronous, the method will be invoked synchronously, blocking execution of the calling JavaScript and then returning the resolution of the promise, rather than returning a promise. /// `ignoreMemberNotFoundError` | By default, an exception is thrown when attempting to get the value of a proxy property that doesn't exist on the corresponding native class. Setting this property to `true` switches the behavior to match Chakra WinRT projection (and general JavaScript) behavior of returning `undefined` with no error. - /// `shouldPassTypedArraysAsArrays` | By default, typed arrays will be passed to host as IDispatch. Otherwise, set to true to pass typed arrays to host as array. + /// `shouldPassTypedArraysAsArrays` | By default, typed arrays are passed to the host as `IDispatch`. To instead pass typed arrays to the host as `array`, set this to `true`. /// - /// Host object proxies additionally have the following methods which run - /// locally. + /// Host object proxies additionally have the following methods which run + /// locally. /// /// Method name | Details /// ---|--- @@ -602,7 +608,7 @@ TCoreWebView2 = class ///`async` | Synchronous host object proxies expose an async method which blocks and returns an asynchronous host object proxy for the same host object. For example, `chrome.webview.hostObjects.sync.sample.methodCall()` returns a synchronous host object proxy. Running the `async` method on this blocks and then returns an asynchronous host object proxy for the same host object: `const asyncProxy = chrome.webview.hostObjects.sync.sample.methodCall().async()`. ///`then` | Asynchronous host object proxies have a `then` method. Allows proxies to be awaitable. `then` returns a promise that resolves with a representation of the host object. If the proxy represents a JavaScript literal, a copy of that is returned locally. If the proxy represents a function, a non-awaitable proxy is returned. If the proxy represents a JavaScript object with a mix of literal properties and function properties, the a copy of the object is returned with some properties as host object proxies. /// - /// All other property and method invocations (other than the above Remote + /// All other property and method invocations (other than the above Remote /// object proxy methods, `forceLocalProperties` list, and properties on /// Function and Object prototypes) are run remotely. Asynchronous host /// object proxies return a promise representing asynchronous completion of @@ -610,15 +616,15 @@ TCoreWebView2 = class /// resolves after the remote operations complete and the promises resolve to /// the resulting value of the operation. Synchronous host object proxies /// work similarly, but block running JavaScript and wait for the remote - /// operation to complete. + /// operation to complete. /// - /// Setting a property on an asynchronous host object proxy works slightly + /// Setting a property on an asynchronous host object proxy works slightly /// differently. The set returns immediately and the return value is the /// value that is set. This is a requirement of the JavaScript Proxy object. /// If you need to asynchronously wait for the property set to complete, use /// the `setHostProperty` method which returns a promise as described above. /// Synchronous object property set property synchronously blocks until the - /// property is set. + /// property is set. /// function AddHostObjectToScript(const aName : wvstring; const aObject : OleVariant): boolean; /// @@ -879,6 +885,17 @@ TCoreWebView2 = class /// function PostWebMessageAsJsonWithAdditionalObjects(const webMessageAsJson: wvstring; const additionalObjects: ICoreWebView2ObjectCollectionView): boolean; + /// + /// Programmatically trigger a Save As action for the currently loaded document. + /// The `SaveAsUIShowing` event is raised. + /// + /// Opens a system modal dialog by default. If the `SuppressDefaultDialog` property + /// is `TRUE`, the system dialog is not opened. + /// + /// This method returns `COREWEBVIEW2_SAVE_AS_UI_RESULT`. See + /// `COREWEBVIEW2_SAVE_AS_UI_RESULT` for details. + /// + function ShowSaveAsUI(const aBrowserComponent : TComponent) : boolean; /// /// Returns true when the interface implemented by this class is fully initialized. @@ -1092,8 +1109,10 @@ constructor TCoreWebView2.Create(const aBaseIntf : ICoreWebView2); LoggedQueryInterface(FBaseIntf, IID_ICoreWebView2_19, FBaseIntf19) and LoggedQueryInterface(FBaseIntf, IID_ICoreWebView2_20, FBaseIntf20) and LoggedQueryInterface(FBaseIntf, IID_ICoreWebView2_21, FBaseIntf21) and - LoggedQueryInterface(FBaseIntf, IID_ICoreWebView2_22, FBaseIntf22) then - LoggedQueryInterface(FBaseIntf, IID_ICoreWebView2_23, FBaseIntf23); + LoggedQueryInterface(FBaseIntf, IID_ICoreWebView2_22, FBaseIntf22) and + LoggedQueryInterface(FBaseIntf, IID_ICoreWebView2_23, FBaseIntf23) and + LoggedQueryInterface(FBaseIntf, IID_ICoreWebView2_24, FBaseIntf24) then + LoggedQueryInterface(FBaseIntf, IID_ICoreWebView2_25, FBaseIntf25); end; destructor TCoreWebView2.Destroy; @@ -1148,6 +1167,8 @@ procedure TCoreWebView2.InitializeFields; FBaseIntf21 := nil; FBaseIntf22 := nil; FBaseIntf23 := nil; + FBaseIntf24 := nil; + FBaseIntf25 := nil; FDevToolsEventTokens := nil; FDevToolsEventNames := nil; FFrameIDCopy := WEBVIEW4DELPHI_INVALID_FRAMEID; @@ -1187,6 +1208,8 @@ procedure TCoreWebView2.InitializeTokens; FServerCertificateErrorDetectedToken.value := 0; FFaviconChangedToken.value := 0; FLaunchingExternalUriSchemeToken.value := 0; + FNotificationReceivedToken.value := 0; + FSaveAsUIShowingToken.value := 0; end; function TCoreWebView2.GetInitialized : boolean; @@ -1309,6 +1332,14 @@ procedure TCoreWebView2.RemoveAllEvents; (FLaunchingExternalUriSchemeToken.Value <> 0) then FBaseIntf18.remove_LaunchingExternalUriScheme(FLaunchingExternalUriSchemeToken); + if assigned(FBaseIntf24) and + (FNotificationReceivedToken.value <> 0) then + FBaseIntf24.remove_NotificationReceived(FNotificationReceivedToken); + + if assigned(FBaseIntf25) and + (FSaveAsUIShowingToken.value <> 0) then + FBaseIntf25.remove_SaveAsUIShowing(FSaveAsUIShowingToken); + UnsubscribeAllDevToolsProtocolEvents; end; except @@ -1770,6 +1801,36 @@ function TCoreWebView2.AddLaunchingExternalUriScheme(const aBrowserComponent : T end; end; +function TCoreWebView2.AddNotificationReceived(const aBrowserComponent : TComponent) : boolean; +var + TempHandler : ICoreWebView2NotificationReceivedEventHandler; +begin + Result := False; + + if assigned(FBaseIntf24) and (FNotificationReceivedToken.value = 0) then + try + TempHandler := TCoreWebView2NotificationReceivedEventHandler.Create(TWVBrowserBase(aBrowserComponent)); + Result := succeeded(FBaseIntf24.add_NotificationReceived(TempHandler, FNotificationReceivedToken)); + finally + TempHandler := nil; + end; +end; + +function TCoreWebView2.AddSaveAsUIShowing(const aBrowserComponent : TComponent) : boolean; +var + TempHandler : ICoreWebView2SaveAsUIShowingEventHandler; +begin + Result := False; + + if assigned(FBaseIntf25) and (FSaveAsUIShowingToken.value = 0) then + try + TempHandler := TCoreWebView2SaveAsUIShowingEventHandler.Create(TWVBrowserBase(aBrowserComponent)); + Result := succeeded(FBaseIntf25.add_SaveAsUIShowing(TempHandler, FSaveAsUIShowingToken)); + finally + TempHandler := nil; + end; +end; + function TCoreWebView2.AddAllBrowserEvents(const aBrowserComponent : TComponent) : boolean; begin Result := AddNavigationStartingEvent(aBrowserComponent) and @@ -1801,7 +1862,9 @@ function TCoreWebView2.AddAllBrowserEvents(const aBrowserComponent : TComponent) AddStatusBarTextChangedEvent(aBrowserComponent) and AddServerCertificateErrorDetectedEvent(aBrowserComponent) and AddFaviconChanged(aBrowserComponent) and - AddLaunchingExternalUriScheme(aBrowserComponent); + AddLaunchingExternalUriScheme(aBrowserComponent) and + AddNotificationReceived(aBrowserComponent) and + AddSaveAsUIShowing(aBrowserComponent); end; function TCoreWebView2.AddWebResourceRequestedFilter(const URI : wvstring; @@ -2198,6 +2261,21 @@ function TCoreWebView2.PostWebMessageAsJsonWithAdditionalObjects(const webMessag succeeded(FBaseIntf23.PostWebMessageAsJsonWithAdditionalObjects(PWideChar(webMessageAsJson), additionalObjects)); end; +function TCoreWebView2.ShowSaveAsUI(const aBrowserComponent : TComponent) : boolean; +var + TempHandler : ICoreWebView2ShowSaveAsUICompletedHandler; +begin + Result := False; + + if assigned(FBaseIntf25) then + try + TempHandler := TCoreWebView2ShowSaveAsUICompletedHandler.Create(TWVBrowserBase(aBrowserComponent)); + Result := succeeded(FBaseIntf25.ShowSaveAsUI(TempHandler)); + finally + TempHandler := nil; + end; +end; + function TCoreWebView2.GetBrowserProcessID : cardinal; var TempID : DWORD; diff --git a/source/uWVCoreWebView2Args.pas b/source/uWVCoreWebView2Args.pas index 5c31164..c3d3e65 100644 --- a/source/uWVCoreWebView2Args.pas +++ b/source/uWVCoreWebView2Args.pas @@ -1897,6 +1897,170 @@ TCoreWebView2NonClientRegionChangedEventArgs = class property RegionKind : TWVNonClientRegionKind read GetRegionKind; end; + /// + /// Event args for the `NotificationReceived` event. + /// + /// + /// See the ICoreWebView2NotificationReceivedEventArgs article. + /// + TCoreWebView2NotificationReceivedEventArgs = class + protected + FBaseIntf : ICoreWebView2NotificationReceivedEventArgs; + + function GetInitialized : boolean; + function GetSenderOrigin : wvstring; + function GetNotification : ICoreWebView2Notification; + function GetHandled : boolean; + function GetDeferral : ICoreWebView2Deferral; + + procedure SetHandled(aValue: boolean); + + public + constructor Create(const aArgs: ICoreWebView2NotificationReceivedEventArgs); reintroduce; + destructor Destroy; override; + + /// + /// Returns true when the interface implemented by this class is fully initialized. + /// + property Initialized : boolean read GetInitialized; + /// + /// Returns the interface implemented by this class. + /// + property BaseIntf : ICoreWebView2NotificationReceivedEventArgs read FBaseIntf; + /// + /// The origin of the web content that sends the notification, such as + /// `https://example.com/` or `https://www.example.com/`. + /// + property SenderOrigin : wvstring read GetSenderOrigin; + /// + /// The notification that was received. You can access the + /// properties on the Notification object to show your own notification. + /// + property Notification : ICoreWebView2Notification read GetNotification; + /// + /// Sets whether the `NotificationReceived` event is handled by the host after + /// the event handler completes or if there is a deferral then after the + /// deferral is completed. + /// + /// If `Handled` is set to TRUE then WebView will not display the notification + /// with the default UI, and the host will be responsible for handling the + /// notification and for letting the web content know that the notification + /// has been displayed, clicked, or closed. You must set `Handled` to `TRUE` + /// before you call `ReportShown`, `ReportClicked`, + /// `ReportClickedWithActionIndex` and `ReportClosed`, otherwise they will + /// fail with `HRESULT_FROM_WIN32(ERROR_INVALID_STATE)`. If after the event + /// handler or deferral completes `Handled` is set to FALSE then WebView will + /// display the default notification UI. Note that you cannot un-handle this + /// event once you have set `Handled` to be `TRUE`. The initial value is + /// FALSE. + /// + property Handled : boolean read GetHandled write SetHandled; + /// + /// Returns an `ICoreWebView2Deferral` object. Use this operation to complete + /// the event at a later time. + /// + property Deferral : ICoreWebView2Deferral read GetDeferral; + end; + + /// + /// The event args for `SaveAsUIShowing` event. + /// + /// + /// See the ICoreWebView2SaveAsUIShowingEventArgs article. + /// + TCoreWebView2SaveAsUIShowingEventArgs = class + protected + FBaseIntf : ICoreWebView2SaveAsUIShowingEventArgs; + + function GetInitialized : boolean; + function GetContentMimeType : wvstring; + function GetCancel : boolean; + function GetSuppressDefaultDialog : boolean; + function GetDeferral : ICoreWebView2Deferral; + function GetSaveAsFilePath : wvstring; + function GetAllowReplace : boolean; + function GetKind : TWVSaveAsKind; + + procedure SetCancel(aValue : boolean); + procedure SetSuppressDefaultDialog(aValue : boolean); + procedure SetSaveAsFilePath(const aValue : wvstring); + procedure SetAllowReplace(aValue : boolean); + procedure SetKind(aValue : TWVSaveAsKind); + + public + constructor Create(const aArgs: ICoreWebView2SaveAsUIShowingEventArgs); reintroduce; + destructor Destroy; override; + + /// + /// Returns true when the interface implemented by this class is fully initialized. + /// + property Initialized : boolean read GetInitialized; + /// + /// Returns the interface implemented by this class. + /// + property BaseIntf : ICoreWebView2SaveAsUIShowingEventArgs read FBaseIntf; + /// + /// Get the Mime type of content to be saved. + /// + property ContentMimeType : wvstring read GetContentMimeType; + /// + /// Sets the `Cancel` property. Set this property to `TRUE` to cancel the Save As action + /// and prevent the download from starting. ShowSaveAsUI returns + /// `COREWEBVIEW2_SAVE_AS_UI_RESULT_CANCELLED` in this case. The default value is `FALSE`. + /// + property Cancel : boolean read GetCancel write SetCancel; + /// + /// Sets the `SuppressDefaultDialog` property, which indicates whether the system + /// default dialog is suppressed. When `SuppressDefaultDialog` is `FALSE`, the default + /// Save As dialog is shown and the values assigned through `SaveAsFilePath`, `AllowReplace` + /// and `Kind` are ignored when the event args invoke completed. + /// + /// Set `SuppressDefaultDialog` to `TRUE` to perform a silent Save As. When + /// `SuppressDefaultDialog` is `TRUE`, the system dialog is skipped and the + /// `SaveAsFilePath`, `AllowReplace` and `Kind` values are used. + /// + /// The default value is FALSE. + /// + property SuppressDefaultDialog : boolean read GetSuppressDefaultDialog write SetSuppressDefaultDialog; + /// + /// Returns an `ICoreWebView2Deferral` object. This will defer showing the + /// default Save As dialog and performing the Save As operation. + /// + property Deferral : ICoreWebView2Deferral read GetDeferral; + /// + /// Set the `SaveAsFilePath` property for Save As. `SaveAsFilePath` is an absolute path + /// of the location. It includes the file name and extension. If `SaveAsFilePath` is not + /// valid (for example, the root drive does not exist), Save As is denied and + /// `COREWEBVIEW2_SAVE_AS_INVALID_PATH` is returned. + /// + /// If the associated download completes successfully, a target file is saved at + /// this location. If the Kind property is `COREWEBVIEW2_SAVE_AS_KIND_COMPLETE`, + /// there will be an additional directory with resources files. + /// + /// The default value is a system suggested path, based on users' local environment. + /// + property SaveAsFilePath : wvstring read GetSaveAsFilePath write SetSaveAsFilePath; + /// + /// `AllowReplace` allows user to control what happens when a file already + /// exists in the file path to which the Save As operation is saving. + /// Setting this property to `TRUE` allows existing files to be replaced. + /// Setting this property to `FALSE` will not replace existing files and will return + /// `COREWEBVIEW2_SAVE_AS_UI_RESULT_FILE_ALREADY_EXISTS`. + /// + /// The default value is `FALSE`. + /// + property AllowReplace : boolean read GetAllowReplace write SetAllowReplace; + /// + /// Sets the `Kind` property to save documents of different kinds. See the + /// `COREWEBVIEW2_SAVE_AS_KIND` enum for a description of the different options. + /// If the kind is not allowed for the current document, ShowSaveAsUI returns + /// `COREWEBVIEW2_SAVE_AS_UI_RESULT_KIND_NOT_SUPPORTED`. + /// + /// The default value is `COREWEBVIEW2_SAVE_AS_KIND_DEFAULT`. + /// + property Kind : TWVSaveAsKind read GetKind write SetKind; + end; + implementation uses @@ -3982,4 +4146,215 @@ function TCoreWebView2NonClientRegionChangedEventArgs.GetRegionKind : TWVNonClie Result := TempResult; end; + +// TCoreWebView2NotificationReceivedEventArgs + +constructor TCoreWebView2NotificationReceivedEventArgs.Create(const aArgs: ICoreWebView2NotificationReceivedEventArgs); +begin + inherited Create; + + FBaseIntf := aArgs; +end; + +destructor TCoreWebView2NotificationReceivedEventArgs.Destroy; +begin + FBaseIntf := nil; + + inherited Destroy; +end; + +function TCoreWebView2NotificationReceivedEventArgs.GetInitialized : boolean; +begin + Result := assigned(FBaseIntf); +end; + +function TCoreWebView2NotificationReceivedEventArgs.GetSenderOrigin : wvstring; +var + TempString : PWideChar; +begin + Result := ''; + TempString := nil; + + if Initialized and + succeeded(FBaseIntf.Get_SenderOrigin(TempString)) then + begin + Result := TempString; + CoTaskMemFree(TempString); + end; +end; + +function TCoreWebView2NotificationReceivedEventArgs.GetNotification : ICoreWebView2Notification; +var + TempResult : ICoreWebView2Notification; +begin + Result := nil; + TempResult := nil; + + if Initialized and + succeeded(FBaseIntf.Get_Notification(TempResult)) and + (TempResult <> nil) then + Result := TempResult; +end; + +function TCoreWebView2NotificationReceivedEventArgs.GetHandled : boolean; +var + TempInt : integer; +begin + Result := Initialized and + succeeded(FBaseIntf.Get_Handled(TempInt)) and + (TempInt <> 0); +end; + +function TCoreWebView2NotificationReceivedEventArgs.GetDeferral : ICoreWebView2Deferral; +var + TempResult : ICoreWebView2Deferral; +begin + Result := nil; + TempResult := nil; + + if Initialized and + succeeded(FBaseIntf.GetDeferral(TempResult)) and + (TempResult <> nil) then + Result := TempResult; +end; + +procedure TCoreWebView2NotificationReceivedEventArgs.SetHandled(aValue: boolean); +begin + if Initialized then + FBaseIntf.Set_Handled(ord(aValue)); +end; + + +// TCoreWebView2SaveAsUIShowingEventArgs + +constructor TCoreWebView2SaveAsUIShowingEventArgs.Create(const aArgs: ICoreWebView2SaveAsUIShowingEventArgs); +begin + inherited Create; + + FBaseIntf := aArgs; +end; + +destructor TCoreWebView2SaveAsUIShowingEventArgs.Destroy; +begin + FBaseIntf := nil; + + inherited Destroy; +end; + +function TCoreWebView2SaveAsUIShowingEventArgs.GetInitialized : boolean; +begin + Result := assigned(FBaseIntf); +end; + +function TCoreWebView2SaveAsUIShowingEventArgs.GetContentMimeType : wvstring; +var + TempString : PWideChar; +begin + Result := ''; + TempString := nil; + + if Initialized and + succeeded(FBaseIntf.Get_ContentMimeType(TempString)) then + begin + Result := TempString; + CoTaskMemFree(TempString); + end; +end; + +function TCoreWebView2SaveAsUIShowingEventArgs.GetCancel : boolean; +var + TempInt : integer; +begin + Result := Initialized and + succeeded(FBaseIntf.Get_Cancel(TempInt)) and + (TempInt <> 0); +end; + +function TCoreWebView2SaveAsUIShowingEventArgs.GetSuppressDefaultDialog : boolean; +var + TempInt : integer; +begin + Result := Initialized and + succeeded(FBaseIntf.Get_SuppressDefaultDialog(TempInt)) and + (TempInt <> 0); +end; + +function TCoreWebView2SaveAsUIShowingEventArgs.GetDeferral : ICoreWebView2Deferral; +var + TempResult : ICoreWebView2Deferral; +begin + Result := nil; + TempResult := nil; + + if Initialized and + succeeded(FBaseIntf.GetDeferral(TempResult)) and + (TempResult <> nil) then + Result := TempResult; +end; + +function TCoreWebView2SaveAsUIShowingEventArgs.GetSaveAsFilePath : wvstring; +var + TempString : PWideChar; +begin + Result := ''; + TempString := nil; + + if Initialized and + succeeded(FBaseIntf.Get_SaveAsFilePath(TempString)) then + begin + Result := TempString; + CoTaskMemFree(TempString); + end; +end; + +function TCoreWebView2SaveAsUIShowingEventArgs.GetAllowReplace : boolean; +var + TempInt : integer; +begin + Result := Initialized and + succeeded(FBaseIntf.Get_AllowReplace(TempInt)) and + (TempInt <> 0); +end; + +function TCoreWebView2SaveAsUIShowingEventArgs.GetKind : TWVSaveAsKind; +var + TempResult : COREWEBVIEW2_SAVE_AS_KIND; +begin + Result := COREWEBVIEW2_SAVE_AS_KIND_DEFAULT; + + if Initialized and + succeeded(FBaseIntf.Get_Kind(TempResult)) then + Result := TempResult; +end; + +procedure TCoreWebView2SaveAsUIShowingEventArgs.SetCancel(aValue : boolean); +begin + if Initialized then + FBaseIntf.Set_Cancel(ord(aValue)); +end; + +procedure TCoreWebView2SaveAsUIShowingEventArgs.SetSuppressDefaultDialog(aValue : boolean); +begin + if Initialized then + FBaseIntf.Set_SuppressDefaultDialog(ord(aValue)); +end; + +procedure TCoreWebView2SaveAsUIShowingEventArgs.SetSaveAsFilePath(const aValue : wvstring); +begin + if Initialized then + FBaseIntf.Set_SaveAsFilePath(PWideChar(aValue)); +end; + +procedure TCoreWebView2SaveAsUIShowingEventArgs.SetAllowReplace(aValue : boolean); +begin + if Initialized then + FBaseIntf.Set_AllowReplace(ord(aValue)); +end; + +procedure TCoreWebView2SaveAsUIShowingEventArgs.SetKind(aValue : TWVSaveAsKind); +begin + if Initialized then + FBaseIntf.Set_Kind(aValue); +end; + end. diff --git a/source/uWVCoreWebView2Delegates.pas b/source/uWVCoreWebView2Delegates.pas index 920cb05..4d2eb6d 100644 --- a/source/uWVCoreWebView2Delegates.pas +++ b/source/uWVCoreWebView2Delegates.pas @@ -1426,7 +1426,7 @@ TCoreWebView2ExecuteScriptWithResultCompletedHandler = class(TInterfacedObject end; /// - /// This is the Interface of the event handler for the non-client region changed + /// Receives `NonClientRegionChanged` events. /// event. /// /// @@ -1444,6 +1444,75 @@ TCoreWebView2NonClientRegionChangedEventHandler = class(TInterfacedObject, ICo destructor Destroy; override; end; + /// + /// Receives `NotificationReceived` events. + /// + /// + /// See the ICoreWebView2NotificationReceivedEventHandler article. + /// + TCoreWebView2NotificationReceivedEventHandler = class(TInterfacedObject, ICoreWebView2NotificationReceivedEventHandler) + protected + FEvents : Pointer; + + function Invoke(const sender: ICoreWebView2; + const args: ICoreWebView2NotificationReceivedEventArgs): HResult; stdcall; + + public + constructor Create(const aEvents: IWVBrowserEvents); reintroduce; + destructor Destroy; override; + end; + + /// + /// Receives `CloseRequested` events. + /// + /// + /// See the ICoreWebView2NotificationCloseRequestedEventHandler article. + /// + TCoreWebView2NotificationCloseRequestedEventHandler = class(TInterfacedObject, ICoreWebView2NotificationCloseRequestedEventHandler) + protected + FEvents : Pointer; + + function Invoke(const sender: ICoreWebView2Notification; const args: IUnknown): HResult; stdcall; + + public + constructor Create(const aEvents: IWVBrowserEvents); reintroduce; + destructor Destroy; override; + end; + + /// + /// Receives `SaveAsUIShowing` events. + /// + /// + /// See the ICoreWebView2SaveAsUIShowingEventHandler article. + /// + TCoreWebView2SaveAsUIShowingEventHandler = class(TInterfacedObject, ICoreWebView2SaveAsUIShowingEventHandler) + protected + FEvents : Pointer; + + function Invoke(const sender: ICoreWebView2; const args: ICoreWebView2SaveAsUIShowingEventArgs): HResult; stdcall; + + public + constructor Create(const aEvents: IWVBrowserEvents); reintroduce; + destructor Destroy; override; + end; + + /// + /// Receives the result of the `ShowSaveAsUI` method. + /// + /// + /// See the ICoreWebView2ShowSaveAsUICompletedHandler article. + /// + TCoreWebView2ShowSaveAsUICompletedHandler = class(TInterfacedObject, ICoreWebView2ShowSaveAsUICompletedHandler) + protected + FEvents : Pointer; + + function Invoke(errorCode: HResult; result_: COREWEBVIEW2_SAVE_AS_UI_RESULT): HResult; stdcall; + + public + constructor Create(const aEvents: IWVBrowserEvents); reintroduce; + destructor Destroy; override; + end; + implementation @@ -3501,4 +3570,104 @@ function TCoreWebView2NonClientRegionChangedEventHandler.Invoke(const sender : I end; +// TCoreWebView2NotificationReceivedEventHandler + +constructor TCoreWebView2NotificationReceivedEventHandler.Create(const aEvents: IWVBrowserEvents); +begin + inherited Create; + + FEvents := Pointer(aEvents); +end; + +destructor TCoreWebView2NotificationReceivedEventHandler.Destroy; +begin + FEvents := nil; + + inherited Destroy; +end; + +function TCoreWebView2NotificationReceivedEventHandler.Invoke(const sender : ICoreWebView2; + const args : ICoreWebView2NotificationReceivedEventArgs): HResult; stdcall; +begin + if (FEvents <> nil) then + Result := IWVBrowserEvents(FEvents).NotificationReceivedEventHandler_Invoke(sender, args) + else + Result := E_FAIL; +end; + + +// TCoreWebView2NotificationCloseRequestedEventHandler + +constructor TCoreWebView2NotificationCloseRequestedEventHandler.Create(const aEvents: IWVBrowserEvents); +begin + inherited Create; + + FEvents := Pointer(aEvents); +end; + +destructor TCoreWebView2NotificationCloseRequestedEventHandler.Destroy; +begin + FEvents := nil; + + inherited Destroy; +end; + +function TCoreWebView2NotificationCloseRequestedEventHandler.Invoke(const sender: ICoreWebView2Notification; const args: IUnknown): HResult; stdcall; +begin + if (FEvents <> nil) then + Result := IWVBrowserEvents(FEvents).NotificationCloseRequestedEventHandler_Invoke(sender, args) + else + Result := E_FAIL; +end; + + +// TCoreWebView2SaveAsUIShowingEventHandler + +constructor TCoreWebView2SaveAsUIShowingEventHandler.Create(const aEvents: IWVBrowserEvents); +begin + inherited Create; + + FEvents := Pointer(aEvents); +end; + +destructor TCoreWebView2SaveAsUIShowingEventHandler.Destroy; +begin + FEvents := nil; + + inherited Destroy; +end; + +function TCoreWebView2SaveAsUIShowingEventHandler.Invoke(const sender: ICoreWebView2; const args: ICoreWebView2SaveAsUIShowingEventArgs): HResult; stdcall; +begin + if (FEvents <> nil) then + Result := IWVBrowserEvents(FEvents).SaveAsUIShowingEventHandler_Invoke(sender, args) + else + Result := E_FAIL; +end; + + +// TCoreWebView2ShowSaveAsUICompletedHandler + +constructor TCoreWebView2ShowSaveAsUICompletedHandler.Create(const aEvents: IWVBrowserEvents); +begin + inherited Create; + + FEvents := Pointer(aEvents); +end; + +destructor TCoreWebView2ShowSaveAsUICompletedHandler.Destroy; +begin + FEvents := nil; + + inherited Destroy; +end; + +function TCoreWebView2ShowSaveAsUICompletedHandler.Invoke(errorCode: HResult; result_: COREWEBVIEW2_SAVE_AS_UI_RESULT): HResult; stdcall; +begin + if (FEvents <> nil) then + Result := IWVBrowserEvents(FEvents).ShowSaveAsUICompletedHandler_Invoke(errorCode, result_) + else + Result := E_FAIL; +end; + end. diff --git a/source/uWVCoreWebView2Frame.pas b/source/uWVCoreWebView2Frame.pas index 7dba6ff..287f5ac 100644 --- a/source/uWVCoreWebView2Frame.pas +++ b/source/uWVCoreWebView2Frame.pas @@ -62,7 +62,6 @@ TCoreWebView2Frame = class /// Constructor of the ICoreWebView2Frame wrapper. /// /// The ICoreWebView2Frame instance. - /// Custom ID used to identify this frame. constructor Create(const aBaseIntf : ICoreWebView2Frame); reintroduce; destructor Destroy; override; /// diff --git a/source/uWVCoreWebView2Notification.pas b/source/uWVCoreWebView2Notification.pas new file mode 100644 index 0000000..8335c6d --- /dev/null +++ b/source/uWVCoreWebView2Notification.pas @@ -0,0 +1,486 @@ +unit uWVCoreWebView2Notification; + +{$IFDEF FPC}{$MODE Delphi}{$ENDIF} + +{$I webview2.inc} + +interface + +uses + {$IFDEF DELPHI16_UP} + System.Classes, + {$ELSE} + Classes, + {$ENDIF} + uWVTypeLibrary, uWVTypes; + +type + /// + /// This is the ICoreWebView2Notification that represents a [HTML Notification + /// object](https://developer.mozilla.org/docs/Web/API/Notification). + /// + /// + /// See the ICoreWebView2Notification article. + /// + TCoreWebView2Notification = class + protected + FBaseIntf : ICoreWebView2Notification; + FCloseRequestedToken : EventRegistrationToken; + + function GetInitialized : boolean; + function GetBody : wvstring; + function GetDirection : TWVTextDirectionKind; + function GetLanguage : wvstring; + function GetTag : wvstring; + function GetIconUri : wvstring; + function GetTitle : wvstring; + function GetBadgeUri : wvstring; + function GetBodyImageUri : wvstring; + function GetShouldRenotify : boolean; + function GetRequiresInteraction : boolean; + function GetIsSilent : boolean; + function GetTimestamp : TDateTime; + function GetVibrationPattern : Uint64Array; + + procedure InitializeFields; + procedure InitializeTokens; + procedure RemoveAllEvents; + + function AddCloseRequestedEvent(const aBrowserComponent : TComponent) : boolean; + + public + constructor Create(const aBaseIntf : ICoreWebView2Notification); reintroduce; + destructor Destroy; override; + /// + /// Adds all the events of this class to an existing TWVBrowserBase instance. + /// + /// The TWVBrowserBase instance. + function AddAllBrowserEvents(const aBrowserComponent : TComponent) : boolean; + /// + /// The host may run this to report the notification has been displayed and it + /// will cause the + /// [show](https://developer.mozilla.org/docs/Web/API/Notification/show_event) + /// event to be raised for non-persistent notifications. You must not run this + /// unless you are handling the `NotificationReceived` event. Returns + /// `HRESULT_FROM_WIN32(ERROR_INVALID_STATE)` if `Handled` is `FALSE` when + /// this is called. + /// + function ReportShown: boolean; + /// + /// The host may run this to report the notification has been clicked, and it + /// will cause the + /// [click](https://developer.mozilla.org/docs/Web/API/Notification/click_event) + /// event to be raised for non-persistent notifications and the + /// [notificationclick](https://developer.mozilla.org/docs/Web/API/ServiceWorkerGlobalScope/notificationclick_event) + /// event for persistent notifications. Use `ReportClickedWithActionIndex` to + /// specify an action to activate a persistent notification. You must not run + /// this unless you are handling the `NotificationReceived` event. Returns + /// `HRESULT_FROM_WIN32(ERROR_INVALID_STATE)` if `Handled` is `FALSE` or + /// `ReportShown` has not been run when this is called. + /// + function ReportClicked: boolean; + /// + /// The host may run this to report the notification was dismissed, and it + /// will cause the + /// [close](https://developer.mozilla.org/docs/Web/API/Notification/close_event) + /// event to be raised for non-persistent notifications and the + /// [notificationclose](https://developer.mozilla.org/docs/Web/API/ServiceWorkerGlobalScope/notificationclose_event) + /// event for persistent notifications. You must not run this unless you are + /// handling the `NotificationReceived` event. Returns + /// `HRESULT_FROM_WIN32(ERROR_INVALID_STATE)` if `Handled` is `FALSE` or + /// `ReportShown` has not been run when this is called. + /// + function ReportClosed: boolean; + + /// + /// Returns true when the interface implemented by this class is fully initialized. + /// + property Initialized : boolean read GetInitialized; + /// + /// Returns the interface implemented by this class. + /// + property BaseIntf : ICoreWebView2Notification read FBaseIntf write FBaseIntf; + /// + /// A string representing the body text of the notification. + /// The default value is an empty string. + /// + property Body : wvstring read GetBody; + /// + /// The text direction in which to display the notification. + /// This corresponds to + /// [Notification.dir](https://developer.mozilla.org/docs/Web/API/Notification/dir) + /// DOM API. + /// The default value is `COREWEBVIEW2_TEXT_DIRECTION_KIND_DEFAULT`. + /// + property Direction : TWVTextDirectionKind read GetDirection; + /// + /// The notification's language, as intended to be specified using a string + /// representing a language tag (such as `en-US`) according to + /// [BCP47](https://datatracker.ietf.org/doc/html/rfc5646). Note that no + /// validation is performed on this property and it can be any string the + /// notification sender specifies. + /// This corresponds to + /// [Notification.lang](https://developer.mozilla.org/docs/Web/API/Notification/lang) + /// DOM API. + /// The default value is an empty string. + /// + property Language : wvstring read GetLanguage; + /// + /// A string representing an identifying tag for the notification. + /// This corresponds to + /// [Notification.tag](https://developer.mozilla.org/docs/Web/API/Notification/tag) + /// DOM API. + /// The default value is an empty string. + /// + property Tag : wvstring read GetTag; + /// + /// A string containing the URI of an icon to be displayed in the + /// notification. + /// The default value is an empty string. + /// + property IconUri : wvstring read GetIconUri; + /// + /// The title of the notification. + /// + property Title : wvstring read GetTitle; + /// + /// A string containing the URI of the image used to represent the + /// notification when there isn't enough space to display the notification + /// itself. + /// The default value is an empty string. + /// + property BadgeUri : wvstring read GetBadgeUri; + /// + /// A string containing the URI of an image to be displayed in the + /// notification. + /// The default value is an empty string. + /// + property BodyImageUri : wvstring read GetBodyImageUri; + /// + /// Indicates whether the user should be notified after a new notification + /// replaces an old one. + /// This corresponds to + /// [Notification.renotify](https://developer.mozilla.org/docs/Web/API/Notification/renotify) + /// DOM API. + /// The default value is `FALSE`. + /// + property ShouldRenotify : boolean read GetShouldRenotify; + /// + /// A boolean value indicating that a notification should remain active until + /// the user clicks or dismisses it, rather than closing automatically. + /// This corresponds to + /// [Notification.requireInteraction](https://developer.mozilla.org/docs/Web/API/Notification/requireInteraction) + /// DOM API. Note that you may not be able to necessarily implement this due to native API limitations. + /// The default value is `FALSE`. + /// + property RequiresInteraction : boolean read GetRequiresInteraction; + /// + /// Indicates whether the notification should be silent -- i.e., no sounds or + /// vibrations should be issued, regardless of the device settings. + /// This corresponds to + /// [Notification.silent](https://developer.mozilla.org/docs/Web/API/Notification/silent) + /// DOM API. + /// The default value is `FALSE`. + /// + property IsSilent : boolean read GetIsSilent; + /// + /// Indicates the time at which a notification is created or applicable (past, + /// present, or future) as the number of milliseconds since the UNIX epoch. + /// + property Timestamp : TDateTime read GetTimestamp; + /// + /// Gets the vibration pattern for devices with vibration hardware to emit. + /// The vibration pattern can be represented by an array of 64-bit unsigned integers + /// describing a pattern of vibrations and pauses. See [Vibration + /// API](https://developer.mozilla.org/docs/Web/API/Vibration_API) for more + /// information. + /// This corresponds to + /// [Notification.vibrate](https://developer.mozilla.org/docs/Web/API/Notification/vibrate) + /// DOM API. + /// An empty array is returned if no vibration patterns are + /// specified. + /// + property VibrationPattern : Uint64Array read GetVibrationPattern; + end; + +implementation + +uses + {$IFDEF DELPHI16_UP} + System.DateUtils, Winapi.ActiveX, + {$ELSE} + DateUtils, ActiveX, + {$ENDIF} + uWVMiscFunctions, uWVBrowserBase, uWVCoreWebView2Delegates, uWVConstants; + +constructor TCoreWebView2Notification.Create(const aBaseIntf: ICoreWebView2Notification); +begin + inherited Create; + + InitializeFields; + + FBaseIntf := aBaseIntf; +end; + +function TCoreWebView2Notification.AddAllBrowserEvents(const aBrowserComponent : TComponent) : boolean; +begin + Result := AddCloseRequestedEvent(aBrowserComponent); +end; + +destructor TCoreWebView2Notification.Destroy; +begin + try + RemoveAllEvents; + InitializeFields; + finally + inherited Destroy; + end; +end; + +procedure TCoreWebView2Notification.InitializeFields; +begin + FBaseIntf := nil; + + InitializeTokens; +end; + +procedure TCoreWebView2Notification.InitializeTokens; +begin + FCloseRequestedToken.value := 0; +end; + +procedure TCoreWebView2Notification.RemoveAllEvents; +begin + if Initialized then + begin + if (FCloseRequestedToken.value <> 0) then + FBaseIntf.remove_CloseRequested(FCloseRequestedToken); + + InitializeTokens; + end; +end; + +function TCoreWebView2Notification.GetInitialized : boolean; +begin + Result := assigned(FBaseIntf); +end; + +function TCoreWebView2Notification.ReportShown: boolean; +begin + Result := Initialized and + succeeded(FBaseIntf.ReportShown()); +end; + +function TCoreWebView2Notification.ReportClicked: boolean; +begin + Result := Initialized and + succeeded(FBaseIntf.ReportClicked()); +end; + +function TCoreWebView2Notification.ReportClosed: boolean; +begin + Result := Initialized and + succeeded(FBaseIntf.ReportClosed()); +end; + +function TCoreWebView2Notification.GetBody : wvstring; +var + TempResult : PWideChar; +begin + Result := ''; + TempResult := nil; + + if Initialized and + succeeded(FBaseIntf.Get_Body(TempResult)) and + (TempResult <> nil) then + begin + Result := TempResult; + CoTaskMemFree(TempResult); + end; +end; + +function TCoreWebView2Notification.GetDirection : TWVTextDirectionKind; +var + TempResult : COREWEBVIEW2_TEXT_DIRECTION_KIND; +begin + Result := COREWEBVIEW2_TEXT_DIRECTION_KIND_DEFAULT; + + if Initialized and + succeeded(FBaseIntf.Get_Direction(TempResult)) then + Result := TempResult; +end; + +function TCoreWebView2Notification.GetLanguage : wvstring; +var + TempResult : PWideChar; +begin + Result := ''; + TempResult := nil; + + if Initialized and + succeeded(FBaseIntf.Get_Language(TempResult)) and + (TempResult <> nil) then + begin + Result := TempResult; + CoTaskMemFree(TempResult); + end; +end; + +function TCoreWebView2Notification.GetTag : wvstring; +var + TempResult : PWideChar; +begin + Result := ''; + TempResult := nil; + + if Initialized and + succeeded(FBaseIntf.Get_Tag(TempResult)) and + (TempResult <> nil) then + begin + Result := TempResult; + CoTaskMemFree(TempResult); + end; +end; + +function TCoreWebView2Notification.GetIconUri : wvstring; +var + TempResult : PWideChar; +begin + Result := ''; + TempResult := nil; + + if Initialized and + succeeded(FBaseIntf.Get_IconUri(TempResult)) and + (TempResult <> nil) then + begin + Result := TempResult; + CoTaskMemFree(TempResult); + end; +end; + +function TCoreWebView2Notification.GetTitle : wvstring; +var + TempResult : PWideChar; +begin + Result := ''; + TempResult := nil; + + if Initialized and + succeeded(FBaseIntf.Get_title(TempResult)) and + (TempResult <> nil) then + begin + Result := TempResult; + CoTaskMemFree(TempResult); + end; +end; + +function TCoreWebView2Notification.GetBadgeUri : wvstring; +var + TempResult : PWideChar; +begin + Result := ''; + TempResult := nil; + + if Initialized and + succeeded(FBaseIntf.Get_BadgeUri(TempResult)) and + (TempResult <> nil) then + begin + Result := TempResult; + CoTaskMemFree(TempResult); + end; +end; + +function TCoreWebView2Notification.GetBodyImageUri : wvstring; +var + TempResult : PWideChar; +begin + Result := ''; + TempResult := nil; + + if Initialized and + succeeded(FBaseIntf.Get_BodyImageUri(TempResult)) and + (TempResult <> nil) then + begin + Result := TempResult; + CoTaskMemFree(TempResult); + end; +end; + +function TCoreWebView2Notification.GetShouldRenotify : boolean; +var + TempInt : integer; +begin + Result := Initialized and + succeeded(FBaseIntf.Get_ShouldRenotify(TempInt)) and + (TempInt <> 0); +end; + +function TCoreWebView2Notification.GetRequiresInteraction : boolean; +var + TempInt : integer; +begin + Result := Initialized and + succeeded(FBaseIntf.Get_RequiresInteraction(TempInt)) and + (TempInt <> 0); +end; + +function TCoreWebView2Notification.GetIsSilent : boolean; +var + TempInt : integer; +begin + Result := Initialized and + succeeded(FBaseIntf.Get_IsSilent(TempInt)) and + (TempInt <> 0); +end; + +function TCoreWebView2Notification.GetTimestamp : TDateTime; +var + TempResult : double; +begin + if Initialized and + succeeded(FBaseIntf.Get_Timestamp(TempResult)) then + Result := UnixToDateTime(round(TempResult){$IFDEF DELPHI20_UP}, False{$ENDIF}) + else + Result := 0; +end; + +function TCoreWebView2Notification.GetVibrationPattern : Uint64Array; +var + TempCount, i : SYSUINT; + TempPattern : Uint64Array; +begin + Result := nil; + TempCount := 0; + TempPattern := nil; + + if Initialized and + succeeded(FBaseIntf.GetVibrationPattern(TempCount, TempPattern)) and + (TempCount > 1) and + (TempPattern <> nil) then + begin + SetLength(Result, TempCount); + i := 0; + while (i < TempCount) do + begin + Result[i] := TempPattern[i]; + inc(i); + end; + end; +end; + +function TCoreWebView2Notification.AddCloseRequestedEvent(const aBrowserComponent : TComponent) : boolean; +var + TempHandler : ICoreWebView2NotificationCloseRequestedEventHandler; +begin + Result := False; + + if Initialized and (FCloseRequestedToken.value = 0) then + try + TempHandler := TCoreWebView2NotificationCloseRequestedEventHandler.Create(TWVBrowserBase(aBrowserComponent)); + Result := succeeded(FBaseIntf.add_CloseRequested(TempHandler, FCloseRequestedToken)); + finally + TempHandler := nil; + end; +end; + +end. diff --git a/source/uWVEvents.pas b/source/uWVEvents.pas index 5a7de6d..bbc7b10 100644 --- a/source/uWVEvents.pas +++ b/source/uWVEvents.pas @@ -98,6 +98,10 @@ interface TOnProfileDeletedEvent = procedure(Sender: TObject; const aProfile: ICoreWebView2Profile) of object; TOnExecuteScriptWithResultCompletedEvent = procedure(Sender: TObject; errorCode: HResult; const aResult: ICoreWebView2ExecuteScriptResult; aExecutionID : integer) of object; TOnNonClientRegionChangedEvent = procedure(Sender: TObject; const aController : ICoreWebView2CompositionController; const aArgs : ICoreWebView2NonClientRegionChangedEventArgs) of object; + TOnNotificationReceivedEvent = procedure(Sender: TObject; const aWebView : ICoreWebView2; const aArgs : ICoreWebView2NotificationReceivedEventArgs) of object; + TOnNotificationCloseRequestedEvent = procedure(Sender: TObject; const aNotification: ICoreWebView2Notification; const aArgs: IUnknown) of object; + TOnSaveAsUIShowingEvent = procedure(Sender: TObject; const aWebView: ICoreWebView2; const aArgs: ICoreWebView2SaveAsUIShowingEventArgs) of object; + TOnShowSaveAsUICompletedEvent = procedure(Sender: TObject; aErrorCode: HResult; aResult: TWVSaveAsUIResult) of object; // Custom events TOnCompMsgEvent = procedure(Sender: TObject; var aMessage: TMessage; var aHandled: Boolean) of object; diff --git a/source/uWVFMXBrowser.pas b/source/uWVFMXBrowser.pas index 2874cf0..3d54e4b 100644 --- a/source/uWVFMXBrowser.pas +++ b/source/uWVFMXBrowser.pas @@ -133,6 +133,11 @@ TWVFMXBrowser = class(TWVBrowserBase) property OnProfileGetBrowserExtensionsCompleted; property OnProfileDeleted; property OnExecuteScriptWithResultCompleted; + property OnNonClientRegionChanged; + property OnNotificationReceived; + property OnNotificationCloseRequested; + property OnSaveAsUIShowing; + property OnShowSaveAsUICompleted; end; implementation diff --git a/source/uWVInterfaces.pas b/source/uWVInterfaces.pas index 851039c..4396856 100644 --- a/source/uWVInterfaces.pas +++ b/source/uWVInterfaces.pas @@ -267,6 +267,18 @@ interface // ICoreWebView2NonClientRegionChangedEventHandler function NonClientRegionChangedEventHandler_Invoke(const sender: ICoreWebView2CompositionController; const args: ICoreWebView2NonClientRegionChangedEventArgs): HResult; + + // ICoreWebView2NonClientRegionChangedEventHandler + function NotificationReceivedEventHandler_Invoke(const sender: ICoreWebView2; const args: ICoreWebView2NotificationReceivedEventArgs): HResult; + + // ICoreWebView2NotificationCloseRequestedEventHandler + function NotificationCloseRequestedEventHandler_Invoke(const sender: ICoreWebView2Notification; const args: IUnknown): HResult; + + // ICoreWebView2SaveAsUIShowingEventHandler + function SaveAsUIShowingEventHandler_Invoke(const sender: ICoreWebView2; const args: ICoreWebView2SaveAsUIShowingEventArgs): HResult; + + // ICoreWebView2ShowSaveAsUICompletedHandler + function ShowSaveAsUICompletedHandler_Invoke(errorCode: HResult; result_: COREWEBVIEW2_SAVE_AS_UI_RESULT): HResult; end; implementation diff --git a/source/uWVTypeLibrary.pas b/source/uWVTypeLibrary.pas index 83a9b6b..64a712b 100644 --- a/source/uWVTypeLibrary.pas +++ b/source/uWVTypeLibrary.pas @@ -161,6 +161,15 @@ interface IID_ICoreWebView2_22: TGUID = '{DB75DFC7-A857-4632-A398-6969DDE26C0A}'; IID_ICoreWebView2_23: TGUID = '{508F0DB5-90C4-5872-90A7-267A91377502}'; IID_ICoreWebView2ObjectCollectionView: TGUID = '{0F36FD87-4F69-4415-98DA-888F89FB9A33}'; + IID_ICoreWebView2_24: TGUID = '{39A7AD55-4287-5CC1-88A1-C6F458593824}'; + IID_ICoreWebView2NotificationReceivedEventHandler: TGUID = '{89C5D598-8788-423B-BE97-E6E01C0F9EE3}'; + IID_ICoreWebView2NotificationReceivedEventArgs: TGUID = '{1512DD5B-5514-4F85-886E-21C3A4C9CFE6}'; + IID_ICoreWebView2Notification: TGUID = '{B7434D98-6BC8-419D-9DA5-FB5A96D4DACD}'; + IID_ICoreWebView2NotificationCloseRequestedEventHandler: TGUID = '{47C32D23-1E94-4733-85F1-D9BF4ACD0974}'; + IID_ICoreWebView2_25: TGUID = '{B5A86092-DF50-5B4F-A17B-6C8F8B40B771}'; + IID_ICoreWebView2SaveAsUIShowingEventHandler: TGUID = '{6BAA177E-3A2E-5CCF-9A13-FAD676CD0522}'; + IID_ICoreWebView2SaveAsUIShowingEventArgs: TGUID = '{55902952-0E0D-5AAA-A7D0-E833CDB34F62}'; + IID_ICoreWebView2ShowSaveAsUICompletedHandler: TGUID = '{E24B07E3-8169-5C34-994A-7F6478946A3C}'; IID_ICoreWebView2AcceleratorKeyPressedEventArgs2: TGUID = '{03B2C8C8-7799-4E34-BD66-ED26AA85F2BF}'; IID_ICoreWebView2BrowserExtension: TGUID = '{7EF7FFA0-FAC5-462C-B189-3D9EDBE575DA}'; IID_ICoreWebView2BrowserExtensionRemoveCompletedHandler: TGUID = '{8E41909A-9B18-4BB1-8CDF-930F467A50BE}'; @@ -1693,6 +1702,144 @@ interface /// COREWEBVIEW2_SHARED_BUFFER_ACCESS_READ_WRITE = $00000001; +type + /// + /// Indicates the text direction of the notification. + /// + /// + /// See the Globals article. + /// + COREWEBVIEW2_TEXT_DIRECTION_KIND = TOleEnum; +const + /// + /// Indicates that the notification text direction adopts the browser's language setting behavior. + /// + /// + /// This is one of the COREWEBVIEW2_TEXT_DIRECTION_KIND values. + /// + COREWEBVIEW2_TEXT_DIRECTION_KIND_DEFAULT = $00000000; + /// + /// Indicates that the notification text is left-to-right. + /// + /// + /// This is one of the COREWEBVIEW2_TEXT_DIRECTION_KIND values. + /// + COREWEBVIEW2_TEXT_DIRECTION_KIND_LEFT_TO_RIGHT = $00000001; + /// + /// Indicates that the notification text is right-to-left. + /// + /// + /// This is one of the COREWEBVIEW2_TEXT_DIRECTION_KIND values. + /// + COREWEBVIEW2_TEXT_DIRECTION_KIND_RIGHT_TO_LEFT = $00000002; + +type + /// + /// Specifies Save As kind selection options for + /// `ICoreWebView2SaveAsUIShowingEventArgs`. + /// + /// For HTML documents, we support 3 Save As kinds: HTML_ONLY, SINGLE_FILE and + /// COMPLETE. For non-HTML documents, you must use DEFAULT. MIME types of `text/html` and + /// `application/xhtml+xml` are considered HTML documents. + /// + /// + /// See the Globals article. + /// + COREWEBVIEW2_SAVE_AS_KIND = TOleEnum; +const + /// + /// Default kind to save non-HTML content. If this kind is selected for an HTML + /// page, the behavior is the same as the `HTML_ONLY` kind. + /// + /// + /// This is one of the COREWEBVIEW2_SAVE_AS_KIND values. + /// + COREWEBVIEW2_SAVE_AS_KIND_DEFAULT = $00000000; + /// + /// Save the page as HTML. Only the top-level document is saved, excluding + /// subresources. + /// + /// + /// This is one of the COREWEBVIEW2_SAVE_AS_KIND values. + /// + COREWEBVIEW2_SAVE_AS_KIND_HTML_ONLY = $00000001; + /// + /// Save the page as [MHTML](https://en.wikipedia.org/wiki/MHTML). + /// + /// + /// This is one of the COREWEBVIEW2_SAVE_AS_KIND values. + /// + COREWEBVIEW2_SAVE_AS_KIND_SINGLE_FILE = $00000002; + /// + /// Save the page as HTML and download the page-related source files + /// (for example: CSS, JavaScript, images, etc.) in a directory with + /// the same filename prefix. + /// + /// + /// This is one of the COREWEBVIEW2_SAVE_AS_KIND values. + /// + COREWEBVIEW2_SAVE_AS_KIND_COMPLETE = $00000003; + +type + /// + /// Status of a programmatic Save As call. Indicates the result + /// of the `ShowSaveAsUI` method. + /// + /// + /// See the Globals article. + /// + COREWEBVIEW2_SAVE_AS_UI_RESULT = TOleEnum; +const + /// + /// The ShowSaveAsUI method call completed successfully. By default, the system + /// Save As dialog opens. If `SuppressDefaultDialog` is set to TRUE, the system + /// dialog is skipped. + /// + /// + /// This is one of the COREWEBVIEW2_SAVE_AS_UI_RESULT values. + /// + COREWEBVIEW2_SAVE_AS_UI_RESULT_SUCCESS = $00000000; + /// + /// Could not perform Save As because the destination file path is an invalid path. + /// + /// The path is invalid when it is empty, a relative path, or a directory, + /// or when the parent path does not exist. + /// + /// + /// This is one of the COREWEBVIEW2_SAVE_AS_UI_RESULT values. + /// + COREWEBVIEW2_SAVE_AS_UI_RESULT_INVALID_PATH = $00000001; + /// + /// Could not perform Save As because the destination file path already exists and + /// replacing files was not allowed by the `AllowReplace` property. + /// + /// + /// This is one of the COREWEBVIEW2_SAVE_AS_UI_RESULT values. + /// + COREWEBVIEW2_SAVE_AS_UI_RESULT_FILE_ALREADY_EXISTS = $00000002; + /// + /// Could not perform Save As because the `Kind` property selection is not + /// supported due to content MIME type or system limits. + /// + /// See the `COREWEBVIEW2_SAVE_AS_KIND` enum for MIME type limits. + /// + /// System limits include when the `HTML_ONLY` kind is selected for an error page + /// at child mode, or when the `COMPLETE` kind is selected and the WebView is + /// running in an App Container. + /// + /// + /// This is one of the COREWEBVIEW2_SAVE_AS_UI_RESULT values. + /// + COREWEBVIEW2_SAVE_AS_UI_RESULT_KIND_NOT_SUPPORTED = $00000003; + /// + /// Did not perform Save As because the end user cancelled or the + /// `Cancel` property on `ICoreWebView2SaveAsUIShowingEventArgs` was set to TRUE. + /// + /// + /// This is one of the COREWEBVIEW2_SAVE_AS_UI_RESULT values. + /// + COREWEBVIEW2_SAVE_AS_UI_RESULT_CANCELLED = $00000004; + type /// /// Specifies the browser process exit type used in the @@ -3067,6 +3214,15 @@ interface ICoreWebView2_22 = interface; ICoreWebView2_23 = interface; ICoreWebView2ObjectCollectionView = interface; + ICoreWebView2_24 = interface; + ICoreWebView2NotificationReceivedEventHandler = interface; + ICoreWebView2NotificationReceivedEventArgs = interface; + ICoreWebView2Notification = interface; + ICoreWebView2NotificationCloseRequestedEventHandler = interface; + ICoreWebView2_25 = interface; + ICoreWebView2SaveAsUIShowingEventHandler = interface; + ICoreWebView2SaveAsUIShowingEventArgs = interface; + ICoreWebView2ShowSaveAsUICompletedHandler = interface; ICoreWebView2AcceleratorKeyPressedEventArgs2 = interface; ICoreWebView2BrowserExtension = interface; ICoreWebView2BrowserExtensionRemoveCompletedHandler = interface; @@ -3185,6 +3341,14 @@ interface {* Missing HANDLE declaration ************** WEBVIEW4DELPHI ************** *} {$IFNDEF FPC}HANDLE = type NativeUInt;{$ENDIF} + {$IFNDEF FPC}{$IFNDEF DELPHI7_UP} + uint64 = type int64; + PPAnsiChar = array of PChar; + NativeInt = integer; + {$ENDIF}{$ENDIF} + + Uint64Array = array of Uint64; + PPCoreWebView2CustomSchemeRegistration = ^ICoreWebView2CustomSchemeRegistration; /// @@ -4310,7 +4474,7 @@ EventRegistrationToken = record /// `defaultSyncProxy` | When calling a method on a synchronous proxy, the result should also be a synchronous proxy. But in some cases, the sync/async context is lost (for example, when providing to native code a reference to a function, and then calling that function in native code). In these cases, the proxy will be asynchronous, unless this property is set. /// `forceAsyncMethodMatches ` | This is an array of regular expressions. When calling a method on a synchronous proxy, the method call will be performed asynchronously if the method name matches a string or regular expression in this array. Setting this value to `Async` will make any method that ends with Async be an asynchronous method call. If an async method doesn't match here and isn't forced to be asynchronous, the method will be invoked synchronously, blocking execution of the calling JavaScript and then returning the resolution of the promise, rather than returning a promise. /// `ignoreMemberNotFoundError` | By default, an exception is thrown when attempting to get the value of a proxy property that doesn't exist on the corresponding native class. Setting this property to `true` switches the behavior to match Chakra WinRT projection (and general JavaScript) behavior of returning `undefined` with no error. - /// `shouldPassTypedArraysAsArrays` | By default, typed arrays will be passed to host as IDispatch. Otherwise, set to true to pass typed arrays to host as array. + /// `shouldPassTypedArraysAsArrays` | By default, typed arrays are passed to the host as `IDispatch`. To instead pass typed arrays to the host as `array`, set this to `true`. /// /// Host object proxies additionally have the following methods which run /// locally. @@ -8950,7 +9114,6 @@ EventRegistrationToken = record requestSourceKinds: COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS): HResult; stdcall; end; - /// /// This is the ICoreWebView_23 interface for /// PostWebMessageAsJsonWithAdditionalObjects. @@ -8993,6 +9156,452 @@ EventRegistrationToken = record const additionalObjects: ICoreWebView2ObjectCollectionView): HResult; stdcall; end; + /// + /// This is the ICoreWebView2_24 interface that manages WebView2 Web + /// Notification functionality. + /// + /// + /// See the ICoreWebView2_24 article. + /// + ICoreWebView2_24 = interface(ICoreWebView2_23) + ['{39A7AD55-4287-5CC1-88A1-C6F458593824}'] + /// + /// Adds an event handler for the `NotificationReceived` event for + /// non-persistent notifications. + /// + /// If a deferral is not taken on the event args, the subsequent scripts after + /// the DOM notification creation call (i.e. `Notification()`) are blocked + /// until the event handler returns. If a deferral is taken, the scripts are + /// blocked until the deferral is completed. + /// + function add_NotificationReceived(const eventHandler: ICoreWebView2NotificationReceivedEventHandler; + out token: EventRegistrationToken): HResult; stdcall; + /// + /// Removes an event handler previously added with `add_NotificationReceived`. + /// + function remove_NotificationReceived(token: EventRegistrationToken): HResult; stdcall; + end; + + /// + /// Receives `NotificationReceived` events. + /// + /// + /// See the ICoreWebView2NotificationReceivedEventHandler article. + /// + ICoreWebView2NotificationReceivedEventHandler = interface(IUnknown) + ['{89C5D598-8788-423B-BE97-E6E01C0F9EE3}'] + /// + /// Provides the event args for the corresponding event. + /// + function Invoke(const sender: ICoreWebView2; + const args: ICoreWebView2NotificationReceivedEventArgs): HResult; stdcall; + end; + + /// + /// Event args for the `NotificationReceived` event. + /// \snippet ScenarioNotificationReceived.cpp NotificationReceived + /// + /// + /// See the ICoreWebView2NotificationReceivedEventArgs article. + /// + ICoreWebView2NotificationReceivedEventArgs = interface(IUnknown) + ['{1512DD5B-5514-4F85-886E-21C3A4C9CFE6}'] + /// + /// The origin of the web content that sends the notification, such as + /// `https://example.com/` or `https://www.example.com/`. + /// + /// The caller must free the returned string with `CoTaskMemFree`. See + /// [API Conventions](/microsoft-edge/webview2/concepts/win32-api-conventions#strings). + /// + function Get_SenderOrigin(out value: PWideChar): HResult; stdcall; + /// + /// The notification that was received. You can access the + /// properties on the Notification object to show your own notification. + /// + function Get_Notification(out value: ICoreWebView2Notification): HResult; stdcall; + /// + /// Sets whether the `NotificationReceived` event is handled by the host after + /// the event handler completes or if there is a deferral then after the + /// deferral is completed. + /// + /// If `Handled` is set to TRUE then WebView will not display the notification + /// with the default UI, and the host will be responsible for handling the + /// notification and for letting the web content know that the notification + /// has been displayed, clicked, or closed. You must set `Handled` to `TRUE` + /// before you call `ReportShown`, `ReportClicked`, + /// `ReportClickedWithActionIndex` and `ReportClosed`, otherwise they will + /// fail with `HRESULT_FROM_WIN32(ERROR_INVALID_STATE)`. If after the event + /// handler or deferral completes `Handled` is set to FALSE then WebView will + /// display the default notification UI. Note that you cannot un-handle this + /// event once you have set `Handled` to be `TRUE`. The initial value is + /// FALSE. + /// + function Set_Handled(value: Integer): HResult; stdcall; + /// + /// Gets whether the `NotificationReceived` event is handled by host. + /// + function Get_Handled(out value: Integer): HResult; stdcall; + /// + /// Returns an `ICoreWebView2Deferral` object. Use this operation to complete + /// the event at a later time. + /// + function GetDeferral(out deferral: ICoreWebView2Deferral): HResult; stdcall; + end; + + /// + /// This is the ICoreWebView2Notification that represents a [HTML Notification + /// object](https://developer.mozilla.org/docs/Web/API/Notification). + /// + /// + /// See the ICoreWebView2Notification article. + /// + ICoreWebView2Notification = interface(IUnknown) + ['{B7434D98-6BC8-419D-9DA5-FB5A96D4DACD}'] + /// + /// Add an event handler for the `CloseRequested` event. This event is raised + /// when the notification is closed by the web code, such as through + /// `notification.close()`. You don't need to call `ReportClosed` since this is + /// coming from the web code. + /// + function add_CloseRequested(const eventHandler: ICoreWebView2NotificationCloseRequestedEventHandler; + out token: EventRegistrationToken): HResult; stdcall; + /// + /// Remove an event handler previously added with `add_CloseRequested`. + /// + function remove_CloseRequested(token: EventRegistrationToken): HResult; stdcall; + /// + /// The host may run this to report the notification has been displayed and it + /// will cause the + /// [show](https://developer.mozilla.org/docs/Web/API/Notification/show_event) + /// event to be raised for non-persistent notifications. You must not run this + /// unless you are handling the `NotificationReceived` event. Returns + /// `HRESULT_FROM_WIN32(ERROR_INVALID_STATE)` if `Handled` is `FALSE` when + /// this is called. + /// + function ReportShown: HResult; stdcall; + /// + /// The host may run this to report the notification has been clicked, and it + /// will cause the + /// [click](https://developer.mozilla.org/docs/Web/API/Notification/click_event) + /// event to be raised for non-persistent notifications and the + /// [notificationclick](https://developer.mozilla.org/docs/Web/API/ServiceWorkerGlobalScope/notificationclick_event) + /// event for persistent notifications. Use `ReportClickedWithActionIndex` to + /// specify an action to activate a persistent notification. You must not run + /// this unless you are handling the `NotificationReceived` event. Returns + /// `HRESULT_FROM_WIN32(ERROR_INVALID_STATE)` if `Handled` is `FALSE` or + /// `ReportShown` has not been run when this is called. + /// + function ReportClicked: HResult; stdcall; + /// + /// The host may run this to report the notification was dismissed, and it + /// will cause the + /// [close](https://developer.mozilla.org/docs/Web/API/Notification/close_event) + /// event to be raised for non-persistent notifications and the + /// [notificationclose](https://developer.mozilla.org/docs/Web/API/ServiceWorkerGlobalScope/notificationclose_event) + /// event for persistent notifications. You must not run this unless you are + /// handling the `NotificationReceived` event. Returns + /// `HRESULT_FROM_WIN32(ERROR_INVALID_STATE)` if `Handled` is `FALSE` or + /// `ReportShown` has not been run when this is called. + /// + function ReportClosed: HResult; stdcall; + /// + /// A string representing the body text of the notification. + /// The default value is an empty string. + /// + /// The caller must free the returned string with `CoTaskMemFree`. See + /// [API Conventions](/microsoft-edge/webview2/concepts/win32-api-conventions#strings). + /// + function Get_Body(out value: PWideChar): HResult; stdcall; + /// + /// The text direction in which to display the notification. + /// This corresponds to + /// [Notification.dir](https://developer.mozilla.org/docs/Web/API/Notification/dir) + /// DOM API. + /// The default value is `COREWEBVIEW2_TEXT_DIRECTION_KIND_DEFAULT`. + /// + function Get_Direction(out value: COREWEBVIEW2_TEXT_DIRECTION_KIND): HResult; stdcall; + /// + /// The notification's language, as intended to be specified using a string + /// representing a language tag (such as `en-US`) according to + /// [BCP47](https://datatracker.ietf.org/doc/html/rfc5646). Note that no + /// validation is performed on this property and it can be any string the + /// notification sender specifies. + /// This corresponds to + /// [Notification.lang](https://developer.mozilla.org/docs/Web/API/Notification/lang) + /// DOM API. + /// The default value is an empty string. + /// + /// The caller must free the returned string with `CoTaskMemFree`. See + /// [API Conventions](/microsoft-edge/webview2/concepts/win32-api-conventions#strings). + /// + function Get_Language(out value: PWideChar): HResult; stdcall; + /// + /// A string representing an identifying tag for the notification. + /// This corresponds to + /// [Notification.tag](https://developer.mozilla.org/docs/Web/API/Notification/tag) + /// DOM API. + /// The default value is an empty string. + /// + /// The caller must free the returned string with `CoTaskMemFree`. See + /// [API Conventions](/microsoft-edge/webview2/concepts/win32-api-conventions#strings). + /// + function Get_Tag(out value: PWideChar): HResult; stdcall; + /// + /// A string containing the URI of an icon to be displayed in the + /// notification. + /// The default value is an empty string. + /// + /// The caller must free the returned string with `CoTaskMemFree`. See + /// [API Conventions](/microsoft-edge/webview2/concepts/win32-api-conventions#strings). + /// + function Get_IconUri(out value: PWideChar): HResult; stdcall; + /// + /// The title of the notification. + /// + /// The caller must free the returned string with `CoTaskMemFree`. See + /// [API Conventions](/microsoft-edge/webview2/concepts/win32-api-conventions#strings). + /// + function Get_title(out value: PWideChar): HResult; stdcall; + /// + /// A string containing the URI of the image used to represent the + /// notification when there isn't enough space to display the notification + /// itself. + /// The default value is an empty string. + /// + /// The caller must free the returned string with `CoTaskMemFree`. See + /// [API Conventions](/microsoft-edge/webview2/concepts/win32-api-conventions#strings). + /// + function Get_BadgeUri(out value: PWideChar): HResult; stdcall; + /// + /// A string containing the URI of an image to be displayed in the + /// notification. + /// The default value is an empty string. + /// + /// The caller must free the returned string with `CoTaskMemFree`. See + /// [API Conventions](/microsoft-edge/webview2/concepts/win32-api-conventions#strings). + /// + function Get_BodyImageUri(out value: PWideChar): HResult; stdcall; + /// + /// Indicates whether the user should be notified after a new notification + /// replaces an old one. + /// This corresponds to + /// [Notification.renotify](https://developer.mozilla.org/docs/Web/API/Notification/renotify) + /// DOM API. + /// The default value is `FALSE`. + /// + function Get_ShouldRenotify(out value: Integer): HResult; stdcall; + /// + /// A boolean value indicating that a notification should remain active until + /// the user clicks or dismisses it, rather than closing automatically. + /// This corresponds to + /// [Notification.requireInteraction](https://developer.mozilla.org/docs/Web/API/Notification/requireInteraction) + /// DOM API. Note that you may not be able to necessarily implement this due to native API limitations. + /// The default value is `FALSE`. + /// + function Get_RequiresInteraction(out value: Integer): HResult; stdcall; + /// + /// Indicates whether the notification should be silent -- i.e., no sounds or + /// vibrations should be issued, regardless of the device settings. + /// This corresponds to + /// [Notification.silent](https://developer.mozilla.org/docs/Web/API/Notification/silent) + /// DOM API. + /// The default value is `FALSE`. + /// + function Get_IsSilent(out value: Integer): HResult; stdcall; + /// + /// Indicates the time at which a notification is created or applicable (past, + /// present, or future) as the number of milliseconds since the UNIX epoch. + /// + function Get_Timestamp(out value: Double): HResult; stdcall; + /// + /// Gets the vibration pattern for devices with vibration hardware to emit. + /// The vibration pattern can be represented by an array of 64-bit unsigned integers + /// describing a pattern of vibrations and pauses. See [Vibration + /// API](https://developer.mozilla.org/docs/Web/API/Vibration_API) for more + /// information. + /// This corresponds to + /// [Notification.vibrate](https://developer.mozilla.org/docs/Web/API/Notification/vibrate) + /// DOM API. + /// An empty array is returned if no vibration patterns are + /// specified. + /// + {* vibrationPattern: PLargeuint1 --> vibrationPattern: Uint64Array ************** WEBVIEW4DELPHI ************** *} + function GetVibrationPattern(out Count: SYSUINT; out vibrationPattern: Uint64Array): HResult; stdcall; + end; + + /// + /// Receives `CloseRequested` events. + /// + /// + /// See the ICoreWebView2NotificationCloseRequestedEventHandler article. + /// + ICoreWebView2NotificationCloseRequestedEventHandler = interface(IUnknown) + ['{47C32D23-1E94-4733-85F1-D9BF4ACD0974}'] + /// + /// Provides the event args for the corresponding event. + /// + function Invoke(const sender: ICoreWebView2Notification; const args: IUnknown): HResult; stdcall; + end; + + /// + /// This is the ICoreWebView2_25 interface. + /// + /// + /// See the ICoreWebView2_25 article. + /// + ICoreWebView2_25 = interface(ICoreWebView2_24) + ['{B5A86092-DF50-5B4F-A17B-6C8F8B40B771}'] + /// + /// Adds an event handler for the `SaveAsUIShowing` event. + /// This event is raised when save as is triggered, programmatically or manually. + /// + /// \snippet ScenarioSaveAs.cpp ToggleSilent + /// + function add_SaveAsUIShowing(const eventHandler: ICoreWebView2SaveAsUIShowingEventHandler; + out token: EventRegistrationToken): HResult; stdcall; + /// + /// Removes an event handler previously added with `add_SaveAsUIShowing`. + /// + function remove_SaveAsUIShowing(token: EventRegistrationToken): HResult; stdcall; + /// + /// Programmatically trigger a Save As action for the currently loaded document. + /// The `SaveAsUIShowing` event is raised. + /// + /// Opens a system modal dialog by default. If the `SuppressDefaultDialog` property + /// is `TRUE`, the system dialog is not opened. + /// + /// This method returns `COREWEBVIEW2_SAVE_AS_UI_RESULT`. See + /// `COREWEBVIEW2_SAVE_AS_UI_RESULT` for details. + /// + /// \snippet ScenarioSaveAs.cpp ProgrammaticSaveAs + /// + function ShowSaveAsUI(const handler: ICoreWebView2ShowSaveAsUICompletedHandler): HResult; stdcall; + end; + + /// + /// Receives `SaveAsUIShowing` events. + /// + /// + /// See the ICoreWebView2SaveAsUIShowingEventHandler article. + /// + ICoreWebView2SaveAsUIShowingEventHandler = interface(IUnknown) + ['{6BAA177E-3A2E-5CCF-9A13-FAD676CD0522}'] + /// + /// Provides the event args for the corresponding event. + /// + function Invoke(const sender: ICoreWebView2; const args: ICoreWebView2SaveAsUIShowingEventArgs): HResult; stdcall; + end; + + /// + /// The event args for `SaveAsUIShowing` event. + /// + /// + /// See the ICoreWebView2SaveAsUIShowingEventArgs article. + /// + ICoreWebView2SaveAsUIShowingEventArgs = interface(IUnknown) + ['{55902952-0E0D-5AAA-A7D0-E833CDB34F62}'] + /// + /// Get the Mime type of content to be saved. + /// + /// The caller must free the returned string with `CoTaskMemFree`. See + /// [API Conventions](/microsoft-edge/webview2/concepts/win32-api-conventions#strings). + /// + function Get_ContentMimeType(out value: PWideChar): HResult; stdcall; + /// + /// Sets the `Cancel` property. Set this property to `TRUE` to cancel the Save As action + /// and prevent the download from starting. ShowSaveAsUI returns + /// `COREWEBVIEW2_SAVE_AS_UI_RESULT_CANCELLED` in this case. The default value is `FALSE`. + /// + function Set_Cancel(value: Integer): HResult; stdcall; + /// + /// Gets the `Cancel` property. + /// + function Get_Cancel(out value: Integer): HResult; stdcall; + /// + /// Sets the `SuppressDefaultDialog` property, which indicates whether the system + /// default dialog is suppressed. When `SuppressDefaultDialog` is `FALSE`, the default + /// Save As dialog is shown and the values assigned through `SaveAsFilePath`, `AllowReplace` + /// and `Kind` are ignored when the event args invoke completed. + /// + /// Set `SuppressDefaultDialog` to `TRUE` to perform a silent Save As. When + /// `SuppressDefaultDialog` is `TRUE`, the system dialog is skipped and the + /// `SaveAsFilePath`, `AllowReplace` and `Kind` values are used. + /// + /// The default value is FALSE. + /// + function Set_SuppressDefaultDialog(value: Integer): HResult; stdcall; + /// + /// Gets the `SuppressDefaultDialog` property. + /// + function Get_SuppressDefaultDialog(out value: Integer): HResult; stdcall; + /// + /// Returns an `ICoreWebView2Deferral` object. This will defer showing the + /// default Save As dialog and performing the Save As operation. + /// + function GetDeferral(out value: ICoreWebView2Deferral): HResult; stdcall; + /// + /// Set the `SaveAsFilePath` property for Save As. `SaveAsFilePath` is an absolute path + /// of the location. It includes the file name and extension. If `SaveAsFilePath` is not + /// valid (for example, the root drive does not exist), Save As is denied and + /// `COREWEBVIEW2_SAVE_AS_INVALID_PATH` is returned. + /// + /// If the associated download completes successfully, a target file is saved at + /// this location. If the Kind property is `COREWEBVIEW2_SAVE_AS_KIND_COMPLETE`, + /// there will be an additional directory with resources files. + /// + /// The default value is a system suggested path, based on users' local environment. + /// + function Set_SaveAsFilePath(value: PWideChar): HResult; stdcall; + /// + /// Gets the `SaveAsFilePath` property. + /// + /// The caller must free the returned string with `CoTaskMemFree`. See + /// [API Conventions](/microsoft-edge/webview2/concepts/win32-api-conventions#strings). + /// + function Get_SaveAsFilePath(out value: PWideChar): HResult; stdcall; + /// + /// `AllowReplace` allows user to control what happens when a file already + /// exists in the file path to which the Save As operation is saving. + /// Setting this property to `TRUE` allows existing files to be replaced. + /// Setting this property to `FALSE` will not replace existing files and will return + /// `COREWEBVIEW2_SAVE_AS_UI_RESULT_FILE_ALREADY_EXISTS`. + /// + /// The default value is `FALSE`. + /// + function Set_AllowReplace(value: Integer): HResult; stdcall; + /// + /// Gets the `AllowReplace` property. + /// + function Get_AllowReplace(out value: Integer): HResult; stdcall; + /// + /// Sets the `Kind` property to save documents of different kinds. See the + /// `COREWEBVIEW2_SAVE_AS_KIND` enum for a description of the different options. + /// If the kind is not allowed for the current document, ShowSaveAsUI returns + /// `COREWEBVIEW2_SAVE_AS_UI_RESULT_KIND_NOT_SUPPORTED`. + /// + /// The default value is `COREWEBVIEW2_SAVE_AS_KIND_DEFAULT`. + /// + function Set_Kind(value: COREWEBVIEW2_SAVE_AS_KIND): HResult; stdcall; + /// + /// Gets the `Kind` property. + /// + function Get_Kind(out value: COREWEBVIEW2_SAVE_AS_KIND): HResult; stdcall; + end; + + /// + /// Receives the result of the `ShowSaveAsUI` method. + /// + /// + /// See the ICoreWebView2ShowSaveAsUICompletedHandler article. + /// + ICoreWebView2ShowSaveAsUICompletedHandler = interface(IUnknown) + ['{E24B07E3-8169-5C34-994A-7F6478946A3C}'] + /// + /// Provides the result of the corresponding asynchronous method. + /// + function Invoke(errorCode: HResult; result_: COREWEBVIEW2_SAVE_AS_UI_RESULT): HResult; stdcall; + end; + /// /// Event args for the BrowserProcessExited event. /// diff --git a/source/uWVTypes.pas b/source/uWVTypes.pas index 8cb3bee..5cecc81 100644 --- a/source/uWVTypes.pas +++ b/source/uWVTypes.pas @@ -22,11 +22,6 @@ interface wvstring = type UnicodeString; {$ELSE} wvstring = type WideString; - {$IFNDEF DELPHI7_UP} - uint64 = type int64; - PPAnsiChar = array of PChar; - NativeInt = integer; - {$ENDIF} {$ENDIF} {$ENDIF} @@ -430,6 +425,33 @@ interface /// Renamed COREWEBVIEW2_FILE_SYSTEM_HANDLE_KIND type. /// TWVFileSystemHandleKind = type COREWEBVIEW2_FILE_SYSTEM_HANDLE_KIND; + /// + /// Indicates the text direction of the notification. + /// + /// + /// Renamed COREWEBVIEW2_TEXT_DIRECTION_KIND type. + /// + TWVTextDirectionKind = type COREWEBVIEW2_TEXT_DIRECTION_KIND; + /// + /// Specifies Save As kind selection options for + /// `ICoreWebView2SaveAsUIShowingEventArgs`. + /// + /// For HTML documents, we support 3 Save As kinds: HTML_ONLY, SINGLE_FILE and + /// COMPLETE. For non-HTML documents, you must use DEFAULT. MIME types of `text/html` and + /// `application/xhtml+xml` are considered HTML documents. + /// + /// + /// Renamed COREWEBVIEW2_SAVE_AS_KIND type. + /// + TWVSaveAsKind = type COREWEBVIEW2_SAVE_AS_KIND; + /// + /// Status of a programmatic Save As call. Indicates the result + /// of the `ShowSaveAsUI` method. + /// + /// + /// Renamed COREWEBVIEW2_SAVE_AS_UI_RESULT type. + /// + TWVSaveAsUIResult = type COREWEBVIEW2_SAVE_AS_UI_RESULT; /// /// TWVLoader status values diff --git a/source/uWVVersion.inc b/source/uWVVersion.inc index a84ff03..97ac3da 100644 --- a/source/uWVVersion.inc +++ b/source/uWVVersion.inc @@ -1,12 +1,12 @@ WEBVIEW2LOADERLIB_VERSION_MAJOR = 1; WEBVIEW2LOADERLIB_VERSION_MINOR = 0; - WEBVIEW2LOADERLIB_VERSION_RELEASE = 2651; - WEBVIEW2LOADERLIB_VERSION_BUILD = 64; + WEBVIEW2LOADERLIB_VERSION_RELEASE = 2739; + WEBVIEW2LOADERLIB_VERSION_BUILD = 15; // For full API compatibility, WebView4Delphi requires the same // WebView2 Runtime version mentioned in the release notes : // https://docs.microsoft.com/en-us/microsoft-edge/webview2/release-notes - CHROMIUM_VERSION_MAJOR = 127; + CHROMIUM_VERSION_MAJOR = 128; CHROMIUM_VERSION_MINOR = 0; CHROMIUM_VERSION_RELEASE = WEBVIEW2LOADERLIB_VERSION_RELEASE; CHROMIUM_VERSION_BUILD = WEBVIEW2LOADERLIB_VERSION_BUILD; \ No newline at end of file diff --git a/update_WebView4Delphi.json b/update_WebView4Delphi.json index adbd2f1..f55a9bf 100644 --- a/update_WebView4Delphi.json +++ b/update_WebView4Delphi.json @@ -2,9 +2,9 @@ "UpdateLazPackages" : [ { "ForceNotify" : true, - "InternalVersion" : 161, + "InternalVersion" : 162, "Name" : "webview4delphi.lpk", - "Version" : "1.0.2651.64" + "Version" : "1.0.2739.15" } ], "UpdatePackageData" : {