Conformance
react-native-webview
native-seam only: supports react-native-webview >=13.7.1 <14.0.0, with launch validation on 13.7.1 and 13.16.1. iOS versions before 13.10.5 use RNCWebView; 13.10.5 onward use RNCWebViewModule. the published JavaScript runs unchanged and routes RNCWebView through the tenant-to-shell hosted iframe surface. the implementation estimate uses reviewed feature weights; the separate equal-surface strict diagnostic includes the shared, iOS, and Android public prop and ref surface. paired native and Peach runtime conformance covers local HTML, base URL, URI loading, load and navigation callbacks, both injection phases, two-way messaging, imperative URI reload and injection, local HTML fragment navigation and link-request decisions, initial-load and form request decisions, local stopLoading cancellation, refused-host and restricted-port onError with renderError, content scrolling, parent translation, and onOpenWindow target delivery. same-origin onHttpError follows RNCWebViewImpl but runs on Peach only, since no local HTTP error source is reachable from both targets.81%
API coverage0.36% diffiOS
0.36% diffiOS
0.36% diffiOS
1.49% diffiOS
2.51% diffiOS
Working
source.uri/source.html/source.baseUrl, Chromium cross-origin URI loading under the shell COEP, same-origin URI cookies, source.html persistent localStorage, document-start ReactNativeWebView bootstrap and injectedJavaScriptBeforeContentLoaded/injectedJavaScript on source.html, and on remote cross-origin source.uri pages in a playwright-driven sim, main frame only as on iOS, strict ReactNativeWebView.postMessage bridge envelope in both directions, onMessage synthetic event with navigation fields, onOpenWindow target delivery for source.html, successful onLoad/Start/End and onNavigationStateChange, ref.reload on URI pages, ref.injectJavaScript/postMessage, local HTML fragment URL/callback behavior, onShouldStartLoadWithRequest for local link clicks with native-shaped request and loading payloads, initial-load onShouldStartLoadWithRequest for http(s) documents with the native other/top-frame/lockIdentifier payload allowed or denied through the lock callback, form-submit onShouldStartLoadWithRequest with navigationType formsubmit and, for a get form, the form data as the url query, resumed in place, ref.stopLoading cancelling an in-flight reload with no following callbacks, onError with the native NSURLErrorDomain code/description for a refused local connection and WebKitErrorDomain 103 for a port on the WebKit blocked list, each plus onLoadEnd and renderError(domain, code, description), onHttpError with the native url/statusCode for a same-origin local HTTP error, internal content scrolling, renderLoading, javaScriptEnabled sandbox, layout, inherited clipping and visibility, parked/live presentation
Missing
Safari/WebKit cross-origin URI pages without COEP-compatible response headers remain permanently loading because WebKit ignores iframe credentialless; Chromium credentialless cross-origin URI frames send no credentials, including cookies set by their own origin, and use ephemeral storage; iframe pixels in canvas screenshots; script injection, ReactNativeWebView bootstrap, and onOpenWindow for remote pages outside a playwright-driven sim (the desktop app or a plain browser tab), because only the sim browser host reaches a cross-origin frame at document start; injection into a remote page whose Content-Security-Policy forbids eval, which a WKUserScript bypasses; source.headers on the initial load of a remote page; cross-origin history truthfulness (goBack/goForward across documents, truthful canGoBack/canGoForward) plus reload and history-traversal policy decisions; initial-load decisions for data:/about:/file documents, which stay ungated with no paired native ask observed; remote HTTP error statuses and refused remote connections, which a cross-origin frame never exposes to the browser, and the HTTP status of a non-get form submit; allowsBackForwardNavigationGestures, userAgent, dataDetectorTypes, cacheEnabled, incognito, scalesPageToFit, originWhitelist enforcement