Skip to content

Capability Matrix

Legend:

Mark Meaning
Full Implemented by the platform engine or a typed bridge.
Limited Implemented with documented engine, browser, or OS constraints.
No Not available and expected to throw or no-op as documented.
Feature Android iOS macOS Windows Linux Web
WebViewWidget Full Full Full Full Full Full
loadRequest GET Full Full Full Full Full Full
loadRequest GET headers Full Full Full Full Full Limited, CORS/fetch
loadRequest POST body Full Full Full Full Full Limited, CORS/fetch
loadRequest POST headers No Full Full Full Full Limited, CORS/fetch
loadFile Full Full Full Full Full No
loadFlutterAsset Full Full Full Full Full Full
loadHtmlString Full Full Full Full Full Full
currentUrl Full Full Full Full Full Limited, logical URL for synthetic loads
History back/forward Full Full Full Full Full Limited, controller-managed history
reload Full Full Full Full Full Limited, reloads last controller load
clearCache Full Full Full Full Full Limited, host-origin cache storage
clearLocalStorage Full Full Full Full Full Limited, host-origin storage
Feature Android iOS macOS Windows Linux Web
onNavigationRequest Full Full Full Full Full Limited, controller loads and observable iframe loads
onPageStarted/onPageFinished Full Full Full Full Full Limited, iframe load events
onProgress Full Full Full Full Full Limited, synthetic 0/100 plus load event
onUrlChange Full Full Full Full Full Limited, logical URL where needed
onWebResourceError Full Full Full Full Full Limited, fetch failures only for custom request path
onHttpError Full Full Full Full Full Limited, fetch-backed loads expose response
HTTP auth callback Full Full Full Full Full No browser iframe event
Recoverable SSL auth callback Full Full Full Full Full No browser iframe event
External app URL / custom scheme Full Full Full No No Browser-owned
Feature Android iOS macOS Windows Linux Web
JavaScript enable/disable Full Full Full Full Full Limited, iframe sandbox
runJavaScript Full Full Full Full Full Same-origin or managed isolated HTML
runJavaScriptReturningResult Full Full Full Full Full Same-origin or managed isolated HTML; JSON-serializable
JavaScript channels Full Full Full Full Full Same-origin or managed isolated HTML
Console message callback Full Full Full Full Full Same-origin or managed isolated HTML
alert callback Full Full Full Full Full Same-origin or managed isolated HTML
confirm callback Full Full Full Full Full Same-origin synchronous callback; isolated uses browser dialog
prompt callback Full Full Full Full Full Same-origin synchronous callback; isolated uses browser dialog
Permission request callback Full Full Full Full Full Controllable HTML media hook plus browser prompt
WebAuthn/passkeys Limited, explicit opt-in and app association Limited, OS and Associated Domains Limited, OS and Associated Domains Limited, Runtime/OS/provider No, WebKitGTK port Limited, browser and iframe policy
File selector Full, built-in plus optional callback Engine-owned Full, NSOpenPanel via WKUIDelegate Engine-owned Engine-owned Browser-owned
Geolocation prompt callback Full No platform API No platform API Browser/engine-owned Browser/engine-owned Browser-owned
Fullscreen custom widget Full Engine-owned Engine-owned Engine-owned Engine-owned Browser-owned
Feature Android iOS macOS Windows Linux Web
getTitle Full Full Full Full Full Same-origin or managed isolated HTML
Scroll position read Full Full No, logs and returns zero Full Full Same-origin or managed isolated HTML
Scroll position callback Full Full No, logs and no-op Full Full Same-origin or managed isolated HTML
scrollTo/scrollBy Full Full No, logs and no-op Full Full Same-origin or managed isolated HTML
Scrollbar visibility Full Full No, logs and no-op Full, CSS injection Full Full, CSS injection
Background color Full Full macOS 12+, logs and no-op earlier Full Full Full, iframe CSS
Zoom enable/disable Full Full Full Full Full Limited, iframe touch action
User agent override Full Full Full Full Full No; logs and ignores non-null override
Overscroll mode Full Limited No, logs and no-op Full, CSS injection Full Full, iframe CSS

Async JavaScript, User Scripts, Storage, and Headless

Section titled “Async JavaScript, User Scripts, Storage, and Headless”
Feature Android iOS macOS Windows Linux Web
runJavaScriptAsync Full, helper channel Full, iOS 14+ Full, macOS 11+ Full, helper channel Full, WebKitGTK 2.40+ or helper Limited, same-origin or managed HTML
addUserScript document-start Full, WebView 91+; older onPageStarted fallback Full Full Full, document-created scripts Full Limited, srcdoc/same-origin
addUserScript document-end Full, onPageFinished Full Full Full, navigation completed Full Limited, srcdoc/same-origin
WebViewStorageManager.removeData Full Full Full Full Full Limited, host origin
HeadlessWebView Full Full Full Full Full, offscreen GtkWindow when no overlay Full, hidden iframe
WebViewController.dispose Full Full Full Full Full Full
Platform Important extra APIs
Android debugging, media gesture, text zoom, wide viewport, content/file access, geolocation, built-in file selector plus optional callback, custom fullscreen widget, console, JavaScript dialogs, scrollbars, overscroll, mixed content, WebAuthn/passkeys, Payment Request, insets.
iOS/macOS inline media, media gesture policy, app-bound domains, JavaScript popup policy, back/forward gestures, link preview, inspectable, WebKit file read access, permission prompt forwarding, macOS file open panel.
Windows WebView2 environment, runtime version, popup policy, DevTools, suspend/resume, zoom factor, cache disabled, virtual host mapping, extended cookies.
Linux WebKitGTK developer extras, inspector, media settings, page cache, file URL access, font sizes, zoom factor, JavaScript dialogs, HTTP/SSL auth, permission requests.
Web iframe attributes, sandbox/referrer/permissions policy, fetch-backed requests, isolated managed-HTML bridge, media permission mediation.