Globals
Note
This reference is no longer being maintained. For the latest API reference, see WebView2 API Reference.
Summary
Members | Descriptions |
---|---|
COREWEBVIEW2_BOUNDS_MODE | Mode for how the Bounds property is interpreted in relation to the RasterizationScale property. |
COREWEBVIEW2_BROWSER_PROCESS_EXIT_KIND | Specifies the browser process exit type used in the ICoreWebView2BrowserProcessExitedEventArgs interface. |
COREWEBVIEW2_BROWSING_DATA_KINDS | Specifies the datatype for the ICoreWebView2Profile2::ClearBrowsingData method. |
COREWEBVIEW2_CAPTURE_PREVIEW_IMAGE_FORMAT | Specifies the image format for the ICoreWebView2::CapturePreview method. |
COREWEBVIEW2_CLIENT_CERTIFICATE_KIND | Specifies the client certificate kind. |
COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND | Specifies the menu item kind for the ICoreWebView2ContextMenuItem::get_Kind method. |
COREWEBVIEW2_CONTEXT_MENU_TARGET_KIND | Indicates the kind of context for which the context menu was created for the ICoreWebView2ContextMenuTarget::get_Kind method. |
COREWEBVIEW2_COOKIE_SAME_SITE_KIND | Kind of cookie SameSite status used in the ICoreWebView2Cookie interface. |
COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT | The default download dialog can be aligned to any of the WebView corners by setting the DefaultDownloadDialogCornerAlignment property. |
COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON | Reason why a download was interrupted. |
COREWEBVIEW2_DOWNLOAD_STATE | State of the download operation. |
COREWEBVIEW2_FAVICON_IMAGE_FORMAT | Specifies the image format to use for favicon. |
COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND | Kind of cross origin resource access allowed for host resources during download. |
COREWEBVIEW2_KEY_EVENT_KIND | Specifies the key event type that triggered an AcceleratorKeyPressed event. |
COREWEBVIEW2_MOUSE_EVENT_KIND | Mouse event type used by SendMouseInput to convey the type of mouse event being sent to WebView. |
COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS | Mouse event virtual keys associated with a COREWEBVIEW2_MOUSE_EVENT_KIND for SendMouseInput. |
COREWEBVIEW2_MOVE_FOCUS_REASON | Specifies the reason for moving focus. |
COREWEBVIEW2_PDF_TOOLBAR_ITEMS | Specifies the PDF toolbar item types used for the ICoreWebView2Settings::put_HiddenPdfToolbarItems method. |
COREWEBVIEW2_PERMISSION_KIND | Indicates the type of a permission request. |
COREWEBVIEW2_PERMISSION_STATE | Specifies the response to a permission request. |
COREWEBVIEW2_POINTER_EVENT_KIND | Pointer event type used by SendPointerInput to convey the type of pointer event being sent to WebView. |
COREWEBVIEW2_PREFERRED_COLOR_SCHEME | An enum to represent the options for WebView2 color scheme: auto, light, or dark. |
COREWEBVIEW2_PRINT_COLLATION | Specifies the collation for a print. |
COREWEBVIEW2_PRINT_COLOR_MODE | Specifies the color mode for a print. |
COREWEBVIEW2_PRINT_DIALOG_KIND | Specifies the print dialog kind. |
COREWEBVIEW2_PRINT_DUPLEX | Specifies the duplex option for a print. |
COREWEBVIEW2_PRINT_MEDIA_SIZE | Specifies the media size for a print. |
COREWEBVIEW2_PRINT_ORIENTATION | The orientation for printing, used by the Orientation property on ICoreWebView2PrintSettings. |
COREWEBVIEW2_PRINT_STATUS | Indicates the status for printing. |
COREWEBVIEW2_PROCESS_FAILED_KIND | Specifies the process failure type used in the ICoreWebView2ProcessFailedEventHandler interface. |
COREWEBVIEW2_PROCESS_FAILED_REASON | Specifies the process failure reason used in the ICoreWebView2ProcessFailedEventHandler interface. |
COREWEBVIEW2_PROCESS_KIND | Indicates the process type used in the ICoreWebView2ProcessInfo interface. |
COREWEBVIEW2_SCRIPT_DIALOG_KIND | Specifies the JavaScript dialog type used in the ICoreWebView2ScriptDialogOpeningEventHandler interface. |
COREWEBVIEW2_SERVER_CERTIFICATE_ERROR_ACTION | Specifies the action type when server certificate error is detected to be used in the ICoreWebView2ServerCertificateErrorDetectedEventArgs interface. |
COREWEBVIEW2_SHARED_BUFFER_ACCESS | Specifies the desired access from script to CoreWebView2SharedBuffer . |
COREWEBVIEW2_TRACKING_PREVENTION_LEVEL | Tracking prevention levels. |
COREWEBVIEW2_WEB_ERROR_STATUS | Indicates the error status values for web navigations. |
COREWEBVIEW2_WEB_RESOURCE_CONTEXT | Specifies the web resource request contexts. |
COREWEBVIEW2_COLOR | A value representing RGBA color (Red, Green, Blue, Alpha) for WebView2. |
CompareBrowserVersions | This method is for anyone want to compare version correctly to determine which version is newer, older or same. |
CreateCoreWebView2Environment | Creates an evergreen WebView2 Environment using the installed WebView2 Runtime version. |
CreateCoreWebView2EnvironmentWithOptions | DLL export to create a WebView2 environment with a custom version of WebView2 Runtime, user data folder, and with or without additional options. |
GetAvailableCoreWebView2BrowserVersionString | Get the browser version info including channel name if it is not the WebView2 Runtime. |
Members
COREWEBVIEW2_BOUNDS_MODE
Values | Descriptions |
---|---|
COREWEBVIEW2_BOUNDS_MODE_USE_RAW_PIXELS | Bounds property represents raw pixels. Physical size of Webview is not impacted by RasterizationScale. |
COREWEBVIEW2_BOUNDS_MODE_USE_RASTERIZATION_SCALE | Bounds property represents logical pixels and the RasterizationScale property is used to get the physical size of the WebView. |
Mode for how the Bounds property is interpreted in relation to the RasterizationScale property.
COREWEBVIEW2_BROWSER_PROCESS_EXIT_KIND
Values | Descriptions |
---|---|
COREWEBVIEW2_BROWSER_PROCESS_EXIT_KIND_NORMAL | Indicates that the browser process ended normally. |
COREWEBVIEW2_BROWSER_PROCESS_EXIT_KIND_FAILED | Indicates that the browser process ended unexpectedly. |
Specifies the browser process exit type used in the ICoreWebView2BrowserProcessExitedEventArgs interface.
COREWEBVIEW2_BROWSING_DATA_KINDS
Values | Descriptions |
---|---|
COREWEBVIEW2_BROWSING_DATA_KINDS_FILE_SYSTEMS | Specifies file systems data. |
COREWEBVIEW2_BROWSING_DATA_KINDS_INDEXED_DB | Specifies data stored by the IndexedDB DOM feature. |
COREWEBVIEW2_BROWSING_DATA_KINDS_LOCAL_STORAGE | Specifies data stored by the localStorage DOM API. |
COREWEBVIEW2_BROWSING_DATA_KINDS_WEB_SQL | Specifies data stored by the Web SQL database DOM API. |
COREWEBVIEW2_BROWSING_DATA_KINDS_CACHE_STORAGE | Specifies data stored by the CacheStorage DOM API. |
COREWEBVIEW2_BROWSING_DATA_KINDS_ALL_DOM_STORAGE | Specifies DOM storage data, now and future. |
COREWEBVIEW2_BROWSING_DATA_KINDS_COOKIES | Specifies HTTP cookies data. |
COREWEBVIEW2_BROWSING_DATA_KINDS_ALL_SITE | Specifies all site data, now and future. |
COREWEBVIEW2_BROWSING_DATA_KINDS_DISK_CACHE | Specifies disk cache. |
COREWEBVIEW2_BROWSING_DATA_KINDS_DOWNLOAD_HISTORY | Specifies download history data. |
COREWEBVIEW2_BROWSING_DATA_KINDS_GENERAL_AUTOFILL | Specifies general autofill form data. |
COREWEBVIEW2_BROWSING_DATA_KINDS_PASSWORD_AUTOSAVE | Specifies password autosave data. |
COREWEBVIEW2_BROWSING_DATA_KINDS_BROWSING_HISTORY | Specifies browsing history data. |
COREWEBVIEW2_BROWSING_DATA_KINDS_SETTINGS | Specifies settings data. |
COREWEBVIEW2_BROWSING_DATA_KINDS_ALL_PROFILE | Specifies profile data that should be wiped to make it look like a new profile. |
Specifies the datatype for the ICoreWebView2Profile2::ClearBrowsingData method.
COREWEBVIEW2_CAPTURE_PREVIEW_IMAGE_FORMAT
Values | Descriptions |
---|---|
COREWEBVIEW2_CAPTURE_PREVIEW_IMAGE_FORMAT_PNG | Indicates that the PNG image format is used. |
COREWEBVIEW2_CAPTURE_PREVIEW_IMAGE_FORMAT_JPEG | Indicates the JPEG image format is used. |
Specifies the image format for the ICoreWebView2::CapturePreview method.
COREWEBVIEW2_CLIENT_CERTIFICATE_KIND
Values | Descriptions |
---|---|
COREWEBVIEW2_CLIENT_CERTIFICATE_KIND_SMART_CARD | Specifies smart card certificate. |
COREWEBVIEW2_CLIENT_CERTIFICATE_KIND_PIN | Specifies PIN certificate. |
COREWEBVIEW2_CLIENT_CERTIFICATE_KIND_OTHER | Specifies other certificate. |
Specifies the client certificate kind.
COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND
Values | Descriptions |
---|---|
COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND_COMMAND | Specifies a command menu item kind. |
COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND_CHECK_BOX | Specifies a check box menu item kind. |
COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND_RADIO | Specifies a radio button menu item kind. |
COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND_SEPARATOR | Specifies a separator menu item kind. |
COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND_SUBMENU | Specifies a submenu menu item kind. |
Specifies the menu item kind for the ICoreWebView2ContextMenuItem::get_Kind method.
COREWEBVIEW2_CONTEXT_MENU_TARGET_KIND
Values | Descriptions |
---|---|
COREWEBVIEW2_CONTEXT_MENU_TARGET_KIND_PAGE | Indicates that the context menu was created for the page without any additional content. |
COREWEBVIEW2_CONTEXT_MENU_TARGET_KIND_IMAGE | Indicates that the context menu was created for an image element. |
COREWEBVIEW2_CONTEXT_MENU_TARGET_KIND_SELECTED_TEXT | Indicates that the context menu was created for selected text. |
COREWEBVIEW2_CONTEXT_MENU_TARGET_KIND_AUDIO | Indicates that the context menu was created for an audio element. |
COREWEBVIEW2_CONTEXT_MENU_TARGET_KIND_VIDEO | Indicates that the context menu was created for a video element. |
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.
COREWEBVIEW2_COOKIE_SAME_SITE_KIND
Values | Descriptions |
---|---|
COREWEBVIEW2_COOKIE_SAME_SITE_KIND_NONE | None SameSite type. No restrictions on cross-site requests. |
COREWEBVIEW2_COOKIE_SAME_SITE_KIND_LAX | Lax SameSite type. The cookie will be sent with "same-site" requests, and with "cross-site" top level navigation. |
COREWEBVIEW2_COOKIE_SAME_SITE_KIND_STRICT | Strict SameSite type. The cookie will only be sent along with "same-site" requests. |
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
COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT
Values | Descriptions |
---|---|
COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT_TOP_LEFT | Top-left corner of the WebView. |
COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT_TOP_RIGHT | Top-right corner of the WebView. |
COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT_BOTTOM_LEFT | Bottom-left corner of the WebView. |
COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT_BOTTOM_RIGHT | Bottom-right corner of the WebView. |
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.
COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON
Values | Descriptions |
---|---|
COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_NONE | |
COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_FILE_FAILED | Generic file error. |
COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_FILE_ACCESS_DENIED | Access denied due to security restrictions. |
COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_FILE_NO_SPACE | Disk full. |
COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_FILE_NAME_TOO_LONG | Result file path with file name is too long. |
COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_FILE_TOO_LARGE | File is too large for file system. |
COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_FILE_MALICIOUS | Microsoft Defender Smartscreen detected a virus in the file. |
COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_FILE_TRANSIENT_ERROR | File was in use, too many files opened, or out of memory. |
COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_FILE_BLOCKED_BY_POLICY | File blocked by local policy. |
COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_FILE_SECURITY_CHECK_FAILED | Security check failed unexpectedly. |
COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_FILE_TOO_SHORT | Seeking past the end of a file in opening a file, as part of resuming an interrupted download. |
COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_FILE_HASH_MISMATCH | Partial file did not match the expected hash and was deleted. |
COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_NETWORK_FAILED | Generic network error. User can retry the download manually. |
COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_NETWORK_TIMEOUT | Network operation timed out. |
COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_NETWORK_DISCONNECTED | Network connection lost. User can retry the download manually. |
COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_NETWORK_SERVER_DOWN | Server has gone down. User can retry the download manually. |
COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_NETWORK_INVALID_REQUEST | Network request invalid because original or redirected URI is invalid, has an unsupported scheme, or is disallowed by network policy. |
COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_SERVER_FAILED | Generic server error. User can retry the download manually. |
COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_SERVER_NO_RANGE | Server does not support range requests. |
COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_SERVER_BAD_CONTENT | Server does not have the requested data. |
COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_SERVER_UNAUTHORIZED | Server did not authorize access to resource. |
COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_SERVER_CERTIFICATE_PROBLEM | Server certificate problem. |
COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_SERVER_FORBIDDEN | Server access forbidden. |
COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_SERVER_UNEXPECTED_RESPONSE | Unexpected server response. |
COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_SERVER_CONTENT_LENGTH_MISMATCH | Server sent fewer bytes than the Content-Length header. |
COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_SERVER_CROSS_ORIGIN_REDIRECT | Unexpected cross-origin redirect. |
COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_USER_CANCELED | User canceled the download. |
COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_USER_SHUTDOWN | User shut down the WebView. |
COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_USER_PAUSED | User paused the download. |
COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_DOWNLOAD_PROCESS_CRASHED | WebView crashed. |
Reason why a download was interrupted.
COREWEBVIEW2_DOWNLOAD_STATE
Values | Descriptions |
---|---|
COREWEBVIEW2_DOWNLOAD_STATE_IN_PROGRESS | The download is in progress. |
COREWEBVIEW2_DOWNLOAD_STATE_INTERRUPTED | The connection with the file host was broken. |
COREWEBVIEW2_DOWNLOAD_STATE_COMPLETED | The download completed successfully. |
State of the download operation.
COREWEBVIEW2_FAVICON_IMAGE_FORMAT
Values | Descriptions |
---|---|
COREWEBVIEW2_FAVICON_IMAGE_FORMAT_PNG | Indicates that the PNG image format is used. |
COREWEBVIEW2_FAVICON_IMAGE_FORMAT_JPEG | Indicates the JPEG image format is used. |
Specifies the image format to use for favicon.
COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND
Values | Descriptions |
---|---|
COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND_DENY | All cross origin resource access is denied, including normal sub resource access as src of a script or image element. |
COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND_ALLOW | All cross origin resource access is allowed, including accesses that are subject to Cross-Origin Resource Sharing(CORS) check. |
COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND_DENY_CORS | Cross origin resource access is allowed for normal sub resource access like as src of a script or image element, while any access that subjects to CORS check will be denied. |
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 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 |
COREWEBVIEW2_KEY_EVENT_KIND
Values | Descriptions |
---|---|
COREWEBVIEW2_KEY_EVENT_KIND_KEY_DOWN | Specifies that the key event type corresponds to window message WM_KEYDOWN . |
COREWEBVIEW2_KEY_EVENT_KIND_KEY_UP | Specifies that the key event type corresponds to window message WM_KEYUP . |
COREWEBVIEW2_KEY_EVENT_KIND_SYSTEM_KEY_DOWN | Specifies that the key event type corresponds to window message WM_SYSKEYDOWN . |
COREWEBVIEW2_KEY_EVENT_KIND_SYSTEM_KEY_UP | Specifies that the key event type corresponds to window message WM_SYSKEYUP . |
Specifies the key event type that triggered an AcceleratorKeyPressed
event.
COREWEBVIEW2_MOUSE_EVENT_KIND
Values | Descriptions |
---|---|
COREWEBVIEW2_MOUSE_EVENT_KIND_HORIZONTAL_WHEEL | Mouse horizontal wheel scroll event, WM_MOUSEHWHEEL. |
COREWEBVIEW2_MOUSE_EVENT_KIND_LEFT_BUTTON_DOUBLE_CLICK | Left button double click mouse event, WM_LBUTTONDBLCLK. |
COREWEBVIEW2_MOUSE_EVENT_KIND_LEFT_BUTTON_DOWN | Left button down mouse event, WM_LBUTTONDOWN. |
COREWEBVIEW2_MOUSE_EVENT_KIND_LEFT_BUTTON_UP | Left button up mouse event, WM_LBUTTONUP. |
COREWEBVIEW2_MOUSE_EVENT_KIND_LEAVE | Mouse leave event, WM_MOUSELEAVE. |
COREWEBVIEW2_MOUSE_EVENT_KIND_MIDDLE_BUTTON_DOUBLE_CLICK | Middle button double click mouse event, WM_MBUTTONDBLCLK. |
COREWEBVIEW2_MOUSE_EVENT_KIND_MIDDLE_BUTTON_DOWN | Middle button down mouse event, WM_MBUTTONDOWN. |
COREWEBVIEW2_MOUSE_EVENT_KIND_MIDDLE_BUTTON_UP | Middle button up mouse event, WM_MBUTTONUP. |
COREWEBVIEW2_MOUSE_EVENT_KIND_MOVE | Mouse move event, WM_MOUSEMOVE. |
COREWEBVIEW2_MOUSE_EVENT_KIND_RIGHT_BUTTON_DOUBLE_CLICK | Right button double click mouse event, WM_RBUTTONDBLCLK. |
COREWEBVIEW2_MOUSE_EVENT_KIND_RIGHT_BUTTON_DOWN | Right button down mouse event, WM_RBUTTONDOWN. |
COREWEBVIEW2_MOUSE_EVENT_KIND_RIGHT_BUTTON_UP | Right button up mouse event, WM_RBUTTONUP. |
COREWEBVIEW2_MOUSE_EVENT_KIND_WHEEL | Mouse wheel scroll event, WM_MOUSEWHEEL. |
COREWEBVIEW2_MOUSE_EVENT_KIND_X_BUTTON_DOUBLE_CLICK | First or second X button double click mouse event, WM_XBUTTONDBLCLK. |
COREWEBVIEW2_MOUSE_EVENT_KIND_X_BUTTON_DOWN | First or second X button down mouse event, WM_XBUTTONDOWN. |
COREWEBVIEW2_MOUSE_EVENT_KIND_X_BUTTON_UP | First or second X button up mouse event, WM_XBUTTONUP. |
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.
COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS
Values | Descriptions |
---|---|
COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS_NONE | No additional keys pressed. |
COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS_LEFT_BUTTON | Left mouse button is down, MK_LBUTTON. |
COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS_RIGHT_BUTTON | Right mouse button is down, MK_RBUTTON. |
COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS_SHIFT | SHIFT key is down, MK_SHIFT. |
COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS_CONTROL | CTRL key is down, MK_CONTROL. |
COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS_MIDDLE_BUTTON | Middle mouse button is down, MK_MBUTTON. |
COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS_X_BUTTON1 | First X button is down, MK_XBUTTON1. |
COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS_X_BUTTON2 | Second X button is down, MK_XBUTTON2. |
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.
COREWEBVIEW2_MOVE_FOCUS_REASON
Values | Descriptions |
---|---|
COREWEBVIEW2_MOVE_FOCUS_REASON_PROGRAMMATIC | Specifies that the code is setting focus into WebView. |
COREWEBVIEW2_MOVE_FOCUS_REASON_NEXT | Specifies that the focus is moving due to Tab traversal forward. |
COREWEBVIEW2_MOVE_FOCUS_REASON_PREVIOUS | Specifies that the focus is moving due to Tab traversal backward. |
Specifies the reason for moving focus.
COREWEBVIEW2_PDF_TOOLBAR_ITEMS
Values | Descriptions |
---|---|
COREWEBVIEW2_PDF_TOOLBAR_ITEMS_NONE | No item. |
COREWEBVIEW2_PDF_TOOLBAR_ITEMS_SAVE | The save button. |
COREWEBVIEW2_PDF_TOOLBAR_ITEMS_PRINT | The print button. |
COREWEBVIEW2_PDF_TOOLBAR_ITEMS_SAVE_AS | The save as button. |
COREWEBVIEW2_PDF_TOOLBAR_ITEMS_ZOOM_IN | The zoom in button. |
COREWEBVIEW2_PDF_TOOLBAR_ITEMS_ZOOM_OUT | The zoom out button. |
COREWEBVIEW2_PDF_TOOLBAR_ITEMS_ROTATE | The rotate button. |
COREWEBVIEW2_PDF_TOOLBAR_ITEMS_FIT_PAGE | The fit page button. |
COREWEBVIEW2_PDF_TOOLBAR_ITEMS_PAGE_LAYOUT | The page layout button. |
COREWEBVIEW2_PDF_TOOLBAR_ITEMS_BOOKMARKS | The bookmarks button. |
COREWEBVIEW2_PDF_TOOLBAR_ITEMS_PAGE_SELECTOR | The page select button. |
COREWEBVIEW2_PDF_TOOLBAR_ITEMS_SEARCH | The search button. |
COREWEBVIEW2_PDF_TOOLBAR_ITEMS_FULL_SCREEN | The full screen button. |
COREWEBVIEW2_PDF_TOOLBAR_ITEMS_MORE_SETTINGS | The more settings button. |
Specifies the PDF toolbar item types used for the ICoreWebView2Settings::put_HiddenPdfToolbarItems
method.
COREWEBVIEW2_PERMISSION_KIND
Values | Descriptions |
---|---|
COREWEBVIEW2_PERMISSION_KIND_UNKNOWN_PERMISSION | Indicates an unknown permission. |
COREWEBVIEW2_PERMISSION_KIND_MICROPHONE | Indicates permission to capture audio. |
COREWEBVIEW2_PERMISSION_KIND_CAMERA | Indicates permission to capture video. |
COREWEBVIEW2_PERMISSION_KIND_GEOLOCATION | Indicates permission to access geolocation. |
COREWEBVIEW2_PERMISSION_KIND_NOTIFICATIONS | Indicates permission to send web notifications. |
COREWEBVIEW2_PERMISSION_KIND_OTHER_SENSORS | Indicates permission to access generic sensor. |
COREWEBVIEW2_PERMISSION_KIND_CLIPBOARD_READ | Indicates permission to read the system clipboard without a user gesture. |
COREWEBVIEW2_PERMISSION_KIND_MULTIPLE_AUTOMATIC_DOWNLOADS | Indicates permission to automatically download multiple files. |
COREWEBVIEW2_PERMISSION_KIND_FILE_READ_WRITE | Indicates permission to read and write to files or folders on the device. |
COREWEBVIEW2_PERMISSION_KIND_AUTOPLAY | Indicates permission to play audio and video automatically on sites. |
COREWEBVIEW2_PERMISSION_KIND_LOCAL_FONTS | Indicates permission to use fonts on the device. |
COREWEBVIEW2_PERMISSION_KIND_MIDI_SYSTEM_EXCLUSIVE_MESSAGES | Indicates permission to send and receive system exclusive messages to/from MIDI (Musical Instrument Digital Interface) devices. |
COREWEBVIEW2_PERMISSION_KIND_WINDOW_MANAGEMENT | Indicates permission to open and place windows on the screen. |
Indicates the type of a permission request.
COREWEBVIEW2_PERMISSION_STATE
Values | Descriptions |
---|---|
COREWEBVIEW2_PERMISSION_STATE_DEFAULT | Specifies that the default browser behavior is used, which normally prompt users for decision. |
COREWEBVIEW2_PERMISSION_STATE_ALLOW | Specifies that the permission request is granted. |
COREWEBVIEW2_PERMISSION_STATE_DENY | Specifies that the permission request is denied. |
Specifies the response to a permission request.
COREWEBVIEW2_POINTER_EVENT_KIND
Values | Descriptions |
---|---|
COREWEBVIEW2_POINTER_EVENT_KIND_ACTIVATE | Corresponds to WM_POINTERACTIVATE. |
COREWEBVIEW2_POINTER_EVENT_KIND_DOWN | Corresponds to WM_POINTERDOWN. |
COREWEBVIEW2_POINTER_EVENT_KIND_ENTER | Corresponds to WM_POINTERENTER. |
COREWEBVIEW2_POINTER_EVENT_KIND_LEAVE | Corresponds to WM_POINTERLEAVE. |
COREWEBVIEW2_POINTER_EVENT_KIND_UP | Corresponds to WM_POINTERUP. |
COREWEBVIEW2_POINTER_EVENT_KIND_UPDATE | Corresponds to WM_POINTERUPDATE. |
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.
COREWEBVIEW2_PREFERRED_COLOR_SCHEME
Values | Descriptions |
---|---|
COREWEBVIEW2_PREFERRED_COLOR_SCHEME_AUTO | Auto color scheme. |
COREWEBVIEW2_PREFERRED_COLOR_SCHEME_LIGHT | Light color scheme. |
COREWEBVIEW2_PREFERRED_COLOR_SCHEME_DARK | Dark color scheme. |
An enum to represent the options for WebView2 color scheme: auto, light, or dark.
COREWEBVIEW2_PRINT_COLLATION
Values | Descriptions |
---|---|
COREWEBVIEW2_PRINT_COLLATION_DEFAULT | The default collation for a printer. |
COREWEBVIEW2_PRINT_COLLATION_COLLATED | Indicate that the collation has been selected for the printed output. |
COREWEBVIEW2_PRINT_COLLATION_UNCOLLATED | Indicate that the collation has not been selected for the printed output. |
Specifies the collation for a print.
COREWEBVIEW2_PRINT_COLOR_MODE
Values | Descriptions |
---|---|
COREWEBVIEW2_PRINT_COLOR_MODE_DEFAULT | The default color mode for a printer. |
COREWEBVIEW2_PRINT_COLOR_MODE_COLOR | Indicate that the printed output will be in color. |
COREWEBVIEW2_PRINT_COLOR_MODE_GRAYSCALE | Indicate that the printed output will be in shades of gray. |
Specifies the color mode for a print.
COREWEBVIEW2_PRINT_DIALOG_KIND
Values | Descriptions |
---|---|
COREWEBVIEW2_PRINT_DIALOG_KIND_BROWSER | Opens the browser print preview dialog. |
COREWEBVIEW2_PRINT_DIALOG_KIND_SYSTEM | Opens the system print dialog. |
Specifies the print dialog kind.
COREWEBVIEW2_PRINT_DUPLEX
Values | Descriptions |
---|---|
COREWEBVIEW2_PRINT_DUPLEX_DEFAULT | The default duplex for a printer. |
COREWEBVIEW2_PRINT_DUPLEX_ONE_SIDED | Print on only one side of the sheet. |
COREWEBVIEW2_PRINT_DUPLEX_TWO_SIDED_LONG_EDGE | Print on both sides of the sheet, flipped along the long edge. |
COREWEBVIEW2_PRINT_DUPLEX_TWO_SIDED_SHORT_EDGE | Print on both sides of the sheet, flipped along the short edge. |
Specifies the duplex option for a print.
COREWEBVIEW2_PRINT_MEDIA_SIZE
Values | Descriptions |
---|---|
COREWEBVIEW2_PRINT_MEDIA_SIZE_DEFAULT | The default media size for a printer. |
COREWEBVIEW2_PRINT_MEDIA_SIZE_CUSTOM | Indicate custom media size that is specific to the printer. |
Specifies the media size for a print.
COREWEBVIEW2_PRINT_ORIENTATION
Values | Descriptions |
---|---|
COREWEBVIEW2_PRINT_ORIENTATION_PORTRAIT | Print the page(s) in portrait orientation. |
COREWEBVIEW2_PRINT_ORIENTATION_LANDSCAPE | Print the page(s) in landscape orientation. |
The orientation for printing, used by the Orientation
property on ICoreWebView2PrintSettings.
Currently only printing to PDF is supported.
COREWEBVIEW2_PRINT_STATUS
Values | Descriptions |
---|---|
COREWEBVIEW2_PRINT_STATUS_SUCCEEDED | Indicates that the print operation is succeeded. |
COREWEBVIEW2_PRINT_STATUS_PRINTER_UNAVAILABLE | Indicates that the printer is not available. |
COREWEBVIEW2_PRINT_STATUS_OTHER_ERROR | Indicates that the print operation is failed. |
Indicates the status for printing.
COREWEBVIEW2_PROCESS_FAILED_KIND
Values | Descriptions |
---|---|
COREWEBVIEW2_PROCESS_FAILED_KIND_BROWSER_PROCESS_EXITED | Indicates that the browser process ended unexpectedly. |
COREWEBVIEW2_PROCESS_FAILED_KIND_RENDER_PROCESS_EXITED | Indicates that the main frame's render process ended unexpectedly. |
COREWEBVIEW2_PROCESS_FAILED_KIND_RENDER_PROCESS_UNRESPONSIVE | Indicates that the main frame's render process is unresponsive. |
COREWEBVIEW2_PROCESS_FAILED_KIND_FRAME_RENDER_PROCESS_EXITED | Indicates that a frame-only render process ended unexpectedly. |
COREWEBVIEW2_PROCESS_FAILED_KIND_UTILITY_PROCESS_EXITED | Indicates that a utility process ended unexpectedly. |
COREWEBVIEW2_PROCESS_FAILED_KIND_SANDBOX_HELPER_PROCESS_EXITED | Indicates that a sandbox helper process ended unexpectedly. |
COREWEBVIEW2_PROCESS_FAILED_KIND_GPU_PROCESS_EXITED | Indicates that the GPU process ended unexpectedly. |
COREWEBVIEW2_PROCESS_FAILED_KIND_PPAPI_PLUGIN_PROCESS_EXITED | Indicates that a PPAPI plugin process ended unexpectedly. |
COREWEBVIEW2_PROCESS_FAILED_KIND_PPAPI_BROKER_PROCESS_EXITED | Indicates that a PPAPI plugin broker process ended unexpectedly. |
COREWEBVIEW2_PROCESS_FAILED_KIND_UNKNOWN_PROCESS_EXITED | Indicates that a process of unspecified kind ended unexpectedly. |
Specifies the process failure type used in the ICoreWebView2ProcessFailedEventHandler 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.
COREWEBVIEW2_PROCESS_FAILED_REASON
Values | Descriptions |
---|---|
COREWEBVIEW2_PROCESS_FAILED_REASON_UNEXPECTED | An unexpected process failure occurred. |
COREWEBVIEW2_PROCESS_FAILED_REASON_UNRESPONSIVE | The process became unresponsive. |
COREWEBVIEW2_PROCESS_FAILED_REASON_TERMINATED | The process was terminated. For example, from Task Manager. |
COREWEBVIEW2_PROCESS_FAILED_REASON_CRASHED | The process crashed. |
COREWEBVIEW2_PROCESS_FAILED_REASON_LAUNCH_FAILED | The process failed to launch. |
COREWEBVIEW2_PROCESS_FAILED_REASON_OUT_OF_MEMORY | The process died due to running out of memory. |
COREWEBVIEW2_PROCESS_FAILED_REASON_PROFILE_DELETED | The process exited because its corresponding profile was deleted. |
Specifies the process failure reason used in the ICoreWebView2ProcessFailedEventHandler interface.
COREWEBVIEW2_PROCESS_KIND
Values | Descriptions |
---|---|
COREWEBVIEW2_PROCESS_KIND_BROWSER | Indicates the browser process kind. |
COREWEBVIEW2_PROCESS_KIND_RENDERER | Indicates the render process kind. |
COREWEBVIEW2_PROCESS_KIND_UTILITY | Indicates the utility process kind. |
COREWEBVIEW2_PROCESS_KIND_SANDBOX_HELPER | Indicates the sandbox helper process kind. |
COREWEBVIEW2_PROCESS_KIND_GPU | Indicates the GPU process kind. |
COREWEBVIEW2_PROCESS_KIND_PPAPI_PLUGIN | Indicates the PPAPI plugin process kind. |
COREWEBVIEW2_PROCESS_KIND_PPAPI_BROKER | Indicates the PPAPI plugin broker process kind. |
Indicates the process type used in the ICoreWebView2ProcessInfo interface.
COREWEBVIEW2_SCRIPT_DIALOG_KIND
Values | Descriptions |
---|---|
COREWEBVIEW2_SCRIPT_DIALOG_KIND_ALERT | Indicates that the dialog uses the window.alert JavaScript function. |
COREWEBVIEW2_SCRIPT_DIALOG_KIND_CONFIRM | Indicates that the dialog uses the window.confirm JavaScript function. |
COREWEBVIEW2_SCRIPT_DIALOG_KIND_PROMPT | Indicates that the dialog uses the window.prompt JavaScript function. |
COREWEBVIEW2_SCRIPT_DIALOG_KIND_BEFOREUNLOAD | Indicates that the dialog uses the beforeunload JavaScript event. |
Specifies the JavaScript dialog type used in the ICoreWebView2ScriptDialogOpeningEventHandler interface.
COREWEBVIEW2_SERVER_CERTIFICATE_ERROR_ACTION
Values | Descriptions |
---|---|
COREWEBVIEW2_SERVER_CERTIFICATE_ERROR_ACTION_ALWAYS_ALLOW | Indicates to ignore the warning and continue the request with the TLS certificate. |
COREWEBVIEW2_SERVER_CERTIFICATE_ERROR_ACTION_CANCEL | Indicates to reject the certificate and cancel the request. |
COREWEBVIEW2_SERVER_CERTIFICATE_ERROR_ACTION_DEFAULT | Indicates to display the default TLS interstitial error page to user for page navigations. |
Specifies the action type when server certificate error is detected to be used in the ICoreWebView2ServerCertificateErrorDetectedEventArgs interface.
COREWEBVIEW2_SHARED_BUFFER_ACCESS
Values | Descriptions |
---|---|
COREWEBVIEW2_SHARED_BUFFER_ACCESS_READ_ONLY | Script from web page only has read access to the shared buffer. |
COREWEBVIEW2_SHARED_BUFFER_ACCESS_READ_WRITE | Script from web page has read and write access to the shared buffer. |
Specifies the desired access from script to CoreWebView2SharedBuffer
.
COREWEBVIEW2_TRACKING_PREVENTION_LEVEL
Values | Descriptions |
---|---|
COREWEBVIEW2_TRACKING_PREVENTION_LEVEL_NONE | Tracking prevention is turned off. |
COREWEBVIEW2_TRACKING_PREVENTION_LEVEL_BASIC | The least restrictive level of tracking prevention. |
COREWEBVIEW2_TRACKING_PREVENTION_LEVEL_BALANCED | The default level of tracking prevention. |
COREWEBVIEW2_TRACKING_PREVENTION_LEVEL_STRICT | The most restrictive level of tracking prevention. |
Tracking prevention levels.
COREWEBVIEW2_WEB_ERROR_STATUS
Values | Descriptions |
---|---|
COREWEBVIEW2_WEB_ERROR_STATUS_UNKNOWN | Indicates that an unknown error occurred. |
COREWEBVIEW2_WEB_ERROR_STATUS_CERTIFICATE_COMMON_NAME_IS_INCORRECT | Indicates that the SSL certificate common name does not match the web address. |
COREWEBVIEW2_WEB_ERROR_STATUS_CERTIFICATE_EXPIRED | Indicates that the SSL certificate has expired. |
COREWEBVIEW2_WEB_ERROR_STATUS_CLIENT_CERTIFICATE_CONTAINS_ERRORS | Indicates that the SSL client certificate contains errors. |
COREWEBVIEW2_WEB_ERROR_STATUS_CERTIFICATE_REVOKED | Indicates that the SSL certificate has been revoked. |
COREWEBVIEW2_WEB_ERROR_STATUS_CERTIFICATE_IS_INVALID | Indicates that the SSL certificate is not valid. |
COREWEBVIEW2_WEB_ERROR_STATUS_SERVER_UNREACHABLE | Indicates that the host is unreachable. |
COREWEBVIEW2_WEB_ERROR_STATUS_TIMEOUT | Indicates that the connection has timed out. |
COREWEBVIEW2_WEB_ERROR_STATUS_ERROR_HTTP_INVALID_SERVER_RESPONSE | Indicates that the server returned an invalid or unrecognized response. |
COREWEBVIEW2_WEB_ERROR_STATUS_CONNECTION_ABORTED | Indicates that the connection was stopped. |
COREWEBVIEW2_WEB_ERROR_STATUS_CONNECTION_RESET | Indicates that the connection was reset. |
COREWEBVIEW2_WEB_ERROR_STATUS_DISCONNECTED | Indicates that the Internet connection has been lost. |
COREWEBVIEW2_WEB_ERROR_STATUS_CANNOT_CONNECT | Indicates that a connection to the destination was not established. |
COREWEBVIEW2_WEB_ERROR_STATUS_HOST_NAME_NOT_RESOLVED | Indicates that the provided host name was not able to be resolved. |
COREWEBVIEW2_WEB_ERROR_STATUS_OPERATION_CANCELED | Indicates that the operation was canceled. |
COREWEBVIEW2_WEB_ERROR_STATUS_REDIRECT_FAILED | Indicates that the request redirect failed. |
COREWEBVIEW2_WEB_ERROR_STATUS_UNEXPECTED_ERROR | Indicates that an unexpected error occurred. |
COREWEBVIEW2_WEB_ERROR_STATUS_VALID_AUTHENTICATION_CREDENTIALS_REQUIRED | Indicates that user is prompted with a login, waiting on user action. |
COREWEBVIEW2_WEB_ERROR_STATUS_VALID_PROXY_AUTHENTICATION_REQUIRED | Indicates that user lacks proper authentication credentials for a proxy server. |
Indicates the error status values for web navigations.
COREWEBVIEW2_WEB_RESOURCE_CONTEXT
Values | Descriptions |
---|---|
COREWEBVIEW2_WEB_RESOURCE_CONTEXT_ALL | Specifies all resources. |
COREWEBVIEW2_WEB_RESOURCE_CONTEXT_DOCUMENT | Specifies a document resource. |
COREWEBVIEW2_WEB_RESOURCE_CONTEXT_STYLESHEET | Specifies a CSS resource. |
COREWEBVIEW2_WEB_RESOURCE_CONTEXT_IMAGE | Specifies an image resource. |
COREWEBVIEW2_WEB_RESOURCE_CONTEXT_MEDIA | Specifies another media resource such as a video. |
COREWEBVIEW2_WEB_RESOURCE_CONTEXT_FONT | Specifies a font resource. |
COREWEBVIEW2_WEB_RESOURCE_CONTEXT_SCRIPT | Specifies a script resource. |
COREWEBVIEW2_WEB_RESOURCE_CONTEXT_XML_HTTP_REQUEST | Specifies an XML HTTP request. |
COREWEBVIEW2_WEB_RESOURCE_CONTEXT_FETCH | Specifies a Fetch API communication. |
COREWEBVIEW2_WEB_RESOURCE_CONTEXT_TEXT_TRACK | Specifies a TextTrack resource. |
COREWEBVIEW2_WEB_RESOURCE_CONTEXT_EVENT_SOURCE | Specifies an EventSource API communication. |
COREWEBVIEW2_WEB_RESOURCE_CONTEXT_WEBSOCKET | Specifies a WebSocket API communication. |
COREWEBVIEW2_WEB_RESOURCE_CONTEXT_MANIFEST | Specifies a Web App Manifest. |
COREWEBVIEW2_WEB_RESOURCE_CONTEXT_SIGNED_EXCHANGE | Specifies a Signed HTTP Exchange. |
COREWEBVIEW2_WEB_RESOURCE_CONTEXT_PING | Specifies a Ping request. |
COREWEBVIEW2_WEB_RESOURCE_CONTEXT_CSP_VIOLATION_REPORT | Specifies a CSP Violation Report. |
COREWEBVIEW2_WEB_RESOURCE_CONTEXT_OTHER | Specifies an other resource. |
Specifies the web resource request contexts.
COREWEBVIEW2_COLOR
A value representing RGBA color (Red, Green, Blue, Alpha) for WebView2.
typedef COREWEBVIEW2_COLOR
Each component takes a value from 0 to 255, with 0 being no intensity and 255 being the highest intensity.
CompareBrowserVersions
public STDAPI CompareBrowserVersions(PCWSTR version1, PCWSTR version2, int * result)
This method is for anyone want to compare version correctly to determine which version is newer, older or same.
Use it to determine whether to use webview2 or certain feature based upon version. Sets the value of result to -1
, 0
or 1
if version1
is less than, equal or greater than version2
respectively. Returns E_INVALIDARG
if it fails to parse any of the version strings or any input parameter is null
. Directly use the versionInfo
obtained from GetAvailableCoreWebView2BrowserVersionString
with input, channel information is ignored.
CreateCoreWebView2Environment
public STDAPI CreateCoreWebView2Environment(ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler * environmentCreatedHandler)
Creates an evergreen WebView2 Environment using the installed WebView2 Runtime version.
This is equivalent to running CreateCoreWebView2EnvironmentWithOptions
with nullptr
for browserExecutableFolder
, userDataFolder
, additionalBrowserArguments
. For more information, navigate to CreateCoreWebView2EnvironmentWithOptions
.
CreateCoreWebView2EnvironmentWithOptions
public STDAPI CreateCoreWebView2EnvironmentWithOptions(PCWSTR browserExecutableFolder, PCWSTR userDataFolder, ICoreWebView2EnvironmentOptions * environmentOptions, ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler * environmentCreatedHandler)
DLL export to create a WebView2 environment with a custom version of WebView2 Runtime, user data folder, and with or without additional options.
When WebView2 experimental APIs are used, make sure to provide a valid environmentOptions
so that WebView2 runtime knows which version of the SDK that the app is using. Otherwise, WebView2 runtime assumes that the version of the SDK being used is the latest version known to it, which might not be the version of the SDK being used. This wrong SDK version assumption could result in some experimental APIs not being available.
The WebView2 environment and all other WebView2 objects are single threaded and have dependencies on Windows components that require COM to be initialized for a single-threaded apartment. The app is expected to run CoInitializeEx
before running CreateCoreWebView2EnvironmentWithOptions
.
CoInitializeEx(nullptr, COINIT_APARTMENTTHREADED);
If CoInitializeEx
did not run or previously ran with COINIT_MULTITHREADED
, CreateCoreWebView2EnvironmentWithOptions
fails with one of the following errors.
CO_E_NOTINITIALIZED - if CoInitializeEx was not called
RPC_E_CHANGED_MODE - if CoInitializeEx was previously called with
COINIT_MULTITHREADED
Use browserExecutableFolder
to specify whether WebView2 controls use a fixed or installed version of the WebView2 Runtime that exists on a user machine. To use a fixed version of the WebView2 Runtime, pass the folder path that contains the fixed version of the WebView2 Runtime to browserExecutableFolder
. BrowserExecutableFolder supports both relative (to the application's executable) and absolute files paths. To create WebView2 controls that use the installed version of the WebView2 Runtime that exists on user machines, pass a null
or empty string to browserExecutableFolder
. In this scenario, the API tries to find a compatible version of the WebView2 Runtime that is installed on the user machine (first at the machine level, and then per user) using the selected channel preference. The path of fixed version of the WebView2 Runtime should not contain \Edge\Application\
. When such a path is used, the API fails with HRESULT_FROM_WIN32(ERROR_NOT_SUPPORTED)
.
The default channel search order is the WebView2 Runtime, Beta, Dev, and Canary. When an override WEBVIEW2_RELEASE_CHANNEL_PREFERENCE
environment variable or applicable releaseChannelPreference
registry value is set to 1
, the channel search order is reversed.
You may specify the userDataFolder
to change the default user data folder location for WebView2. The path is either an absolute file path or a relative file path that is interpreted as relative to the compiled code for the current process. For UWP apps, the default user data folder is the app data folder for the package. For non-UWP apps, the default user data ({Executable File Name}.WebView2
) folder is created in the same directory next to the compiled code for the app. WebView2 creation fails if the compiled code is running in a directory in which the process does not have permission to create a new directory. The app is responsible to clean up the associated user data folder when it is done.
Note
As a browser process may be shared among WebViews, WebView creation fails with HRESULT_FROM_WIN32(ERROR_INVALID_STATE)
if the specified options does not match the options of the WebViews that are currently running in the shared browser process.
environmentCreatedHandler
is the handler result to the async operation that contains the WebView2Environment
that was created.
The browserExecutableFolder
, userDataFolder
and additionalBrowserArguments
of the environmentOptions
may be overridden by values either specified in environment variables or in the registry.
When creating a WebView2Environment
the following environment variables are verified.
WEBVIEW2_BROWSER_EXECUTABLE_FOLDER
WEBVIEW2_USER_DATA_FOLDER
WEBVIEW2_ADDITIONAL_BROWSER_ARGUMENTS
WEBVIEW2_RELEASE_CHANNEL_PREFERENCE
If you find an override environment variable, use the browserExecutableFolder
and userDataFolder
values as replacements for the corresponding values in CreateCoreWebView2EnvironmentWithOptions
parameters. If additionalBrowserArguments
is specified in environment variable or in the registry, it is appended to the corresponding values in CreateCoreWebView2EnvironmentWithOptions
parameters.
While not strictly overrides, additional environment variables may be set.
WEBVIEW2_WAIT_FOR_SCRIPT_DEBUGGER
When found with a non-empty value, this indicates that the WebView is being launched under a script debugger. In this case, the WebView issues a Page.waitForDebugger
CDP command that runs the script inside the WebView to pause on launch, until a debugger issues a corresponding Runtime.runIfWaitingForDebugger
CDP command to resume the runtime.
Note
The following environment variable does not have a registry key equivalent: WEBVIEW2_WAIT_FOR_SCRIPT_DEBUGGER
.
When found with a non-empty value, it indicates that the WebView is being launched under a script debugger that also supports host apps that use multiple WebViews. The value is used as the identifier for a named pipe that is opened and written to when a new WebView is created by the host app. The payload should match the payload of the remote-debugging-port
JSON target and an external debugger may use it to attach to a specific WebView instance. The format of the pipe created by the debugger should be \\.\pipe\WebView2\Debugger\{app_name}\{pipe_name}
, where the following are true.
{app_name}
is the host app exe file name, for example,WebView2Example.exe
{pipe_name}
is the value set forWEBVIEW2_PIPE_FOR_SCRIPT_DEBUGGER
To enable debugging of the targets identified by the JSON, you must set the WEBVIEW2_ADDITIONAL_BROWSER_ARGUMENTS
environment variable to send --remote-debugging-port={port_num}
, where the following is true.
{port_num}
is the port on which the CDP server binds.
Warning
If you set both WEBVIEW2_PIPE_FOR_SCRIPT_DEBUGGER
and WEBVIEW2_ADDITIONAL_BROWSER_ARGUMENTS
environment variables, the WebViews hosted in your app and associated contents may exposed to 3rd party apps such as debuggers.
Note
The following environment variable does not have a registry key equivalent: WEBVIEW2_PIPE_FOR_SCRIPT_DEBUGGER
.
If none of those environment variables exist, then the registry is examined next. The following registry values are verified.
[{Root}]\Software\Policies\Microsoft\Edge\WebView2\BrowserExecutableFolder
"{AppId}"=""
[{Root}]\Software\Policies\Microsoft\Edge\WebView2\ReleaseChannelPreference
"{AppId}"=""
[{Root}]\Software\Policies\Microsoft\Edge\WebView2\AdditionalBrowserArguments
"{AppId}"=""
[{Root}]\Software\Policies\Microsoft\Edge\WebView2\UserDataFolder
"{AppId}"=""
Use a group policy under Administrative Templates > Microsoft Edge WebView2 to configure browserExecutableFolder
and releaseChannelPreference
.
In the unlikely scenario where some instances of WebView are open during a browser update, the deletion of the previous WebView2 Runtime may be blocked. To avoid running out of disk space, a new WebView creation fails with HRESULT_FROM_WIN32(ERROR_DISK_FULL)
if it detects that too many previous WebView2 Runtime versions exist.
The default maximum number of WebView2 Runtime versions allowed is 20
. To override the maximum number of the previous WebView2 Runtime versions allowed, set the value of the following environment variable.
COREWEBVIEW2_MAX_INSTANCES
If the Webview depends upon an installed WebView2 Runtime version and it is uninstalled, any subsequent creation fails with HRESULT_FROM_WIN32(ERROR_PRODUCT_UNINSTALLED)
.
First verify with Root as HKLM
and then HKCU
. AppId
is first set to the Application User Model ID of the process, then if no corresponding registry key, the AppId
is set to the compiled code name of the process, or if that is not a registry key then *
. If an override registry key is found, use the browserExecutableFolder
and userDataFolder
registry values as replacements and append additionalBrowserArguments
registry values for the corresponding values in CreateCoreWebView2EnvironmentWithOptions
parameters.
The following summarizes the possible error values that can be returned from CreateCoreWebView2EnvironmentWithOptions
and a description of why these errors occur.
Error value | Description |
---|---|
CO_E_NOTINITIALIZED |
CoInitializeEx was not called. |
RPC_E_CHANGED_MODE |
CoInitializeEx was previously called with COINIT_MULTITHREADED. |
HRESULT_FROM_WIN32(ERROR_NOT_SUPPORTED) |
\Edge\Application path used in browserExecutableFolder. |
HRESULT_FROM_WIN32(ERROR_INVALID_STATE) |
Specified options do not match the options of the WebViews that are currently running in the shared browser process. |
HRESULT_FROM_WIN32(ERROR_DISK_FULL) |
In the unlikely scenario where some instances of WebView are open during a browser update, the deletion of the previous WebView2 Runtime may be blocked. To avoid running out of disk space, a new WebView creation fails with HRESULT_FROM_WIN32(ERROR_DISK_FULL) if it detects that too many previous WebView2 Runtime versions exist. |
HRESULT_FROM_WIN32(ERROR_PRODUCT_UNINSTALLED) |
If the Webview depends upon an installed WebView2 Runtime version and it is uninstalled. |
HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND) |
Could not find Edge installation. |
HRESULT_FROM_WIN32(ERROR_FILE_EXISTS) |
User data folder cannot be created because a file with the same name already exists. |
E_ACCESSDENIED |
Unable to create user data folder, Access Denied. |
E_FAIL |
Edge runtime unable to start. |
GetAvailableCoreWebView2BrowserVersionString
public STDAPI GetAvailableCoreWebView2BrowserVersionString(PCWSTR browserExecutableFolder, LPWSTR * versionInfo)
Get the browser version info including channel name if it is not the WebView2 Runtime.
Channel names are Beta, Dev, and Canary. If an override exists for the browserExecutableFolder
or the channel preference, the override is used. If an override is not specified, then the parameter value passed to GetAvailableCoreWebView2BrowserVersionString
is used.
The caller must free the returned string with CoTaskMemFree
. See API Conventions.