Platforms to show: All Mac Windows Linux Cross-Platform
WebView2ControlMBS control
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
control | WebView2 | MBS WinFrameworks Plugin | 20.5 | ❌ No | ✅ Yes | ❌ No | ❌ No | Desktop only |
Notes:
Read about WebView2 control here: |
There you also fine the installers needed to install it, unless you have the 2021 version of Windows, which may include it preinstalled.
If you use this control on macOS and Linux, it will do nothing.
On Windows if the control fails to initialize, the Opened event will not fire.
But if it fires, it will be some time after the open event fired as initialization is asynchronous.
If you call LoadURL, LoadHTML or set URL property too early, we cache that and perform the action later when the web viewer is initialized properly.
If you add an event, we register it with the C++ control. So if you don't specify an event, you may get the default behavior.
- 21 events
- event AddScriptToExecuteOnDocumentCreatedCompleted(JavaScript as String, ErrorCode as Integer, ID as String, Tag as Variant)
- event CapturePreviewCompleted(ImageFormat as Integer, ErrorCode as Integer, PictureData as String)
- event Configure
- event ContainsFullScreenElementChanged
- event ContentLoading(isErrorPage as Boolean, NavigationID as UInt64)
- event DocumentTitleChanged
- event ExecuteScriptCompleted(JavaScript as String, ErrorCode as Integer, resultObjectAsJson as String, Tag as Variant)
- event FrameNavigationCompleted(isSuccess as Boolean, ErrorStatus as Integer, NavigationID as UInt64)
- event FrameNavigationStarting(URL as String, IsUserInitiated as Boolean, IsRedirected as Boolean, NavigationID as UInt64) as Boolean
- event GotFocus
- event HistoryChanged
- event LostFocus
- event NavigationCompleted(isSuccess as Boolean, ErrorStatus as Integer, NavigationID as UInt64)
- event NavigationStarting(URL as String, IsUserInitiated as Boolean, IsRedirected as Boolean, NavigationID as UInt64) as Boolean
- event Opened
- event PermissionRequested(URL as String, PermissionKind as Integer, IsUserInitiated as Boolean, byref State as Integer)
- event ProcessFailed(processFailedKind as Integer)
- event SourceChanged(isNewDocument as Boolean)
- event WebMessageReceived(Source as String, webMessageAsJson as String, webMessageAsString as String)
- event WindowCloseRequested
- event ZoomFactorChanged
- 19 properties
- property AdditionalBrowserArguments as String
- property AllowSingleSignOnUsingOSPrimaryAccount as Boolean
- property AreDefaultContextMenusEnabled as Boolean
- property AreDefaultScriptDialogsEnabled as Boolean
- property AreDevToolsEnabled as Boolean
- property AreHostObjectsAllowed as Boolean
- property BrowserVersionString as String
- property ContainsFullScreenElement as Boolean
- property DocumentTitle as String
- property IsBuiltInErrorPageEnabled as Boolean
- property IsScriptEnabled as Boolean
- property IsStatusBarEnabled as Boolean
- property IsWebMessageEnabled as Boolean
- property IsZoomControlEnabled as Boolean
- property Language as String
- property ProcessID as Integer
- property TargetCompatibleBrowserVersion as String
- property URL as String
- property ZoomFactor as Double
- 20 methods
- method AddScriptToExecuteOnDocumentCreated(JavaScript as String, tag as variant = nil)
- method AddWebResourceRequestedFilter(URL as String, resourceType as Integer)
- method CanGoBack as Boolean
- method CanGoForward as Boolean
- method CapturePreview(ImageFormat as Integer = 0)
- method ExecuteScript(JavaScript as String, tag as variant = nil)
- method ExecuteScriptSync(JavaScript as String, byref ErrorCode as Integer) as String
- method GoBack
- method GoForward
- method HTMLText as String
- method LoadHTML(HTML as String)
- method LoadURL(URL as String)
- method OpenDevToolsWindow
- method PlainText as String
- method PostWebMessageAsJson(webMessageAsJson as String)
- method PostWebMessageAsString(webMessageAsString as String)
- method Reload
- method RemoveScriptToExecuteOnDocumentCreated(ID as String
- method RemoveWebResourceRequestedFilter(URL as String, resourceType as Integer)
- method Stop
- shared method AvailableCoreWebView2BrowserVersionString as string
- 49 constants
Image Formats
Constant | Value | Description |
---|---|---|
kCapturePreviewImageFormatJPEG | 1 |
JPEG format. |
kCapturePreviewImageFormatPNG | 0 |
PNG format. |
Permission Kind
Constant | Value | Description |
---|---|---|
kPermissionKindCamera | 2 |
Permission to capture video. |
kPermissionKindClipboardRead | 6 |
Permission to read system clipboard without a user gesture. |
kPermissionKindGeoLocation | 3 |
Permission to access geolocation. |
kPermissionKindMicrophone | 1 |
Permission to capture audio. |
kPermissionKindNotifications | 4 |
Permission to send web notifications. |
kPermissionKindOtherSensors | 5 |
Permission to access generic sensor. |
kPermissionKindUnknownPermission | 0 |
Unknown permission. |
Permission States
Constant | Value | Description |
---|---|---|
kPermissionStateAllow | 1 |
Grant the permission request. |
kPermissionStateDefault | 0 |
Use default browser behavior, which normally prompt users for decision. |
kPermissionStateDeny | 2 |
Deny the permission request. |
Process Failure Kinds
Constant | Value | Description |
---|---|---|
kProcessFailedKindBrowserProcessExited | 0 |
Indicates the browser process terminated unexpectedly. |
kProcessFailedKindRenderProcessExited | 1 |
Indicates the render process terminated unexpectedly. |
kProcessFailedKindRenderProcessUnresponsive | 2 |
Indicates the render process becomes unresponsive. |
Error Status Values
Constant | Value | Description |
---|---|---|
kWebErrorStatusCannotConnect | 12 |
Cannot connect to destination. |
kWebErrorStatusCertificateCommonNameIsIncorrect | 1 |
The SSL certificate common name does not match the web address. |
kWebErrorStatusCertificateExpired | 2 |
The SSL certificate has expired. |
kWebErrorStatusCertificateIsInvalid | 5 |
The SSL certificate is invalid – this could mean the certificate did not match the public key pins for the host name, the certificate is signed by an untrusted authority or using a weak sign algorithm, the certificate claimed DNS names violate name constraints, the certificate contains a weak key, the certificate's validity period is too long, lack of revocation information or revocation mechanism, non-unique host name, lack of certificate transparency information, or the certificate is chained to a legacy Symantec root. |
kWebErrorStatusCertificateRevoked | 4 |
The SSL certificate has been revoked. |
kWebErrorStatusClientCertificateContainsErrors | 3 |
The SSL client certificate contains errors. |
kWebErrorStatusConnectionAborted | 9 |
The connection was aborted. |
kWebErrorStatusConnectionReset | 10 |
The connection was reset. |
kWebErrorStatusDisconnected | 11 |
The Internet connection has been lost. |
kWebErrorStatusErrorHttpInvalidServerResponse | 8 |
The server returned an invalid or unrecognized response. |
kWebErrorStatusHostNameNotResolved | 13 |
Could not resolve provided host name. |
kWebErrorStatusOperationCanceled | 14 |
The operation was canceled. |
kWebErrorStatusRedirectFailed | 15 |
The request redirect failed. |
kWebErrorStatusServerUnreachable | 6 |
The host is unreachable. |
kWebErrorStatusTimeout | 7 |
The connection has timed out. |
kWebErrorStatusUnexpectedError | 16 |
An unexpected error occurred. |
kWebErrorStatusUnknown | 0 |
An unknown error occurred. |
Web Resource Context
Constant | Value | Description |
---|---|---|
kWebResourceContextAll | 0 |
All resources. |
kWebResourceContextCspViolationReport | 15 |
CSP Violation Reports. |
kWebResourceContextDocument | 1 |
Document resources. |
kWebResourceContextEventSource | 10 |
EventSource API communication. |
kWebResourceContextFetch | 8 |
Fetch API communication. |
kWebResourceContextFont | 5 |
Font resources. |
kWebResourceContextImage | 3 |
Image resources. |
kWebResourceContextManifest | 12 |
Web App Manifests. |
kWebResourceContextMedia | 4 |
Other media resources such as videos. |
kWebResourceContextOther | 16 |
Other resources. |
kWebResourceContextPing | 14 |
Ping requests. |
kWebResourceContextScript | 6 |
Script resources. |
kWebResourceContextSignedExchange | 13 |
Signed HTTP Exchanges. |
kWebResourceContextStylesheet | 2 |
CSS resources. |
kWebResourceContextTextTrack | 9 |
TextTrack resources. |
kWebResourceContextWebSocket | 11 |
WebSocket API communication. |
kWebResourceContextXMLHttpRequest | 7 |
XML HTTP requests. |
Some examples which use this control:
Blog Entries
- MonkeyBread Software Releases the MBS Xojo Plugins in version 21.0
- MBS Xojo Plugins, version 20.6pr1
- MBS Xojo Plugins in version 20.5
- MBS Xojo Plugins, version 20.5pr8
- MBS Xojo Plugins, version 20.5pr7
- WebView2 for Xojo
Xojo Developer Magazine
The items on this page are in the following plugins: MBS WinFrameworks Plugin.
SCNIOSControlMBS - WebViewControlMBS

Links
MBS Xojo Chart Plugins