Globals
Note
This reference is no longer being maintained. For the latest API reference, see WebView2 API Reference.
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_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. |
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.
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.
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.
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.
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.
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.
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.
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
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.
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.
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.
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.
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 |
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.
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.
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.
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.
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.
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_MESSAGE_ACCESS | Indicates permission to send and receive system exclusive messages to/from MIDI (Musical Instrument Digital Interface) devices. |
Indicates the type of a permission request.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
.
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. |
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.