NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #356 most downloaded on pub.dev
A Flutter plugin that allows you to add an inline webview, to use an headless webview, and to open an in-app browser window.
Last release 8 months ago
04 Feb 2026
Ships unpredictably
gaps range from 8 days to 1.2 years
Nearly every release is documented
notes for 60 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
7 years old
123 releases · first in 2019
- Fixed README
- Fixed README
Fixed iOS toolbarTopTintColor InAppBrowser option
toolbarTopTintColor InAppBrowser optionInAppBrowserOptions.hideProgressBar when getting optionsInAppBrowser.isHidden method on Android and iOSOne column per quarter.
Fixed "Many crashes on iOS: Completion handler was not called" #1221
Fixed HeadlessInAppWebView default size on Android
Fixed possible null pointer exception in Android ChromeCustomTabsActivity.java
ChromeCustomTabsActivity.java- Fixed README
- Fixed LICENSE
Removed Android unsafe trust manager
Added Bitwise OR operator support for AndroidActionModeMenuItem class
AndroidActionModeMenuItem classTry to fix "Latest version 5.4.3 crashes on Android" #1159
Fixed "Latest version 5.4.3 crashes on Android" #1159
Fixed "Android error: package org.jetbrains.annotations does not exist import org.jetbrains.annotations.NotNull;" #1166
Updated docs for ChromeSafariBrowser.open and throw error on iOS if the url parameter use a different scheme then http or https
ChromeSafariBrowser.open and throw error on iOS if the url parameter use a different scheme then http or httpsFixed possible java.lang.NullPointerException in Runnable of InputAwareWebView.setInputConnectionTarget method
Runnable of InputAwareWebView.setInputConnectionTarget methodFixed "iOS flutter_inappwebview/URLRequest.swift:13: Fatal error: Unexpectedly found nil while unwrapping an Optional value" #1173
Fixed possible Android java.lang.NullPointerException in "InAppBrowserActivity.onCreateOptionsMenu" about "webView.getTitle()"
Merged "Xcode 14 build error: Stored properties cannot be marked potentially unavailable with '@available'" #1238 (thanks to CodeEagle)
Added setActionButton method to ChromeSafariBrowser class
setActionButton method to ChromeSafariBrowser classTry to fix "Latest version 5.4.2 crashes on Android - HeadlessInAppWebView.dispose" #1155
Managed iOS native detachFromEngine flutter plugin event and updated dispose methods
detachFromEngine flutter plugin event and updated dispose methodsHeadlessInAppWebViewManager.dispose and HeadlessInAppWebView.dispose methodsFixed Android default context menu over custom context menu on API Level 31+
Fixed "Android ServiceWorkerControllerCompat.setServiceWorkerClient(null) makes Webivew Plugin Crashes" #1151
Added onDownloadStartRequest event and deprecated old onDownloadStart event
getOriginalUrl method is cross-platform nowcompileSdkVersion to 31>=2.14.0 <3.0.0 and flutter version to >=2.5.0singleInstance option for Android ChromeSafariBrowser implementationonDownloadStartRequest event and deprecated old onDownloadStart eventshareState Android option for ChromeSafariBrowser classonZoomScaleChanged call for InAppBrowser classrequestImageRef method always null on iOSMerged "[Android] Explicitly export for the receiver defined in AndroidManifest" #1147 (thanks to AlexV525)
Fixed Android ChromeCustomTabsActivity not responding to the ActionBroadcastReceiver
ChromeCustomTabsActivity not responding to the ActionBroadcastReceiverFixed Android error in some cases when calling setServiceWorkerClient java method on ServiceWorkerManager initialization
setServiceWorkerClient java method on ServiceWorkerManager initializationAdded onLoad and onError callbacks in ScriptHtmlTagAttributes class used by InAppWebViewController.injectJavascriptFileFromUrl
onLoad and onError callbacks in ScriptHtmlTagAttributes class used by InAppWebViewController.injectJavascriptFileFromUrlInAppWebViewController.injectJavascriptFileFromAsset returns a Future<dynamic> type nowAdded support of allowingReadAccessTo iOS-specific WebView option for the WebView initialData parameter
allowingReadAccessTo iOS-specific WebView option for the WebView initialData parameteriosAllowingReadAccessTo iOS-specific parameter to the loadData WebView methodFixed some rare cases when iOS WKWebView scrollViewDidEndDragging event blocks the scroll gesture
scrollViewDidEndDragging event blocks the scroll gestureandroidOnScaleChanged WebView event is now deprecated. Use the new onZoomScaleChanged WebView event, that is available for both Android and iOS
initialSize property to the HeadlessInAppWebView classsetSize and getSize methods to the HeadlessInAppWebView classandroidOnScaleChanged WebView event is now deprecated. Use the new onZoomScaleChanged WebView event, that is available for both Android and iOSgetScale WebView method is now deprecated. Use the new getZoomScale WebView methodfinal keyword for all HeadlessInAppWebView eventsFixed "Android - Pull to refresh triggered when scrolling container inside a website" #765
Added isRunning method to the HeadlessInAppWebView class
isRunning method to the HeadlessInAppWebView classisRunning method to the InAppLocalhostServer classallowGoBackWithBackButton and shouldCloseOnBackButtonPressed Android-specific InAppBrowser optionsWebMessageListener javascript implementation not calling event listeners when onmessage is setonCreateContextMenu event on Android where hitTestResult has always null valueswindow.flutter_inappwebview is undefined when loading plugin scriptsFixed iOS "Unexpectedly found nil while unwrapping an Optional value: file flutter_inappwebview/WKUserContentController.swift, line 36" error when app
applePayAPIEnabled iOS-specific WebView option is enabledAdded WebMessageChannel and WebMessageListener features
WebMessageChannel and WebMessageListener featurescanScrollVertically and canScrollHorizontally webview methodssetSize method and size optiononOverScrolled WebView eventAndroidInAppWebViewController.getCurrentWebViewPackage is available now starting from Android API 21+5.6.4androidx.webkit:webkit to 1.4.0, androidx.browser:browser to 1.3.0, androidx.appcompat:appcompat to 1.2.0NavigationAction class on Android for androidHasGesture and androidIsRedirect propertiesscrollView.contentSize doesn't fit all the frame.size availableFetchRequest.body is a dynamic type nowAdded support for pull-to-refresh feature #395
Added a test for the pull-to-refresh feature when used on Android. It requires the useHybridComposition: true Android-specific option, otherwise it wi
useHybridComposition: true Android-specific option, otherwise it will throw an exception.Fixed missing MATCH_PARENT layout params to the WebView on Android when it is wrapped by PullToRefreshLayout
Fixed "Unsupported operation: Platform._operatingSystem" when compiling for Web again #507
Fixed "IOS scrolling crash the application" #707
Updated Android WebChromeClient.getDefaultVideoPoster
WebChromeClient.getDefaultVideoPosteruuid, device_info, intl, and mimeFixed "No bounce in inappwebview iOS" #696
Updated docs for iOS-specific options alwaysBounceVertical and alwaysBounceHorizontal
alwaysBounceVertical and alwaysBounceHorizontalFixed Android evaluateJavascript method when using contentWorld: ContentWorld.PAGE
evaluateJavascript method when using contentWorld: ContentWorld.PAGEAdded headers and statusCode properties to IOSURLResponse class
headers and statusCode properties to IOSURLResponse classFixed Android screenshot out of memory error
getFavicons WebView methodFixed missing verticalScrollbarThumbColor, verticalScrollbarTrackColor, horizontalScrollbarThumbColor, horizontalScrollbarTrackColor Android-specific
verticalScrollbarThumbColor, verticalScrollbarTrackColor, horizontalScrollbarThumbColor, horizontalScrollbarTrackColor Android-specific WebView options when calling native java setOptions() method on AndroidAdded verticalScrollbarThumbColor, verticalScrollbarTrackColor, horizontalScrollbarThumbColor, horizontalScrollbarTrackColor Android-specific WebView
verticalScrollbarThumbColor, verticalScrollbarTrackColor, horizontalScrollbarThumbColor, horizontalScrollbarTrackColor Android-specific WebView optionsAdded iosOnNavigationResponse and iosShouldAllowDeprecatedTLS iOS-specific WebView events
allowUniversalAccessFromFileURLs and allowFileAccessFromFileURLs WebView options also for iOS (also thanks to liranhao)IOSCookieManager class and CookieManager.instance().ios.getAllCookies iOS-specific methodUserScript, UserScriptInjectionTime, ContentWorld, AndroidWebViewFeature, AndroidServiceWorkerController, AndroidServiceWorkerClient, ScreenshotConfiguration, IOSWKPDFConfiguration, URLRequest classesinitialUserScripts WebView optionaddUserScript, addUserScripts, removeUserScript, removeUserScripts, removeUserScriptsByGroupName, removeAllUserScripts, callAsyncJavaScript, isSecureContext WebView methodscontentWorld argument to evaluateJavascript WebView methodisDirectionalLockEnabled, mediaType, pageZoom, limitsNavigationsToAppBoundDomains, useOnNavigationResponse, applePayAPIEnabled, allowingReadAccessTo, disableLongPressContextMenuOnLinks iOS-specific WebView optionshandlesURLScheme, createPdf, createWebArchiveData iOS-specific WebView methodsiosOnNavigationResponse and iosShouldAllowDeprecatedTLS iOS-specific WebView eventsiosAnimated optional argument to zoomBy WebView methodscreenshotConfiguration optional argument to takeScreenshot WebView methodscriptHtmlTagAttributes optional argument to injectJavascriptFileFromUrl WebView methodcssLinkHtmlTagAttributes optional argument to injectCSSFileFromUrl WebView methodiosAllowingReadAccessTo iOS-specific optional argument to loadUrl WebView methodShouldOverrideUrlLoadingRequest and CreateWindowRequest classestoolbarTopTranslucent, toolbarTopTintColor, toolbarBottomTintColor, toolbarTopBarTintColor ios-specific InAppBrowser optionsclearHistory webview method implementation on Androidnull1.22.2 and Dart SDK >=2.12.0-0 <3.0.0>= 12allowUniversalAccessFromFileURLs and allowFileAccessFromFileURLs WebView options moved from Android-specific options to cross-platform optionscallAsyncJavaScript name to the list of javaScriptHandlerForbiddenNamessaveWebArchive WebView method from Android-specific to cross-platformprogressBar InAppBroswer from Android-specific option to cross-platform option and renamed to hideProgressBarHttpAuthChallenge to URLAuthenticationChallengebasicConstraints, subjectKeyIdentifier, authorityKeyIdentifier, certificatePolicies, cRLDistributionPoints, authorityInfoAccess attributes type of X509CertificateShouldOverrideUrlLoadingAction class to NavigationActionPolicyProtectionSpace class to URLProtectionSpaceProtectionSpaceHttpAuthCredentials to URLProtectionSpaceHttpAuthCredentialsCreateWindowRequest class to CreateWindowActioninitialUrl to initialUrlRequest WebView attribute and made it of type URLRequesttoolbarTop InAppBrowser cross-platform option to hideToolbarToptoolbarBottom InAppBrowser ios-specific option to hideToolbarBottomdebuggingEnabled WebView option; on Android you should use now the AndroidInAppWebViewController.setWebContentsDebuggingEnabled(bool debuggingEnabled) static method; on iOS, debugging is always enabledandroidOnRequestFocus event because it is never calledinitialHeaders WebView attribute. Use URLRequest.headers attributeheaders argument from loadFile WebView methodheaders argument from openFile InAppBrowser methodheaders argument from loadUrl WebView method, renamed the url argument to urlRequest and made it of type URLRequestheaders argument from openFile InAppBrowser methodheaders argument from openUrl InAppBrowser method, renamed the url argument to urlRequest and made it of type URLRequestfallback argument from ChromeSafariBrowser constructor. Check for availability of ChromeSafariBrowser if you want show one or the other.scheme argument from onLoadResourceCustomScheme WebView event. Use the Uri url parameter now.ShouldOverrideUrlLoadingRequest class and replaced with NavigationActionzoomBy WebView method signatureurlFile argument of injectCSSFileFromUrl WebView method to UriurlFile argument of injectJavascriptFileFromUrl WebView method to UrigetOriginalUrl Android-specific WebView method to UrigetSafeBrowsingPrivacyPolicyUrl Android-specific WebView method to Uriurl argument of onLoadStart, onLoadStop, onLoadError, onLoadHttpError, onLoadResourceCustomScheme, onUpdateVisitedHistory, onPrint, onPageCommitVisible, androidOnSafeBrowsingHit, androidOnRenderProcessUnresponsive, androidOnRenderProcessResponsive, androidOnFormResubmission, androidOnReceivedTouchIconUrl WebView events to UribaseUrl and androidHistoryUrl arguments of loadData WebView method and openData InAppBrowser methodopenUrl InAppBrowser method to openUrlRequesturl argument of openWithSystemBrowser InAppBrowser method to UriString to ColorString to ColorShouldOverrideUrlLoadingRequest, ServerTrustChallenge and ClientCertChallenge classesurl attribute to Uri for JsAlertRequest, JsAlertConfirm, JsPromptRequest classesUpdated onCreateWindow, onJsAlert, onJsConfirm, onJsPrompt webview events
onCreateWindow, onJsAlert, onJsConfirm, onJsPrompt webview eventsonCloseWindow, onTitleChanged, onWindowFocus, onWindowBlur webview eventsandroidOnRequestFocus, androidOnReceivedIcon, androidOnReceivedTouchIconUrl, androidOnJsBeforeUnload, androidOnReceivedLoginRequest Android-specific webview eventsdisableDefaultErrorPage Android-specific webview optionisAvailable ChromeSafariBrowser static methodonCreateWindow, onJsAlert, onJsConfirm, onJsPrompt webview eventOnCreateWindowRequest class to CreateWindowRequestReverted calling handler.post on Android when a WebView is created
handler.post on Android when a WebView is createdwindowIdAdded requestFocusNodeHref, requestImageRef, getMetaTags, getMetaThemeColor, getScrollX, getScrollY, getCertificate webview methods
requestFocusNodeHref, requestImageRef, getMetaTags, getMetaThemeColor, getScrollX, getScrollY, getCertificate webview methodsWebStorage, LocalStorage and SessionStorage class to manage window.localStorage and window.sessionStorage JavaScript Web Storage APIsupportZoom webview option also on iOSHttpOnly, SameSite cookie optionsCookie classanimated option to scrollTo and scrollBy webview methodsServerTrustChallenge class for iOS (class used by the onReceivedServerTrustAuthRequest event)contentInsetAdjustmentBehavior webview iOS-specific optioncopy methods for webview options classSslCertificate class and X509Certificate class and parservalues property for all the custom EnumszoomBy, setOptions webview methods on AndroiddatabaseEnabled android webview option default value to trueverticalScrollBarEnabled and horizontalScrollBarEnabled on AndroidpauseTimers on iOS when the WebView has been disposedignoresViewportScaleLimits, dataDetectorTypes, suppressesIncrementalRendering, selectionGranularity iOS-specific option when used in initialOptionsgetFavicons methodHttpAuthCredentialDatabase.removeHttpAuthCredential on AndroidtakeScreenshot was not working on AndroidAfter upgrade to Android embedding V2, still get Shared.activity is null / NullPointerException on android.content.Context.getResources() #390evaluateJavascript webview method now returns null on iOS if the evaluated JavaScript source returns nullgetHtml webview method now could return null if it was unable to get it.supportZoom webview option to cross-platformbuiltInZoomControls android webview options changed default value to trueServerTrustChallenge class used by the onReceivedServerTrustAuthRequest eventgetOptions could return null nowHttpAuthCredentialDatabase.getAllAuthCredentials method return typeFixed pub.dev Health suggestions and Analysis suggestions
Reverted default InAppWebView.gestureRecognizers value to null on Android
InAppWebView.gestureRecognizers value to null on AndroidUpdated Android context menu workaround
onCreateContextMenu event on iOS also when the context menu is disabled in order to have the same effect as Androidoptions attribute to ContextMenu class and created ContextMenuOptions classonEnterFullscreen, onExitFullscreen webview events #275<input type="file" accept="image/*" capture> #353overScrollMode, networkAvailable, scrollBarStyle, verticalScrollbarPosition, scrollBarDefaultDelayBeforeFade, scrollbarFadingEnabled, scrollBarFadeDuration, rendererPriorityPolicy, useShouldInterceptRequest, useOnRenderProcessGone webview options on AndroidpageDown, pageUp, saveWebArchive, zoomIn, zoomOut, clearHistory webview methods on AndroidgetCurrentWebViewPackage static webview method on AndroidsetContextMenu, clearFocus methods to webview controlleronPageCommitVisible webview eventandroidShouldInterceptRequest, androidOnRenderProcessUnresponsive, androidOnRenderProcessResponsive, androidOnRenderProcessGone, androidOnFormResubmission, androidOnScaleChanged Android eventstoString() method to various classes in order to have a better output instead of simply Instance of ...Print preview is not working? java.lang.IllegalStateException: Can print only from an activity #128onJsAlert, onJsConfirm, onJsPrompt for InAppBrowser on AndroidonActivityResult for InAppBrowser on AndroidInAppBrowser.openWithSystemBrowser crash on iOS #358Attempt to invoke virtual method 'java.util.Set java.util.HashMap.entrySet()' on a null object reference #367allowsAirPlayForMediaPlayback iOS webview options implementationclearClientCertPreferences, getSafeBrowsingPrivacyPolicyUrl, setSafeBrowsingWhitelist webview methods are static nowonDidCommit; it has been renamed to onPageCommitVisible and made cross-platformcontextMenu webview attribute is final nowUpdated Android build.gradle version and some androidx properties
Added ContextMenu and ContextMenuItem classes #235
ContextMenu and ContextMenuItem classes #235onCreateContextMenu, onHideContextMenu, onContextMenuActionItemClicked context menu eventscontextMenu to WebViewdisableContextMenu WebView optiongetSelectedText, getHitTestResult methods to WebView ControllerConfirmation dialog (onbeforeunload) displayed after popped from webview page #337CookieManager.setCookie expiresDate optionScrolling not smooth on iOS #341LongPressHitTestResult to InAppWebViewHitTestResult.LongPressHitTestResultType to InAppWebViewHitTestResultType.Added HeadlessInAppWebView class to be able to use WebView in headless mode
HeadlessInAppWebView class to be able to use WebView in headless modeclose, addMenuItem, addMenuItems methods to ChromeSafariBrowserChromeSafariBrowserMenuItem class in order to create custom menu item for ChromeSafariBrowserInAppWebView.channel null when used by InAppBrowserActivity on androidInAppWebViewWidgetOptions to InAppWebViewGroupOptions.Added Promise javascript polyfill for webviews that doesn't support it for window.flutter_inappwebview.callHandler
Promise javascript polyfill for webviews that doesn't support it for window.flutter_inappwebview.callHandlergetDefaultUserAgent static method to InAppWebViewControlleronUpdateVisitedHistory, onPrint, onLongPressHitTestResult eventandroidOnGeolocationPermissionsHidePrompt event for Android webviewiosOnWebContentProcessDidTerminate, iosOnDidCommit, iosOnDidReceiveServerRedirectForProvisionalNavigation events for iOS webviewsupportMultipleWindows webview option for AndroidregexToCancelSubFramesLoading webview option for Android to cancel subframe requests on shouldOverrideUrlLoading event based on a Regular ExpressiongetContentHeight, zoomBy, printCurrentPage, getScale methodsgetOriginalUrl webview method for AndroidreloadFromOrigin, hasOnlySecureContent webview methods for iOSautomaticallyAdjustsScrollIndicatorInsets, accessibilityIgnoresInvertColors, decelerationRate, alwaysBounceVertical, alwaysBounceHorizontal, scrollsToTop, isPagingEnabled, maximumZoomScale, minimumZoomScale webview options for iOSWebStorageManager class which manages the web storage used by WebView instancespackageName #229 and keepAliveEnabled ChromeCustomTab options for AndroidclearCache for AndroiddomStorageEnabled and databaseEnabled options to true for Androidprompt was called on Android Q." #262 (thanks to AlexVincent525)InAppBrowser for some controller methods not exposed.shouldOverrideUrlLoading event:
url parameter has been moved inside an instance of ShouldOverrideUrlLoadingRequest classShouldOverrideUrlLoadingAction to allow or cancel navigation instead of cancel every time the requestonTargetBlank to onCreateWindowuseOnTargetBlank webview optioncontroller.android and all the webview's controller methods for iOS inside controller.iosonSafeBrowsingHit to androidOnSafeBrowsingHitonGeolocationPermissionsShowPrompt to androidOnGeolocationPermissionsShowPromptonPermissionRequest to androidOnPermissionRequestInAppWebViewWidgetOptions, InAppBrowserClassOptions and ChromeSafariBrowserClassOptions classesonNavigationStateChange to onUpdateVisitedHistoryaddShareButton option to addDefaultShareMenuItemonLoaded to onCompletedInitialLoadAdded pause and resume methods for Android.
pause and resume methods for Android.pauseTimers and resumeTimers methods.historyUrl optional parameter for loadData and openData methods and InAppWebViewInitialData class. It is used only on Android.Your coding agent can read these notes before it upgrades. Set up the MCP server →