Skip to content

Upgrading webview_flutter_android 2 to 3

Breaking2.10.4 → 3.16.9Breaking2Platform9New16Changed13Fixed15Other17

BreakingUpgrade verdict

2 breaking changes and 9 platform requirement changes.

  • Apps still on the old v1 Android embedding are no longer supported and must move to the v2 embedding.
  • This version relies on a new, incompatible version of the shared WebView interface, so existing code may need updates.
  • You need Flutter 3.24 or Dart 3.5 or newer to use this version.
  • This version requires Flutter 3.22 or newer and Dart 3.4 or newer.
Top 5 of 11 that need code or config changes

Dart SDK requirement changed in 3.16.9: >=2.14.0 <3.0.0 → ^3.5.0.

Flutter requirement changed in 3.16.9: >=3.0.0 → >=3.24.0.

Breaking2
Removes support for apps using the v1 Android embedding.
Updates the platform implementation to the 2.0.0 release of webview_flutter_platform_interface, a breaking change.
webview_flutter_platform_interface
Platform9
Updates minimum supported SDK version to Flutter 3.24/Dart 3.5.
Updates minimum supported SDK version to Flutter 3.22/Dart 3.4.
Updates minimum supported SDK version to Flutter 3.16/Dart 3.2.
Updates minimum supported SDK version to Flutter 3.13/Dart 3.1.
Updates compileSdk to 34.
compileSdk
Updates minimum supported SDK version to Flutter 3.10/Dart 3.0.
Updates minimum supported SDK version to Flutter 3.7/Dart 2.19.
Updates the minimum Flutter version to 3.3.
Updates compileSdkVersion to 33.
compileSdkVersion

Generated by DepDelta from published Dart source. Not mixed with prose notes.

  • removed: class AndroidWebView implements WebViewPlatform
  • removed: method AndroidWebView.build({ required BuildContext context, required CreationParams creationParams, required WebViewPlatformCallbacksHandler webViewPlatformCallbacksHandler, required JavascriptChannelRegistry javascriptChannelRegistry, WebViewPlatformCreatedCallback? onWebViewPlatformCreated, Set<Factory<OneSequenceGestureRecognizer>>? gestureRecognizers, }): Widget
  • removed: method AndroidWebView.clearCookies(): Future<bool>
  • removed: class WebViewAndroidCookieManager extends WebViewCookieManagerPlatform
  • removed: method WebViewAndroidCookieManager.clearCookies(): Future<bool>
  • removed: method WebViewAndroidCookieManager.setCookie(WebViewCookie cookie): Future<void>
  • removed: class WebViewAndroidDownloadListener extends android_webview.DownloadListener
  • removed: class WebViewAndroidJavaScriptChannel extends android_webview.JavaScriptChannel
  • removed: class WebViewAndroidPlatformController extends WebViewPlatformController
  • removed: class WebViewAndroidWebChromeClient extends android_webview.WebChromeClient
  • removed: class WebViewAndroidWebViewClient extends android_webview.WebViewClient
  • removed: class WebViewAndroidWidget extends StatefulWidget
  • removed: class WebViewProxy
  • removed: ctor WebViewAndroidDownloadListener({required this.loadUrl})
  • removed: ctor WebViewAndroidJavaScriptChannel( String channelName, this.javascriptChannelRegistry)
  • removed: ctor WebViewAndroidPlatformController({ required bool useHybridComposition, required CreationParams creationParams, required this.callbacksHandler, required this.javascriptChannelRegistry, @visibleForTesting this.webViewProxy = …, @visibleForTesting this.flutterAssetManager = …, @visibleForTesting android_webview.WebStorage? webStorage, })
  • removed: ctor WebViewAndroidWebViewClient({ required this.onPageStartedCallback, required this.onPageFinishedCallback, required this.onWebResourceErrorCallback, })
  • removed: ctor WebViewAndroidWebViewClient.handlesNavigation({ required this.onPageStartedCallback, required this.onPageFinishedCallback, required this.onWebResourceErrorCallback, required this.onNavigationRequestCallback, required this.loadUrl, })
  • removed: ctor WebViewAndroidWidget({ Key? key, required this.creationParams, required this.useHybridComposition, required this.callbacksHandler, required this.javascriptChannelRegistry, required this.onBuildWidget, @visibleForTesting this.webViewProxy = …, @visibleForTesting this.flutterAssetManager = …, @visibleForTesting this.webStorage, })
  • removed: ctor WebViewProxy()
  • removed: field WebViewAndroidJavaScriptChannel.javascriptChannelRegistry: final JavascriptChannelRegistry
  • removed: field WebViewAndroidPlatformController.WebViewAndroidJavaScriptChannel>: final Map<String, WebViewAndroidJavaScriptChannel>
  • removed: field WebViewAndroidPlatformController.callbacksHandler: final WebViewPlatformCallbacksHandler
  • removed: field WebViewAndroidPlatformController.downloadListener: late final WebViewAndroidDownloadListener
  • removed: field WebViewAndroidPlatformController.flutterAssetManager: final android_webview.FlutterAssetManager
  • removed: field WebViewAndroidPlatformController.javascriptChannelRegistry: final JavascriptChannelRegistry
  • removed: field WebViewAndroidPlatformController.webChromeClient: late final WebViewAndroidWebChromeClient
  • removed: field WebViewAndroidPlatformController.webStorage: final android_webview.WebStorage
  • removed: field WebViewAndroidPlatformController.webView: late final android_webview.WebView
  • removed: field WebViewAndroidPlatformController.webViewProxy: final WebViewProxy
  • removed: field WebViewAndroidWidget.callbacksHandler: final WebViewPlatformCallbacksHandler
  • removed: field WebViewAndroidWidget.creationParams: final CreationParams
  • removed: field WebViewAndroidWidget.flutterAssetManager: final android_webview.FlutterAssetManager
  • removed: field WebViewAndroidWidget.javascriptChannelRegistry: final JavascriptChannelRegistry
  • removed: field WebViewAndroidWidget.useHybridComposition: final bool
  • removed: field WebViewAndroidWidget.webStorage: final android_webview.WebStorage?
  • removed: field WebViewAndroidWidget.webViewProxy: final WebViewProxy
  • removed: get WebViewAndroidPlatformController.webViewClient: WebViewAndroidWebViewClient
  • removed: get WebViewAndroidWebViewClient.handlesNavigation: bool
  • removed: method WebViewAndroidDownloadListener.Function(String url, Map<String, String>? headers): Future<void>
  • removed: method WebViewAndroidDownloadListener.Function({ required String url, required bool isForMainFrame, }): FutureOr<bool>
  • removed: method WebViewAndroidDownloadListener.onDownloadStart( String url, String userAgent, String contentDisposition, String mimetype, int contentLength, ): void
  • removed: method WebViewAndroidJavaScriptChannel.postMessage(String message): void
  • removed: method WebViewAndroidPlatformController.addJavascriptChannels(Set<String> javascriptChannelNames): Future<void>
  • removed: method WebViewAndroidPlatformController.canGoBack(): Future<bool>
  • removed: method WebViewAndroidPlatformController.canGoForward(): Future<bool>
  • removed: method WebViewAndroidPlatformController.clearCache(): Future<void>
  • removed: method WebViewAndroidPlatformController.currentUrl(): Future<String?>
  • removed: method WebViewAndroidPlatformController.evaluateJavascript(String javascript): Future<String>
  • removed: method WebViewAndroidPlatformController.getScrollX(): Future<int>
  • removed: method WebViewAndroidPlatformController.getScrollY(): Future<int>
  • removed: method WebViewAndroidPlatformController.getTitle(): Future<String?>
  • removed: method WebViewAndroidPlatformController.goBack(): Future<void>
  • removed: method WebViewAndroidPlatformController.goForward(): Future<void>
  • removed: method WebViewAndroidPlatformController.loadFile(String absoluteFilePath): Future<void>
  • removed: method WebViewAndroidPlatformController.loadFlutterAsset(String key): Future<void>
  • removed: method WebViewAndroidPlatformController.loadHtmlString(String html, {String? baseUrl}): Future<void>
  • removed: method WebViewAndroidPlatformController.loadRequest( WebViewRequest request, ): Future<void>
  • removed: method WebViewAndroidPlatformController.loadUrl( String url, Map<String, String>? headers, ): Future<void>
  • removed: method WebViewAndroidPlatformController.reload(): Future<void>
  • removed: method WebViewAndroidPlatformController.removeJavascriptChannels( Set<String> javascriptChannelNames, ): Future<void>
  • removed: method WebViewAndroidPlatformController.runJavascript(String javascript): Future<void>
  • removed: method WebViewAndroidPlatformController.runJavascriptReturningResult(String javascript): Future<String>
  • removed: method WebViewAndroidPlatformController.scrollBy(int x, int y): Future<void>
  • removed: method WebViewAndroidPlatformController.scrollTo(int x, int y): Future<void>
  • removed: method WebViewAndroidPlatformController.updateSettings(WebSettings setting): Future<void>
  • removed: method WebViewAndroidWebChromeClient.Function(int progress): void
  • removed: method WebViewAndroidWebChromeClient.onProgressChanged(android_webview.WebView webView, int progress): void
  • removed: method WebViewAndroidWebViewClient.Function(String url): void
  • removed: method WebViewAndroidWebViewClient.Function(String url, Map<String, String>? headers): Future<void>
  • removed: method WebViewAndroidWebViewClient.Function(WebResourceError error): void
  • removed: method WebViewAndroidWebViewClient.Function({ required String url, required bool isForMainFrame, }): FutureOr<bool>
  • removed: method WebViewAndroidWebViewClient.onPageFinished(android_webview.WebView webView, String url): void
  • removed: method WebViewAndroidWebViewClient.onPageStarted(android_webview.WebView webView, String url): void
  • removed: method WebViewAndroidWebViewClient.onReceivedError( android_webview.WebView webView, int errorCode, String description, String failingUrl, ): void
  • removed: method WebViewAndroidWebViewClient.onReceivedRequestError( android_webview.WebView webView, android_webview.WebResourceRequest request, android_webview.WebResourceError error, ): void
  • removed: method WebViewAndroidWebViewClient.requestLoading( android_webview.WebView webView, android_webview.WebResourceRequest request, ): void
  • removed: method WebViewAndroidWebViewClient.urlLoading(android_webview.WebView webView, String url): void
  • removed: method WebViewAndroidWidget.Function(WebViewAndroidPlatformController controller): Widget
  • removed: method WebViewAndroidWidget.createState(): State<StatefulWidget>
  • removed: method WebViewProxy.createWebView({required bool useHybridComposition}): android_webview.WebView
  • removed: method WebViewProxy.setWebContentsDebuggingEnabled(bool enabled): Future<void>
  • added: class AndroidCustomViewWidget extends StatelessWidget
  • added: class AndroidJavaScriptChannelParams extends JavaScriptChannelParams
  • added: class AndroidNavigationDelegate extends PlatformNavigationDelegate
  • added: class AndroidNavigationDelegateCreationParams extends PlatformNavigationDelegateCreationParams
  • added: class AndroidUrlChange extends UrlChange
  • added: class AndroidWebResourceError extends WebResourceError
  • added: class AndroidWebViewController extends PlatformWebViewController
  • added: class AndroidWebViewControllerCreationParams extends PlatformWebViewControllerCreationParams
  • added: class AndroidWebViewCookieManager extends PlatformWebViewCookieManager
  • added: class AndroidWebViewCookieManagerCreationParams extends PlatformWebViewCookieManagerCreationParams
  • added: class AndroidWebViewPermissionRequest extends PlatformWebViewPermissionRequest
  • added: class AndroidWebViewPermissionResourceType extends WebViewPermissionResourceType
  • added: class AndroidWebViewPlatform extends WebViewPlatform
  • added: class AndroidWebViewWidget extends PlatformWebViewWidget
  • added: class AndroidWebViewWidgetCreationParams extends PlatformWebViewWidgetCreationParams
  • added: class FileSelectorParams
  • added: class GeolocationPermissionsRequestParams
  • added: class GeolocationPermissionsResponse
  • added: ctor AndroidCustomViewWidget.private({ super.key, required this.controller, required this.customView, @visibleForTesting InstanceManager? instanceManager, @visibleForTesting this.platformViewsServiceProxy = …, })
  • added: ctor AndroidJavaScriptChannelParams({ required super.name, required super.onMessageReceived, @visibleForTesting AndroidWebViewProxy webViewProxy = …, })
  • added: ctor AndroidJavaScriptChannelParams.fromJavaScriptChannelParams( JavaScriptChannelParams params, { @visibleForTesting AndroidWebViewProxy webViewProxy = …, })
  • added: ctor AndroidNavigationDelegate(PlatformNavigationDelegateCreationParams params)
  • added: ctor AndroidNavigationDelegateCreationParams.fromPlatformNavigationDelegateCreationParams( PlatformNavigationDelegateCreationParams params, { @visibleForTesting AndroidWebViewProxy androidWebViewProxy = …, })
  • added: ctor AndroidUrlChange({required super.url, required this.isReload})
  • added: ctor AndroidWebViewController(PlatformWebViewControllerCreationParams params)
  • added: ctor AndroidWebViewControllerCreationParams({ @visibleForTesting this.androidWebViewProxy = …, @visibleForTesting android_webview.WebStorage? androidWebStorage, })
  • added: ctor AndroidWebViewControllerCreationParams.fromPlatformWebViewControllerCreationParams( PlatformWebViewControllerCreationParams params, { @visibleForTesting AndroidWebViewProxy androidWebViewProxy = …, @visibleForTesting android_webview.WebStorage? androidWebStorage, })
  • added: ctor AndroidWebViewCookieManager( PlatformWebViewCookieManagerCreationParams params, { CookieManager? cookieManager, })
  • added: ctor AndroidWebViewCookieManagerCreationParams.fromPlatformWebViewCookieManagerCreationParams( PlatformWebViewCookieManagerCreationParams params)
  • added: ctor AndroidWebViewWidget(PlatformWebViewWidgetCreationParams params)
  • added: ctor AndroidWebViewWidgetCreationParams({ super.key, required super.controller, super.layoutDirection, super.gestureRecognizers, this.displayWithHybridComposition = …, @visibleForTesting InstanceManager? instanceManager, @visibleForTesting this.platformViewsServiceProxy = …, })
  • added: ctor AndroidWebViewWidgetCreationParams.fromPlatformWebViewWidgetCreationParams( PlatformWebViewWidgetCreationParams params, { bool displayWithHybridComposition = …, @visibleForTesting InstanceManager? instanceManager, @visibleForTesting PlatformViewsServiceProxy platformViewsServiceProxy = …, })
  • added: ctor FileSelectorParams({ required this.isCaptureEnabled, required this.acceptTypes, this.filenameHint, required this.mode, })
  • added: ctor GeolocationPermissionsRequestParams({ required this.origin, })
  • added: ctor GeolocationPermissionsResponse({ required this.allow, required this.retain, })
  • added: enum FileSelectorMode
  • added: field AndroidCustomViewWidget.controller: final PlatformWebViewController
  • added: field AndroidCustomViewWidget.customView: final android_webview.View
  • added: field AndroidCustomViewWidget.instanceManager: final InstanceManager
  • added: field AndroidCustomViewWidget.platformViewsServiceProxy: final PlatformViewsServiceProxy
  • added: field AndroidNavigationDelegateCreationParams.androidWebViewProxy: final AndroidWebViewProxy
  • added: field AndroidUrlChange.isReload: final bool
  • added: field AndroidWebResourceError.failingUrl: final String?
  • added: field AndroidWebViewController.AndroidJavaScriptChannelParams>: final Map<String, AndroidJavaScriptChannelParams>
  • added: field AndroidWebViewControllerCreationParams.androidWebStorage: final android_webview.WebStorage
  • added: field AndroidWebViewControllerCreationParams.androidWebViewProxy: final AndroidWebViewProxy
  • added: field AndroidWebViewWidgetCreationParams.displayWithHybridComposition: final bool
  • added: field AndroidWebViewWidgetCreationParams.instanceManager: final InstanceManager
  • added: field AndroidWebViewWidgetCreationParams.platformViewsServiceProxy: final PlatformViewsServiceProxy
  • added: field FileSelectorParams.acceptTypes: final List<String>
  • added: field FileSelectorParams.filenameHint: final String?
  • added: field FileSelectorParams.isCaptureEnabled: final bool
  • added: field FileSelectorParams.mode: final FileSelectorMode
  • added: field GeolocationPermissionsRequestParams.origin: final String
  • added: field GeolocationPermissionsResponse.allow: final bool
  • added: field GeolocationPermissionsResponse.retain: final bool
  • added: get AndroidNavigationDelegate.androidDownloadListener: android_webview.DownloadListener
  • added: get AndroidNavigationDelegate.androidWebChromeClient: android_webview.WebChromeClient
  • added: get AndroidNavigationDelegate.androidWebViewClient: android_webview.WebViewClient
  • added: get AndroidWebViewController.webViewIdentifier: int
  • added: get AndroidWebViewWidgetCreationParams.hashCode: int
  • added: member FileSelectorMode.open
  • added: member FileSelectorMode.openMultiple
  • added: member FileSelectorMode.save
  • added: method AndroidCustomViewWidget.build(BuildContext context): Widget
  • added: method AndroidNavigationDelegate.setOnHttpAuthRequest( HttpAuthRequestCallback onHttpAuthRequest, ): Future<void>
  • added: method AndroidNavigationDelegate.setOnHttpError( HttpResponseErrorCallback onHttpError, ): Future<void>
  • added: method AndroidNavigationDelegate.setOnLoadRequest( LoadRequestCallback onLoadRequest, ): Future<void>
  • added: method AndroidNavigationDelegate.setOnNavigationRequest( NavigationRequestCallback onNavigationRequest, ): Future<void>
  • added: method AndroidNavigationDelegate.setOnPageFinished( PageEventCallback onPageFinished, ): Future<void>
  • added: method AndroidNavigationDelegate.setOnPageStarted( PageEventCallback onPageStarted, ): Future<void>
  • added: method AndroidNavigationDelegate.setOnProgress( ProgressCallback onProgress, ): Future<void>
  • added: method AndroidNavigationDelegate.setOnUrlChange(UrlChangeCallback onUrlChange): Future<void>
  • added: method AndroidNavigationDelegate.setOnWebResourceError( WebResourceErrorCallback onWebResourceError, ): Future<void>
  • added: method AndroidWebViewController.Function(FileSelectorParams): Future<List<String>>
  • added: method AndroidWebViewController.Function(JavaScriptAlertDialogRequest request): Future<void>
  • added: method AndroidWebViewController.Function(JavaScriptConfirmDialogRequest request): Future<bool>
  • added: method AndroidWebViewController.Function(JavaScriptConsoleMessage consoleMessage): void
  • added: method AndroidWebViewController.Function(JavaScriptTextInputDialogRequest request): Future<String>
  • added: method AndroidWebViewController.Function(PlatformWebViewPermissionRequest): void
  • added: method AndroidWebViewController.Function(ScrollPositionChange scrollPositionChange): void
  • added: method AndroidWebViewController.addJavaScriptChannel( JavaScriptChannelParams javaScriptChannelParams, ): Future<void>
  • added: method AndroidWebViewController.canGoBack(): Future<bool>
  • added: method AndroidWebViewController.canGoForward(): Future<bool>
  • added: method AndroidWebViewController.clearCache(): Future<void>
  • added: method AndroidWebViewController.clearLocalStorage(): Future<void>
  • added: method AndroidWebViewController.currentUrl(): Future<String?>
  • added: method AndroidWebViewController.enableZoom(bool enabled): Future<void>
  • added: method AndroidWebViewController.getScrollPosition(): Future<Offset>
  • added: method AndroidWebViewController.getTitle(): Future<String?>
  • added: method AndroidWebViewController.getUserAgent(): Future<String?>
  • added: method AndroidWebViewController.goBack(): Future<void>
  • added: method AndroidWebViewController.goForward(): Future<void>
  • added: method AndroidWebViewController.loadFile( String absoluteFilePath, ): Future<void>
  • added: method AndroidWebViewController.loadFlutterAsset( String key, ): Future<void>
  • added: method AndroidWebViewController.loadHtmlString( String html, { String? baseUrl, }): Future<void>
  • added: method AndroidWebViewController.loadRequest( LoadRequestParams params, ): Future<void>
  • added: method AndroidWebViewController.reload(): Future<void>
  • added: method AndroidWebViewController.removeJavaScriptChannel(String javaScriptChannelName): Future<void>
  • added: method AndroidWebViewController.runJavaScript(String javaScript): Future<void>
  • added: method AndroidWebViewController.runJavaScriptReturningResult(String javaScript): Future<Object>
  • added: method AndroidWebViewController.scrollBy(int x, int y): Future<void>
  • added: method AndroidWebViewController.scrollTo(int x, int y): Future<void>
  • added: method AndroidWebViewController.setBackgroundColor(Color color): Future<void>
  • added: method AndroidWebViewController.setCustomWidgetCallbacks({ required OnShowCustomWidgetCallback? onShowCustomWidget, required OnHideCustomWidgetCallback? onHideCustomWidget, }): Future<void>
  • added: method AndroidWebViewController.setGeolocationPermissionsPromptCallbacks({ OnGeolocationPermissionsShowPrompt? onShowPrompt, OnGeolocationPermissionsHidePrompt? onHidePrompt, }): Future<void>
  • added: method AndroidWebViewController.setJavaScriptMode(JavaScriptMode javaScriptMode): Future<void>
  • added: method AndroidWebViewController.setMediaPlaybackRequiresUserGesture(bool require): Future<void>
  • added: method AndroidWebViewController.setOnConsoleMessage( void Function(JavaScriptConsoleMessage consoleMessage) onConsoleMessage): Future<void>
  • added: method AndroidWebViewController.setOnJavaScriptAlertDialog( Future<void> Function(JavaScriptAlertDialogRequest request) onJavaScriptAlertDialog): Future<void>
  • added: method AndroidWebViewController.setOnJavaScriptConfirmDialog( Future<bool> Function(JavaScriptConfirmDialogRequest request) onJavaScriptConfirmDialog): Future<void>
  • added: method AndroidWebViewController.setOnJavaScriptTextInputDialog( Future<String> Function(JavaScriptTextInputDialogRequest request) onJavaScriptTextInputDialog): Future<void>
  • added: method AndroidWebViewController.setOnPlatformPermissionRequest( void Function( PlatformWebViewPermissionRequest request, ) onPermissionRequest, ): Future<void>
  • added: method AndroidWebViewController.setOnScrollPositionChange( void Function(ScrollPositionChange scrollPositionChange)? onScrollPositionChange): Future<void>
  • added: method AndroidWebViewController.setOnShowFileSelector( Future<List<String>> Function(FileSelectorParams params)? onShowFileSelector, ): Future<void>
  • added: method AndroidWebViewController.setPlatformNavigationDelegate( covariant AndroidNavigationDelegate handler): Future<void>
  • added: method AndroidWebViewController.setTextZoom(int textZoom): Future<void>
  • added: method AndroidWebViewController.setUserAgent(String? userAgent): Future<void>
  • added: method AndroidWebViewCookieManager.clearCookies(): Future<bool>
  • added: method AndroidWebViewCookieManager.setAcceptThirdPartyCookies( AndroidWebViewController controller, bool accept, ): Future<void>
  • added: method AndroidWebViewCookieManager.setCookie(WebViewCookie cookie): Future<void>
  • added: method AndroidWebViewPermissionRequest.deny(): Future<void>
  • added: method AndroidWebViewPermissionRequest.grant(): Future<void>
  • added: method AndroidWebViewPlatform.createPlatformCookieManager( PlatformWebViewCookieManagerCreationParams params, ): AndroidWebViewCookieManager
  • added: method AndroidWebViewPlatform.createPlatformNavigationDelegate( PlatformNavigationDelegateCreationParams params, ): AndroidNavigationDelegate
  • added: method AndroidWebViewPlatform.createPlatformWebViewController( PlatformWebViewControllerCreationParams params, ): AndroidWebViewController
  • added: method AndroidWebViewPlatform.createPlatformWebViewWidget( PlatformWebViewWidgetCreationParams params, ): AndroidWebViewWidget
  • added: method AndroidWebViewWidget.build(BuildContext context): Widget
  • added: method AndroidWebViewWidgetCreationParams.operator ==(Object other): bool
  • added: static field AndroidWebViewPermissionResourceType.midiSysex: const AndroidWebViewPermissionResourceType
  • added: static field AndroidWebViewPermissionResourceType.protectedMediaId: const AndroidWebViewPermissionResourceType
  • added: static method AndroidWebViewController.enableDebugging( bool enabled, { @visibleForTesting AndroidWebViewProxy webViewProxy = …, }): Future<void>
  • added: static method AndroidWebViewPlatform.registerWith(): void
  • added: typedef LoadRequestCallback = Future<void> Function(LoadRequestParams params)
  • added: typedef OnGeolocationPermissionsHidePrompt = void Function()
  • added: typedef OnGeolocationPermissionsShowPrompt = Future<GeolocationPermissionsResponse> Function( GeolocationPermissionsRequestParams request)
  • added: typedef OnHideCustomWidgetCallback = void Function()
  • added: typedef OnShowCustomWidgetCallback = void Function( Widget widget, void Function() onCustomWidgetHidden)
  • removed: class SurfaceAndroidWebView extends AndroidWebView
  • removed: method SurfaceAndroidWebView.build({ required BuildContext context, required CreationParams creationParams, required JavascriptChannelRegistry javascriptChannelRegistry, WebViewPlatformCreatedCallback? onWebViewPlatformCreated, Set<Factory<OneSequenceGestureRecognizer>>? gestureRecognizers, required WebViewPlatformCallbacksHandler webViewPlatformCallbacksHandler, }): Widget