CoreWebView2CustomSchemeRegistration Class
Represents the registration of a custom scheme with the CoreWebView2Environment
This allows the WebView2 app to be able to handle CoreWebView2.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
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 CoreWebView2WebResourceRequested 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 and
adheres to CSP.
The app needs to set the appropriate access headers in its
CoreWebView2WebResourceRequested event handler to allow CORS requests.
Summary
Members | Description |
---|---|
HasAuthorityComponent | Set this property to true if the URIs with this custom |
TreatAsSecure | Whether the sites with this scheme will be treated as a |
Properties
HasAuthorityComponent
bool HasAuthorityComponent
Set this property to true
if the URIs with this custom
scheme will have an authority component (a host for custom schemes).
Specifically, if you have a URI of the following form you should set the
HasAuthorityComponent
value as listed.
URI | Recommended HasAuthorityComponent value |
---|---|
custom-scheme-with-authority://host/path |
true |
custom-scheme-without-authority:path |
false |
When this property is set to true
, the URIs with this scheme will be
interpreted as having a
scheme and host
origin similar to an http URI. Note that the port and user
information are never included in the computation of origins for
custom schemes.
If this property is set to false
, URIs with this scheme will have an
opaque origin
similar to a data URI.
This property is false
by default.
Note: For custom schemes registered as having authority component,
navigations to URIs without authority of such custom schemes will fail.
However, if the content inside WebView2 references
a subresource with a URI that does not have
an authority component, but of a custom scheme that is registered as
having authority component, the URI will be interpreted as a relative path
as specified in RFC3986.
For example, custom-scheme-with-authority:path will be interpreted
as custom-scheme-with-authority://host/path
However, this behavior cannot be guaranteed to remain in future
releases so it is recommended not to rely on this behavior.
TreatAsSecure
int TreatAsSecure
Whether the sites with this scheme will be treated as a
Secure Context
like an HTTPS site.
false
by default.