CoreWebView2EnvironmentOptions Class

Options used to create WebView2 Environment. Default values will use your defaulted Edge WebView2 Runtime binaries and user data folder.

Summary

Members Description
AdditionalBrowserArguments Gets or sets the additional browser arguments to change the behavior of the WebView.
AllowSingleSignOnUsingOSPrimaryAccount Determines whether to enable single sign on with Azure Active Directory (AAD) resources inside WebView using the logged in Windows account and single sign on (SSO) with web sites using Microsoft account associated with the login in Windows account.
AreBrowserExtensionsEnabled Enable/disable browser extensions.
ChannelSearchKind Set ChannelSearchKind to CoreWebView2ChannelSearchKind.LeastStable so that the WebView2 loader searches for binaries from least to most stable: Canary -> Dev -> Beta -> WebView2 Runtime.
CustomSchemeRegistrations
EnableTrackingPrevention The EnableTrackingPrevention property is used to enable/disable tracking prevention feature in WebView2. This property enable/disable tracking prevention for all the WebView2's created in the same environment. By default this feature is enabled to block potentially harmful trackers and trackers from sites that aren't visited before and set to CoreWebView2TrackingPreventionLevel.Balanced or whatever value was last changed/persisted on the profile.
ExclusiveUserDataFolderAccess Determines whether other processes can create CoreWebView2Controller from CoreWebView2Environment created with the same user data folder and therefore sharing the same WebView browser process instance.
IsCustomCrashReportingEnabled When IsCustomCrashReportingEnabled is set to true, Windows won't send crash data to Microsoft endpoint.
Language Gets or sets the default display language for WebView.
ReleaseChannels Sets the ReleaseChannels, which is a mask of one or more CoreWebView2ReleaseChannels indicating which channels environment creation should search for.
TargetCompatibleBrowserVersion Gets or sets the version of the WebView2 Runtime binaries required to be compatible with your app.
CoreWebView2EnvironmentOptions

Properties

AdditionalBrowserArguments

string AdditionalBrowserArguments

Gets or sets the additional browser arguments to change the behavior of the WebView. The arguments are passed to the browser process as part of the command. For more information about using command-line switches with Chromium browser processes, navigate to Run Chromium with Flags. The value appended to a switch is appended to the browser process, for example, in --edge-webview-switches=xxx the value is xxx. If you specify a switch that is important to WebView functionality, it is ignored, for example, --user-data-dir. Specific features are disabled internally and blocked from being enabled. If a switch is specified multiple times, only the last instance is used.

A merge of the different values of the same switch is not attempted, except for disabled and enabled features. The features specified by --enable-features and --disable-features will be merged with simple logic:

  • The features are the union of the specified features and built-in features. If a feature is disabled, it is removed from the enabled features list. If you specify command-line switches and sets this property, the --edge-webview-switches value takes precedence and is processed last. If a switch fails to parse, the switch is ignored. The default state for the operation is to run the browser process with no extra flags. Please note that calling this API twice will replace the previous value rather than appending to it. If there are multiple switches, there should be a space in between them. The one exception is if multiple features are being enabled/disabled for a single switch, in which case the features should be comma-separated. Ex. "--disable-features=feature1,feature2 --some-other-switch --do-something"

AllowSingleSignOnUsingOSPrimaryAccount

bool AllowSingleSignOnUsingOSPrimaryAccount

Determines whether to enable single sign on with Azure Active Directory (AAD) resources inside WebView using the logged in Windows account and single sign on (SSO) with web sites using Microsoft account associated with the login in Windows account. The default value is false. Universal Windows Platform apps must also declare enterpriseCloudSSO restricted capability for the single sign on (SSO) to work.

AreBrowserExtensionsEnabled

bool AreBrowserExtensionsEnabled

Enable/disable browser extensions. When AreBrowserExtensionsEnabled is set to true, new extensions can be added to user profile and used. AreBrowserExtensionsEnabled is default to be false, in this case, new extensions can't be installed, and already installed extension won't be available to use in user profile. If connecting to an already running environment with a different value for AreBrowserExtensionsEnabled property, it will fail with HRESULT_FROM_WIN32(ERROR_INVALID_STATE). See CoreWebView2BrowserExtension for Extensions API details.

ChannelSearchKind

CoreWebView2ChannelSearchKind ChannelSearchKind

Set ChannelSearchKind to CoreWebView2ChannelSearchKind.LeastStable so that the WebView2 loader searches for binaries from least to most stable: Canary -> Dev -> Beta -> WebView2 Runtime. The ChannelSearchKind property is CoreWebView2ChannelSearchKind.MostStable by default and environment creation searches for a release channel on the machine from most to least stable using the first channel found. The default search order is: WebView2 Release -> Beta -> Dev -> Canary. Set ChannelSearchKind to CoreWebView2ChannelSearchKind.LeastStable to reverse the search order so that environment creation searches for a channel from least to most stable. If a ReleaseChannels has been provided, environment creation will only search for channels in the set. See CoreWebView2ReleaseChannels for more details on channels. This property can be overridden by the corresponding registry key ChannelSearchKind or the environment variable WEBVIEW2_CHANNEL_SEARCH_KIND. Set the value to 1 to reverse the search order. See CoreWebView2Environment.CreateAsync for more details on overrides.

CustomSchemeRegistrations

IVector<CoreWebView2CustomSchemeRegistration> CustomSchemeRegistrations

EnableTrackingPrevention

bool EnableTrackingPrevention

The EnableTrackingPrevention property is used to enable/disable tracking prevention feature in WebView2. This property enable/disable tracking prevention for all the WebView2's created in the same environment. By default this feature is enabled to block potentially harmful trackers and trackers from sites that aren't visited before and set to CoreWebView2TrackingPreventionLevel.Balanced or whatever value was last changed/persisted on the profile. You can set this property to false to disable the tracking prevention feature if the app only renders content in the WebView2 that is known to be safe. Disabling this feature when creating environment also improves runtime performance by skipping related code.

You shouldn't disable this property if WebView2 is being used as a "full browser" with arbitrary navigation and should protect end user privacy.

There is CoreWebView2Profile.PreferredTrackingPreventionLevel property to control levels of tracking prevention of the WebView2's associated with a same profile. However, you can also disable tracking prevention later using CoreWebView2Profile.PreferredTrackingPreventionLevel property and CoreWebView2TrackingPreventionLevel.None value but that doesn't improves runtime performance.

See CoreWebView2Profile.PreferredTrackingPreventionLevel for more details.

Tracking prevention protects users from online tracking by restricting the ability of trackers to access browser-based storage as well as the network. See Tracking prevention.

ExclusiveUserDataFolderAccess

bool ExclusiveUserDataFolderAccess

Determines whether other processes can create CoreWebView2Controller from CoreWebView2Environment created with the same user data folder and therefore sharing the same WebView browser process instance. The default value is false.

IsCustomCrashReportingEnabled

bool IsCustomCrashReportingEnabled

When IsCustomCrashReportingEnabled is set to true, Windows won't send crash data to Microsoft endpoint. The default value is false. In this case, WebView will respect OS consent.

Language

string Language

Gets or sets the default display language for WebView. It applies to browser UIs such as context menu and dialogs. It also applies to the accept-languages HTTP header that WebView sends to websites. The intended locale value is in the format of BCP 47 Language Tags. More information can be found from IETF BCP47.

ReleaseChannels

CoreWebView2ReleaseChannels ReleaseChannels

Sets the ReleaseChannels, which is a mask of one or more CoreWebView2ReleaseChannels indicating which channels environment creation should search for. OR operation(s) can be applied to multiple CoreWebView2ReleaseChannels 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 ReleaseChannels is provided, environment creation will only search for the channels specified in the set. Set ChannelSearchKind to CoreWebView2ChannelSearchKind.MostStable to reverse the search order so that the loader searches for the least stable build first. See CoreWebView2ReleaseChannels for descriptions of each channel. Environment creation fails if it is unable to find any channel from the ReleaseChannels installed on the device. Use CoreWebView2Environment.GetAvailableBrowserVersionString to verify which channel is used. If both a BrowserExecutableFolder and ReleaseChannels are provided, the BrowserExecutableFolder takes precedence. The 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 CoreWebView2ReleaseChannels 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 CoreWebView2EnvironmentOptions.ChannelSearchKind. Environment creation attempts to interpret each integer and treats any invalid entry as Stable channel.

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

TargetCompatibleBrowserVersion

string TargetCompatibleBrowserVersion

Gets or sets the version of the WebView2 Runtime binaries required to be compatible with your app. This defaults to the WebView2 Runtime version that corresponds with the version of the SDK the app is using. The format of this value is the same as the format of the CoreWebView2Environment.BrowserVersionString property and other BrowserVersion values. Only the version part of the BrowserVersion value is respected. The channel suffix, if it exists, is ignored. The version of the WebView2 Runtime binaries actually used may be different from the specified TargetCompatibleBrowserVersion. The binaries are only guaranteed to be compatible. Verify the actual version on the CoreWebView2Environment.BrowserVersionString property.

Constructors

CoreWebView2EnvironmentOptions

CoreWebView2EnvironmentOptions()

Referenced by