[ Package conformance ]

Essentials · >=11.0.0

react-native-webview

native-seam only: the published package 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 coverage
WebViewLibraryCase PeachWebViewLibraryCase iOS
← iOS|Peach →
webviewWeb Viewreact-native-webview rendering a static srcDoc inside a ScrollView — captures (a) the initial inline position and (b) the post-scroll position to verify the iframe tracks its parent translation through the compat measure pipe
Diff0.36%
DeviceiPhone 16
OracleiOS
CapturedMay 13, 2026
iOSPeachDiff
Working (30)
source.uri/source.html/source.baseUrlChromium cross-origin URI loading under the shell COEPsame-origin URI cookiessource.html persistent localStoragedocument-start ReactNativeWebView bootstrap and injectedJavaScriptBeforeContentLoaded/injectedJavaScript on source.htmlstrict ReactNativeWebView.postMessage bridge envelope in both directionsonMessage synthetic event with navigation fieldsonOpenWindow target delivery for source.htmlsuccessful onLoad/Start/End and onNavigationStateChangeref.reload on URI pagesref.injectJavaScript/postMessagelocal HTML fragment URL/callback behavioronShouldStartLoadWithRequest for local link clicks with native-shaped request and loading payloadsinitial-load onShouldStartLoadWithRequest for http(s) documents with the native other/top-frame/lockIdentifier payload allowed or denied through the lock callbackform-submit onShouldStartLoadWithRequest with navigationType formsubmit andfor a get formthe form data as the url queryresumed in placeref.stopLoading cancelling an in-flight reload with no following callbacksonError with the native NSURLErrorDomain code/description for a refused local connection and WebKitErrorDomain 103 for a port on the WebKit blocked listeach plus onLoadEnd and renderError(domaincodedescription)onHttpError with the native url/statusCode for a same-origin local HTTP errorinternal content scrollingrenderLoadingjavaScriptEnabled sandboxlayoutinherited clipping and visibilityparked/live presentation
Missing (16)
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 credentialsincluding cookies set by their own originand use ephemeral storage; iframe pixels in canvas screenshots; script injectionReactNativeWebView bootstrapand onOpenWindow for remote pageswhich get no bridge at all because a browser cannot script a cross-origin frame; cross-origin history truthfulness (goBack/goForward across documentstruthful canGoBack/canGoForward) plus reload and history-traversal policy decisions; initial-load decisions for data:/about:/file documentswhich stay ungated with no paired native ask observed; remote HTTP error statuses and refused remote connectionswhich a cross-origin frame never exposes to the browserand the HTTP status of a non-get form submit; allowsBackForwardNavigationGesturesuserAgentdataDetectorTypescacheEnabledincognitoscalesPageToFitoriginWhitelist enforcement