diff --git a/README.md b/README.md index 7c2430a..14352ba 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.2535.41](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.2592.51](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 d88aa4c..ae2684f 100644 Binary files a/bin32/WebView2Loader.dll and b/bin32/WebView2Loader.dll differ diff --git a/bin64/WebView2Loader.dll b/bin64/WebView2Loader.dll index 4fc0a46..f6d1d7b 100644 Binary files a/bin64/WebView2Loader.dll and b/bin64/WebView2Loader.dll differ diff --git a/docs/WebView4Delphi.chm b/docs/WebView4Delphi.chm index ff1bf12..c875e38 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 7d1231f..8480726 100644 --- a/docs/html/AllClasses.html +++ b/docs/html/AllClasses.html @@ -475,7 +475,7 @@
Representation of a DOM [File](https://developer.mozilla.org/en-US/docs/Web/API/File) object passed via WebMessage. You can use this object to obtain the path of a File dropped on WebView2.
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.
Representation of a DOM [File](https://developer.mozilla.org/en-US/docs/Web/API/File) object passed via WebMessage. You can use this object to obtain the path of a File dropped on WebView2.
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.
Receives RasterizationScaleChanged events. Use the RasterizationScale property to get the modified scale.
This class represents a collection of region Rects.
Event args for the ScriptDialogOpening event.
Receives ScriptDialogOpening events.
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.
Event args for the ServerCertificateErrorDetected event.
An event handler for the ServerCertificateErrorDetected event.
The caller implements this interface to handle the result of SetPermissionState.
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.
The shared buffer object that is created by CreateSharedBuffer. The object is presented to script as ArrayBuffer when posted to script with PostSharedBufferToScript.
Event args for the SourceChanged event.
Receives SourceChanged events.
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.
Receives StatusBarTextChanged events.
A collection of strings.
The caller implements this interface to receive the TrySuspend result.
Event args for the WebMessageReceived event.
Receives WebMessageReceived events.
Event args for the WebResourceRequested event.
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.
An HTTP request used with the WebResourceRequested event.
An HTTP request used with the WebResourceRequested event.
An HTTP response used with the WebResourceRequested event.
Event args for the WebResourceResponseReceived event.
Receives WebResourceResponseReceived events.
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.
Receives the result of the ICoreWebView2WebResourceResponseView.GetContent method.
Receives WindowCloseRequested events.
@@ -1992,62 +1997,62 @@
Implements the interface to receive ZoomFactorChanged events. Use the ICoreWebView2Controller.ZoomFactor property to get the modified zoom factor.
Record used by GetDLLVersion to get the DLL version information
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.
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.
Record with all the information to create a TCoreWebView2CustomSchemeRegistration instance to register a custom scheme.
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.
Parent control used by FMX applications to show the web contents.
Class used to simplify the WebView2 initialization and destruction.
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.
Parent control that will be used by TWVWindowParent in VCL and LCL applications to show the web contents.
Record used by TCoreWebView2WindowFeatures.CopyToRecord to copy the windows featres
Parent control used by VCL and LCL applications to show the web contents.
Indicates permission to play audio and video automatically on sites. This permission affects the autoplay attribute and play method of the audio and video HTML elements, and the start method of the Web Audio API. See the [Autoplay guide for media and Web Audio APIs](https://developer.mozilla.org/en-US/docs/Web/Media/Autoplay_guide) for details.
Indicates permission to play audio and video automatically on sites. This permission affects the autoplay attribute and play method of the audio and video HTML elements, and the start method of the Web Audio API. See the [Autoplay guide for media and Web Audio APIs](https://developer.mozilla.org/docs/Web/Media/Autoplay_guide) for details.
Indicates permission to read and write to files or folders on the device. Permission is requested when developers use the [File System Access API](https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API) to show the file or folder picker to the end user, and then request "readwrite" permission for the user's selection.
Indicates permission to read and write to files or folders on the device. Permission is requested when developers use the [File System Access API](https://developer.mozilla.org/docs/Web/API/File_System_Access_API) to show the file or folder picker to the end user, and then request "readwrite" permission for the user's selection.
Indicates permission to send and receive system exclusive messages to/from MIDI (Musical Instrument Digital Interface) devices. Permission is requested when developers use the [Web MIDI API](https://developer.mozilla.org/en-US/docs/Web/API/Web_MIDI_API) to request access to system exclusive MIDI messages.
Indicates permission to send and receive system exclusive messages to/from MIDI (Musical Instrument Digital Interface) devices. Permission is requested when developers use the [Web MIDI API](https://developer.mozilla.org/docs/Web/API/Web_MIDI_API) to request access to system exclusive MIDI messages.
Window style fluent overlay scroll bar. -
Please see [Fluent UI](https:/-/developer.microsoft.com/en-us/fluentui#/) for more details on fluent UI. +
Please see [Fluent UI](https://developer.microsoft.com/fluentui#/) for more details on fluent UI.
Indicates permission to play audio and video automatically on sites. This permission affects the autoplay attribute and play method of the audio and video HTML elements, and the start method of the Web Audio API. See the [Autoplay guide for media and Web Audio APIs](https://developer.mozilla.org/en-US/docs/Web/Media/Autoplay_guide) for details.
Indicates permission to play audio and video automatically on sites. This permission affects the autoplay attribute and play method of the audio and video HTML elements, and the start method of the Web Audio API. See the [Autoplay guide for media and Web Audio APIs](https://developer.mozilla.org/docs/Web/Media/Autoplay_guide) for details.
Indicates permission to read and write to files or folders on the device. Permission is requested when developers use the [File System Access API](https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API) to show the file or folder picker to the end user, and then request "readwrite" permission for the user's selection.
Indicates permission to read and write to files or folders on the device. Permission is requested when developers use the [File System Access API](https://developer.mozilla.org/docs/Web/API/File_System_Access_API) to show the file or folder picker to the end user, and then request "readwrite" permission for the user's selection.
Indicates permission to send and receive system exclusive messages to/from MIDI (Musical Instrument Digital Interface) devices. Permission is requested when developers use the [Web MIDI API](https://developer.mozilla.org/en-US/docs/Web/API/Web_MIDI_API) to request access to system exclusive MIDI messages.
Indicates permission to send and receive system exclusive messages to/from MIDI (Musical Instrument Digital Interface) devices. Permission is requested when developers use the [Web MIDI API](https://developer.mozilla.org/docs/Web/API/Web_MIDI_API) to request access to system exclusive MIDI messages.
Window style fluent overlay scroll bar. -
Please see [Fluent UI](https:/-/developer.microsoft.com/en-us/fluentui#/) for more details on fluent UI. +
Please see [Fluent UI](https://developer.microsoft.com/fluentui#/) for more details on fluent UI.
Representation of a DOM [File](https://developer.mozilla.org/en-US/docs/Web/API/File) object passed via WebMessage. You can use this object to obtain the path of a File dropped on WebView2.
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.
Representation of a DOM [File](https://developer.mozilla.org/en-US/docs/Web/API/File) object passed via WebMessage. You can use this object to obtain the path of a File dropped on WebView2.
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.
Receives RasterizationScaleChanged events. Use the RasterizationScale property to get the modified scale.
This class represents a collection of region Rects.
Event args for the ScriptDialogOpening event.
Receives ScriptDialogOpening events.
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.
Event args for the ServerCertificateErrorDetected event.
An event handler for the ServerCertificateErrorDetected event.
The caller implements this interface to handle the result of SetPermissionState.
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.
The shared buffer object that is created by CreateSharedBuffer. The object is presented to script as ArrayBuffer when posted to script with PostSharedBufferToScript.
Event args for the SourceChanged event.
Receives SourceChanged events.
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.
Receives StatusBarTextChanged events.
A collection of strings.
The caller implements this interface to receive the TrySuspend result.
Event args for the WebMessageReceived event.
Receives WebMessageReceived events.
Event args for the WebResourceRequested event.
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.
An HTTP request used with the WebResourceRequested event.
An HTTP request used with the WebResourceRequested event.
An HTTP response used with the WebResourceRequested event.
Event args for the WebResourceResponseReceived event.
Receives WebResourceResponseReceived events.
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.
Receives the result of the ICoreWebView2WebResourceResponseView.GetContent method.
Receives WindowCloseRequested events.
@@ -5119,699 +5124,699 @@
Implements the interface to receive ZoomFactorChanged events. Use the ICoreWebView2Controller.ZoomFactor property to get the modified zoom factor.
Record used by GetDLLVersion to get the DLL version information
Loader events
Custom events
Browser events
Debug log values used by TWVLoader.DebugLog
Debug log level used when the logging is enabled
Blink editing commands used by the "Input.dispatchKeyEvent" DevTools method.
Event type used by TWVBrowserBase.SimulateKeyEvent
TWVLoader status values
Autoplay policy types used by TWVLoader.AutoplayPolicy. See the –autoplay-policy switch.
Mode for how the Bounds property is interpreted in relation to the RasterizationScale property.
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.
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.
Specifies the browser process exit type used in the ICoreWebView2BrowserProcessExitedEventArgs interface.
Specifies the datatype for the ICoreWebView2Profile2.ClearBrowsingData method.
Specifies the image format for the ICoreWebView2.CapturePreview method.
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.
Used by TWVBrowserBase.ClearDataForOrigin to clear the storage
Specifies the client certificate kind.
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.
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
Record with all the information to create a TCoreWebView2CustomSchemeRegistration instance to register a custom scheme.
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.
Reason why a download was interrupted.
State of the download operation.
Specifies the image format to use for favicon.
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.
Parent control used by FMX applications to show the web contents.
Indicates the frame type used in the `ICoreWebView2FrameInfo` interface.
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
Specifies the key event type that triggered an AcceleratorKeyPressed event.
Class used to simplify the WebView2 initialization and destruction.
Specifies memory usage target level of WebView.
Specifies the menu item kind for the ICoreWebView2ContextMenuItem.get_Kind method
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.
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.
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.
Specifies the reason for moving focus.
Specifies the navigation kind of each navigation.
This enum contains values representing possible regions a given point lies within.
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.
Indicates the type of a permission request.
Specifies the response to a permission request.
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.
An enum to represent the options for WebView2 color scheme: auto, light, or dark.
Specifies the collation for a print.
Specifies the color mode for a print.
Specifies the print dialog kind.
Specifies the duplex option for a print.
Specifies the media size for a print.
The orientation for printing, used by the Orientation property on ICoreWebView2PrintSettings.
Indicates the status for printing.
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).
Specifies the process failure reason used in the ICoreWebView2ProcessFailedEventHandler interface.
Indicates the process type used in the ICoreWebView2ProcessInfo interface.
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.
@@ -5830,362 +5835,362 @@
Specifies the JavaScript dialog type used in the ICoreWebView2ScriptDialogOpeningEventHandler interface.
Set ScrollBar style on `ICoreWebView2EnvironmentOptions` during environment creation.
Specifies the action type when server certificate error is detected to be used in the ICoreWebView2ServerCertificateErrorDetectedEventArgs interface.
Specifies the desired access from script to CoreWebView2SharedBuffer.
Represents the state of a setting.
Tracking prevention levels.
Indicates the error status values for web navigations.
Specifies the web resource request contexts.
Specifies the source of `WebResourceRequested` event.
Parent control that will be used by TWVWindowParent in VCL and LCL applications to show the web contents.
Record used by TCoreWebView2WindowFeatures.CopyToRecord to copy the windows featres
Parent control used by VCL and LCL applications to show the web contents.
TypeLibrary major version
TypeLibrary minor version
* Reserved IDs used in some DevTools functions *
* Reserved IDs used in some JavaScript functions *
* 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. *
This item has no description. Showing description inherited from TWVBrowserBase.OnWindowCloseRequested.
- `OnWindowCloseRequested` triggers when content inside the WebView requested to close the window, such as after `window.close` is run. The app should close the WebView and related app window if that makes sense to the app. + `OnWindowCloseRequested` triggers when content inside the WebView requested to close the window, such as after `window.close` is run. The app should close the WebView and related app window if that makes sense to the app. After the first window.close() call, this event may not fire for any immediate back to back window.close() calls.
<see href="https://learn.microsoft.com/en-us/microsoft-edge/webview2/reference/win32/icorewebview2#add_windowcloserequested">See the ICoreWebView2 article.)
This item has no description. Showing description inherited from TWVBrowserBase.OnBasicAuthenticationRequested.
-
Add an event handler for the BasicAuthenticationRequested event. BasicAuthenticationRequested event is raised when WebView encounters a Basic HTTP Authentication request as described in https://developer.mozilla.org/docs/Web/HTTP/Authentication, a Digest HTTP Authentication request as described in https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Authorization#digest, an NTLM authentication or a Proxy Authentication request. +
Add an event handler for the BasicAuthenticationRequested event. BasicAuthenticationRequested event is raised when WebView encounters a Basic HTTP Authentication request as described in https://developer.mozilla.org/docs/Web/HTTP/Authentication, a Digest HTTP Authentication request as described in https://developer.mozilla.org/docs/Web/HTTP/Headers/Authorization#digest, an NTLM authentication or a Proxy Authentication request.
The host can provide a response with credentials for the authentication or cancel the request. If the host sets the Cancel property to false but does not provide either UserName or Password properties on the Response property, then WebView2 will show the default authentication challenge dialog prompt to the user. diff --git a/docs/html/uWVBrowserBase.TWVBrowserBase.html b/docs/html/uWVBrowserBase.TWVBrowserBase.html index 8f9b172..fe5ece9 100644 --- a/docs/html/uWVBrowserBase.TWVBrowserBase.html +++ b/docs/html/uWVBrowserBase.TWVBrowserBase.html @@ -7203,7 +7203,7 @@
-
Adds the [browser extension](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions) using the extension path for unpacked extensions from the local device. Extension is running right after installation. +
Adds the [browser extension](https://developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions) using the extension path for unpacked extensions from the local device. Extension is running right after installation.
The extension folder path is the topmost folder of an unpacked browser extension and contains the browser extension manifest file. @@ -8962,25 +8962,29 @@
-
Sets the `ReleaseChannels`, which is a mask of one or more indicating which channels environment creation should search for. +
Sets the `ReleaseChannels`, which is a mask of one or more `COREWEBVIEW2_RELEASE_CHANNELS` indicating which channels environment creation should search for. OR operation(s) can be applied to multiple `COREWEBVIEW2_RELEASE_CHANNELS` to create a mask. The default value is a a mask of all the channels. By default, environment creation searches for channels from most to least stable, using the first channel found on the device. When `ReleaseChannels` is provided, environment creation will only search for the channels specified in the set. Set `ChannelSearchKind` to `COREWEBVIEW2_CHANNEL_SEARCH_KIND_LEAST_STABLE` to reverse the search order so environment creation searches for least stable build first. See `COREWEBVIEW2_RELEASE_CHANNELS` for descriptions of each channel. -
OR operation(s) can be applied to multiple to create a mask. The default value is a mask of all the channels. By default, environment creation searches for channels from most to least stable, using the first channel found on the device. When is provided, environment creation will only search for the channels specified in the set. Set to to reverse the search order so that the loader searches for the least stable build first. See for descriptions of each channel. Environment creation fails if it is unable to find any channel from the installed on the device. +
`CreateCoreWebView2EnvironmentWithOptions` fails with `HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND)` if environment creation is unable to find any channel from the `ReleaseChannels` installed on the device. Use `GetAvailableCoreWebView2BrowserVersionStringWithOptions` on `ICoreWebView2Environment` to verify which channel is used when this option is set. -
Use to verify which channel is used. If both a and are provided, the takes precedence. The can be overridden by the corresponding registry override or the environment variable . Set the value to a comma-separated string of integers, which map to the values: Stable (0), Beta (1), Dev (2), and Canary (3). - -
For example, the values "0,2" and "2,0" indicate that the loader should only search for Dev channel and the WebView2 Runtime, using the order indicated by . Environment creation attempts to interpret each integer and treats any invalid entry as Stable channel. - -
+Examples:
| ReleaseChannels | Channel Search Kind: Most Stable (default) | Channel Search Kind: Least Stable | | --- | --- | --- | -|CoreWebView2ReleaseChannels.Beta \| CoreWebView2ReleaseChannels.Stable| WebView2 Runtime -> Beta | Beta -> WebView2 Runtime| -|CoreWebView2ReleaseChannels.Canary \| CoreWebView2ReleaseChannels.Dev \| CoreWebView2ReleaseChannels.Beta \| CoreWebView2ReleaseChannels.Stable | WebView2 Runtime -> Beta -> Dev -> Canary | Canary -> Dev -> Beta -> WebView2 Runtime | -|CoreWebView2ReleaseChannels.Canary| Canary | Canary | -|CoreWebView2ReleaseChannels.Beta \| CoreWebView2ReleaseChannels.Canary \| CoreWebView2ReleaseChannels.Stable | WebView2 Runtime -> Beta -> Canary | Canary -> Beta -> WebView2 Runtime |+|COREWEBVIEW2_RELEASE_CHANNELS_BETA \| COREWEBVIEW2_RELEASE_CHANNELS_STABLE| WebView2 Runtime -> Beta | Beta -> WebView2 Runtime| +|COREWEBVIEW2_RELEASE_CHANNELS_CANARY \| COREWEBVIEW2_RELEASE_CHANNELS_DEV \| COREWEBVIEW2_RELEASE_CHANNELS_BETA \| COREWEBVIEW2_RELEASE_CHANNELS_STABLE| WebView2 Runtime -> Beta -> Dev -> Canary | Canary -> Dev -> Beta -> WebView2 Runtime | +|COREWEBVIEW2_RELEASE_CHANNELS_CANARY| Canary | Canary | +|COREWEBVIEW2_RELEASE_CHANNELS_BETA \| COREWEBVIEW2_RELEASE_CHANNELS_CANARY \| COREWEBVIEW2_RELEASE_CHANNELS_STABLE | WebView2 Runtime -> Beta -> Canary | Canary -> Beta -> WebView2 Runtime | -
+
+ +
If both `BrowserExecutableFolder` and `ReleaseChannels` are provided, the `BrowserExecutableFolder` takes precedence, regardless of whether or not the channel of `BrowserExecutableFolder` is included in the `ReleaseChannels`. + +
`ReleaseChannels` can be overridden by the corresponding registry override `ReleaseChannels` or the environment variable `WEBVIEW2_RELEASE_CHANNELS`. + +
Set the value to a comma-separated string of integers, which map to the following release channel values: Stable (0), Beta (1), Dev (2), and Canary (3). For example, the values "0,2" and "2,0" indicate that environment creation should only search for Dev channel and the WebView2 Runtime, using the order indicated by `ChannelSearchKind`. Environment creation attempts to interpret each integer and treats any invalid entry as Stable channel. See `CreateCoreWebView2EnvironmentWithOptions` for more details on overrides. + +
@@ -9002,7 +9006,7 @@
The default value is `COREWEBVIEW2_SCROLLBAR_STYLE_DEFAULT` which specifies the default browser ScrollBar style. -
The `color-scheme` CSS property needs to be set on the corresponding page to allow ScrollBar to follow light or dark theme. Please see [color-scheme](https://developer.mozilla.org/en-US/docs/Web/CSS/color-scheme#declaring_color_scheme_preferences) for how `color-scheme` can be set. +
The `color-scheme` CSS property needs to be set on the corresponding page to allow ScrollBar to follow light or dark theme. Please see [color-scheme](https://developer.mozilla.org/docs/Web/CSS/color-scheme#declaring_color_scheme_preferences) for how `color-scheme` can be set.
CSS styles that modify the ScrollBar applied on top of native ScrollBar styling that is selected with `ScrollBarStyle`. @@ -9574,6 +9578,8 @@
This property may be overridden if the User-Agent header is set in a request. If the parameter is empty the User Agent will not be updated and the current User Agent will remain. Setting this property may clear User Agent Client Hints headers Sec-CH-UA-* and script values from navigator.userAgentData. Current implementation behavior is subject to change. +
The User Agent set will also be effective on service workers and shared workers associated with the WebView. If there are multiple WebViews associated with the same service worker or shared worker, the last User Agent set will be used. +
@@ -10306,7 +10312,7 @@
- `OnWindowCloseRequested` triggers when content inside the WebView requested to close the window, such as after `window.close` is run. The app should close the WebView and related app window if that makes sense to the app.
+ `OnWindowCloseRequested` triggers when content inside the WebView requested to close the window, such as after `window.close` is run. The app should close the WebView and related app window if that makes sense to the app. After the first window.close() call, this event may not fire for any immediate back to back window.close() calls.@@ -10442,7 +10448,7 @@
-
Add an event handler for the BasicAuthenticationRequested event. BasicAuthenticationRequested event is raised when WebView encounters a Basic HTTP Authentication request as described in https://developer.mozilla.org/docs/Web/HTTP/Authentication, a Digest HTTP Authentication request as described in https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Authorization#digest, an NTLM authentication or a Proxy Authentication request. +
Add an event handler for the BasicAuthenticationRequested event. BasicAuthenticationRequested event is raised when WebView encounters a Basic HTTP Authentication request as described in https://developer.mozilla.org/docs/Web/HTTP/Authentication, a Digest HTTP Authentication request as described in https://developer.mozilla.org/docs/Web/HTTP/Headers/Authorization#digest, an NTLM authentication or a Proxy Authentication request.
The host can provide a response with credentials for the authentication or cancel the request. If the host sets the Cancel property to false but does not provide either UserName or Password properties on the Response property, then WebView2 will show the default authentication challenge dialog prompt to the user. diff --git a/docs/html/uWVConstants.html b/docs/html/uWVConstants.html index c31ddf9..f72da6f 100644 --- a/docs/html/uWVConstants.html +++ b/docs/html/uWVConstants.html @@ -22,13 +22,13 @@
WEBVIEW2LOADERLIB_VERSION_MINOR = 0;
WEBVIEW2LOADERLIB_VERSION_RELEASE = 2535;
WEBVIEW2LOADERLIB_VERSION_RELEASE = 2592;
WEBVIEW2LOADERLIB_VERSION_BUILD = 41;
WEBVIEW2LOADERLIB_VERSION_BUILD = 51;
CHROMIUM_VERSION_MAJOR = 125;
CHROMIUM_VERSION_MAJOR = 126;
CHROMIUM_VERSION_MINOR = 0;
WEBVIEW2LOADERLIB_VERSION_RELEASE = 2535; |
+WEBVIEW2LOADERLIB_VERSION_RELEASE = 2592; |
This item has no description. |
WEBVIEW2LOADERLIB_VERSION_BUILD = 41; |
+WEBVIEW2LOADERLIB_VERSION_BUILD = 51; |
This item has no description. |
CHROMIUM_VERSION_MAJOR = 125; |
+CHROMIUM_VERSION_MAJOR = 126; |
diff --git a/docs/html/uWVCoreWebView2.TCoreWebView2.html b/docs/html/uWVCoreWebView2.TCoreWebView2.html index b8bfff1..28e84f2 100644 --- a/docs/html/uWVCoreWebView2.TCoreWebView2.html +++ b/docs/html/uWVCoreWebView2.TCoreWebView2.html @@ -2118,7 +2118,8 @@ Parameters`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. +`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.Host object proxies additionally have the following methods which run locally. diff --git a/docs/html/uWVCoreWebView2Args.TCoreWebView2LaunchingExternalUriSchemeEventArgs.html b/docs/html/uWVCoreWebView2Args.TCoreWebView2LaunchingExternalUriSchemeEventArgs.html index 1e8cb8a..89ced5c 100644 --- a/docs/html/uWVCoreWebView2Args.TCoreWebView2LaunchingExternalUriSchemeEventArgs.html +++ b/docs/html/uWVCoreWebView2Args.TCoreWebView2LaunchingExternalUriSchemeEventArgs.html @@ -233,7 +233,7 @@PropertiesThe origin initiating the external URI scheme launch. - The origin will be an empty string if the request is initiated by calling `CoreWebView2.Navigate` on the external URI scheme. If a script initiates the navigation, the `InitiatingOrigin` will be the top-level document's `Source`, for example, if `window.location` is set to `"calculator://", the `InitiatingOrigin` will be set to `calculator://`. If the request is initiated from a child frame, the `InitiatingOrigin` will be the source of that child frame. + The origin will be an empty string if the request is initiated by calling `CoreWebView2.Navigate` on the external URI scheme. If a script initiates the navigation, the `InitiatingOrigin` will be the top-level document's `Source`, for example, if `window.location` is set to `"calculator://"`, the `InitiatingOrigin` will be set to `calculator://`. If the request is initiated from a child frame, the `InitiatingOrigin` will be the source of that child frame. If the `InitiatingOrigin` is [opaque](https://html.spec.whatwg.org/multipage/origin.html#concept-origin-opaque), the `InitiatingOrigin` reported in the event args will be its precursor origin. The precursor origin is the origin that created the opaque origin. For example, if a frame on example.com opens a subframe with a different opaque origin, the subframe's precursor origin is example.com. diff --git a/docs/html/uWVCoreWebView2BrowserExtension.TCoreWebView2BrowserExtension.html b/docs/html/uWVCoreWebView2BrowserExtension.TCoreWebView2BrowserExtension.html index a863a73..2e644bd 100644 --- a/docs/html/uWVCoreWebView2BrowserExtension.TCoreWebView2BrowserExtension.html +++ b/docs/html/uWVCoreWebView2BrowserExtension.TCoreWebView2BrowserExtension.html @@ -207,7 +207,7 @@ Properties | |
- This is the browser extension's ID. This is the same browser extension ID returned by the browser extension API [`chrome.runtime.id`](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/runtime/id). Please see that documentation for more details on how the ID is generated. After an extension is removed, calling `Id` will return the id of the extension that is removed. + This is the browser extension's ID. This is the same browser extension ID returned by the browser extension API [`chrome.runtime.id`](https://developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions/API/runtime/id). Please see that documentation for more details on how the ID is generated. After an extension is removed, calling `Id` will return the id of the extension that is removed. |
- This is the browser extension's name. This value is defined in this browser extension's manifest.json file. If manifest.json define extension's localized name, this value will be the localized version of the name. Please see [Manifest.json name](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/name) for more details. After an extension is removed, calling `Name` will return the name of the extension that is removed. + This is the browser extension's name. This value is defined in this browser extension's manifest.json file. If manifest.json define extension's localized name, this value will be the localized version of the name. Please see [Manifest.json name](https://developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions/manifest.json/name) for more details. After an extension is removed, calling `Name` will return the name of the extension that is removed. |
This item has no description. Showing description inherited from ICoreWebView2EnvironmentOptions8.Set_ScrollBarStyle. - The ScrollBar style being set on the WebView2 Environment. The default value is `COREWEBVIEW2_SCROLLBAR_STYLE_DEFAULT` which specifies the default browser ScrollBar style. The `color-scheme` CSS property needs to be set on the corresponding page to allow ScrollBar to follow light or dark theme. Please see [color-scheme](https://developer.mozilla.org/en-US/docs/Web/CSS/color-scheme#declaring_color_scheme_preferences) for how `color-scheme` can be set. CSS styles that modify the ScrollBar applied on top of native ScrollBar styling that is selected with `ScrollBarStyle`. + The ScrollBar style being set on the WebView2 Environment. The default value is `COREWEBVIEW2_SCROLLBAR_STYLE_DEFAULT` which specifies the default browser ScrollBar style. The `color-scheme` CSS property needs to be set on the corresponding page to allow ScrollBar to follow light or dark theme. Please see [color-scheme](https://developer.mozilla.org/docs/Web/CSS/color-scheme#declaring_color_scheme_preferences) for how `color-scheme` can be set. CSS styles that modify the ScrollBar applied on top of native ScrollBar styling that is selected with `ScrollBarStyle`. |
Class TCoreWebView2File |
-Representation of a DOM [File](https://developer.mozilla.org/en-US/docs/Web/API/File) object passed via WebMessage. You can use this object to obtain the path of a File dropped on WebView2. | +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. |
Sets permission state for the given permission kind and origin asynchronously. The change persists across sessions until it is changed by another call to `SetPermissionState`, or by setting the `State` property in `PermissionRequestedEventArgs`. Setting the state to `COREWEBVIEW2_PERMISSION_STATE_DEFAULT` will erase any state saved in the profile and restore the default behavior. -
The origin should have a valid scheme and host (e.g. "https://www.example.com"), otherwise the method fails with `E_INVALIDARG`. Additional URI parts like path and fragment are ignored. For example, "https://wwww.example.com/app1/index.html/" is treated the same as "https://wwww.example.com". See the [MDN origin definition](https://developer.mozilla.org/en-US/docs/Glossary/Origin) for more details. +
The origin should have a valid scheme and host (e.g. "https://www.example.com"), otherwise the method fails with `E_INVALIDARG`. Additional URI parts like path and fragment are ignored. For example, "https://wwww.example.com/app1/index.html/" is treated the same as "https://wwww.example.com". See the [MDN origin definition](https://developer.mozilla.org/docs/Glossary/Origin) for more details.
@@ -618,7 +618,7 @@
-
Adds the [browser extension](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions) using the extension path for unpacked extensions from the local device. Extension is running right after installation. +
Adds the [browser extension](https://developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions) using the extension path for unpacked extensions from the local device. Extension is running right after installation.
The extension folder path is the topmost folder of an unpacked browser extension and contains the browser extension manifest file. diff --git a/docs/html/uWVCoreWebView2RegionRectCollectionView.TCoreWebView2RegionRectCollectionView.html b/docs/html/uWVCoreWebView2RegionRectCollectionView.TCoreWebView2RegionRectCollectionView.html new file mode 100644 index 0000000..fa39acc --- /dev/null +++ b/docs/html/uWVCoreWebView2RegionRectCollectionView.TCoreWebView2RegionRectCollectionView.html @@ -0,0 +1,181 @@ + + +
++uWVCoreWebView2RegionRectCollectionView
+
+type TCoreWebView2RegionRectCollectionView = class(TObject)
+ This class represents a collection of region Rects.
++ + +
<see href="https://learn.microsoft.com/en-us/microsoft-edge/webview2/reference/win32/icorewebview2regionrectcollectionview">See the ICoreWebView2RegionRectCollectionView article.)
++ | FBaseIntf: ICoreWebView2RegionRectCollectionView; |
+
+ | function GetInitialized: boolean; |
+
+ | function GetCount: cardinal; |
+
+ | function GetValueAtIndex(index : cardinal) : TRect; |
+
+ | constructor Create(const aBaseIntf : ICoreWebView2RegionRectCollectionView); reintroduce; |
+
+ | destructor Destroy; override; |
+
+ | property Initialized : boolean read GetInitialized; |
+
+ | property BaseIntf : ICoreWebView2RegionRectCollectionView read FBaseIntf; |
+
+ | property Count : cardinal read GetCount; |
+
+ | property Items[idx: cardinal]: TRect read GetValueAtIndex; |
+
+ | FBaseIntf: ICoreWebView2RegionRectCollectionView; |
+
+ This item has no description. |
+ | function GetInitialized: boolean; |
+
+ This item has no description. |
+ | function GetCount: cardinal; |
+
+ This item has no description. |
+ | function GetValueAtIndex(index : cardinal) : TRect; |
+
+ This item has no description. |
+ | constructor Create(const aBaseIntf : ICoreWebView2RegionRectCollectionView); reintroduce; |
+
+ This item has no description. |
+ | destructor Destroy; override; |
+
+ This item has no description. |
+ | property Initialized : boolean read GetInitialized; |
+
+ + Returns true when the interface implemented by this class is fully initialized. + |
+ | property BaseIntf : ICoreWebView2RegionRectCollectionView read FBaseIntf; |
+
+ + Returns the interface implemented by this class. + |
+ | property Count : cardinal read GetCount; |
+
+ + The number of Rects contained in the collection. ++ + + <see href="https://learn.microsoft.com/en-us/microsoft-edge/webview2/reference/win32/icorewebview2regionrectcollectionview#get_count">See the ICoreWebView2RegionRectCollectionView article.) + |
+ | property Items[idx: cardinal]: TRect read GetValueAtIndex; |
+
+ + Gets the Rect at the specified index. ++ + + <see href="https://learn.microsoft.com/en-us/microsoft-edge/webview2/reference/win32/icorewebview2regionrectcollectionview#getvalueatindex">See the ICoreWebView2RegionRectCollectionView article.) + |
This item has no description.
Name | +Description | +
---|---|
Class TCoreWebView2RegionRectCollectionView |
+This class represents a collection of region Rects. | +
This property may be overridden if the User-Agent header is set in a request. If the parameter is empty the User Agent will not be updated and the current User Agent will remain. Setting this property may clear User Agent Client Hints headers Sec-CH-UA-* and script values from navigator.userAgentData. Current implementation behavior is subject to change. +
The User Agent set will also be effective on service workers and shared workers associated with the WebView. If there are multiple WebViews associated with the same service worker or shared worker, the last User Agent set will be used. +
diff --git a/docs/html/uWVCoreWebView2WebResourceResponse.TCoreWebView2WebResourceResponse.html b/docs/html/uWVCoreWebView2WebResourceResponse.TCoreWebView2WebResourceResponse.html index 1d03c49..a1c9bf5 100644 --- a/docs/html/uWVCoreWebView2WebResourceResponse.TCoreWebView2WebResourceResponse.html +++ b/docs/html/uWVCoreWebView2WebResourceResponse.TCoreWebView2WebResourceResponse.html @@ -255,7 +255,7 @@
HTTP response content as stream. Stream must have all the content data available by the time the `WebResourceRequested` event deferral of this response is completed. Stream should be agile or be created from a background thread to prevent performance impact to the UI thread. `Null` means no content data. `IStream` semantics apply (return `S_OK` to `Read` runs until all data is exhausted). -
When providing the response data, you should consider relevant HTTP request headers just like an HTTP server would do. For example, if the request was for a video resource in a HTML video element, the request may contain the [Range](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Range) header to request only a part of the video that is streaming. In this case, your response stream should be only the portion of the video specified by the range HTTP request headers and you should set the appropriate [Content-Range](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Range) header in the response. +
When providing the response data, you should consider relevant HTTP request headers just like an HTTP server would do. For example, if the request was for a video resource in a HTML video element, the request may contain the [Range](https://developer.mozilla.org/docs/Web/HTTP/Headers/Range) header to request only a part of the video that is streaming. In this case, your response stream should be only the portion of the video specified by the range HTTP request headers and you should set the appropriate [Content-Range](https://developer.mozilla.org/docs/Web/HTTP/Headers/Content-Range) header in the response.
diff --git a/docs/html/uWVFMXBrowser.TWVFMXBrowser.html b/docs/html/uWVFMXBrowser.TWVFMXBrowser.html index 762aaa0..22474a4 100644 --- a/docs/html/uWVFMXBrowser.TWVFMXBrowser.html +++ b/docs/html/uWVFMXBrowser.TWVFMXBrowser.html @@ -934,7 +934,7 @@
This item has no description. Showing description inherited from TWVBrowserBase.OnWindowCloseRequested.
- `OnWindowCloseRequested` triggers when content inside the WebView requested to close the window, such as after `window.close` is run. The app should close the WebView and related app window if that makes sense to the app. + `OnWindowCloseRequested` triggers when content inside the WebView requested to close the window, such as after `window.close` is run. The app should close the WebView and related app window if that makes sense to the app. After the first window.close() call, this event may not fire for any immediate back to back window.close() calls.
<see href="https://learn.microsoft.com/en-us/microsoft-edge/webview2/reference/win32/icorewebview2#add_windowcloserequested">See the ICoreWebView2 article.)
This item has no description. Showing description inherited from TWVBrowserBase.OnBasicAuthenticationRequested.
-
Add an event handler for the BasicAuthenticationRequested event. BasicAuthenticationRequested event is raised when WebView encounters a Basic HTTP Authentication request as described in https://developer.mozilla.org/docs/Web/HTTP/Authentication, a Digest HTTP Authentication request as described in https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Authorization#digest, an NTLM authentication or a Proxy Authentication request. +
Add an event handler for the BasicAuthenticationRequested event. BasicAuthenticationRequested event is raised when WebView encounters a Basic HTTP Authentication request as described in https://developer.mozilla.org/docs/Web/HTTP/Authentication, a Digest HTTP Authentication request as described in https://developer.mozilla.org/docs/Web/HTTP/Headers/Authorization#digest, an NTLM authentication or a Proxy Authentication request.
The host can provide a response with credentials for the authentication or cancel the request. If the host sets the Cancel property to false but does not provide either UserName or Password properties on the Response property, then WebView2 will show the default authentication challenge dialog prompt to the user. diff --git a/docs/html/uWVLoader.TWVLoader.html b/docs/html/uWVLoader.TWVLoader.html index be6767c..72b8584 100644 --- a/docs/html/uWVLoader.TWVLoader.html +++ b/docs/html/uWVLoader.TWVLoader.html @@ -2141,25 +2141,29 @@
-
Sets the `ReleaseChannels`, which is a mask of one or more indicating which channels environment creation should search for. +
Sets the `ReleaseChannels`, which is a mask of one or more `COREWEBVIEW2_RELEASE_CHANNELS` indicating which channels environment creation should search for. OR operation(s) can be applied to multiple `COREWEBVIEW2_RELEASE_CHANNELS` to create a mask. The default value is a a mask of all the channels. By default, environment creation searches for channels from most to least stable, using the first channel found on the device. When `ReleaseChannels` is provided, environment creation will only search for the channels specified in the set. Set `ChannelSearchKind` to `COREWEBVIEW2_CHANNEL_SEARCH_KIND_LEAST_STABLE` to reverse the search order so environment creation searches for least stable build first. See `COREWEBVIEW2_RELEASE_CHANNELS` for descriptions of each channel. -
OR operation(s) can be applied to multiple to create a mask. The default value is a mask of all the channels. By default, environment creation searches for channels from most to least stable, using the first channel found on the device. When is provided, environment creation will only search for the channels specified in the set. Set to to reverse the search order so that the loader searches for the least stable build first. See for descriptions of each channel. Environment creation fails if it is unable to find any channel from the installed on the device. +
`CreateCoreWebView2EnvironmentWithOptions` fails with `HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND)` if environment creation is unable to find any channel from the `ReleaseChannels` installed on the device. Use `GetAvailableCoreWebView2BrowserVersionStringWithOptions` on `ICoreWebView2Environment` to verify which channel is used when this option is set. -
Use to verify which channel is used. If both a and are provided, the takes precedence. The can be overridden by the corresponding registry override or the environment variable . Set the value to a comma-separated string of integers, which map to the values: Stable (0), Beta (1), Dev (2), and Canary (3). - -
For example, the values "0,2" and "2,0" indicate that the loader should only search for Dev channel and the WebView2 Runtime, using the order indicated by . Environment creation attempts to interpret each integer and treats any invalid entry as Stable channel. - -
+Examples:
| ReleaseChannels | Channel Search Kind: Most Stable (default) | Channel Search Kind: Least Stable | | --- | --- | --- | -|CoreWebView2ReleaseChannels.Beta \| CoreWebView2ReleaseChannels.Stable| WebView2 Runtime -> Beta | Beta -> WebView2 Runtime| -|CoreWebView2ReleaseChannels.Canary \| CoreWebView2ReleaseChannels.Dev \| CoreWebView2ReleaseChannels.Beta \| CoreWebView2ReleaseChannels.Stable | WebView2 Runtime -> Beta -> Dev -> Canary | Canary -> Dev -> Beta -> WebView2 Runtime | -|CoreWebView2ReleaseChannels.Canary| Canary | Canary | -|CoreWebView2ReleaseChannels.Beta \| CoreWebView2ReleaseChannels.Canary \| CoreWebView2ReleaseChannels.Stable | WebView2 Runtime -> Beta -> Canary | Canary -> Beta -> WebView2 Runtime |+|COREWEBVIEW2_RELEASE_CHANNELS_BETA \| COREWEBVIEW2_RELEASE_CHANNELS_STABLE| WebView2 Runtime -> Beta | Beta -> WebView2 Runtime| +|COREWEBVIEW2_RELEASE_CHANNELS_CANARY \| COREWEBVIEW2_RELEASE_CHANNELS_DEV \| COREWEBVIEW2_RELEASE_CHANNELS_BETA \| COREWEBVIEW2_RELEASE_CHANNELS_STABLE| WebView2 Runtime -> Beta -> Dev -> Canary | Canary -> Dev -> Beta -> WebView2 Runtime | +|COREWEBVIEW2_RELEASE_CHANNELS_CANARY| Canary | Canary | +|COREWEBVIEW2_RELEASE_CHANNELS_BETA \| COREWEBVIEW2_RELEASE_CHANNELS_CANARY \| COREWEBVIEW2_RELEASE_CHANNELS_STABLE | WebView2 Runtime -> Beta -> Canary | Canary -> Beta -> WebView2 Runtime | + +
-
+
If both `BrowserExecutableFolder` and `ReleaseChannels` are provided, the `BrowserExecutableFolder` takes precedence, regardless of whether or not the channel of `BrowserExecutableFolder` is included in the `ReleaseChannels`. + +
`ReleaseChannels` can be overridden by the corresponding registry override `ReleaseChannels` or the environment variable `WEBVIEW2_RELEASE_CHANNELS`. + +
Set the value to a comma-separated string of integers, which map to the following release channel values: Stable (0), Beta (1), Dev (2), and Canary (3). For example, the values "0,2" and "2,0" indicate that environment creation should only search for Dev channel and the WebView2 Runtime, using the order indicated by `ChannelSearchKind`. Environment creation attempts to interpret each integer and treats any invalid entry as Stable channel. See `CreateCoreWebView2EnvironmentWithOptions` for more details on overrides. + +
@@ -2181,7 +2185,7 @@
The default value is `COREWEBVIEW2_SCROLLBAR_STYLE_DEFAULT` which specifies the default browser ScrollBar style. -
The `color-scheme` CSS property needs to be set on the corresponding page to allow ScrollBar to follow light or dark theme. Please see [color-scheme](https://developer.mozilla.org/en-US/docs/Web/CSS/color-scheme#declaring_color_scheme_preferences) for how `color-scheme` can be set. +
The `color-scheme` CSS property needs to be set on the corresponding page to allow ScrollBar to follow light or dark theme. Please see [color-scheme](https://developer.mozilla.org/docs/Web/CSS/color-scheme#declaring_color_scheme_preferences) for how `color-scheme` can be set.
CSS styles that modify the ScrollBar applied on top of native ScrollBar styling that is selected with `ScrollBarStyle`. diff --git a/docs/html/uWVTypeLibrary.ICoreWebView2.html b/docs/html/uWVTypeLibrary.ICoreWebView2.html index e7dcbe9..3f896f4 100644 --- a/docs/html/uWVTypeLibrary.ICoreWebView2.html +++ b/docs/html/uWVTypeLibrary.ICoreWebView2.html @@ -840,7 +840,7 @@
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. +
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.
Host object proxies additionally have the following methods which run locally. @@ -982,7 +982,7 @@
- Add an event handler for the `WindowCloseRequested` event. `WindowCloseRequested` triggers when content inside the WebView requested to close the window, such as after `window.close` is run. The app should close the WebView and related app window if that makes sense to the app. + Add an event handler for the `WindowCloseRequested` event. `WindowCloseRequested` triggers when content inside the WebView requested to close the window, such as after `window.close` is run. The app should close the WebView and related app window if that makes sense to the app. After the first window.close() call, this event may not fire for any immediate back to back window.close() calls.
\snippet AppWindow.cpp WindowCloseRequested
- This is the browser extension's ID. This is the same browser extension ID returned by the browser extension API [`chrome.runtime.id`](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/runtime/id). Please see that documentation for more details on how the ID is generated. After an extension is removed, calling `Id` will return the id of the extension that is removed. The caller must free the returned string with `CoTaskMemFree`. See [API Conventions](/microsoft-edge/webview2/concepts/win32-api-conventions#strings).
+ This is the browser extension's ID. This is the same browser extension ID returned by the browser extension API [`chrome.runtime.id`](https://developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions/API/runtime/id). Please see that documentation for more details on how the ID is generated. After an extension is removed, calling `Id` will return the id of the extension that is removed. The caller must free the returned string with `CoTaskMemFree`. See [API Conventions](/microsoft-edge/webview2/concepts/win32-api-conventions#strings).- This is the browser extension's name. This value is defined in this browser extension's manifest.json file. If manifest.json define extension's localized name, this value will be the localized version of the name. Please see [Manifest.json name](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/name) for more details. After an extension is removed, calling `Name` will return the name of the extension that is removed. The caller must free the returned string with `CoTaskMemFree`. See [API Conventions](/microsoft-edge/webview2/concepts/win32-api-conventions#strings).
+ This is the browser extension's name. This value is defined in this browser extension's manifest.json file. If manifest.json define extension's localized name, this value will be the localized version of the name. Please see [Manifest.json name](https://developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions/manifest.json/name) for more details. After an extension is removed, calling `Name` will return the name of the extension that is removed. The caller must free the returned string with `CoTaskMemFree`. See [API Conventions](/microsoft-edge/webview2/concepts/win32-api-conventions#strings).- The ScrollBar style being set on the WebView2 Environment. The default value is `COREWEBVIEW2_SCROLLBAR_STYLE_DEFAULT` which specifies the default browser ScrollBar style. The `color-scheme` CSS property needs to be set on the corresponding page to allow ScrollBar to follow light or dark theme. Please see [color-scheme](https://developer.mozilla.org/en-US/docs/Web/CSS/color-scheme#declaring_color_scheme_preferences) for how `color-scheme` can be set. CSS styles that modify the ScrollBar applied on top of native ScrollBar styling that is selected with `ScrollBarStyle`.
+ The ScrollBar style being set on the WebView2 Environment. The default value is `COREWEBVIEW2_SCROLLBAR_STYLE_DEFAULT` which specifies the default browser ScrollBar style. The `color-scheme` CSS property needs to be set on the corresponding page to allow ScrollBar to follow light or dark theme. Please see [color-scheme](https://developer.mozilla.org/docs/Web/CSS/color-scheme#declaring_color_scheme_preferences) for how `color-scheme` can be set. CSS styles that modify the ScrollBar applied on top of native ScrollBar styling that is selected with `ScrollBarStyle`.type ICoreWebView2File = interface(IUnknown)
- Representation of a DOM [File](https://developer.mozilla.org/en-US/docs/Web/API/File) object passed via WebMessage. You can use this object to obtain the path of a File dropped on WebView2.
+ 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.diff --git a/docs/html/uWVTypeLibrary.ICoreWebView2LaunchingExternalUriSchemeEventArgs.html b/docs/html/uWVTypeLibrary.ICoreWebView2LaunchingExternalUriSchemeEventArgs.html index bc020d5..5168fc4 100644 --- a/docs/html/uWVTypeLibrary.ICoreWebView2LaunchingExternalUriSchemeEventArgs.html +++ b/docs/html/uWVTypeLibrary.ICoreWebView2LaunchingExternalUriSchemeEventArgs.html @@ -80,7 +80,7 @@
-
The origin initiating the external URI scheme launch. The origin will be an empty string if the request is initiated by calling `CoreWebView2.Navigate` on the external URI scheme. If a script initiates the navigation, the `InitiatingOrigin` will be the top-level document's `Source`, for example, if `window.location` is set to `"calculator://", the `InitiatingOrigin` will be set to `calculator://`. If the request is initiated from a child frame, the `InitiatingOrigin` will be the source of that child frame. +
The origin initiating the external URI scheme launch. The origin will be an empty string if the request is initiated by calling `CoreWebView2.Navigate` on the external URI scheme. If a script initiates the navigation, the `InitiatingOrigin` will be the top-level document's `Source`, for example, if `window.location` is set to `"calculator://"`, the `InitiatingOrigin` will be set to `calculator://`. If the request is initiated from a child frame, the `InitiatingOrigin` will be the source of that child frame.
If the `InitiatingOrigin` is [opaque](https://html.spec.whatwg.org/multipage/origin.html#concept-origin-opaque), the `InitiatingOrigin` reported in the event args will be its precursor origin. The precursor origin is the origin that created the opaque origin. For example, if a frame on example.com opens a subframe with a different opaque origin, the subframe's precursor origin is example.com. diff --git a/docs/html/uWVTypeLibrary.ICoreWebView2NewWindowRequestedEventArgs.html b/docs/html/uWVTypeLibrary.ICoreWebView2NewWindowRequestedEventArgs.html index 2c4d3ba..4d74b46 100644 --- a/docs/html/uWVTypeLibrary.ICoreWebView2NewWindowRequestedEventArgs.html +++ b/docs/html/uWVTypeLibrary.ICoreWebView2NewWindowRequestedEventArgs.html @@ -88,7 +88,7 @@
- Sets a CoreWebView2 as a result of the NewWindowRequested event. Provides a WebView as the target for a `window.open()` from inside the requesting WebView. If this is set, the top-level window of this WebView is returned as the opened [WindowProxy](https://developer.mozilla.org/en-US/docs/glossary/windowproxy) to the opener script. If this is not set, then `Handled` is checked to determine behavior for NewWindowRequested event. CoreWebView2 provided in the `NewWindow` property must be on the same Environment as the opener WebView and should not have been navigated previously. Don't use methods that cause navigation or interact with the DOM on this CoreWebView2 until the target content has loaded. Setting event handlers, changing Settings properties, or other methods are fine to call. Changes to settings should be made before `put_NewWindow` is called to ensure that those settings take effect for the newly setup WebView. Once the NewWindow is set the underlying web contents of this CoreWebView2 will be replaced and navigated as appropriate for the new window. After setting new window it cannot be changed and error will be return otherwise. + Sets a CoreWebView2 as a result of the NewWindowRequested event. Provides a WebView as the target for a `window.open()` from inside the requesting WebView. If this is set, the top-level window of this WebView is returned as the opened [WindowProxy](https://developer.mozilla.org/docs/glossary/windowproxy) to the opener script. If this is not set, then `Handled` is checked to determine behavior for NewWindowRequested event. CoreWebView2 provided in the `NewWindow` property must be on the same Environment as the opener WebView and should not have been navigated previously. Don't use methods that cause navigation or interact with the DOM on this CoreWebView2 until the target content has loaded. Setting event handlers, changing Settings properties, or other methods are fine to call. Changes to settings should be made before `put_NewWindow` is called to ensure that those settings take effect for the newly setup WebView. Once the NewWindow is set the underlying web contents of this CoreWebView2 will be replaced and navigated as appropriate for the new window. After setting new window it cannot be changed and error will be return otherwise.
The methods which should affect the new web contents like AddScriptToExecuteOnDocumentCreated has to be called and completed before setting NewWindow. Other methods which should affect the new web contents like add_WebResourceRequested have to be called after setting NewWindow. It is best not to use RemoveScriptToExecuteOnDocumentCreated before setting NewWindow, otherwise it may not work for later added scripts. diff --git a/docs/html/uWVTypeLibrary.ICoreWebView2Profile4.html b/docs/html/uWVTypeLibrary.ICoreWebView2Profile4.html index a9aa0c2..4600fd1 100644 --- a/docs/html/uWVTypeLibrary.ICoreWebView2Profile4.html +++ b/docs/html/uWVTypeLibrary.ICoreWebView2Profile4.html @@ -50,7 +50,7 @@
- Sets permission state for the given permission kind and origin asynchronously. The change persists across sessions until it is changed by another call to `SetPermissionState`, or by setting the `State` property in `PermissionRequestedEventArgs`. Setting the state to `COREWEBVIEW2_PERMISSION_STATE_DEFAULT` will erase any state saved in the profile and restore the default behavior. The origin should have a valid scheme and host (e.g. "https://www.example.com"), otherwise the method fails with `E_INVALIDARG`. Additional URI parts like path and fragment are ignored. For example, "https://wwww.example.com/app1/index.html/" is treated the same as "https://wwww.example.com". See the [MDN origin definition](https://developer.mozilla.org/en-US/docs/Glossary/Origin) for more details. + Sets permission state for the given permission kind and origin asynchronously. The change persists across sessions until it is changed by another call to `SetPermissionState`, or by setting the `State` property in `PermissionRequestedEventArgs`. Setting the state to `COREWEBVIEW2_PERMISSION_STATE_DEFAULT` will erase any state saved in the profile and restore the default behavior. The origin should have a valid scheme and host (e.g. "https://www.example.com"), otherwise the method fails with `E_INVALIDARG`. Additional URI parts like path and fragment are ignored. For example, "https://wwww.example.com/app1/index.html/" is treated the same as "https://wwww.example.com". See the [MDN origin definition](https://developer.mozilla.org/docs/Glossary/Origin) for more details.
\snippet ScenarioPermissionManagement.cpp SetPermissionState
- Adds the [browser extension](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions) using the extension path for unpacked extensions from the local device. Extension is running right after installation. The extension folder path is the topmost folder of an unpacked browser extension and contains the browser extension manifest file. If the `extensionFolderPath` is an invalid path or doesn't contain the extension manifest.json file, this function will return `ERROR_FILE_NOT_FOUND` to callers. Installed extension will default `IsEnabled` to true. When `AreBrowserExtensionsEnabled` is `FALSE`, `AddBrowserExtension` will fail and return HRESULT `ERROR_NOT_SUPPORTED`. During installation, the content of the extension is not copied to the user data folder. Once the extension is installed, changing the content of the extension will cause the extension to be removed from the installed profile. When an extension is added the extension is persisted in the corresponding profile. The extension will still be installed the next time you use this profile. When an extension is installed from a folder path, adding the same extension from the same folder path means reinstalling this extension. When two extensions with the same Id are installed, only the later installed extension will be kept. + Adds the [browser extension](https://developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions) using the extension path for unpacked extensions from the local device. Extension is running right after installation. The extension folder path is the topmost folder of an unpacked browser extension and contains the browser extension manifest file. If the `extensionFolderPath` is an invalid path or doesn't contain the extension manifest.json file, this function will return `ERROR_FILE_NOT_FOUND` to callers. Installed extension will default `IsEnabled` to true. When `AreBrowserExtensionsEnabled` is `FALSE`, `AddBrowserExtension` will fail and return HRESULT `ERROR_NOT_SUPPORTED`. During installation, the content of the extension is not copied to the user data folder. Once the extension is installed, changing the content of the extension will cause the extension to be removed from the installed profile. When an extension is added the extension is persisted in the corresponding profile. The extension will still be installed the next time you use this profile. When an extension is installed from a folder path, adding the same extension from the same folder path means reinstalling this extension. When two extensions with the same Id are installed, only the later installed extension will be kept.
Extensions that are designed to include any UI interactions (e.g. icon, badge, pop up, etc.) can be loaded and used but will have missing UI entry points due to the lack of browser UI elements to host these entry points in WebView2. diff --git a/docs/html/uWVTypeLibrary.ICoreWebView2Settings2.html b/docs/html/uWVTypeLibrary.ICoreWebView2Settings2.html index ebfb843..7206ca3 100644 --- a/docs/html/uWVTypeLibrary.ICoreWebView2Settings2.html +++ b/docs/html/uWVTypeLibrary.ICoreWebView2Settings2.html @@ -67,7 +67,7 @@
- Sets the `UserAgent` property. This property may be overridden if the User-Agent header is set in a request. If the parameter is empty the User Agent will not be updated and the current User Agent will remain. Setting this property may clear User Agent Client Hints headers Sec-CH-UA-* and script values from navigator.userAgentData. Current implementation behavior is subject to change. Returns `HRESULT_FROM_WIN32(ERROR_INVALID_STATE)` if the owning WebView is closed.
+ Sets the `UserAgent` property. This property may be overridden if the User-Agent header is set in a request. If the parameter is empty the User Agent will not be updated and the current User Agent will remain. Setting this property may clear User Agent Client Hints headers Sec-CH-UA-* and script values from navigator.userAgentData. Current implementation behavior is subject to change. The User Agent set will also be effective on service workers and shared workers associated with the WebView. If there are multiple WebViews associated with the same service worker or shared worker, the last User Agent set will be used. Returns `HRESULT_FROM_WIN32(ERROR_INVALID_STATE)` if the owning WebView is closed.- HTTP response content as stream. Stream must have all the content data available by the time the `WebResourceRequested` event deferral of this response is completed. Stream should be agile or be created from a background thread to prevent performance impact to the UI thread. `Null` means no content data. `IStream` semantics apply (return `S_OK` to `Read` runs until all data is exhausted). When providing the response data, you should consider relevant HTTP request headers just like an HTTP server would do. For example, if the request was for a video resource in a HTML video element, the request may contain the [Range](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Range) header to request only a part of the video that is streaming. In this case, your response stream should be only the portion of the video specified by the range HTTP request headers and you should set the appropriate [Content-Range](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Range) header in the response.
+ HTTP response content as stream. Stream must have all the content data available by the time the `WebResourceRequested` event deferral of this response is completed. Stream should be agile or be created from a background thread to prevent performance impact to the UI thread. `Null` means no content data. `IStream` semantics apply (return `S_OK` to `Read` runs until all data is exhausted). When providing the response data, you should consider relevant HTTP request headers just like an HTTP server would do. For example, if the request was for a video resource in a HTML video element, the request may contain the [Range](https://developer.mozilla.org/docs/Web/HTTP/Headers/Range) header to request only a part of the video that is streaming. In this case, your response stream should be only the portion of the video specified by the range HTTP request headers and you should set the appropriate [Content-Range](https://developer.mozilla.org/docs/Web/HTTP/Headers/Content-Range) header in the response.- Add an event handler for the BasicAuthenticationRequested event. BasicAuthenticationRequested event is raised when WebView encounters a Basic HTTP Authentication request as described in https://developer.mozilla.org/docs/Web/HTTP/Authentication, a Digest HTTP Authentication request as described in https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Authorization#digest, an NTLM authentication or a Proxy Authentication request. + Add an event handler for the BasicAuthenticationRequested event. BasicAuthenticationRequested event is raised when WebView encounters a Basic HTTP Authentication request as described in https://developer.mozilla.org/docs/Web/HTTP/Authentication, a Digest HTTP Authentication request as described in https://developer.mozilla.org/docs/Web/HTTP/Headers/Authorization#digest, an NTLM authentication or a Proxy Authentication request.
The host can provide a response with credentials for the authentication or cancel the request. If the host sets the Cancel property to false but does not provide either UserName or Password properties on the Response property, then WebView2 will show the default authentication challenge dialog prompt to the user. diff --git a/docs/html/uWVTypeLibrary.html b/docs/html/uWVTypeLibrary.html index 6585289..2d6a208 100644 --- a/docs/html/uWVTypeLibrary.html +++ b/docs/html/uWVTypeLibrary.html @@ -961,7 +961,7 @@
ICoreWebView2File
ICoreWebView2ObjectCollectionView
- Indicates permission to read and write to files or folders on the device. Permission is requested when developers use the [File System Access API](https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API) to show the file or folder picker to the end user, and then request "readwrite" permission for the user's selection.
+ Indicates permission to read and write to files or folders on the device. Permission is requested when developers use the [File System Access API](https://developer.mozilla.org/docs/Web/API/File_System_Access_API) to show the file or folder picker to the end user, and then request "readwrite" permission for the user's selection.@@ -5423,7 +5423,7 @@
- Indicates permission to play audio and video automatically on sites. This permission affects the autoplay attribute and play method of the audio and video HTML elements, and the start method of the Web Audio API. See the [Autoplay guide for media and Web Audio APIs](https://developer.mozilla.org/en-US/docs/Web/Media/Autoplay_guide) for details.
+ Indicates permission to play audio and video automatically on sites. This permission affects the autoplay attribute and play method of the audio and video HTML elements, and the start method of the Web Audio API. See the [Autoplay guide for media and Web Audio APIs](https://developer.mozilla.org/docs/Web/Media/Autoplay_guide) for details.@@ -5449,7 +5449,7 @@
- Indicates permission to send and receive system exclusive messages to/from MIDI (Musical Instrument Digital Interface) devices. Permission is requested when developers use the [Web MIDI API](https://developer.mozilla.org/en-US/docs/Web/API/Web_MIDI_API) to request access to system exclusive MIDI messages.
+ Indicates permission to send and receive system exclusive messages to/from MIDI (Musical Instrument Digital Interface) devices. Permission is requested when developers use the [Web MIDI API](https://developer.mozilla.org/docs/Web/API/Web_MIDI_API) to request access to system exclusive MIDI messages.@@ -7521,7 +7521,7 @@
Window style fluent overlay scroll bar. -
Please see [Fluent UI](https:/-/developer.microsoft.com/en-us/fluentui#/) for more details on fluent UI. +
Please see [Fluent UI](https://developer.microsoft.com/fluentui#/) for more details on fluent UI.
diff --git a/packages/WebView4Delphi.pds b/packages/WebView4Delphi.pds
index 640d5c1..4e59daa 100644
--- a/packages/WebView4Delphi.pds
+++ b/packages/WebView4Delphi.pds
@@ -67,7 +67,7 @@ Count=1
Item_0=..\source
[Files]
-Count=65
+Count=66
Item_0=..\source\uWVBrowser.pas
Item_1=..\source\uWVBrowserBase.pas
Item_2=..\source\uWVConstants.pas
@@ -113,26 +113,27 @@ Item_41=..\source\uWVCoreWebView2ProcessExtendedInfoCollection.pas
Item_42=..\source\uWVCoreWebView2ProcessInfo.pas
Item_43=..\source\uWVCoreWebView2ProcessInfoCollection.pas
Item_44=..\source\uWVCoreWebView2Profile.pas
-Item_45=..\source\uWVCoreWebView2ScriptException.pas
-Item_46=..\source\uWVCoreWebView2Settings.pas
-Item_47=..\source\uWVCoreWebView2SharedBuffer.pas
-Item_48=..\source\uWVCoreWebView2StringCollection.pas
-Item_49=..\source\uWVCoreWebView2WebResourceRequest.pas
-Item_50=..\source\uWVCoreWebView2WebResourceResponse.pas
-Item_51=..\source\uWVCoreWebView2WebResourceResponseView.pas
-Item_52=..\source\uWVCoreWebView2WindowFeatures.pas
-Item_53=..\source\uWVEvents.pas
-Item_54=..\source\uWVFMXBrowser.pas
-Item_55=..\source\uWVFMXWindowParent.pas
-Item_56=..\source\uWVInterfaces.pas
-Item_57=..\source\uWVLibFunctions.pas
-Item_58=..\source\uWVLoader.pas
-Item_59=..\source\uWVLoaderInternal.pas
-Item_60=..\source\uWVMiscFunctions.pas
-Item_61=..\source\uWVTypeLibrary.pas
-Item_62=..\source\uWVTypes.pas
-Item_63=..\source\uWVWinControl.pas
-Item_64=..\source\uWVWindowParent.pas
+Item_45=..\source\uWVCoreWebView2RegionRectCollectionView.pas
+Item_46=..\source\uWVCoreWebView2ScriptException.pas
+Item_47=..\source\uWVCoreWebView2Settings.pas
+Item_48=..\source\uWVCoreWebView2SharedBuffer.pas
+Item_49=..\source\uWVCoreWebView2StringCollection.pas
+Item_50=..\source\uWVCoreWebView2WebResourceRequest.pas
+Item_51=..\source\uWVCoreWebView2WebResourceResponse.pas
+Item_52=..\source\uWVCoreWebView2WebResourceResponseView.pas
+Item_53=..\source\uWVCoreWebView2WindowFeatures.pas
+Item_54=..\source\uWVEvents.pas
+Item_55=..\source\uWVFMXBrowser.pas
+Item_56=..\source\uWVFMXWindowParent.pas
+Item_57=..\source\uWVInterfaces.pas
+Item_58=..\source\uWVLibFunctions.pas
+Item_59=..\source\uWVLoader.pas
+Item_60=..\source\uWVLoaderInternal.pas
+Item_61=..\source\uWVMiscFunctions.pas
+Item_62=..\source\uWVTypeLibrary.pas
+Item_63=..\source\uWVTypes.pas
+Item_64=..\source\uWVWinControl.pas
+Item_65=..\source\uWVWindowParent.pas
[AdditionalFiles]
Count=0
diff --git a/packages/webview4delphi.lpk b/packages/webview4delphi.lpk
index 44932d1..c42b061 100644
--- a/packages/webview4delphi.lpk
+++ b/packages/webview4delphi.lpk
@@ -16,7 +16,7 @@
/// | ReleaseChannels | Channel Search Kind: Most Stable (default) | Channel Search Kind: Least Stable |
/// | --- | --- | --- |
- /// |CoreWebView2ReleaseChannels.Beta \| CoreWebView2ReleaseChannels.Stable| WebView2 Runtime -> Beta | Beta -> WebView2 Runtime|
- /// |CoreWebView2ReleaseChannels.Canary \| CoreWebView2ReleaseChannels.Dev \| CoreWebView2ReleaseChannels.Beta \| CoreWebView2ReleaseChannels.Stable | WebView2 Runtime -> Beta -> Dev -> Canary | Canary -> Dev -> Beta -> WebView2 Runtime |
- /// |CoreWebView2ReleaseChannels.Canary| Canary | Canary |
- /// |CoreWebView2ReleaseChannels.Beta \| CoreWebView2ReleaseChannels.Canary \| CoreWebView2ReleaseChannels.Stable | WebView2 Runtime -> Beta -> Canary | Canary -> Beta -> WebView2 Runtime |
+ /// |COREWEBVIEW2_RELEASE_CHANNELS_BETA \| COREWEBVIEW2_RELEASE_CHANNELS_STABLE| WebView2 Runtime -> Beta | Beta -> WebView2 Runtime|
+ /// |COREWEBVIEW2_RELEASE_CHANNELS_CANARY \| COREWEBVIEW2_RELEASE_CHANNELS_DEV \| COREWEBVIEW2_RELEASE_CHANNELS_BETA \| COREWEBVIEW2_RELEASE_CHANNELS_STABLE| WebView2 Runtime -> Beta -> Dev -> Canary | Canary -> Dev -> Beta -> WebView2 Runtime |
+ /// |COREWEBVIEW2_RELEASE_CHANNELS_CANARY| Canary | Canary |
+ /// |COREWEBVIEW2_RELEASE_CHANNELS_BETA \| COREWEBVIEW2_RELEASE_CHANNELS_CANARY \| COREWEBVIEW2_RELEASE_CHANNELS_STABLE | WebView2 Runtime -> Beta -> Canary | Canary -> Beta -> WebView2 Runtime |
///
+ ///
/// | ReleaseChannels | Channel Search Kind: Most Stable (default) | Channel Search Kind: Least Stable |
/// | --- | --- | --- |
- /// |CoreWebView2ReleaseChannels.Beta \| CoreWebView2ReleaseChannels.Stable| WebView2 Runtime -> Beta | Beta -> WebView2 Runtime|
- /// |CoreWebView2ReleaseChannels.Canary \| CoreWebView2ReleaseChannels.Dev \| CoreWebView2ReleaseChannels.Beta \| CoreWebView2ReleaseChannels.Stable | WebView2 Runtime -> Beta -> Dev -> Canary | Canary -> Dev -> Beta -> WebView2 Runtime |
- /// |CoreWebView2ReleaseChannels.Canary| Canary | Canary |
- /// |CoreWebView2ReleaseChannels.Beta \| CoreWebView2ReleaseChannels.Canary \| CoreWebView2ReleaseChannels.Stable | WebView2 Runtime -> Beta -> Canary | Canary -> Beta -> WebView2 Runtime |
+ /// |COREWEBVIEW2_RELEASE_CHANNELS_BETA \| COREWEBVIEW2_RELEASE_CHANNELS_STABLE| WebView2 Runtime -> Beta | Beta -> WebView2 Runtime|
+ /// |COREWEBVIEW2_RELEASE_CHANNELS_CANARY \| COREWEBVIEW2_RELEASE_CHANNELS_DEV \| COREWEBVIEW2_RELEASE_CHANNELS_BETA \| COREWEBVIEW2_RELEASE_CHANNELS_STABLE| WebView2 Runtime -> Beta -> Dev -> Canary | Canary -> Dev -> Beta -> WebView2 Runtime |
+ /// |COREWEBVIEW2_RELEASE_CHANNELS_CANARY| Canary | Canary |
+ /// |COREWEBVIEW2_RELEASE_CHANNELS_BETA \| COREWEBVIEW2_RELEASE_CHANNELS_CANARY \| COREWEBVIEW2_RELEASE_CHANNELS_STABLE | WebView2 Runtime -> Beta -> Canary | Canary -> Beta -> WebView2 Runtime |
///
+ ///
/// | ReleaseChannels | Channel Search Kind: Most Stable (default) | Channel Search Kind: Least Stable |
/// | --- | --- | --- |
- /// |CoreWebView2ReleaseChannels.Beta \| CoreWebView2ReleaseChannels.Stable| WebView2 Runtime -> Beta | Beta -> WebView2 Runtime|
- /// |CoreWebView2ReleaseChannels.Canary \| CoreWebView2ReleaseChannels.Dev \| CoreWebView2ReleaseChannels.Beta \| CoreWebView2ReleaseChannels.Stable | WebView2 Runtime -> Beta -> Dev -> Canary | Canary -> Dev -> Beta -> WebView2 Runtime |
- /// |CoreWebView2ReleaseChannels.Canary| Canary | Canary |
- /// |CoreWebView2ReleaseChannels.Beta \| CoreWebView2ReleaseChannels.Canary \| CoreWebView2ReleaseChannels.Stable | WebView2 Runtime -> Beta -> Canary | Canary -> Beta -> WebView2 Runtime |
+ /// |COREWEBVIEW2_RELEASE_CHANNELS_BETA \| COREWEBVIEW2_RELEASE_CHANNELS_STABLE| WebView2 Runtime -> Beta | Beta -> WebView2 Runtime|
+ /// |COREWEBVIEW2_RELEASE_CHANNELS_CANARY \| COREWEBVIEW2_RELEASE_CHANNELS_DEV \| COREWEBVIEW2_RELEASE_CHANNELS_BETA \| COREWEBVIEW2_RELEASE_CHANNELS_STABLE| WebView2 Runtime -> Beta -> Dev -> Canary | Canary -> Dev -> Beta -> WebView2 Runtime |
+ /// |COREWEBVIEW2_RELEASE_CHANNELS_CANARY| Canary | Canary |
+ /// |COREWEBVIEW2_RELEASE_CHANNELS_BETA \| COREWEBVIEW2_RELEASE_CHANNELS_CANARY \| COREWEBVIEW2_RELEASE_CHANNELS_STABLE | WebView2 Runtime -> Beta -> Canary | Canary -> Beta -> WebView2 Runtime |
///
+ ///