From a93c00baf8a77a16c98f296a6a07e584ae9ed7c8 Mon Sep 17 00:00:00 2001 From: Maurice Parrish <10687576+bparrishMines@users.noreply.github.com> Date: Wed, 26 Nov 2025 18:07:38 -0500 Subject: [PATCH 1/7] remove proxy --- .../webview_flutter_wkwebview/CHANGELOG.md | 4 + .../NavigationDelegateProxyAPITests.swift | 38 +- .../NavigationDelegateProxyAPIDelegate.swift | 6 +- .../ProxyAPIRegistrar.swift | 7 +- .../webview_flutter_test.dart | 66 +- .../src/legacy/wkwebview_cookie_manager.dart | 15 +- .../lib/src/webkit_proxy.dart | 460 +++++++------- .../lib/src/webkit_ssl_auth_error.dart | 10 +- .../lib/src/webkit_webview_controller.dart | 437 ++++++------- .../src/webkit_webview_cookie_manager.dart | 21 +- .../webview_flutter_wkwebview/pubspec.yaml | 2 +- .../legacy/web_kit_cookie_manager_test.dart | 33 +- .../web_kit_cookie_manager_test.mocks.dart | 1 + .../legacy/web_kit_webview_widget_test.dart | 21 +- .../web_kit_webview_widget_test.mocks.dart | 1 + .../test/webkit_navigation_delegate_test.dart | 371 ++++------- ...webkit_navigation_delegate_test.mocks.dart | 1 + .../test/webkit_webview_controller_test.dart | 599 ++++++++---------- .../webkit_webview_controller_test.mocks.dart | 1 + .../webkit_webview_cookie_manager_test.dart | 52 +- ...kit_webview_cookie_manager_test.mocks.dart | 1 + .../test/webkit_webview_widget_test.dart | 162 ++--- .../webkit_webview_widget_test.mocks.dart | 1 + 23 files changed, 1016 insertions(+), 1294 deletions(-) diff --git a/packages/webview_flutter/webview_flutter_wkwebview/CHANGELOG.md b/packages/webview_flutter/webview_flutter_wkwebview/CHANGELOG.md index cf2e0271881..85f5838755d 100644 --- a/packages/webview_flutter/webview_flutter_wkwebview/CHANGELOG.md +++ b/packages/webview_flutter/webview_flutter_wkwebview/CHANGELOG.md @@ -1,3 +1,7 @@ +## 3.23.5 + +* Removes internal native library Dart proxy. + ## 3.23.4 * Replaces use of deprecated Color.value. diff --git a/packages/webview_flutter/webview_flutter_wkwebview/darwin/Tests/NavigationDelegateProxyAPITests.swift b/packages/webview_flutter/webview_flutter_wkwebview/darwin/Tests/NavigationDelegateProxyAPITests.swift index 07f65e0751c..68a3874263e 100644 --- a/packages/webview_flutter/webview_flutter_wkwebview/darwin/Tests/NavigationDelegateProxyAPITests.swift +++ b/packages/webview_flutter/webview_flutter_wkwebview/darwin/Tests/NavigationDelegateProxyAPITests.swift @@ -170,11 +170,12 @@ class TestNavigationDelegateApi: PigeonApiProtocolWKNavigationDelegate { func decidePolicyForNavigationAction( pigeonInstance pigeonInstanceArg: WKNavigationDelegate, webView webViewArg: WKWebView, navigationAction navigationActionArg: WKNavigationAction, - completion: @escaping ( - Result< - webview_flutter_wkwebview.NavigationActionPolicy, webview_flutter_wkwebview.PigeonError - > - ) -> Void + completion: + @escaping ( + Result< + webview_flutter_wkwebview.NavigationActionPolicy, webview_flutter_wkwebview.PigeonError + > + ) -> Void ) { decidePolicyForNavigationActionArgs = [webViewArg, navigationActionArg] completion(.success(.allow)) @@ -183,11 +184,12 @@ class TestNavigationDelegateApi: PigeonApiProtocolWKNavigationDelegate { func decidePolicyForNavigationResponse( pigeonInstance pigeonInstanceArg: WKNavigationDelegate, webView webViewArg: WKWebView, navigationResponse navigationResponseArg: WKNavigationResponse, - completion: @escaping ( - Result< - webview_flutter_wkwebview.NavigationResponsePolicy, webview_flutter_wkwebview.PigeonError - > - ) -> Void + completion: + @escaping ( + Result< + webview_flutter_wkwebview.NavigationResponsePolicy, webview_flutter_wkwebview.PigeonError + > + ) -> Void ) { decidePolicyForNavigationResponseArgs = [webViewArg, navigationResponseArg] completion(.success(.cancel)) @@ -219,12 +221,13 @@ class TestNavigationDelegateApi: PigeonApiProtocolWKNavigationDelegate { func didReceiveAuthenticationChallenge( pigeonInstance pigeonInstanceArg: WKNavigationDelegate, webView webViewArg: WKWebView, challenge challengeArg: URLAuthenticationChallenge, - completion: @escaping ( - Result< - webview_flutter_wkwebview.AuthenticationChallengeResponse, - webview_flutter_wkwebview.PigeonError - > - ) -> Void + completion: + @escaping ( + Result< + webview_flutter_wkwebview.AuthenticationChallengeResponse, + webview_flutter_wkwebview.PigeonError + > + ) -> Void ) { didReceiveAuthenticationChallengeArgs = [webViewArg, challengeArg] completion( @@ -241,7 +244,8 @@ class TestWebView: WKWebView { } } -class TestURLAuthenticationChallengeSender: NSObject, URLAuthenticationChallengeSender, @unchecked +class TestURLAuthenticationChallengeSender: NSObject, URLAuthenticationChallengeSender, + @unchecked Sendable { func use(_ credential: URLCredential, for challenge: URLAuthenticationChallenge) { diff --git a/packages/webview_flutter/webview_flutter_wkwebview/darwin/webview_flutter_wkwebview/Sources/webview_flutter_wkwebview/NavigationDelegateProxyAPIDelegate.swift b/packages/webview_flutter/webview_flutter_wkwebview/darwin/webview_flutter_wkwebview/Sources/webview_flutter_wkwebview/NavigationDelegateProxyAPIDelegate.swift index ac5f269fff6..7c407e278a6 100644 --- a/packages/webview_flutter/webview_flutter_wkwebview/darwin/webview_flutter_wkwebview/Sources/webview_flutter_wkwebview/NavigationDelegateProxyAPIDelegate.swift +++ b/packages/webview_flutter/webview_flutter_wkwebview/darwin/webview_flutter_wkwebview/Sources/webview_flutter_wkwebview/NavigationDelegateProxyAPIDelegate.swift @@ -233,7 +233,8 @@ public class NavigationDelegateImpl: NSObject, WKNavigationDelegate { #if compiler(>=6.0) public func webView( _ webView: WKWebView, didReceive challenge: URLAuthenticationChallenge, - completionHandler: @escaping @MainActor (URLSession.AuthChallengeDisposition, URLCredential?) + completionHandler: + @escaping @MainActor (URLSession.AuthChallengeDisposition, URLCredential?) -> Void ) { @@ -256,7 +257,8 @@ public class NavigationDelegateImpl: NSObject, WKNavigationDelegate { #else public func webView( _ webView: WKWebView, didReceive challenge: URLAuthenticationChallenge, - completionHandler: @escaping (URLSession.AuthChallengeDisposition, URLCredential?) -> + completionHandler: + @escaping (URLSession.AuthChallengeDisposition, URLCredential?) -> Void ) { registrar.dispatchOnMainThread { onFailure in diff --git a/packages/webview_flutter/webview_flutter_wkwebview/darwin/webview_flutter_wkwebview/Sources/webview_flutter_wkwebview/ProxyAPIRegistrar.swift b/packages/webview_flutter/webview_flutter_wkwebview/darwin/webview_flutter_wkwebview/Sources/webview_flutter_wkwebview/ProxyAPIRegistrar.swift index 131c8ffde7a..c4d446d8020 100644 --- a/packages/webview_flutter/webview_flutter_wkwebview/darwin/webview_flutter_wkwebview/Sources/webview_flutter_wkwebview/ProxyAPIRegistrar.swift +++ b/packages/webview_flutter/webview_flutter_wkwebview/darwin/webview_flutter_wkwebview/Sources/webview_flutter_wkwebview/ProxyAPIRegistrar.swift @@ -78,9 +78,10 @@ open class ProxyAPIRegistrar: WebKitLibraryPigeonProxyApiRegistrar { /// Handles calling a Flutter method on the main thread. func dispatchOnMainThread( - execute work: @escaping ( - _ onFailure: @escaping (_ methodName: String, _ error: PigeonError) -> Void - ) -> Void + execute work: + @escaping ( + _ onFailure: @escaping (_ methodName: String, _ error: PigeonError) -> Void + ) -> Void ) { DispatchQueue.main.async { work { methodName, error in diff --git a/packages/webview_flutter/webview_flutter_wkwebview/example/integration_test/webview_flutter_test.dart b/packages/webview_flutter/webview_flutter_wkwebview/example/integration_test/webview_flutter_test.dart index 88c20d6984a..acd6f2fedc4 100644 --- a/packages/webview_flutter/webview_flutter_wkwebview/example/integration_test/webview_flutter_test.dart +++ b/packages/webview_flutter/webview_flutter_wkwebview/example/integration_test/webview_flutter_test.dart @@ -17,10 +17,8 @@ import 'package:flutter_test/flutter_test.dart'; import 'package:integration_test/integration_test.dart'; import 'package:leak_tracker/leak_tracker.dart'; import 'package:webview_flutter_platform_interface/webview_flutter_platform_interface.dart'; -import 'package:webview_flutter_wkwebview/src/common/platform_webview.dart'; import 'package:webview_flutter_wkwebview/src/common/weak_reference_utils.dart'; import 'package:webview_flutter_wkwebview/src/common/web_kit.g.dart'; -import 'package:webview_flutter_wkwebview/src/webkit_proxy.dart'; import 'package:webview_flutter_wkwebview/webview_flutter_wkwebview.dart'; Future main() async { @@ -63,6 +61,10 @@ Future main() async { final headersUrl = '$prefixUrl/headers'; final basicAuthUrl = '$prefixUrl/http-basic-authentication'; + setUp(() { + PigeonOverrides.pigeon_reset(); + }); + testWidgets( 'withWeakReferenceTo allows encapsulating class to be garbage collected', (WidgetTester tester) async { @@ -98,6 +100,40 @@ Future main() async { } }); + PigeonOverrides.uIViewWKWebView_new = + ({ + required WKWebViewConfiguration initialConfiguration, + void Function( + NSObject pigeon_instance, + String? keyPath, + NSObject? object, + Map? change, + )? + observeValue, + }) { + final webView = UIViewWKWebView( + initialConfiguration: initialConfiguration, + ); + finalizer.attach(webView, webViewToken); + return webView; + }; + PigeonOverrides.nSViewWKWebView_new = + ({ + required WKWebViewConfiguration initialConfiguration, + void Function( + NSObject pigeon_instance, + String? keyPath, + NSObject? object, + Map? change, + )? + observeValue, + }) { + final webView = NSViewWKWebView( + initialConfiguration: initialConfiguration, + ); + finalizer.attach(webView, webViewToken); + return webView; + }; // Wait for any WebView to be garbage collected. await tester.pumpWidget( Builder( @@ -105,31 +141,7 @@ Future main() async { return PlatformWebViewWidget( WebKitWebViewWidgetCreationParams( controller: PlatformWebViewController( - WebKitWebViewControllerCreationParams( - webKitProxy: WebKitProxy( - newPlatformWebView: - ({ - required WKWebViewConfiguration - initialConfiguration, - void Function( - NSObject, - String?, - NSObject?, - Map?, - )? - observeValue, - }) { - final platformWebView = PlatformWebView( - initialConfiguration: initialConfiguration, - ); - finalizer.attach( - platformWebView.nativeWebView, - webViewToken, - ); - return platformWebView; - }, - ), - ), + WebKitWebViewControllerCreationParams(), ), ), ).build(context); diff --git a/packages/webview_flutter/webview_flutter_wkwebview/lib/src/legacy/wkwebview_cookie_manager.dart b/packages/webview_flutter/webview_flutter_wkwebview/lib/src/legacy/wkwebview_cookie_manager.dart index 053a8cdfea2..b13a45be0f4 100644 --- a/packages/webview_flutter/webview_flutter_wkwebview/lib/src/legacy/wkwebview_cookie_manager.dart +++ b/packages/webview_flutter/webview_flutter_wkwebview/lib/src/legacy/wkwebview_cookie_manager.dart @@ -2,28 +2,21 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -import 'package:flutter/foundation.dart'; // ignore: implementation_imports import 'package:webview_flutter_platform_interface/src/webview_flutter_platform_interface_legacy.dart'; import '../common/web_kit.g.dart'; -import '../webkit_proxy.dart'; /// Handles all cookie operations for the WebView platform. class WKWebViewCookieManager extends WebViewCookieManagerPlatform { /// Constructs a [WKWebViewCookieManager]. - WKWebViewCookieManager({ - WKWebsiteDataStore? websiteDataStore, - @visibleForTesting WebKitProxy webKitProxy = const WebKitProxy(), - }) : _webKitProxy = webKitProxy, - websiteDataStore = - websiteDataStore ?? webKitProxy.defaultDataStoreWKWebsiteDataStore(); + WKWebViewCookieManager({WKWebsiteDataStore? websiteDataStore}) + : websiteDataStore = + websiteDataStore ?? WKWebsiteDataStore.defaultDataStore; /// Manages stored data for [WKWebView]s. final WKWebsiteDataStore websiteDataStore; - final WebKitProxy _webKitProxy; - @override Future clearCookies() async { return websiteDataStore.removeDataOfTypes([ @@ -40,7 +33,7 @@ class WKWebViewCookieManager extends WebViewCookieManagerPlatform { } return websiteDataStore.httpCookieStore.setCookie( - _webKitProxy.newHTTPCookie( + HTTPCookie( properties: { HttpCookiePropertyKey.name: cookie.name, HttpCookiePropertyKey.value: cookie.value, diff --git a/packages/webview_flutter/webview_flutter_wkwebview/lib/src/webkit_proxy.dart b/packages/webview_flutter/webview_flutter_wkwebview/lib/src/webkit_proxy.dart index f3ff5029b0b..1f34e00f588 100644 --- a/packages/webview_flutter/webview_flutter_wkwebview/lib/src/webkit_proxy.dart +++ b/packages/webview_flutter/webview_flutter_wkwebview/lib/src/webkit_proxy.dart @@ -1,230 +1,230 @@ -// Copyright 2013 The Flutter Authors -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'dart:typed_data'; - -import 'common/platform_webview.dart'; -import 'common/web_kit.g.dart'; - -/// Handles constructing objects and calling static methods for the Darwin -/// WebKit native library. -/// -/// This class provides dependency injection for the implementations of the -/// platform interface classes. Improving the ease of unit testing and/or -/// overriding the underlying Darwin classes. -/// -/// By default each function calls the default constructor of the class it -/// intends to return. -class WebKitProxy { - /// Constructs an [WebKitProxy]. - const WebKitProxy({ - this.newURLRequest = URLRequest.new, - this.newWKUserScript = WKUserScript.new, - this.newHTTPCookie = HTTPCookie.new, - this.newAuthenticationChallengeResponse = - AuthenticationChallengeResponse.new, - this.newWKWebViewConfiguration = WKWebViewConfiguration.new, - this.newWKScriptMessageHandler = WKScriptMessageHandler.new, - this.newWKNavigationDelegate = WKNavigationDelegate.new, - this.newNSObject = NSObject.new, - this.newPlatformWebView = PlatformWebView.new, - this.newWKUIDelegate = WKUIDelegate.new, - this.newUIScrollViewDelegate = UIScrollViewDelegate.new, - this.createAsyncAuthenticationChallengeResponse = - AuthenticationChallengeResponse.createAsync, - this.withUserAsyncURLCredential = URLCredential.withUserAsync, - this.serverTrustAsyncURLCredential = URLCredential.serverTrustAsync, - this.withUserURLCredential = URLCredential.withUser, - this.evaluateWithErrorSecTrust = SecTrust.evaluateWithError, - this.copyExceptionsSecTrust = SecTrust.copyExceptions, - this.setExceptionsSecTrust = SecTrust.setExceptions, - this.getTrustResultSecTrust = SecTrust.getTrustResult, - this.copyCertificateChainSecTrust = SecTrust.copyCertificateChain, - this.copyDataSecCertificate = SecCertificate.copyData, - this.defaultDataStoreWKWebsiteDataStore = - _defaultDataStoreWKWebsiteDataStore, - }); - - /// Constructs [URLRequest]. - final URLRequest Function({required String url}) newURLRequest; - - /// Constructs [WKUserScript]. - final WKUserScript Function({ - required String source, - required UserScriptInjectionTime injectionTime, - required bool isForMainFrameOnly, - }) - newWKUserScript; - - /// Constructs [HTTPCookie]. - final HTTPCookie Function({ - required Map properties, - }) - newHTTPCookie; - - /// Constructs [AuthenticationChallengeResponse]. - final AuthenticationChallengeResponse Function({ - required UrlSessionAuthChallengeDisposition disposition, - URLCredential? credential, - }) - newAuthenticationChallengeResponse; - - /// Constructs [WKWebViewConfiguration]. - final WKWebViewConfiguration Function() newWKWebViewConfiguration; - - /// Constructs [WKScriptMessageHandler]. - final WKScriptMessageHandler Function({ - required void Function( - WKScriptMessageHandler, - WKUserContentController, - WKScriptMessage, - ) - didReceiveScriptMessage, - }) - newWKScriptMessageHandler; - - /// Constructs [WKNavigationDelegate]. - final WKNavigationDelegate Function({ - void Function(WKNavigationDelegate, WKWebView, String?)? - didFinishNavigation, - void Function(WKNavigationDelegate, WKWebView, String?)? - didStartProvisionalNavigation, - required Future Function( - WKNavigationDelegate, - WKWebView, - WKNavigationAction, - ) - decidePolicyForNavigationAction, - required Future Function( - WKNavigationDelegate, - WKWebView, - WKNavigationResponse, - ) - decidePolicyForNavigationResponse, - void Function(WKNavigationDelegate, WKWebView, NSError)? didFailNavigation, - void Function(WKNavigationDelegate, WKWebView, NSError)? - didFailProvisionalNavigation, - void Function(WKNavigationDelegate, WKWebView)? - webViewWebContentProcessDidTerminate, - required Future Function( - WKNavigationDelegate, - WKWebView, - URLAuthenticationChallenge, - ) - didReceiveAuthenticationChallenge, - }) - newWKNavigationDelegate; - - /// Constructs [NSObject]. - final NSObject Function({ - void Function( - NSObject, - String?, - NSObject?, - Map?, - )? - observeValue, - }) - newNSObject; - - /// Constructs [PlatformWebView]. - final PlatformWebView Function({ - required WKWebViewConfiguration initialConfiguration, - void Function( - NSObject, - String?, - NSObject?, - Map?, - )? - observeValue, - }) - newPlatformWebView; - - /// Constructs [WKUIDelegate]. - final WKUIDelegate Function({ - void Function( - WKUIDelegate, - WKWebView, - WKWebViewConfiguration, - WKNavigationAction, - )? - onCreateWebView, - required Future Function( - WKUIDelegate, - WKWebView, - WKSecurityOrigin, - WKFrameInfo, - MediaCaptureType, - ) - requestMediaCapturePermission, - Future Function(WKUIDelegate, WKWebView, String, WKFrameInfo)? - runJavaScriptAlertPanel, - required Future Function(WKUIDelegate, WKWebView, String, WKFrameInfo) - runJavaScriptConfirmPanel, - Future Function( - WKUIDelegate, - WKWebView, - String, - String?, - WKFrameInfo, - )? - runJavaScriptTextInputPanel, - }) - newWKUIDelegate; - - /// Constructs [UIScrollViewDelegate]. - final UIScrollViewDelegate Function({ - void Function(UIScrollViewDelegate, UIScrollView, double, double)? - scrollViewDidScroll, - }) - newUIScrollViewDelegate; - - /// Calls to [AuthenticationChallengeResponse.createAsync]. - final Future Function( - UrlSessionAuthChallengeDisposition disposition, - URLCredential? credential, - ) - createAsyncAuthenticationChallengeResponse; - - /// Calls to [URLCredential.withUserAsync]. - final Future Function(String, String, UrlCredentialPersistence) - withUserAsyncURLCredential; - - /// Calls to [URLCredential.serverTrustAsync]. - final Future Function(SecTrust) serverTrustAsyncURLCredential; - - /// Constructs [URLCredential]. - final URLCredential Function({ - required String user, - required String password, - required UrlCredentialPersistence persistence, - }) - withUserURLCredential; - - /// Calls to [SecTrust.evaluateWithError]. - final Future Function(SecTrust) evaluateWithErrorSecTrust; - - /// Calls to [SecTrust.copyExceptions]. - final Future Function(SecTrust) copyExceptionsSecTrust; - - /// Calls to [SecTrust.setExceptions]. - final Future Function(SecTrust, Uint8List?) setExceptionsSecTrust; - - /// Calls to [SecTrust.getTrustResult]. - final Future Function(SecTrust) - getTrustResultSecTrust; - - /// Calls to [SecTrust.copyCertificateChain]. - final Future?> Function(SecTrust) - copyCertificateChainSecTrust; - - /// Calls to [SecCertificate.copyData]. - final Future Function(SecCertificate) copyDataSecCertificate; - - /// Calls to [WKWebsiteDataStore.defaultDataStore]. - final WKWebsiteDataStore Function() defaultDataStoreWKWebsiteDataStore; - - static WKWebsiteDataStore _defaultDataStoreWKWebsiteDataStore() => - WKWebsiteDataStore.defaultDataStore; -} +// // Copyright 2013 The Flutter Authors +// // Use of this source code is governed by a BSD-style license that can be +// // found in the LICENSE file. +// +// import 'dart:typed_data'; +// +// import 'common/platform_webview.dart'; +// import 'common/web_kit.g.dart'; +// +// /// Handles constructing objects and calling static methods for the Darwin +// /// WebKit native library. +// /// +// /// This class provides dependency injection for the implementations of the +// /// platform interface classes. Improving the ease of unit testing and/or +// /// overriding the underlying Darwin classes. +// /// +// /// By default each function calls the default constructor of the class it +// /// intends to return. +// class WebKitProxy { +// /// Constructs an [WebKitProxy]. +// const WebKitProxy({ +// this.newURLRequest = URLRequest.new, +// this.newWKUserScript = WKUserScript.new, +// this.newHTTPCookie = HTTPCookie.new, +// this.newAuthenticationChallengeResponse = +// AuthenticationChallengeResponse.new, +// this.newWKWebViewConfiguration = WKWebViewConfiguration.new, +// this.newWKScriptMessageHandler = WKScriptMessageHandler.new, +// this.newWKNavigationDelegate = WKNavigationDelegate.new, +// this.newNSObject = NSObject.new, +// this.newPlatformWebView = PlatformWebView.new, +// this.newWKUIDelegate = WKUIDelegate.new, +// this.newUIScrollViewDelegate = UIScrollViewDelegate.new, +// this.createAsyncAuthenticationChallengeResponse = +// AuthenticationChallengeResponse.createAsync, +// this.withUserAsyncURLCredential = URLCredential.withUserAsync, +// this.serverTrustAsyncURLCredential = URLCredential.serverTrustAsync, +// this.withUserURLCredential = URLCredential.withUser, +// this.evaluateWithErrorSecTrust = SecTrust.evaluateWithError, +// this.copyExceptionsSecTrust = SecTrust.copyExceptions, +// this.setExceptionsSecTrust = SecTrust.setExceptions, +// this.getTrustResultSecTrust = SecTrust.getTrustResult, +// this.copyCertificateChainSecTrust = SecTrust.copyCertificateChain, +// this.copyDataSecCertificate = SecCertificate.copyData, +// this.defaultDataStoreWKWebsiteDataStore = +// _defaultDataStoreWKWebsiteDataStore, +// }); +// +// /// Constructs [URLRequest]. +// final URLRequest Function({required String url}) newURLRequest; +// +// /// Constructs [WKUserScript]. +// final WKUserScript Function({ +// required String source, +// required UserScriptInjectionTime injectionTime, +// required bool isForMainFrameOnly, +// }) +// newWKUserScript; +// +// /// Constructs [HTTPCookie]. +// final HTTPCookie Function({ +// required Map properties, +// }) +// newHTTPCookie; +// +// /// Constructs [AuthenticationChallengeResponse]. +// final AuthenticationChallengeResponse Function({ +// required UrlSessionAuthChallengeDisposition disposition, +// URLCredential? credential, +// }) +// newAuthenticationChallengeResponse; +// +// /// Constructs [WKWebViewConfiguration]. +// final WKWebViewConfiguration Function() newWKWebViewConfiguration; +// +// /// Constructs [WKScriptMessageHandler]. +// final WKScriptMessageHandler Function({ +// required void Function( +// WKScriptMessageHandler, +// WKUserContentController, +// WKScriptMessage, +// ) +// didReceiveScriptMessage, +// }) +// newWKScriptMessageHandler; +// +// /// Constructs [WKNavigationDelegate]. +// final WKNavigationDelegate Function({ +// void Function(WKNavigationDelegate, WKWebView, String?)? +// didFinishNavigation, +// void Function(WKNavigationDelegate, WKWebView, String?)? +// didStartProvisionalNavigation, +// required Future Function( +// WKNavigationDelegate, +// WKWebView, +// WKNavigationAction, +// ) +// decidePolicyForNavigationAction, +// required Future Function( +// WKNavigationDelegate, +// WKWebView, +// WKNavigationResponse, +// ) +// decidePolicyForNavigationResponse, +// void Function(WKNavigationDelegate, WKWebView, NSError)? didFailNavigation, +// void Function(WKNavigationDelegate, WKWebView, NSError)? +// didFailProvisionalNavigation, +// void Function(WKNavigationDelegate, WKWebView)? +// webViewWebContentProcessDidTerminate, +// required Future Function( +// WKNavigationDelegate, +// WKWebView, +// URLAuthenticationChallenge, +// ) +// didReceiveAuthenticationChallenge, +// }) +// newWKNavigationDelegate; +// +// /// Constructs [NSObject]. +// final NSObject Function({ +// void Function( +// NSObject, +// String?, +// NSObject?, +// Map?, +// )? +// observeValue, +// }) +// newNSObject; +// +// /// Constructs [PlatformWebView]. +// final PlatformWebView Function({ +// required WKWebViewConfiguration initialConfiguration, +// void Function( +// NSObject, +// String?, +// NSObject?, +// Map?, +// )? +// observeValue, +// }) +// newPlatformWebView; +// +// /// Constructs [WKUIDelegate]. +// final WKUIDelegate Function({ +// void Function( +// WKUIDelegate, +// WKWebView, +// WKWebViewConfiguration, +// WKNavigationAction, +// )? +// onCreateWebView, +// required Future Function( +// WKUIDelegate, +// WKWebView, +// WKSecurityOrigin, +// WKFrameInfo, +// MediaCaptureType, +// ) +// requestMediaCapturePermission, +// Future Function(WKUIDelegate, WKWebView, String, WKFrameInfo)? +// runJavaScriptAlertPanel, +// required Future Function(WKUIDelegate, WKWebView, String, WKFrameInfo) +// runJavaScriptConfirmPanel, +// Future Function( +// WKUIDelegate, +// WKWebView, +// String, +// String?, +// WKFrameInfo, +// )? +// runJavaScriptTextInputPanel, +// }) +// newWKUIDelegate; +// +// /// Constructs [UIScrollViewDelegate]. +// final UIScrollViewDelegate Function({ +// void Function(UIScrollViewDelegate, UIScrollView, double, double)? +// scrollViewDidScroll, +// }) +// newUIScrollViewDelegate; +// +// /// Calls to [AuthenticationChallengeResponse.createAsync]. +// final Future Function( +// UrlSessionAuthChallengeDisposition disposition, +// URLCredential? credential, +// ) +// createAsyncAuthenticationChallengeResponse; +// +// /// Calls to [URLCredential.withUserAsync]. +// final Future Function(String, String, UrlCredentialPersistence) +// withUserAsyncURLCredential; +// +// /// Calls to [URLCredential.serverTrustAsync]. +// final Future Function(SecTrust) serverTrustAsyncURLCredential; +// +// /// Constructs [URLCredential]. +// final URLCredential Function({ +// required String user, +// required String password, +// required UrlCredentialPersistence persistence, +// }) +// withUserURLCredential; +// +// /// Calls to [SecTrust.evaluateWithError]. +// final Future Function(SecTrust) evaluateWithErrorSecTrust; +// +// /// Calls to [SecTrust.copyExceptions]. +// final Future Function(SecTrust) copyExceptionsSecTrust; +// +// /// Calls to [SecTrust.setExceptions]. +// final Future Function(SecTrust, Uint8List?) setExceptionsSecTrust; +// +// /// Calls to [SecTrust.getTrustResult]. +// final Future Function(SecTrust) +// getTrustResultSecTrust; +// +// /// Calls to [SecTrust.copyCertificateChain]. +// final Future?> Function(SecTrust) +// copyCertificateChainSecTrust; +// +// /// Calls to [SecCertificate.copyData]. +// final Future Function(SecCertificate) copyDataSecCertificate; +// +// /// Calls to [WKWebsiteDataStore.defaultDataStore]. +// final WKWebsiteDataStore Function() defaultDataStoreWKWebsiteDataStore; +// +// static WKWebsiteDataStore _defaultDataStoreWKWebsiteDataStore() => +// WKWebsiteDataStore.defaultDataStore; +// } diff --git a/packages/webview_flutter/webview_flutter_wkwebview/lib/src/webkit_ssl_auth_error.dart b/packages/webview_flutter/webview_flutter_wkwebview/lib/src/webkit_ssl_auth_error.dart index af42fabe48f..fcc4069e708 100644 --- a/packages/webview_flutter/webview_flutter_wkwebview/lib/src/webkit_ssl_auth_error.dart +++ b/packages/webview_flutter/webview_flutter_wkwebview/lib/src/webkit_ssl_auth_error.dart @@ -6,7 +6,6 @@ import 'package:flutter/services.dart'; import 'package:meta/meta.dart'; import 'package:webview_flutter_platform_interface/webview_flutter_platform_interface.dart'; import 'common/web_kit.g.dart'; -import 'webkit_proxy.dart'; /// An implementation of [PlatformSslAuthError] with the WebKit api. class WebKitSslAuthError extends PlatformSslAuthError { @@ -18,18 +17,15 @@ class WebKitSslAuthError extends PlatformSslAuthError { required SecTrust trust, required this.host, required this.port, - required WebKitProxy proxy, required Future Function( UrlSessionAuthChallengeDisposition disposition, URLCredential? credential, ) onResponse, }) : _trust = trust, - _proxy = proxy, _onResponse = onResponse; final SecTrust _trust; - final WebKitProxy _proxy; final Future Function( UrlSessionAuthChallengeDisposition disposition, @@ -53,14 +49,14 @@ class WebKitSslAuthError extends PlatformSslAuthError { @override Future proceed() async { - final Uint8List? exceptions = await _proxy.copyExceptionsSecTrust(_trust); + final Uint8List? exceptions = await SecTrust.copyExceptions(_trust); if (exceptions != null) { - await _proxy.setExceptionsSecTrust(_trust, exceptions); + await SecTrust.setExceptions(_trust, exceptions); } await _onResponse( UrlSessionAuthChallengeDisposition.useCredential, - await _proxy.serverTrustAsyncURLCredential(_trust), + await URLCredential.serverTrustAsync(_trust), ); } } diff --git a/packages/webview_flutter/webview_flutter_wkwebview/lib/src/webkit_webview_controller.dart b/packages/webview_flutter/webview_flutter_wkwebview/lib/src/webkit_webview_controller.dart index c53d1bb845a..c958c3c1e6c 100644 --- a/packages/webview_flutter/webview_flutter_wkwebview/lib/src/webkit_webview_controller.dart +++ b/packages/webview_flutter/webview_flutter_wkwebview/lib/src/webkit_webview_controller.dart @@ -15,7 +15,6 @@ import 'common/platform_webview.dart'; import 'common/weak_reference_utils.dart'; import 'common/web_kit.g.dart'; import 'common/webkit_constants.dart'; -import 'webkit_proxy.dart'; import 'webkit_ssl_auth_error.dart'; /// Media types that can require a user gesture to begin playing. @@ -77,16 +76,14 @@ class WebKitWebViewControllerCreationParams extends PlatformWebViewControllerCreationParams { /// Constructs a [WebKitWebViewControllerCreationParams]. WebKitWebViewControllerCreationParams({ - @visibleForTesting this.webKitProxy = const WebKitProxy(), this.mediaTypesRequiringUserAction = const { PlaybackMediaTypes.audio, PlaybackMediaTypes.video, }, this.allowsInlineMediaPlayback = false, this.limitsNavigationsToAppBoundDomains = false, - @visibleForTesting PigeonInstanceManager? instanceManager, - }) : _instanceManager = instanceManager ?? PigeonInstanceManager.instance { - _configuration = webKitProxy.newWKWebViewConfiguration(); + }) { + _configuration = WKWebViewConfiguration(); if (mediaTypesRequiringUserAction.isEmpty) { _configuration.setMediaTypesRequiringUserActionForPlayback( @@ -118,7 +115,6 @@ class WebKitWebViewControllerCreationParams // Recommended placeholder to prevent being broken by platform interface. // ignore: avoid_unused_constructor_parameters PlatformWebViewControllerCreationParams params, { - @visibleForTesting WebKitProxy webKitProxy = const WebKitProxy(), Set mediaTypesRequiringUserAction = const { PlaybackMediaTypes.audio, @@ -126,13 +122,10 @@ class WebKitWebViewControllerCreationParams }, bool allowsInlineMediaPlayback = false, bool limitsNavigationsToAppBoundDomains = false, - @visibleForTesting PigeonInstanceManager? instanceManager, }) : this( - webKitProxy: webKitProxy, mediaTypesRequiringUserAction: mediaTypesRequiringUserAction, allowsInlineMediaPlayback: allowsInlineMediaPlayback, limitsNavigationsToAppBoundDomains: limitsNavigationsToAppBoundDomains, - instanceManager: instanceManager, ); late final WKWebViewConfiguration _configuration; @@ -154,15 +147,6 @@ class WebKitWebViewControllerCreationParams /// (Only available for iOS > 14.0) /// Defaults to false. final bool limitsNavigationsToAppBoundDomains; - - /// Handles constructing objects and calling static methods for the WebKit - /// native library. - @visibleForTesting - final WebKitProxy webKitProxy; - - // Maintains instances used to communicate with the native objects they - // represent. - final PigeonInstanceManager _instanceManager; } /// An implementation of [PlatformWebViewController] with the WebKit api. @@ -194,7 +178,7 @@ class WebKitWebViewController extends PlatformWebViewController { ); final weakThis = WeakReference(this); - _uiDelegate = _webKitParams.webKitProxy.newWKUIDelegate( + _uiDelegate = WKUIDelegate( onCreateWebView: ( _, @@ -311,8 +295,7 @@ class WebKitWebViewController extends PlatformWebViewController { } /// The WebKit WebView being controlled. - late final PlatformWebView - _webView = _webKitParams.webKitProxy.newPlatformWebView( + late final PlatformWebView _webView = PlatformWebView( initialConfiguration: _webKitParams._configuration, observeValue: withWeakReferenceTo(this, ( WeakReference weakReference, @@ -388,7 +371,7 @@ class WebKitWebViewController extends PlatformWebViewController { /// See Objective-C method /// `FLTWebViewFlutterPlugin:webViewForIdentifier:withPluginRegistry`. int get webViewIdentifier => - _webKitParams._instanceManager.getIdentifier(_webView.nativeWebView)!; + PigeonInstanceManager.instance.getIdentifier(_webView.nativeWebView)!; /// Whether horizontal swipe gestures trigger page navigation. Future setAllowsBackForwardNavigationGestures(bool enabled) { @@ -467,7 +450,7 @@ class WebKitWebViewController extends PlatformWebViewController { } return _webView.load( - _webKitParams.webKitProxy.newURLRequest(url: params.uri.toString()) + URLRequest(url: params.uri.toString()) ..setAllHttpHeaderFields(params.headers) ..setHttpMethod(params.method.name) ..setHttpBody(params.body), @@ -496,12 +479,11 @@ class WebKitWebViewController extends PlatformWebViewController { final wrapperSource = 'window.${webKitParams.name} = webkit.messageHandlers.${webKitParams.name};'; - final WKUserScript wrapperScript = _webKitParams.webKitProxy - .newWKUserScript( - source: wrapperSource, - injectionTime: UserScriptInjectionTime.atDocumentStart, - isForMainFrameOnly: false, - ); + final wrapperScript = WKUserScript( + source: wrapperSource, + injectionTime: UserScriptInjectionTime.atDocumentStart, + isForMainFrameOnly: false, + ); final WKUserContentController contentController = await _webView .configuration @@ -723,7 +705,6 @@ class WebKitWebViewController extends PlatformWebViewController { final JavaScriptChannelParams channelParams = WebKitJavaScriptChannelParams( name: 'fltConsoleMessage', - webKitProxy: _webKitParams.webKitProxy, onMessageReceived: (JavaScriptMessage message) { if (_onConsoleMessageCallback == null) { return; @@ -797,14 +778,13 @@ class WebKitWebViewController extends PlatformWebViewController { if (onScrollPositionChange != null) { final weakThis = WeakReference(this); - _uiScrollViewDelegate = _webKitParams.webKitProxy - .newUIScrollViewDelegate( - scrollViewDidScroll: (_, __, double x, double y) { - weakThis.target?._onScrollPositionChangeCallback?.call( - ScrollPositionChange(x, y), - ); - }, + _uiScrollViewDelegate = UIScrollViewDelegate( + scrollViewDidScroll: (_, __, double x, double y) { + weakThis.target?._onScrollPositionChangeCallback?.call( + ScrollPositionChange(x, y), ); + }, + ); return _webView.scrollView.setDelegate(_uiScrollViewDelegate); } else { _uiScrollViewDelegate = null; @@ -892,7 +872,7 @@ class WebKitWebViewController extends PlatformWebViewController { } Future _disableZoom() async { - final WKUserScript userScript = _webKitParams.webKitProxy.newWKUserScript( + final userScript = WKUserScript( source: "var meta = document.createElement('meta');\n" "meta.name = 'viewport';\n" @@ -922,9 +902,8 @@ class WebKitWebViewController extends PlatformWebViewController { // the cyclic object is not important, so remove it. // Therefore, the replacer parameter of JSON.stringify() is used and the // removeCyclicObject method is passed in to solve the error. - final WKUserScript overrideScript = _webKitParams.webKitProxy - .newWKUserScript( - source: ''' + final overrideScript = WKUserScript( + source: ''' var _flutter_webview_plugin_overrides = _flutter_webview_plugin_overrides || { removeCyclicObject: function() { const traversalStack = []; @@ -973,9 +952,9 @@ window.addEventListener("error", function(e) { log("error", e.message + " at " + e.filename + ":" + e.lineno + ":" + e.colno); }); ''', - injectionTime: UserScriptInjectionTime.atDocumentStart, - isForMainFrameOnly: true, - ); + injectionTime: UserScriptInjectionTime.atDocumentStart, + isForMainFrameOnly: true, + ); final WKUserContentController controller = await _webView.configuration .getUserContentController(); @@ -992,9 +971,8 @@ class WebKitJavaScriptChannelParams extends JavaScriptChannelParams { WebKitJavaScriptChannelParams({ required super.name, required super.onMessageReceived, - @visibleForTesting WebKitProxy webKitProxy = const WebKitProxy(), }) : assert(name.isNotEmpty), - _messageHandler = webKitProxy.newWKScriptMessageHandler( + _messageHandler = WKScriptMessageHandler( didReceiveScriptMessage: withWeakReferenceTo(onMessageReceived, ( WeakReference weakReference, ) { @@ -1017,13 +995,8 @@ class WebKitJavaScriptChannelParams extends JavaScriptChannelParams { /// Constructs a [WebKitJavaScriptChannelParams] using a /// [JavaScriptChannelParams]. WebKitJavaScriptChannelParams.fromJavaScriptChannelParams( - JavaScriptChannelParams params, { - @visibleForTesting WebKitProxy webKitProxy = const WebKitProxy(), - }) : this( - name: params.name, - onMessageReceived: params.onMessageReceived, - webKitProxy: webKitProxy, - ); + JavaScriptChannelParams params, + ) : this(name: params.name, onMessageReceived: params.onMessageReceived); final WKScriptMessageHandler _messageHandler; } @@ -1038,36 +1011,27 @@ class WebKitWebViewWidgetCreationParams required super.controller, super.layoutDirection, super.gestureRecognizers, - @visibleForTesting PigeonInstanceManager? instanceManager, - }) : _instanceManager = instanceManager ?? PigeonInstanceManager.instance; + }); /// Constructs a [WebKitWebViewWidgetCreationParams] using a /// [PlatformWebViewWidgetCreationParams]. WebKitWebViewWidgetCreationParams.fromPlatformWebViewWidgetCreationParams( - PlatformWebViewWidgetCreationParams params, { - PigeonInstanceManager? instanceManager, - }) : this( - key: params.key, - controller: params.controller, - layoutDirection: params.layoutDirection, - gestureRecognizers: params.gestureRecognizers, - instanceManager: instanceManager, - ); - - // Maintains instances used to communicate with the native objects they - // represent. - final PigeonInstanceManager _instanceManager; + PlatformWebViewWidgetCreationParams params, + ) : this( + key: params.key, + controller: params.controller, + layoutDirection: params.layoutDirection, + gestureRecognizers: params.gestureRecognizers, + ); @override - int get hashCode => - Object.hash(controller, layoutDirection, _instanceManager); + int get hashCode => Object.hash(controller, layoutDirection); @override bool operator ==(Object other) { return other is WebKitWebViewWidgetCreationParams && controller == other.controller && - layoutDirection == other.layoutDirection && - _instanceManager == other._instanceManager; + layoutDirection == other.layoutDirection; } } @@ -1102,7 +1066,7 @@ class WebKitWebViewWidget extends PlatformWebViewWidget { onPlatformViewCreated: (_) {}, layoutDirection: params.layoutDirection, gestureRecognizers: params.gestureRecognizers, - creationParams: _webKitParams._instanceManager.getIdentifier( + creationParams: PigeonInstanceManager.instance.getIdentifier( (params.controller as WebKitWebViewController)._webView.nativeWebView, ), creationParamsCodec: const StandardMessageCodec(), @@ -1114,7 +1078,7 @@ class WebKitWebViewWidget extends PlatformWebViewWidget { onPlatformViewCreated: (_) {}, layoutDirection: params.layoutDirection, gestureRecognizers: params.gestureRecognizers, - creationParams: _webKitParams._instanceManager.getIdentifier( + creationParams: PigeonInstanceManager.instance.getIdentifier( (params.controller as WebKitWebViewController)._webView.nativeWebView, ), creationParamsCodec: const StandardMessageCodec(), @@ -1167,23 +1131,15 @@ class WebKitWebResourceError extends WebResourceError { class WebKitNavigationDelegateCreationParams extends PlatformNavigationDelegateCreationParams { /// Constructs a [WebKitNavigationDelegateCreationParams]. - const WebKitNavigationDelegateCreationParams({ - @visibleForTesting this.webKitProxy = const WebKitProxy(), - }); + const WebKitNavigationDelegateCreationParams(); /// Constructs a [WebKitNavigationDelegateCreationParams] using a /// [PlatformNavigationDelegateCreationParams]. const WebKitNavigationDelegateCreationParams.fromPlatformNavigationDelegateCreationParams( // Recommended placeholder to prevent being broken by platform interface. // ignore: avoid_unused_constructor_parameters - PlatformNavigationDelegateCreationParams params, { - @visibleForTesting WebKitProxy webKitProxy = const WebKitProxy(), - }) : this(webKitProxy: webKitProxy); - - /// Handles constructing objects and calling static methods for the WebKit - /// native library. - @visibleForTesting - final WebKitProxy webKitProxy; + PlatformNavigationDelegateCreationParams params, + ); } /// An implementation of [PlatformNavigationDelegate] with the WebKit API. @@ -1198,171 +1154,159 @@ class WebKitNavigationDelegate extends PlatformNavigationDelegate { ), ) { final weakThis = WeakReference(this); - _navigationDelegate = (this.params as WebKitNavigationDelegateCreationParams) - .webKitProxy - .newWKNavigationDelegate( - didFinishNavigation: (_, __, String? url) { - if (weakThis.target?._onPageFinished != null) { - weakThis.target!._onPageFinished!(url ?? ''); - } - }, - didStartProvisionalNavigation: (_, __, String? url) { - if (weakThis.target?._onPageStarted != null) { - weakThis.target!._onPageStarted!(url ?? ''); - } - }, - decidePolicyForNavigationResponse: - (_, __, WKNavigationResponse response) async { - final URLResponse urlResponse = response.response; - if (weakThis.target?._onHttpError != null && - urlResponse is HTTPURLResponse && - urlResponse.statusCode >= 400) { - weakThis.target!._onHttpError!( - HttpResponseError( - response: WebResourceResponse( - uri: null, - statusCode: urlResponse.statusCode, - ), - ), - ); - } - - return NavigationResponsePolicy.allow; - }, - decidePolicyForNavigationAction: - (_, __, WKNavigationAction action) async { - if (weakThis.target?._onNavigationRequest != null) { - final NavigationDecision decision = - await weakThis.target!._onNavigationRequest!( - NavigationRequest( - url: await action.request.getUrl() ?? '', - isMainFrame: action.targetFrame?.isMainFrame ?? false, - ), - ); - switch (decision) { - case NavigationDecision.prevent: - return NavigationActionPolicy.cancel; - case NavigationDecision.navigate: - return NavigationActionPolicy.allow; - } - } - return NavigationActionPolicy.allow; - }, - didFailNavigation: (_, __, NSError error) { - if (weakThis.target?._onWebResourceError != null) { - weakThis.target!._onWebResourceError!( - WebKitWebResourceError._( - error, - isForMainFrame: true, - url: - error.userInfo[NSErrorUserInfoKey - .NSURLErrorFailingURLStringError] - as String?, - ), - ); - } - }, - didFailProvisionalNavigation: (_, __, NSError error) { - if (weakThis.target?._onWebResourceError != null) { - weakThis.target!._onWebResourceError!( - WebKitWebResourceError._( - error, - isForMainFrame: true, - url: - error.userInfo[NSErrorUserInfoKey - .NSURLErrorFailingURLStringError] - as String?, + _navigationDelegate = WKNavigationDelegate( + didFinishNavigation: (_, __, String? url) { + if (weakThis.target?._onPageFinished != null) { + weakThis.target!._onPageFinished!(url ?? ''); + } + }, + didStartProvisionalNavigation: (_, __, String? url) { + if (weakThis.target?._onPageStarted != null) { + weakThis.target!._onPageStarted!(url ?? ''); + } + }, + decidePolicyForNavigationResponse: + (_, __, WKNavigationResponse response) async { + final URLResponse urlResponse = response.response; + if (weakThis.target?._onHttpError != null && + urlResponse is HTTPURLResponse && + urlResponse.statusCode >= 400) { + weakThis.target!._onHttpError!( + HttpResponseError( + response: WebResourceResponse( + uri: null, + statusCode: urlResponse.statusCode, + ), ), ); } + + return NavigationResponsePolicy.allow; }, - webViewWebContentProcessDidTerminate: (_, __) { - if (weakThis.target?._onWebResourceError != null) { - weakThis.target!._onWebResourceError!( - WebKitWebResourceError._( - NSError.pigeon_detached( - code: WKErrorCode.webContentProcessTerminated, - // Value from https://developer.apple.com/documentation/webkit/wkerrordomain?language=objc. - domain: 'WKErrorDomain', - userInfo: const {}, - ), - isForMainFrame: true, - url: null, - ), - ); + decidePolicyForNavigationAction: + (_, __, WKNavigationAction action) async { + if (weakThis.target?._onNavigationRequest != null) { + final NavigationDecision decision = + await weakThis.target!._onNavigationRequest!( + NavigationRequest( + url: await action.request.getUrl() ?? '', + isMainFrame: action.targetFrame?.isMainFrame ?? false, + ), + ); + switch (decision) { + case NavigationDecision.prevent: + return NavigationActionPolicy.cancel; + case NavigationDecision.navigate: + return NavigationActionPolicy.allow; + } } + return NavigationActionPolicy.allow; }, - didReceiveAuthenticationChallenge: - (_, __, URLAuthenticationChallenge challenge) async { - final WebKitNavigationDelegate? delegate = weakThis.target; - - final WebKitProxy proxy = - (delegate?.params - as WebKitNavigationDelegateCreationParams?) - ?.webKitProxy ?? - const WebKitProxy(); - - if (delegate != null) { - final URLProtectionSpace protectionSpace = await challenge - .getProtectionSpace(); - - switch (protectionSpace.authenticationMethod) { - case NSUrlAuthenticationMethod.httpBasic: - case NSUrlAuthenticationMethod.httpNtlm: - final void Function(HttpAuthRequest)? callback = - delegate._onHttpAuthRequest; - if (callback != null) { - return _handleHttpAuthRequest( - onHttpAuthRequest: callback, - protectionSpace: protectionSpace, - proxy: proxy, + didFailNavigation: (_, __, NSError error) { + if (weakThis.target?._onWebResourceError != null) { + weakThis.target!._onWebResourceError!( + WebKitWebResourceError._( + error, + isForMainFrame: true, + url: + error.userInfo[NSErrorUserInfoKey + .NSURLErrorFailingURLStringError] + as String?, + ), + ); + } + }, + didFailProvisionalNavigation: (_, __, NSError error) { + if (weakThis.target?._onWebResourceError != null) { + weakThis.target!._onWebResourceError!( + WebKitWebResourceError._( + error, + isForMainFrame: true, + url: + error.userInfo[NSErrorUserInfoKey + .NSURLErrorFailingURLStringError] + as String?, + ), + ); + } + }, + webViewWebContentProcessDidTerminate: (_, __) { + if (weakThis.target?._onWebResourceError != null) { + weakThis.target!._onWebResourceError!( + WebKitWebResourceError._( + NSError.pigeon_detached( + code: WKErrorCode.webContentProcessTerminated, + // Value from https://developer.apple.com/documentation/webkit/wkerrordomain?language=objc. + domain: 'WKErrorDomain', + userInfo: const {}, + ), + isForMainFrame: true, + url: null, + ), + ); + } + }, + didReceiveAuthenticationChallenge: + (_, __, URLAuthenticationChallenge challenge) async { + final WebKitNavigationDelegate? delegate = weakThis.target; + + if (delegate != null) { + final URLProtectionSpace protectionSpace = await challenge + .getProtectionSpace(); + + switch (protectionSpace.authenticationMethod) { + case NSUrlAuthenticationMethod.httpBasic: + case NSUrlAuthenticationMethod.httpNtlm: + final void Function(HttpAuthRequest)? callback = + delegate._onHttpAuthRequest; + if (callback != null) { + return _handleHttpAuthRequest( + onHttpAuthRequest: callback, + protectionSpace: protectionSpace, + ); + } + case NSUrlAuthenticationMethod.serverTrust: + final void Function(PlatformSslAuthError)? callback = + delegate._onSslAuthError; + if (callback != null) { + final SecTrust? serverTrust = await protectionSpace + .getServerTrust(); + + if (serverTrust != null) { + try { + final bool trusted = await SecTrust.evaluateWithError( + serverTrust, ); - } - case NSUrlAuthenticationMethod.serverTrust: - final void Function(PlatformSslAuthError)? callback = - delegate._onSslAuthError; - if (callback != null) { - final SecTrust? serverTrust = await protectionSpace - .getServerTrust(); - - if (serverTrust != null) { - try { - final bool trusted = await proxy - .evaluateWithErrorSecTrust(serverTrust); - if (!trusted) { - throw StateError( - 'Expected to throw an exception when evaluation fails.', - ); - } - } on PlatformException catch (exception) { - final DartSecTrustResultType result = - (await proxy.getTrustResultSecTrust( - serverTrust, - )).result; - - if (result == - DartSecTrustResultType - .recoverableTrustFailure) { - return _handleSslAuthError( - onSslAuthError: callback, - serverTrust: serverTrust, - protectionSpace: protectionSpace, - secTrustException: exception, - proxy: proxy, - ); - } - } + if (!trusted) { + throw StateError( + 'Expected to throw an exception when evaluation fails.', + ); + } + } on PlatformException catch (exception) { + final DartSecTrustResultType result = + (await SecTrust.getTrustResult(serverTrust)).result; + + if (result == + DartSecTrustResultType.recoverableTrustFailure) { + return _handleSslAuthError( + onSslAuthError: callback, + serverTrust: serverTrust, + protectionSpace: protectionSpace, + secTrustException: exception, + ); } } + } } - } + } + } - return proxy.createAsyncAuthenticationChallengeResponse( - UrlSessionAuthChallengeDisposition.performDefaultHandling, - null, - ); - }, - ); + return AuthenticationChallengeResponse.createAsync( + UrlSessionAuthChallengeDisposition.performDefaultHandling, + null, + ); + }, + ); } // Used to set `WKWebView.setNavigationDelegate` in `WebKitWebViewController`. @@ -1432,7 +1376,6 @@ class WebKitNavigationDelegate extends PlatformNavigationDelegate { static Future _handleHttpAuthRequest({ required void Function(HttpAuthRequest) onHttpAuthRequest, required URLProtectionSpace protectionSpace, - required WebKitProxy proxy, }) { final responseCompleter = Completer(); @@ -1442,9 +1385,9 @@ class WebKitNavigationDelegate extends PlatformNavigationDelegate { realm: protectionSpace.realm, onProceed: (WebViewCredential credential) async { responseCompleter.complete( - await proxy.createAsyncAuthenticationChallengeResponse( + await AuthenticationChallengeResponse.createAsync( UrlSessionAuthChallengeDisposition.useCredential, - await proxy.withUserAsyncURLCredential( + await URLCredential.withUserAsync( credential.user, credential.password, UrlCredentialPersistence.forSession, @@ -1454,7 +1397,7 @@ class WebKitNavigationDelegate extends PlatformNavigationDelegate { }, onCancel: () async { responseCompleter.complete( - await proxy.createAsyncAuthenticationChallengeResponse( + await AuthenticationChallengeResponse.createAsync( UrlSessionAuthChallengeDisposition.cancelAuthenticationChallenge, null, ), @@ -1471,12 +1414,11 @@ class WebKitNavigationDelegate extends PlatformNavigationDelegate { required SecTrust serverTrust, required URLProtectionSpace protectionSpace, required PlatformException secTrustException, - required WebKitProxy proxy, }) async { final responseCompleter = Completer(); final List certificates = - (await proxy.copyCertificateChainSecTrust(serverTrust)) ?? + (await SecTrust.copyCertificateChain(serverTrust)) ?? []; final SecCertificate? leafCertificate = certificates.firstOrNull; @@ -1484,21 +1426,20 @@ class WebKitNavigationDelegate extends PlatformNavigationDelegate { WebKitSslAuthError( certificate: leafCertificate != null ? X509Certificate( - data: await proxy.copyDataSecCertificate(leafCertificate), + data: await SecCertificate.copyData(leafCertificate), ) : null, description: '${secTrustException.code}: ${secTrustException.message}', trust: serverTrust, host: protectionSpace.host, port: protectionSpace.port, - proxy: proxy, onResponse: ( UrlSessionAuthChallengeDisposition disposition, URLCredential? credential, ) async { responseCompleter.complete( - await proxy.createAsyncAuthenticationChallengeResponse( + await AuthenticationChallengeResponse.createAsync( disposition, credential, ), diff --git a/packages/webview_flutter/webview_flutter_wkwebview/lib/src/webkit_webview_cookie_manager.dart b/packages/webview_flutter/webview_flutter_wkwebview/lib/src/webkit_webview_cookie_manager.dart index 3339492b710..5556890a39d 100644 --- a/packages/webview_flutter/webview_flutter_wkwebview/lib/src/webkit_webview_cookie_manager.dart +++ b/packages/webview_flutter/webview_flutter_wkwebview/lib/src/webkit_webview_cookie_manager.dart @@ -2,36 +2,27 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -import 'package:flutter/foundation.dart'; import 'package:webview_flutter_platform_interface/webview_flutter_platform_interface.dart'; import 'common/web_kit.g.dart'; -import 'webkit_proxy.dart'; /// Object specifying creation parameters for a [WebKitWebViewCookieManager]. class WebKitWebViewCookieManagerCreationParams extends PlatformWebViewCookieManagerCreationParams { /// Constructs a [WebKitWebViewCookieManagerCreationParams]. - WebKitWebViewCookieManagerCreationParams({WebKitProxy? webKitProxy}) - : webKitProxy = webKitProxy ?? const WebKitProxy(); + WebKitWebViewCookieManagerCreationParams(); /// Constructs a [WebKitWebViewCookieManagerCreationParams] using a /// [PlatformWebViewCookieManagerCreationParams]. WebKitWebViewCookieManagerCreationParams.fromPlatformWebViewCookieManagerCreationParams( // Recommended placeholder to prevent being broken by platform interface. // ignore: avoid_unused_constructor_parameters - PlatformWebViewCookieManagerCreationParams params, { - @visibleForTesting WebKitProxy? webKitProxy, - }) : this(webKitProxy: webKitProxy); - - /// Handles constructing objects and calling static methods for the WebKit - /// native library. - @visibleForTesting - final WebKitProxy webKitProxy; + PlatformWebViewCookieManagerCreationParams params, + ); /// Manages stored data for [WKWebView]s. - late final WKWebsiteDataStore _websiteDataStore = webKitProxy - .defaultDataStoreWKWebsiteDataStore(); + late final WKWebsiteDataStore _websiteDataStore = + WKWebsiteDataStore.defaultDataStore; } /// An implementation of [PlatformWebViewCookieManager] with the WebKit api. @@ -65,7 +56,7 @@ class WebKitWebViewCookieManager extends PlatformWebViewCookieManager { } return _webkitParams._websiteDataStore.httpCookieStore.setCookie( - _webkitParams.webKitProxy.newHTTPCookie( + HTTPCookie( properties: { HttpCookiePropertyKey.name: cookie.name, HttpCookiePropertyKey.value: cookie.value, diff --git a/packages/webview_flutter/webview_flutter_wkwebview/pubspec.yaml b/packages/webview_flutter/webview_flutter_wkwebview/pubspec.yaml index f78dd2266be..6a1b4fc30c7 100644 --- a/packages/webview_flutter/webview_flutter_wkwebview/pubspec.yaml +++ b/packages/webview_flutter/webview_flutter_wkwebview/pubspec.yaml @@ -2,7 +2,7 @@ name: webview_flutter_wkwebview description: A Flutter plugin that provides a WebView widget based on Apple's WKWebView control. repository: https://github.com/flutter/packages/tree/main/packages/webview_flutter/webview_flutter_wkwebview issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+webview%22 -version: 3.23.4 +version: 3.23.5 environment: sdk: ^3.9.0 diff --git a/packages/webview_flutter/webview_flutter_wkwebview/test/legacy/web_kit_cookie_manager_test.dart b/packages/webview_flutter/webview_flutter_wkwebview/test/legacy/web_kit_cookie_manager_test.dart index a39b482254b..79077799473 100644 --- a/packages/webview_flutter/webview_flutter_wkwebview/test/legacy/web_kit_cookie_manager_test.dart +++ b/packages/webview_flutter/webview_flutter_wkwebview/test/legacy/web_kit_cookie_manager_test.dart @@ -8,7 +8,6 @@ import 'package:mockito/mockito.dart'; import 'package:webview_flutter_platform_interface/src/webview_flutter_platform_interface_legacy.dart'; import 'package:webview_flutter_wkwebview/src/common/web_kit.g.dart'; import 'package:webview_flutter_wkwebview/src/legacy/wkwebview_cookie_manager.dart'; -import 'package:webview_flutter_wkwebview/src/webkit_proxy.dart'; import 'web_kit_cookie_manager_test.mocks.dart'; @@ -16,6 +15,10 @@ import 'web_kit_cookie_manager_test.mocks.dart'; void main() { TestWidgetsFlutterBinding.ensureInitialized(); + setUp(() { + PigeonOverrides.pigeon_reset(); + }); + group('WebKitWebViewWidget', () { late MockWKWebsiteDataStore mockWebsiteDataStore; late MockWKHTTPCookieStore mockWKHttpCookieStore; @@ -31,17 +34,22 @@ void main() { mockWebsiteDataStore.httpCookieStore, ).thenReturn(mockWKHttpCookieStore); + PigeonOverrides.hTTPCookie_new = + ({ + required Map properties, + void Function( + NSObject instance, + String? keyPath, + NSObject? object, + Map? change, + )? + observeValue, + }) { + cookieProperties = properties; + return cookie = HTTPCookie.pigeon_detached(); + }; cookieManager = WKWebViewCookieManager( websiteDataStore: mockWebsiteDataStore, - webKitProxy: WebKitProxy( - newHTTPCookie: - ({required Map properties}) { - cookieProperties = properties; - return cookie = HTTPCookie.pigeon_detached( - pigeon_instanceManager: TestInstanceManager(), - ); - }, - ), ); }); @@ -90,8 +98,3 @@ void main() { }); }); } - -// Test InstanceManager that sets `onWeakReferenceRemoved` as a noop. -class TestInstanceManager extends PigeonInstanceManager { - TestInstanceManager() : super(onWeakReferenceRemoved: (_) {}); -} diff --git a/packages/webview_flutter/webview_flutter_wkwebview/test/legacy/web_kit_cookie_manager_test.mocks.dart b/packages/webview_flutter/webview_flutter_wkwebview/test/legacy/web_kit_cookie_manager_test.mocks.dart index 1f5c17c03f8..e02154caacf 100644 --- a/packages/webview_flutter/webview_flutter_wkwebview/test/legacy/web_kit_cookie_manager_test.mocks.dart +++ b/packages/webview_flutter/webview_flutter_wkwebview/test/legacy/web_kit_cookie_manager_test.mocks.dart @@ -21,6 +21,7 @@ import 'package:webview_flutter_wkwebview/src/common/web_kit.g.dart' as _i2; // ignore_for_file: unnecessary_parenthesis // ignore_for_file: camel_case_types // ignore_for_file: subtype_of_sealed_class +// ignore_for_file: invalid_use_of_internal_member class _FakePigeonInstanceManager_0 extends _i1.SmartFake implements _i2.PigeonInstanceManager { diff --git a/packages/webview_flutter/webview_flutter_wkwebview/test/legacy/web_kit_webview_widget_test.dart b/packages/webview_flutter/webview_flutter_wkwebview/test/legacy/web_kit_webview_widget_test.dart index 78b13bfe50d..3bc0b5261bb 100644 --- a/packages/webview_flutter/webview_flutter_wkwebview/test/legacy/web_kit_webview_widget_test.dart +++ b/packages/webview_flutter/webview_flutter_wkwebview/test/legacy/web_kit_webview_widget_test.dart @@ -171,9 +171,7 @@ void main() { WKNavigationAction, ); - final request = URLRequest.pigeon_detached( - pigeon_instanceManager: TestInstanceManager(), - ); + final request = URLRequest.pigeon_detached(); onCreateWebView( MockWKUIDelegate(), mocks.webView, @@ -183,10 +181,8 @@ void main() { targetFrame: WKFrameInfo.pigeon_detached( isMainFrame: false, request: request, - pigeon_instanceManager: TestInstanceManager(), ), navigationType: NavigationType.linkActivated, - pigeon_instanceManager: TestInstanceManager(), ), ); @@ -1278,7 +1274,6 @@ void main() { userInfo: const { NSErrorUserInfoKey.NSLocalizedDescription: 'my desc', }, - pigeon_instanceManager: TestInstanceManager(), ), ); @@ -1335,7 +1330,6 @@ void main() { userInfo: const { NSErrorUserInfoKey.NSLocalizedDescription: 'my desc', }, - pigeon_instanceManager: TestInstanceManager(), ), ); @@ -1463,10 +1457,8 @@ void main() { targetFrame: WKFrameInfo.pigeon_detached( isMainFrame: false, request: mockRequest, - pigeon_instanceManager: TestInstanceManager(), ), navigationType: NavigationType.linkActivated, - pigeon_instanceManager: TestInstanceManager(), ), ), NavigationActionPolicy.allow, @@ -1556,11 +1548,7 @@ void main() { didReceiveScriptMessage( MockWKScriptMessageHandler(), mocks.userContentController, - WKScriptMessage.pigeon_detached( - name: 'hello', - body: 'A message.', - pigeon_instanceManager: TestInstanceManager(), - ), + WKScriptMessage.pigeon_detached(name: 'hello', body: 'A message.'), ); verify( mocks.javascriptChannelRegistry.onJavascriptChannelMessage( @@ -1603,8 +1591,3 @@ class _WebViewMocks { final MockJavascriptChannelRegistry javascriptChannelRegistry; final MockWKWebpagePreferences webpagePreferences; } - -// Test InstanceManager that sets `onWeakReferenceRemoved` as a noop. -class TestInstanceManager extends PigeonInstanceManager { - TestInstanceManager() : super(onWeakReferenceRemoved: (_) {}); -} diff --git a/packages/webview_flutter/webview_flutter_wkwebview/test/legacy/web_kit_webview_widget_test.mocks.dart b/packages/webview_flutter/webview_flutter_wkwebview/test/legacy/web_kit_webview_widget_test.mocks.dart index 6c56342666e..c230dfacf48 100644 --- a/packages/webview_flutter/webview_flutter_wkwebview/test/legacy/web_kit_webview_widget_test.mocks.dart +++ b/packages/webview_flutter/webview_flutter_wkwebview/test/legacy/web_kit_webview_widget_test.mocks.dart @@ -32,6 +32,7 @@ import 'package:webview_flutter_wkwebview/src/legacy/web_kit_webview_widget.dart // ignore_for_file: unnecessary_parenthesis // ignore_for_file: camel_case_types // ignore_for_file: subtype_of_sealed_class +// ignore_for_file: invalid_use_of_internal_member class _FakePigeonInstanceManager_0 extends _i1.SmartFake implements _i2.PigeonInstanceManager { diff --git a/packages/webview_flutter/webview_flutter_wkwebview/test/webkit_navigation_delegate_test.dart b/packages/webview_flutter/webview_flutter_wkwebview/test/webkit_navigation_delegate_test.dart index d6ac324c78b..0b2fa67c43a 100644 --- a/packages/webview_flutter/webview_flutter_wkwebview/test/webkit_navigation_delegate_test.dart +++ b/packages/webview_flutter/webview_flutter_wkwebview/test/webkit_navigation_delegate_test.dart @@ -12,7 +12,6 @@ import 'package:mockito/mockito.dart'; import 'package:webview_flutter_platform_interface/webview_flutter_platform_interface.dart'; import 'package:webview_flutter_wkwebview/src/common/web_kit.g.dart'; import 'package:webview_flutter_wkwebview/src/common/webkit_constants.dart'; -import 'package:webview_flutter_wkwebview/src/webkit_proxy.dart'; import 'package:webview_flutter_wkwebview/webview_flutter_wkwebview.dart'; import 'webkit_navigation_delegate_test.mocks.dart'; @@ -26,6 +25,10 @@ import 'webkit_navigation_delegate_test.mocks.dart'; void main() { WidgetsFlutterBinding.ensureInitialized(); + setUp(() { + PigeonOverrides.pigeon_reset(); + }); + group('WebKitNavigationDelegate', () { test('WebKitNavigationDelegate uses params field in constructor', () async { await runZonedGuarded( @@ -39,12 +42,10 @@ void main() { }); test('setOnPageFinished', () async { + PigeonOverrides.wKNavigationDelegate_new = + CapturingNavigationDelegate.new; final webKitDelegate = WebKitNavigationDelegate( - const WebKitNavigationDelegateCreationParams( - webKitProxy: WebKitProxy( - newWKNavigationDelegate: CapturingNavigationDelegate.new, - ), - ), + const WebKitNavigationDelegateCreationParams(), ); late final String callbackUrl; @@ -52,7 +53,6 @@ void main() { CapturingNavigationDelegate.lastCreatedDelegate.didFinishNavigation!( WKNavigationDelegate.pigeon_detached( - pigeon_instanceManager: TestInstanceManager(), decidePolicyForNavigationAction: (_, __, ___) async { return NavigationActionPolicy.cancel; }, @@ -63,13 +63,10 @@ void main() { return AuthenticationChallengeResponse.pigeon_detached( disposition: UrlSessionAuthChallengeDisposition.performDefaultHandling, - pigeon_instanceManager: TestInstanceManager(), ); }, ), - WKWebView.pigeon_detached( - pigeon_instanceManager: TestInstanceManager(), - ), + WKWebView.pigeon_detached(), 'https://www.google.com', ); @@ -77,12 +74,10 @@ void main() { }); test('setOnPageStarted', () async { + PigeonOverrides.wKNavigationDelegate_new = + CapturingNavigationDelegate.new; final webKitDelegate = WebKitNavigationDelegate( - const WebKitNavigationDelegateCreationParams( - webKitProxy: WebKitProxy( - newWKNavigationDelegate: CapturingNavigationDelegate.new, - ), - ), + const WebKitNavigationDelegateCreationParams(), ); late final String callbackUrl; @@ -92,7 +87,6 @@ void main() { .lastCreatedDelegate .didStartProvisionalNavigation!( WKNavigationDelegate.pigeon_detached( - pigeon_instanceManager: TestInstanceManager(), decidePolicyForNavigationAction: (_, __, ___) async { return NavigationActionPolicy.cancel; }, @@ -103,13 +97,10 @@ void main() { return AuthenticationChallengeResponse.pigeon_detached( disposition: UrlSessionAuthChallengeDisposition.performDefaultHandling, - pigeon_instanceManager: TestInstanceManager(), ); }, ), - WKWebView.pigeon_detached( - pigeon_instanceManager: TestInstanceManager(), - ), + WKWebView.pigeon_detached(), 'https://www.google.com', ); @@ -117,12 +108,10 @@ void main() { }); test('setOnHttpError from decidePolicyForNavigationResponse', () async { + PigeonOverrides.wKNavigationDelegate_new = + CapturingNavigationDelegate.new; final webKitDelegate = WebKitNavigationDelegate( - const WebKitNavigationDelegateCreationParams( - webKitProxy: WebKitProxy( - newWKNavigationDelegate: CapturingNavigationDelegate.new, - ), - ), + const WebKitNavigationDelegateCreationParams(), ); late final HttpResponseError callbackError; @@ -135,7 +124,6 @@ void main() { await CapturingNavigationDelegate.lastCreatedDelegate .decidePolicyForNavigationResponse( WKNavigationDelegate.pigeon_detached( - pigeon_instanceManager: TestInstanceManager(), decidePolicyForNavigationAction: (_, __, ___) async { return NavigationActionPolicy.cancel; }, @@ -146,20 +134,13 @@ void main() { return AuthenticationChallengeResponse.pigeon_detached( disposition: UrlSessionAuthChallengeDisposition.performDefaultHandling, - pigeon_instanceManager: TestInstanceManager(), ); }, ), - WKWebView.pigeon_detached( - pigeon_instanceManager: TestInstanceManager(), - ), + WKWebView.pigeon_detached(), WKNavigationResponse.pigeon_detached( - response: HTTPURLResponse.pigeon_detached( - statusCode: 401, - pigeon_instanceManager: TestInstanceManager(), - ), + response: HTTPURLResponse.pigeon_detached(statusCode: 401), isForMainFrame: true, - pigeon_instanceManager: TestInstanceManager(), ), ); @@ -167,12 +148,10 @@ void main() { }); test('setOnHttpError is not called for error codes < 400', () async { + PigeonOverrides.wKNavigationDelegate_new = + CapturingNavigationDelegate.new; final webKitDelegate = WebKitNavigationDelegate( - const WebKitNavigationDelegateCreationParams( - webKitProxy: WebKitProxy( - newWKNavigationDelegate: CapturingNavigationDelegate.new, - ), - ), + const WebKitNavigationDelegateCreationParams(), ); HttpResponseError? callbackError; @@ -185,7 +164,6 @@ void main() { await CapturingNavigationDelegate.lastCreatedDelegate .decidePolicyForNavigationResponse( WKNavigationDelegate.pigeon_detached( - pigeon_instanceManager: TestInstanceManager(), decidePolicyForNavigationAction: (_, __, ___) async { return NavigationActionPolicy.cancel; }, @@ -196,20 +174,13 @@ void main() { return AuthenticationChallengeResponse.pigeon_detached( disposition: UrlSessionAuthChallengeDisposition.performDefaultHandling, - pigeon_instanceManager: TestInstanceManager(), ); }, ), - WKWebView.pigeon_detached( - pigeon_instanceManager: TestInstanceManager(), - ), + WKWebView.pigeon_detached(), WKNavigationResponse.pigeon_detached( - response: HTTPURLResponse.pigeon_detached( - statusCode: 399, - pigeon_instanceManager: TestInstanceManager(), - ), + response: HTTPURLResponse.pigeon_detached(statusCode: 399), isForMainFrame: true, - pigeon_instanceManager: TestInstanceManager(), ), ); @@ -217,12 +188,10 @@ void main() { }); test('onWebResourceError from didFailNavigation', () async { + PigeonOverrides.wKNavigationDelegate_new = + CapturingNavigationDelegate.new; final webKitDelegate = WebKitNavigationDelegate( - const WebKitNavigationDelegateCreationParams( - webKitProxy: WebKitProxy( - newWKNavigationDelegate: CapturingNavigationDelegate.new, - ), - ), + const WebKitNavigationDelegateCreationParams(), ); late final WebKitWebResourceError callbackError; @@ -234,7 +203,6 @@ void main() { CapturingNavigationDelegate.lastCreatedDelegate.didFailNavigation!( WKNavigationDelegate.pigeon_detached( - pigeon_instanceManager: TestInstanceManager(), decidePolicyForNavigationAction: (_, __, ___) async { return NavigationActionPolicy.cancel; }, @@ -245,13 +213,10 @@ void main() { return AuthenticationChallengeResponse.pigeon_detached( disposition: UrlSessionAuthChallengeDisposition.performDefaultHandling, - pigeon_instanceManager: TestInstanceManager(), ); }, ), - WKWebView.pigeon_detached( - pigeon_instanceManager: TestInstanceManager(), - ), + WKWebView.pigeon_detached(), NSError.pigeon_detached( code: WKErrorCode.webViewInvalidated, domain: 'domain', @@ -272,12 +237,10 @@ void main() { }); test('onWebResourceError from didFailProvisionalNavigation', () async { + PigeonOverrides.wKNavigationDelegate_new = + CapturingNavigationDelegate.new; final webKitDelegate = WebKitNavigationDelegate( - const WebKitNavigationDelegateCreationParams( - webKitProxy: WebKitProxy( - newWKNavigationDelegate: CapturingNavigationDelegate.new, - ), - ), + const WebKitNavigationDelegateCreationParams(), ); late final WebKitWebResourceError callbackError; @@ -291,7 +254,6 @@ void main() { .lastCreatedDelegate .didFailProvisionalNavigation!( WKNavigationDelegate.pigeon_detached( - pigeon_instanceManager: TestInstanceManager(), decidePolicyForNavigationAction: (_, __, ___) async { return NavigationActionPolicy.cancel; }, @@ -302,13 +264,10 @@ void main() { return AuthenticationChallengeResponse.pigeon_detached( disposition: UrlSessionAuthChallengeDisposition.performDefaultHandling, - pigeon_instanceManager: TestInstanceManager(), ); }, ), - WKWebView.pigeon_detached( - pigeon_instanceManager: TestInstanceManager(), - ), + WKWebView.pigeon_detached(), NSError.pigeon_detached( code: WKErrorCode.webViewInvalidated, domain: 'domain', @@ -331,12 +290,10 @@ void main() { test( 'onWebResourceError from webViewWebContentProcessDidTerminate', () async { + PigeonOverrides.wKNavigationDelegate_new = + CapturingNavigationDelegate.new; final webKitDelegate = WebKitNavigationDelegate( - const WebKitNavigationDelegateCreationParams( - webKitProxy: WebKitProxy( - newWKNavigationDelegate: CapturingNavigationDelegate.new, - ), - ), + const WebKitNavigationDelegateCreationParams(), ); late final WebKitWebResourceError callbackError; @@ -350,7 +307,6 @@ void main() { .lastCreatedDelegate .webViewWebContentProcessDidTerminate!( WKNavigationDelegate.pigeon_detached( - pigeon_instanceManager: TestInstanceManager(), decidePolicyForNavigationAction: (_, __, ___) async { return NavigationActionPolicy.cancel; }, @@ -361,13 +317,10 @@ void main() { return AuthenticationChallengeResponse.pigeon_detached( disposition: UrlSessionAuthChallengeDisposition.performDefaultHandling, - pigeon_instanceManager: TestInstanceManager(), ); }, ), - WKWebView.pigeon_detached( - pigeon_instanceManager: TestInstanceManager(), - ), + WKWebView.pigeon_detached(), ); expect(callbackError.description, ''); @@ -385,12 +338,10 @@ void main() { ); test('onNavigationRequest from decidePolicyForNavigationAction', () async { + PigeonOverrides.wKNavigationDelegate_new = + CapturingNavigationDelegate.new; final webKitDelegate = WebKitNavigationDelegate( - const WebKitNavigationDelegateCreationParams( - webKitProxy: WebKitProxy( - newWKNavigationDelegate: CapturingNavigationDelegate.new, - ), - ), + const WebKitNavigationDelegateCreationParams(), ); late final NavigationRequest callbackRequest; @@ -412,7 +363,6 @@ void main() { await CapturingNavigationDelegate.lastCreatedDelegate .decidePolicyForNavigationAction( WKNavigationDelegate.pigeon_detached( - pigeon_instanceManager: TestInstanceManager(), decidePolicyForNavigationAction: (_, __, ___) async { return NavigationActionPolicy.cancel; }, @@ -423,23 +373,17 @@ void main() { return AuthenticationChallengeResponse.pigeon_detached( disposition: UrlSessionAuthChallengeDisposition .performDefaultHandling, - pigeon_instanceManager: TestInstanceManager(), ); }, ), - WKWebView.pigeon_detached( - pigeon_instanceManager: TestInstanceManager(), - ), + WKWebView.pigeon_detached(), WKNavigationAction.pigeon_detached( request: mockRequest, targetFrame: WKFrameInfo.pigeon_detached( isMainFrame: false, - request: URLRequest.pigeon_detached( - pigeon_instanceManager: TestInstanceManager(), - ), + request: URLRequest.pigeon_detached(), ), navigationType: NavigationType.linkActivated, - pigeon_instanceManager: TestInstanceManager(), ), ), NavigationActionPolicy.allow, @@ -450,23 +394,20 @@ void main() { }); test('onHttpBasicAuthRequest emits host and realm', () async { + PigeonOverrides.wKNavigationDelegate_new = + CapturingNavigationDelegate.new; + PigeonOverrides.authenticationChallengeResponse_createAsync = + ( + UrlSessionAuthChallengeDisposition disposition, + URLCredential? credential, + ) async { + return AuthenticationChallengeResponse.pigeon_detached( + disposition: + UrlSessionAuthChallengeDisposition.performDefaultHandling, + ); + }; final iosNavigationDelegate = WebKitNavigationDelegate( - WebKitNavigationDelegateCreationParams( - webKitProxy: WebKitProxy( - newWKNavigationDelegate: CapturingNavigationDelegate.new, - createAsyncAuthenticationChallengeResponse: - ( - UrlSessionAuthChallengeDisposition disposition, - URLCredential? credential, - ) async { - return AuthenticationChallengeResponse.pigeon_detached( - disposition: UrlSessionAuthChallengeDisposition - .performDefaultHandling, - pigeon_instanceManager: TestInstanceManager(), - ); - }, - ), - ), + const WebKitNavigationDelegateCreationParams(), ); String? callbackHost; @@ -491,7 +432,6 @@ void main() { host: expectedHost, realm: expectedRealm, authenticationMethod: NSUrlAuthenticationMethod.httpBasic, - pigeon_instanceManager: TestInstanceManager(), ), ); }); @@ -499,7 +439,6 @@ void main() { await CapturingNavigationDelegate.lastCreatedDelegate .didReceiveAuthenticationChallenge( WKNavigationDelegate.pigeon_detached( - pigeon_instanceManager: TestInstanceManager(), decidePolicyForNavigationAction: (_, __, ___) async { return NavigationActionPolicy.cancel; }, @@ -510,13 +449,10 @@ void main() { return AuthenticationChallengeResponse.pigeon_detached( disposition: UrlSessionAuthChallengeDisposition.performDefaultHandling, - pigeon_instanceManager: TestInstanceManager(), ); }, ), - WKWebView.pigeon_detached( - pigeon_instanceManager: TestInstanceManager(), - ), + WKWebView.pigeon_detached(), mockChallenge, ); @@ -530,36 +466,31 @@ void main() { const UrlCredentialPersistence expectedPersistence = UrlCredentialPersistence.forSession; + PigeonOverrides.wKNavigationDelegate_new = + CapturingNavigationDelegate.new; + PigeonOverrides.authenticationChallengeResponse_createAsync = + ( + UrlSessionAuthChallengeDisposition disposition, + URLCredential? credential, + ) async { + return AuthenticationChallengeResponse.pigeon_detached( + disposition: disposition, + credential: credential, + ); + }; + PigeonOverrides.uRLCredential_withUserAsync = + ( + String user, + String password, + UrlCredentialPersistence persistence, + ) async { + expect(user, expectedUser); + expect(password, expectedPassword); + expect(persistence, expectedPersistence); + return URLCredential.pigeon_detached(); + }; final iosNavigationDelegate = WebKitNavigationDelegate( - WebKitNavigationDelegateCreationParams( - webKitProxy: WebKitProxy( - newWKNavigationDelegate: CapturingNavigationDelegate.new, - createAsyncAuthenticationChallengeResponse: - ( - UrlSessionAuthChallengeDisposition disposition, - URLCredential? credential, - ) async { - return AuthenticationChallengeResponse.pigeon_detached( - disposition: disposition, - credential: credential, - pigeon_instanceManager: TestInstanceManager(), - ); - }, - withUserAsyncURLCredential: - ( - String user, - String password, - UrlCredentialPersistence persistence, - ) async { - expect(user, expectedUser); - expect(password, expectedPassword); - expect(persistence, expectedPersistence); - return URLCredential.pigeon_detached( - pigeon_instanceManager: TestInstanceManager(), - ); - }, - ), - ), + const WebKitNavigationDelegateCreationParams(), ); String? callbackHost; @@ -590,7 +521,6 @@ void main() { host: expectedHost, realm: expectedRealm, authenticationMethod: NSUrlAuthenticationMethod.httpNtlm, - pigeon_instanceManager: TestInstanceManager(), ), ); }), @@ -600,7 +530,6 @@ void main() { await CapturingNavigationDelegate.lastCreatedDelegate .didReceiveAuthenticationChallenge( WKNavigationDelegate.pigeon_detached( - pigeon_instanceManager: TestInstanceManager(), decidePolicyForNavigationAction: (_, __, ___) async { return NavigationActionPolicy.cancel; }, @@ -611,13 +540,10 @@ void main() { return AuthenticationChallengeResponse.pigeon_detached( disposition: UrlSessionAuthChallengeDisposition .performDefaultHandling, - pigeon_instanceManager: TestInstanceManager(), ); }, ), - WKWebView.pigeon_detached( - pigeon_instanceManager: TestInstanceManager(), - ), + WKWebView.pigeon_detached(), mockChallenge, ); @@ -634,58 +560,47 @@ void main() { const exceptionCode = 'code'; const exceptionMessage = 'message'; final copiedExceptions = Uint8List(0); - final leafCertificate = SecCertificate.pigeon_detached( - pigeon_instanceManager: TestInstanceManager(), - ); + final leafCertificate = SecCertificate.pigeon_detached(); final certificateData = Uint8List(0); + PigeonOverrides.wKNavigationDelegate_new = + CapturingNavigationDelegate.new; + PigeonOverrides.authenticationChallengeResponse_createAsync = + ( + UrlSessionAuthChallengeDisposition disposition, + URLCredential? credential, + ) async { + return AuthenticationChallengeResponse.pigeon_detached( + disposition: disposition, + credential: credential, + ); + }; + PigeonOverrides.uRLCredential_serverTrustAsync = (_) async { + return URLCredential.pigeon_detached(); + }; + PigeonOverrides.secTrust_evaluateWithError = (_) async { + throw PlatformException(code: exceptionCode, message: exceptionMessage); + }; + PigeonOverrides.secTrust_copyExceptions = (_) async => copiedExceptions; + PigeonOverrides.secTrust_setExceptions = expectAsync2(( + _, + Uint8List? exceptions, + ) async { + expect(exceptions, copiedExceptions); + return true; + }); + PigeonOverrides.secTrust_getTrustResult = (_) async { + return GetTrustResultResponse.pigeon_detached( + result: DartSecTrustResultType.recoverableTrustFailure, + resultCode: 0, + ); + }; + PigeonOverrides.secTrust_copyCertificateChain = (_) async { + return [leafCertificate]; + }; + PigeonOverrides.secCertificate_copyData = (_) async => certificateData; final iosNavigationDelegate = WebKitNavigationDelegate( - WebKitNavigationDelegateCreationParams( - webKitProxy: WebKitProxy( - newWKNavigationDelegate: CapturingNavigationDelegate.new, - createAsyncAuthenticationChallengeResponse: - ( - UrlSessionAuthChallengeDisposition disposition, - URLCredential? credential, - ) async { - return AuthenticationChallengeResponse.pigeon_detached( - disposition: disposition, - credential: credential, - pigeon_instanceManager: TestInstanceManager(), - ); - }, - serverTrustAsyncURLCredential: (_) async { - return URLCredential.pigeon_detached( - pigeon_instanceManager: TestInstanceManager(), - ); - }, - evaluateWithErrorSecTrust: (_) async { - throw PlatformException( - code: exceptionCode, - message: exceptionMessage, - ); - }, - copyExceptionsSecTrust: (_) async => copiedExceptions, - setExceptionsSecTrust: expectAsync2(( - _, - Uint8List? exceptions, - ) async { - expect(exceptions, copiedExceptions); - return true; - }), - getTrustResultSecTrust: (_) async { - return GetTrustResultResponse.pigeon_detached( - result: DartSecTrustResultType.recoverableTrustFailure, - resultCode: 0, - pigeon_instanceManager: TestInstanceManager(), - ); - }, - copyCertificateChainSecTrust: (_) async { - return [leafCertificate]; - }, - copyDataSecCertificate: (_) async => certificateData, - ), - ), + const WebKitNavigationDelegateCreationParams(), ); var errorCompleter = Completer(); @@ -699,9 +614,7 @@ void main() { const host = 'host'; final mockChallenge = MockURLAuthenticationChallenge(); - final testTrust = SecTrust.pigeon_detached( - pigeon_instanceManager: TestInstanceManager(), - ); + final testTrust = SecTrust.pigeon_detached(); when(mockChallenge.getProtectionSpace()).thenAnswer((_) async { final mockProtectionSpace = MockURLProtectionSpace(); when(mockProtectionSpace.port).thenReturn(port); @@ -716,7 +629,6 @@ void main() { }); final testDelegate = WKNavigationDelegate.pigeon_detached( - pigeon_instanceManager: TestInstanceManager(), decidePolicyForNavigationAction: (_, __, ___) async { return NavigationActionPolicy.cancel; }, @@ -727,13 +639,10 @@ void main() { return AuthenticationChallengeResponse.pigeon_detached( disposition: UrlSessionAuthChallengeDisposition.performDefaultHandling, - pigeon_instanceManager: TestInstanceManager(), ); }, ); - final testWebView = WKWebView.pigeon_detached( - pigeon_instanceManager: TestInstanceManager(), - ); + final testWebView = WKWebView.pigeon_detached(); Future authReplyFuture = CapturingNavigationDelegate.lastCreatedDelegate @@ -780,23 +689,20 @@ void main() { test( 'didReceiveAuthenticationChallenge calls performDefaultHandling by default', () async { + PigeonOverrides.wKNavigationDelegate_new = + CapturingNavigationDelegate.new; + PigeonOverrides.authenticationChallengeResponse_createAsync = + ( + UrlSessionAuthChallengeDisposition disposition, + URLCredential? credential, + ) async { + return AuthenticationChallengeResponse.pigeon_detached( + disposition: disposition, + credential: credential, + ); + }; WebKitNavigationDelegate( - WebKitNavigationDelegateCreationParams( - webKitProxy: WebKitProxy( - newWKNavigationDelegate: CapturingNavigationDelegate.new, - createAsyncAuthenticationChallengeResponse: - ( - UrlSessionAuthChallengeDisposition disposition, - URLCredential? credential, - ) async { - return AuthenticationChallengeResponse.pigeon_detached( - disposition: disposition, - credential: credential, - pigeon_instanceManager: TestInstanceManager(), - ); - }, - ), - ), + const WebKitNavigationDelegateCreationParams(), ); final mockChallenge = MockURLAuthenticationChallenge(); @@ -809,7 +715,6 @@ void main() { }); final testDelegate = WKNavigationDelegate.pigeon_detached( - pigeon_instanceManager: TestInstanceManager(), decidePolicyForNavigationAction: (_, __, ___) async { return NavigationActionPolicy.cancel; }, @@ -820,13 +725,10 @@ void main() { return AuthenticationChallengeResponse.pigeon_detached( disposition: UrlSessionAuthChallengeDisposition.performDefaultHandling, - pigeon_instanceManager: TestInstanceManager(), ); }, ); - final testWebView = WKWebView.pigeon_detached( - pigeon_instanceManager: TestInstanceManager(), - ); + final testWebView = WKWebView.pigeon_detached(); final AuthenticationChallengeResponse authReply = await CapturingNavigationDelegate.lastCreatedDelegate @@ -857,7 +759,8 @@ class CapturingNavigationDelegate extends WKNavigationDelegate { required super.decidePolicyForNavigationAction, super.webViewWebContentProcessDidTerminate, required super.didReceiveAuthenticationChallenge, - }) : super.pigeon_detached(pigeon_instanceManager: TestInstanceManager()) { + super.observeValue, + }) : super.pigeon_detached() { lastCreatedDelegate = this; } static CapturingNavigationDelegate lastCreatedDelegate = @@ -872,13 +775,7 @@ class CapturingNavigationDelegate extends WKNavigationDelegate { return AuthenticationChallengeResponse.pigeon_detached( disposition: UrlSessionAuthChallengeDisposition.performDefaultHandling, - pigeon_instanceManager: TestInstanceManager(), ); }, ); } - -// Test InstanceManager that sets `onWeakReferenceRemoved` as a noop. -class TestInstanceManager extends PigeonInstanceManager { - TestInstanceManager() : super(onWeakReferenceRemoved: (_) {}); -} diff --git a/packages/webview_flutter/webview_flutter_wkwebview/test/webkit_navigation_delegate_test.mocks.dart b/packages/webview_flutter/webview_flutter_wkwebview/test/webkit_navigation_delegate_test.mocks.dart index 06d95854c47..1c2aa8fc3f8 100644 --- a/packages/webview_flutter/webview_flutter_wkwebview/test/webkit_navigation_delegate_test.mocks.dart +++ b/packages/webview_flutter/webview_flutter_wkwebview/test/webkit_navigation_delegate_test.mocks.dart @@ -23,6 +23,7 @@ import 'package:webview_flutter_wkwebview/src/common/web_kit.g.dart' as _i2; // ignore_for_file: unnecessary_parenthesis // ignore_for_file: camel_case_types // ignore_for_file: subtype_of_sealed_class +// ignore_for_file: invalid_use_of_internal_member class _FakePigeonInstanceManager_0 extends _i1.SmartFake implements _i2.PigeonInstanceManager { diff --git a/packages/webview_flutter/webview_flutter_wkwebview/test/webkit_webview_controller_test.dart b/packages/webview_flutter/webview_flutter_wkwebview/test/webkit_webview_controller_test.dart index 9f6be6e5dc3..579e84a2233 100644 --- a/packages/webview_flutter/webview_flutter_wkwebview/test/webkit_webview_controller_test.dart +++ b/packages/webview_flutter/webview_flutter_wkwebview/test/webkit_webview_controller_test.dart @@ -11,10 +11,8 @@ import 'package:flutter_test/flutter_test.dart'; import 'package:mockito/annotations.dart'; import 'package:mockito/mockito.dart'; import 'package:webview_flutter_platform_interface/webview_flutter_platform_interface.dart'; -import 'package:webview_flutter_wkwebview/src/common/platform_webview.dart'; import 'package:webview_flutter_wkwebview/src/common/web_kit.g.dart'; import 'package:webview_flutter_wkwebview/src/common/webkit_constants.dart'; -import 'package:webview_flutter_wkwebview/src/webkit_proxy.dart'; import 'package:webview_flutter_wkwebview/webview_flutter_wkwebview.dart'; import 'webkit_webview_controller_test.mocks.dart'; @@ -37,6 +35,15 @@ import 'webkit_webview_controller_test.mocks.dart'; void main() { WidgetsFlutterBinding.ensureInitialized(); + setUp(() { + PigeonOverrides.pigeon_reset(); + debugDefaultTargetPlatformOverride = TargetPlatform.iOS; + }); + + tearDown(() { + debugDefaultTargetPlatformOverride = null; + }); + group('WebKitWebViewController', () { WebKitWebViewController createControllerWithMocks({ MockUIScrollView? mockScrollView, @@ -57,137 +64,133 @@ void main() { })? createMockWebView, MockWKWebViewConfiguration? mockWebViewConfiguration, - MockURLRequest Function({required String url})? createURLRequest, - PigeonInstanceManager? instanceManager, + MockURLRequest Function({required String url, dynamic observeValue})? + createURLRequest, MockWKWebpagePreferences? mockWebpagePreferences, }) { final MockWKWebViewConfiguration nonNullMockWebViewConfiguration = mockWebViewConfiguration ?? MockWKWebViewConfiguration(); late final MockUIViewWKWebView nonNullMockWebView; - final PlatformWebViewControllerCreationParams - controllerCreationParams = WebKitWebViewControllerCreationParams( - webKitProxy: WebKitProxy( - newWKWebViewConfiguration: - ({PigeonInstanceManager? instanceManager}) { - return nonNullMockWebViewConfiguration; - }, - newPlatformWebView: - ({ - required WKWebViewConfiguration initialConfiguration, - void Function( - NSObject, - String?, - NSObject?, - Map?, - )? - observeValue, - }) { - nonNullMockWebView = createMockWebView == null - ? MockUIViewWKWebView() - : createMockWebView( - nonNullMockWebViewConfiguration, - observeValue: observeValue, - ); - return PlatformWebView.fromNativeWebView(nonNullMockWebView); - }, - newWKUIDelegate: - ({ - void Function( - WKUIDelegate, - WKWebView, - WKWebViewConfiguration, - WKNavigationAction, - )? - onCreateWebView, - required Future Function( - WKUIDelegate, - WKWebView, - WKSecurityOrigin, - WKFrameInfo, - MediaCaptureType, - ) - requestMediaCapturePermission, - Future Function( - WKUIDelegate, - WKWebView, - String, - WKFrameInfo, - )? - runJavaScriptAlertPanel, - required Future Function( - WKUIDelegate, - WKWebView, - String, - WKFrameInfo, - ) - runJavaScriptConfirmPanel, - Future Function( - WKUIDelegate, - WKWebView, - String, - String?, - WKFrameInfo, - )? - runJavaScriptTextInputPanel, - }) { - return uiDelegate ?? - CapturingUIDelegate( - onCreateWebView: onCreateWebView, - requestMediaCapturePermission: - requestMediaCapturePermission, - runJavaScriptAlertPanel: runJavaScriptAlertPanel, - runJavaScriptConfirmPanel: runJavaScriptConfirmPanel, - runJavaScriptTextInputPanel: runJavaScriptTextInputPanel, - ); - }, - newWKScriptMessageHandler: - ({ - required void Function( - WKScriptMessageHandler, - WKUserContentController, - WKScriptMessage, - ) - didReceiveScriptMessage, - }) { - return WKScriptMessageHandler.pigeon_detached( - didReceiveScriptMessage: didReceiveScriptMessage, - pigeon_instanceManager: TestInstanceManager(), + PigeonOverrides.wKWebViewConfiguration_new = + ({ + void Function( + NSObject pigeonInstance, + String? keyPath, + NSObject? object, + Map? change, + )? + observeValue, + }) { + return nonNullMockWebViewConfiguration; + }; + PigeonOverrides.uIViewWKWebView_new = + ({ + required WKWebViewConfiguration initialConfiguration, + void Function( + NSObject, + String?, + NSObject?, + Map?, + )? + observeValue, + }) { + nonNullMockWebView = createMockWebView == null + ? MockUIViewWKWebView() + : createMockWebView( + nonNullMockWebViewConfiguration, + observeValue: observeValue, + ); + return nonNullMockWebView; + }; + PigeonOverrides.wKUIDelegate_new = + ({ + void Function( + WKUIDelegate, + WKWebView, + WKWebViewConfiguration, + WKNavigationAction, + )? + onCreateWebView, + required Future Function( + WKUIDelegate, + WKWebView, + WKSecurityOrigin, + WKFrameInfo, + MediaCaptureType, + ) + requestMediaCapturePermission, + Future Function(WKUIDelegate, WKWebView, String, WKFrameInfo)? + runJavaScriptAlertPanel, + required Future Function( + WKUIDelegate, + WKWebView, + String, + WKFrameInfo, + ) + runJavaScriptConfirmPanel, + Future Function( + WKUIDelegate, + WKWebView, + String, + String?, + WKFrameInfo, + )? + runJavaScriptTextInputPanel, + dynamic observeValue, + }) { + return uiDelegate ?? + CapturingUIDelegate( + onCreateWebView: onCreateWebView, + requestMediaCapturePermission: requestMediaCapturePermission, + runJavaScriptAlertPanel: runJavaScriptAlertPanel, + runJavaScriptConfirmPanel: runJavaScriptConfirmPanel, + runJavaScriptTextInputPanel: runJavaScriptTextInputPanel, ); - }, - newUIScrollViewDelegate: - ({ - void Function( - UIScrollViewDelegate, - UIScrollView, - double, - double, - )? - scrollViewDidScroll, - }) { - return scrollViewDelegate ?? - CapturingUIScrollViewDelegate( - scrollViewDidScroll: scrollViewDidScroll, - ); - }, - newURLRequest: - createURLRequest ?? ({required String url}) => MockURLRequest(), - newWKUserScript: - ({ - required String source, - required UserScriptInjectionTime injectionTime, - required bool isForMainFrameOnly, - }) { - return WKUserScript.pigeon_detached( - source: source, - injectionTime: injectionTime, - isForMainFrameOnly: isForMainFrameOnly, - pigeon_instanceManager: TestInstanceManager(), + }; + PigeonOverrides.wKScriptMessageHandler_new = + ({ + required void Function( + WKScriptMessageHandler, + WKUserContentController, + WKScriptMessage, + ) + didReceiveScriptMessage, + dynamic observeValue, + }) { + return WKScriptMessageHandler.pigeon_detached( + didReceiveScriptMessage: didReceiveScriptMessage, + ); + }; + PigeonOverrides.uIScrollViewDelegate_new = + ({ + void Function(UIScrollViewDelegate, UIScrollView, double, double)? + scrollViewDidScroll, + dynamic observeValue, + }) { + return scrollViewDelegate ?? + CapturingUIScrollViewDelegate( + scrollViewDidScroll: scrollViewDidScroll, ); - }, - ), - instanceManager: instanceManager ?? TestInstanceManager(), - ); + }; + PigeonOverrides.uRLRequest_new = + createURLRequest ?? + ({required String url, dynamic observeValue}) => MockURLRequest(); + PigeonOverrides.wKUserScript_new = + ({ + required String source, + required UserScriptInjectionTime injectionTime, + required bool isForMainFrameOnly, + dynamic observeValue, + }) { + return WKUserScript.pigeon_detached( + source: source, + injectionTime: injectionTime, + isForMainFrameOnly: isForMainFrameOnly, + ); + }; + final PlatformWebViewControllerCreationParams controllerCreationParams = + WebKitWebViewControllerCreationParams(); final controller = WebKitWebViewController(controllerCreationParams); @@ -228,13 +231,9 @@ void main() { test('allowsInlineMediaPlayback', () { final mockConfiguration = MockWKWebViewConfiguration(); - WebKitWebViewControllerCreationParams( - webKitProxy: WebKitProxy( - newWKWebViewConfiguration: () => mockConfiguration, - ), - instanceManager: TestInstanceManager(), - allowsInlineMediaPlayback: true, - ); + PigeonOverrides.wKWebViewConfiguration_new = ({dynamic observeValue}) => + mockConfiguration; + WebKitWebViewControllerCreationParams(allowsInlineMediaPlayback: true); verify(mockConfiguration.setAllowsInlineMediaPlayback(true)); }); @@ -242,13 +241,9 @@ void main() { test('limitsNavigationsToAppBoundDomains', () { final mockConfiguration = MockWKWebViewConfiguration(); + PigeonOverrides.wKWebViewConfiguration_new = ({dynamic observeValue}) => + mockConfiguration; WebKitWebViewControllerCreationParams( - webKitProxy: WebKitProxy( - newWKWebViewConfiguration: () { - return mockConfiguration; - }, - ), - instanceManager: TestInstanceManager(), limitsNavigationsToAppBoundDomains: true, ); @@ -260,14 +255,9 @@ void main() { () { final mockConfiguration = MockWKWebViewConfiguration(); - WebKitWebViewControllerCreationParams( - webKitProxy: WebKitProxy( - newWKWebViewConfiguration: () { - return mockConfiguration; - }, - ), - instanceManager: TestInstanceManager(), - ); + PigeonOverrides.wKWebViewConfiguration_new = + ({dynamic observeValue}) => mockConfiguration; + WebKitWebViewControllerCreationParams(); verifyNever( mockConfiguration.setLimitsNavigationsToAppBoundDomains(any), @@ -278,13 +268,9 @@ void main() { test('mediaTypesRequiringUserAction', () { final mockConfiguration = MockWKWebViewConfiguration(); + PigeonOverrides.wKWebViewConfiguration_new = ({dynamic observeValue}) => + mockConfiguration; WebKitWebViewControllerCreationParams( - webKitProxy: WebKitProxy( - newWKWebViewConfiguration: () { - return mockConfiguration; - }, - ), - instanceManager: TestInstanceManager(), mediaTypesRequiringUserAction: const { PlaybackMediaTypes.video, }, @@ -302,14 +288,9 @@ void main() { () { final mockConfiguration = MockWKWebViewConfiguration(); - WebKitWebViewControllerCreationParams( - webKitProxy: WebKitProxy( - newWKWebViewConfiguration: () { - return mockConfiguration; - }, - ), - instanceManager: TestInstanceManager(), - ); + PigeonOverrides.wKWebViewConfiguration_new = + ({dynamic observeValue}) => mockConfiguration; + WebKitWebViewControllerCreationParams(); verify( mockConfiguration.setMediaTypesRequiringUserActionForPlayback( @@ -324,13 +305,9 @@ void main() { () { final mockConfiguration = MockWKWebViewConfiguration(); + PigeonOverrides.wKWebViewConfiguration_new = + ({dynamic observeValue}) => mockConfiguration; WebKitWebViewControllerCreationParams( - webKitProxy: WebKitProxy( - newWKWebViewConfiguration: () { - return mockConfiguration; - }, - ), - instanceManager: TestInstanceManager(), mediaTypesRequiringUserAction: const {}, ); @@ -438,7 +415,7 @@ void main() { final WebKitWebViewController controller = createControllerWithMocks( createMockWebView: (_, {dynamic observeValue}) => mockWebView, - createURLRequest: ({required String url}) { + createURLRequest: ({required String url, dynamic observeValue}) { expect(url, 'https://www.google.com'); return mockRequest; }, @@ -647,7 +624,6 @@ void main() { code: WKErrorCode.javaScriptResultTypeIsUnsupported, domain: '', userInfo: const {}, - pigeon_instanceManager: TestInstanceManager(), ), ), ); @@ -927,27 +903,24 @@ void main() { }); test('addJavaScriptChannel', () async { - final webKitProxy = WebKitProxy( - newWKScriptMessageHandler: - ({ - required void Function( - WKScriptMessageHandler, - WKUserContentController, - WKScriptMessage, - ) - didReceiveScriptMessage, - }) { - return WKScriptMessageHandler.pigeon_detached( - didReceiveScriptMessage: didReceiveScriptMessage, - pigeon_instanceManager: TestInstanceManager(), - ); - }, - ); + PigeonOverrides.wKScriptMessageHandler_new = + ({ + required void Function( + WKScriptMessageHandler, + WKUserContentController, + WKScriptMessage, + ) + didReceiveScriptMessage, + dynamic observeValue, + }) { + return WKScriptMessageHandler.pigeon_detached( + didReceiveScriptMessage: didReceiveScriptMessage, + ); + }; final javaScriptChannelParams = WebKitJavaScriptChannelParams( name: 'name', onMessageReceived: (JavaScriptMessage message) {}, - webKitProxy: webKitProxy, ); final mockUserContentController = MockWKUserContentController(); @@ -974,22 +947,21 @@ void main() { }); test('addJavaScriptChannel requires channel with a unique name', () async { - final webKitProxy = WebKitProxy( - newWKScriptMessageHandler: - ({ - required void Function( - WKScriptMessageHandler, - WKUserContentController, - WKScriptMessage, - ) - didReceiveScriptMessage, - }) { - return WKScriptMessageHandler.pigeon_detached( - didReceiveScriptMessage: didReceiveScriptMessage, - pigeon_instanceManager: TestInstanceManager(), - ); - }, - ); + PigeonOverrides.wKScriptMessageHandler_new = + ({ + required void Function( + WKScriptMessageHandler, + WKUserContentController, + WKScriptMessage, + ) + didReceiveScriptMessage, + dynamic observeValue, + }) { + return WKScriptMessageHandler.pigeon_detached( + didReceiveScriptMessage: didReceiveScriptMessage, + ); + }; + final mockUserContentController = MockWKUserContentController(); final WebKitWebViewController controller = createControllerWithMocks( mockUserContentController: mockUserContentController, @@ -999,7 +971,6 @@ void main() { final javaScriptChannelParams = WebKitJavaScriptChannelParams( name: nonUniqueName, onMessageReceived: (JavaScriptMessage message) {}, - webKitProxy: webKitProxy, ); await controller.addJavaScriptChannel(javaScriptChannelParams); @@ -1015,27 +986,24 @@ void main() { }); test('removeJavaScriptChannel', () async { - final webKitProxy = WebKitProxy( - newWKScriptMessageHandler: - ({ - required void Function( - WKScriptMessageHandler, - WKUserContentController, - WKScriptMessage, - ) - didReceiveScriptMessage, - }) { - return WKScriptMessageHandler.pigeon_detached( - didReceiveScriptMessage: didReceiveScriptMessage, - pigeon_instanceManager: TestInstanceManager(), - ); - }, - ); + PigeonOverrides.wKScriptMessageHandler_new = + ({ + required void Function( + WKScriptMessageHandler, + WKUserContentController, + WKScriptMessage, + ) + didReceiveScriptMessage, + dynamic observeValue, + }) { + return WKScriptMessageHandler.pigeon_detached( + didReceiveScriptMessage: didReceiveScriptMessage, + ); + }; final javaScriptChannelParams = WebKitJavaScriptChannelParams( name: 'name', onMessageReceived: (JavaScriptMessage message) {}, - webKitProxy: webKitProxy, ); final mockUserContentController = MockWKUserContentController(); @@ -1056,33 +1024,29 @@ void main() { }); test('removeJavaScriptChannel multiple times', () async { - final webKitProxy = WebKitProxy( - newWKScriptMessageHandler: - ({ - required void Function( - WKScriptMessageHandler, - WKUserContentController, - WKScriptMessage, - ) - didReceiveScriptMessage, - }) { - return WKScriptMessageHandler.pigeon_detached( - didReceiveScriptMessage: didReceiveScriptMessage, - pigeon_instanceManager: TestInstanceManager(), - ); - }, - ); + PigeonOverrides.wKScriptMessageHandler_new = + ({ + required void Function( + WKScriptMessageHandler, + WKUserContentController, + WKScriptMessage, + ) + didReceiveScriptMessage, + dynamic observeValue, + }) { + return WKScriptMessageHandler.pigeon_detached( + didReceiveScriptMessage: didReceiveScriptMessage, + ); + }; final javaScriptChannelParams1 = WebKitJavaScriptChannelParams( name: 'name1', onMessageReceived: (JavaScriptMessage message) {}, - webKitProxy: webKitProxy, ); final javaScriptChannelParams2 = WebKitJavaScriptChannelParams( name: 'name2', onMessageReceived: (JavaScriptMessage message) {}, - webKitProxy: webKitProxy, ); final mockUserContentController = MockWKUserContentController(); @@ -1123,27 +1087,24 @@ void main() { }); test('removeJavaScriptChannel with zoom disabled', () async { - final webKitProxy = WebKitProxy( - newWKScriptMessageHandler: - ({ - required void Function( - WKScriptMessageHandler, - WKUserContentController, - WKScriptMessage, - ) - didReceiveScriptMessage, - }) { - return WKScriptMessageHandler.pigeon_detached( - didReceiveScriptMessage: didReceiveScriptMessage, - pigeon_instanceManager: TestInstanceManager(), - ); - }, - ); + PigeonOverrides.wKScriptMessageHandler_new = + ({ + required void Function( + WKScriptMessageHandler, + WKUserContentController, + WKScriptMessage, + ) + didReceiveScriptMessage, + dynamic observeValue, + }) { + return WKScriptMessageHandler.pigeon_detached( + didReceiveScriptMessage: didReceiveScriptMessage, + ); + }; final javaScriptChannelParams = WebKitJavaScriptChannelParams( name: 'name', onMessageReceived: (JavaScriptMessage message) {}, - webKitProxy: webKitProxy, ); final mockUserContentController = MockWKUserContentController(); @@ -1196,13 +1157,11 @@ void main() { createMockWebView: (_, {dynamic observeValue}) => mockWebView, ); + PigeonOverrides.wKNavigationDelegate_new = + CapturingNavigationDelegate.new; + PigeonOverrides.wKUIDelegate_new = CapturingUIDelegate.new; final navigationDelegate = WebKitNavigationDelegate( - const WebKitNavigationDelegateCreationParams( - webKitProxy: WebKitProxy( - newWKNavigationDelegate: CapturingNavigationDelegate.new, - newWKUIDelegate: CapturingUIDelegate.new, - ), - ), + const WebKitNavigationDelegateCreationParams(), ); controller.setPlatformNavigationDelegate(navigationDelegate); @@ -1250,12 +1209,10 @@ void main() { ), ); + PigeonOverrides.wKNavigationDelegate_new = + CapturingNavigationDelegate.new; final navigationDelegate = WebKitNavigationDelegate( - const WebKitNavigationDelegateCreationParams( - webKitProxy: WebKitProxy( - newWKNavigationDelegate: CapturingNavigationDelegate.new, - ), - ), + const WebKitNavigationDelegateCreationParams(), ); late final int callbackProgress; @@ -1302,10 +1259,8 @@ void main() { targetFrame: WKFrameInfo.pigeon_detached( isMainFrame: false, request: MockURLRequest(), - pigeon_instanceManager: TestInstanceManager(), ), navigationType: NavigationType.linkActivated, - pigeon_instanceManager: TestInstanceManager(), ), ); @@ -1342,12 +1297,10 @@ void main() { }, ); + PigeonOverrides.wKNavigationDelegate_new = + CapturingNavigationDelegate.new; final navigationDelegate = WebKitNavigationDelegate( - const WebKitNavigationDelegateCreationParams( - webKitProxy: WebKitProxy( - newWKNavigationDelegate: CapturingNavigationDelegate.new, - ), - ), + const WebKitNavigationDelegateCreationParams(), ); // First value of onProgress does nothing. @@ -1405,12 +1358,10 @@ void main() { ]), ); + PigeonOverrides.wKNavigationDelegate_new = + CapturingNavigationDelegate.new; final navigationDelegate = WebKitNavigationDelegate( - const WebKitNavigationDelegateCreationParams( - webKitProxy: WebKitProxy( - newWKNavigationDelegate: CapturingNavigationDelegate.new, - ), - ), + const WebKitNavigationDelegateCreationParams(), ); final urlChangeCompleter = Completer(); @@ -1463,12 +1414,10 @@ void main() { }, ); + PigeonOverrides.wKNavigationDelegate_new = + CapturingNavigationDelegate.new; final navigationDelegate = WebKitNavigationDelegate( - const WebKitNavigationDelegateCreationParams( - webKitProxy: WebKitProxy( - newWKNavigationDelegate: CapturingNavigationDelegate.new, - ), - ), + const WebKitNavigationDelegateCreationParams(), ); final urlChangeCompleter = Completer(); @@ -1515,15 +1464,15 @@ void main() { }); test('webViewIdentifier', () { - final PigeonInstanceManager instanceManager = TestInstanceManager(); + final PigeonInstanceManager instanceManager = + PigeonInstanceManager.instance; final mockWebView = MockUIViewWKWebView(); when(mockWebView.pigeon_copy()).thenReturn(MockUIViewWKWebView()); - instanceManager.addHostCreatedInstance(mockWebView, 0); + instanceManager.addHostCreatedInstance(mockWebView, 5000); final WebKitWebViewController controller = createControllerWithMocks( createMockWebView: (_, {dynamic observeValue}) => mockWebView, - instanceManager: instanceManager, ); expect( @@ -1560,12 +1509,10 @@ void main() { host: '', port: 0, securityProtocol: '', - pigeon_instanceManager: TestInstanceManager(), ), WKFrameInfo.pigeon_detached( isMainFrame: false, request: MockURLRequest(), - pigeon_instanceManager: TestInstanceManager(), ), MediaCaptureType.microphone, ); @@ -1606,11 +1553,7 @@ void main() { CapturingUIDelegate.lastCreatedDelegate, MockWKWebView(), callbackMessage, - WKFrameInfo.pigeon_detached( - isMainFrame: false, - request: mockRequest, - pigeon_instanceManager: TestInstanceManager(), - ), + WKFrameInfo.pigeon_detached(isMainFrame: false, request: mockRequest), ); expect(message, callbackMessage); @@ -1646,11 +1589,7 @@ void main() { CapturingUIDelegate.lastCreatedDelegate, MockWKWebView(), callbackMessage, - WKFrameInfo.pigeon_detached( - isMainFrame: false, - request: mockRequest, - pigeon_instanceManager: TestInstanceManager(), - ), + WKFrameInfo.pigeon_detached(isMainFrame: false, request: mockRequest), ); expect(message, callbackMessage); @@ -1693,11 +1632,7 @@ void main() { MockWKWebView(), callbackMessage, callbackDefaultText, - WKFrameInfo.pigeon_detached( - isMainFrame: false, - request: mockRequest, - pigeon_instanceManager: TestInstanceManager(), - ), + WKFrameInfo.pigeon_detached(isMainFrame: false, request: mockRequest), ); expect(message, callbackMessage); @@ -1838,7 +1773,6 @@ window.addEventListener("error", function(e) { WKScriptMessage.pigeon_detached( name: 'test', body: '{"level": "debug", "message": "Debug message"}', - pigeon_instanceManager: TestInstanceManager(), ), ); scriptMessageHandler.didReceiveScriptMessage( @@ -1847,7 +1781,6 @@ window.addEventListener("error", function(e) { WKScriptMessage.pigeon_detached( name: 'test', body: '{"level": "error", "message": "Error message"}', - pigeon_instanceManager: TestInstanceManager(), ), ); scriptMessageHandler.didReceiveScriptMessage( @@ -1856,7 +1789,6 @@ window.addEventListener("error", function(e) { WKScriptMessage.pigeon_detached( name: 'test', body: '{"level": "info", "message": "Info message"}', - pigeon_instanceManager: TestInstanceManager(), ), ); scriptMessageHandler.didReceiveScriptMessage( @@ -1865,7 +1797,6 @@ window.addEventListener("error", function(e) { WKScriptMessage.pigeon_detached( name: 'test', body: '{"level": "log", "message": "Log message"}', - pigeon_instanceManager: TestInstanceManager(), ), ); scriptMessageHandler.didReceiveScriptMessage( @@ -1874,7 +1805,6 @@ window.addEventListener("error", function(e) { WKScriptMessage.pigeon_detached( name: 'test', body: '{"level": "warning", "message": "Warning message"}', - pigeon_instanceManager: TestInstanceManager(), ), ); @@ -1979,23 +1909,21 @@ window.addEventListener("error", function(e) { test('onMessageReceived', () async { late final WKScriptMessageHandler messageHandler; - final webKitProxy = WebKitProxy( - newWKScriptMessageHandler: - ({ - required void Function( - WKScriptMessageHandler, - WKUserContentController userContentController, - WKScriptMessage message, - ) - didReceiveScriptMessage, - }) { - messageHandler = WKScriptMessageHandler.pigeon_detached( - didReceiveScriptMessage: didReceiveScriptMessage, - pigeon_instanceManager: TestInstanceManager(), - ); - return messageHandler; - }, - ); + PigeonOverrides.wKScriptMessageHandler_new = + ({ + required void Function( + WKScriptMessageHandler, + WKUserContentController userContentController, + WKScriptMessage message, + ) + didReceiveScriptMessage, + dynamic observeValue, + }) { + messageHandler = WKScriptMessageHandler.pigeon_detached( + didReceiveScriptMessage: didReceiveScriptMessage, + ); + return messageHandler; + }; late final String callbackMessage; WebKitJavaScriptChannelParams( @@ -2003,17 +1931,12 @@ window.addEventListener("error", function(e) { onMessageReceived: (JavaScriptMessage message) { callbackMessage = message.message; }, - webKitProxy: webKitProxy, ); messageHandler.didReceiveScriptMessage( messageHandler, MockWKUserContentController(), - WKScriptMessage.pigeon_detached( - name: 'name', - body: 'myMessage', - pigeon_instanceManager: TestInstanceManager(), - ), + WKScriptMessage.pigeon_detached(name: 'name', body: 'myMessage'), ); expect(callbackMessage, 'myMessage'); @@ -2032,7 +1955,8 @@ class CapturingNavigationDelegate extends WKNavigationDelegate { required super.decidePolicyForNavigationAction, super.webViewWebContentProcessDidTerminate, required super.didReceiveAuthenticationChallenge, - }) : super.pigeon_detached(pigeon_instanceManager: TestInstanceManager()) { + super.observeValue, + }) : super.pigeon_detached() { lastCreatedDelegate = this; } static CapturingNavigationDelegate lastCreatedDelegate = @@ -2047,7 +1971,6 @@ class CapturingNavigationDelegate extends WKNavigationDelegate { return AuthenticationChallengeResponse.pigeon_detached( disposition: UrlSessionAuthChallengeDisposition.performDefaultHandling, - pigeon_instanceManager: TestInstanceManager(), ); }, ); @@ -2061,7 +1984,8 @@ class CapturingUIDelegate extends WKUIDelegate { super.runJavaScriptAlertPanel, required super.runJavaScriptConfirmPanel, super.runJavaScriptTextInputPanel, - }) : super.pigeon_detached(pigeon_instanceManager: TestInstanceManager()) { + super.observeValue, + }) : super.pigeon_detached() { lastCreatedDelegate = this; } static CapturingUIDelegate lastCreatedDelegate = CapturingUIDelegate( @@ -2075,16 +1999,11 @@ class CapturingUIDelegate extends WKUIDelegate { } class CapturingUIScrollViewDelegate extends UIScrollViewDelegate { - CapturingUIScrollViewDelegate({super.scrollViewDidScroll}) - : super.pigeon_detached(pigeon_instanceManager: TestInstanceManager()) { + CapturingUIScrollViewDelegate({super.scrollViewDidScroll, super.observeValue}) + : super.pigeon_detached() { lastCreatedDelegate = this; } static CapturingUIScrollViewDelegate lastCreatedDelegate = CapturingUIScrollViewDelegate(); } - -// Test InstanceManager that sets `onWeakReferenceRemoved` as a noop. -class TestInstanceManager extends PigeonInstanceManager { - TestInstanceManager() : super(onWeakReferenceRemoved: (_) {}); -} diff --git a/packages/webview_flutter/webview_flutter_wkwebview/test/webkit_webview_controller_test.mocks.dart b/packages/webview_flutter/webview_flutter_wkwebview/test/webkit_webview_controller_test.mocks.dart index ef6f775a4bd..54a4cd6fe77 100644 --- a/packages/webview_flutter/webview_flutter_wkwebview/test/webkit_webview_controller_test.mocks.dart +++ b/packages/webview_flutter/webview_flutter_wkwebview/test/webkit_webview_controller_test.mocks.dart @@ -23,6 +23,7 @@ import 'package:webview_flutter_wkwebview/src/common/web_kit.g.dart' as _i2; // ignore_for_file: unnecessary_parenthesis // ignore_for_file: camel_case_types // ignore_for_file: subtype_of_sealed_class +// ignore_for_file: invalid_use_of_internal_member class _FakePigeonInstanceManager_0 extends _i1.SmartFake implements _i2.PigeonInstanceManager { diff --git a/packages/webview_flutter/webview_flutter_wkwebview/test/webkit_webview_cookie_manager_test.dart b/packages/webview_flutter/webview_flutter_wkwebview/test/webkit_webview_cookie_manager_test.dart index dc343302369..e3f15d030a4 100644 --- a/packages/webview_flutter/webview_flutter_wkwebview/test/webkit_webview_cookie_manager_test.dart +++ b/packages/webview_flutter/webview_flutter_wkwebview/test/webkit_webview_cookie_manager_test.dart @@ -8,7 +8,6 @@ import 'package:mockito/annotations.dart'; import 'package:mockito/mockito.dart'; import 'package:webview_flutter_platform_interface/webview_flutter_platform_interface.dart'; import 'package:webview_flutter_wkwebview/src/common/web_kit.g.dart'; -import 'package:webview_flutter_wkwebview/src/webkit_proxy.dart'; import 'package:webview_flutter_wkwebview/webview_flutter_wkwebview.dart'; import 'webkit_webview_cookie_manager_test.mocks.dart'; @@ -17,16 +16,18 @@ import 'webkit_webview_cookie_manager_test.mocks.dart'; void main() { WidgetsFlutterBinding.ensureInitialized(); + setUp(() { + PigeonOverrides.pigeon_reset(); + }); + group('WebKitWebViewCookieManager', () { test('clearCookies', () { final mockWKWebsiteDataStore = MockWKWebsiteDataStore(); + PigeonOverrides.wKWebsiteDataStore_defaultDataStore = + mockWKWebsiteDataStore; final manager = WebKitWebViewCookieManager( - WebKitWebViewCookieManagerCreationParams( - webKitProxy: WebKitProxy( - defaultDataStoreWKWebsiteDataStore: () => mockWKWebsiteDataStore, - ), - ), + WebKitWebViewCookieManagerCreationParams(), ); when( @@ -51,20 +52,20 @@ void main() { when(mockWKWebsiteDataStore.httpCookieStore).thenReturn(mockCookieStore); Map? cookieProperties; - final cookie = HTTPCookie.pigeon_detached( - pigeon_instanceManager: TestInstanceManager(), - ); + final cookie = HTTPCookie.pigeon_detached(); + + PigeonOverrides.wKWebsiteDataStore_defaultDataStore = + mockWKWebsiteDataStore; + PigeonOverrides.hTTPCookie_new = + ({ + required Map properties, + dynamic observeValue, + }) { + cookieProperties = properties; + return cookie; + }; final manager = WebKitWebViewCookieManager( - WebKitWebViewCookieManagerCreationParams( - webKitProxy: WebKitProxy( - defaultDataStoreWKWebsiteDataStore: () => mockWKWebsiteDataStore, - newHTTPCookie: - ({required Map properties}) { - cookieProperties = properties; - return cookie; - }, - ), - ), + WebKitWebViewCookieManagerCreationParams(), ); await manager.setCookie( @@ -86,12 +87,10 @@ void main() { final mockCookieStore = MockWKHTTPCookieStore(); when(mockWKWebsiteDataStore.httpCookieStore).thenReturn(mockCookieStore); + PigeonOverrides.wKWebsiteDataStore_defaultDataStore = + mockWKWebsiteDataStore; final manager = WebKitWebViewCookieManager( - WebKitWebViewCookieManagerCreationParams( - webKitProxy: WebKitProxy( - defaultDataStoreWKWebsiteDataStore: () => mockWKWebsiteDataStore, - ), - ), + WebKitWebViewCookieManagerCreationParams(), ); expect( @@ -108,8 +107,3 @@ void main() { }); }); } - -// Test InstanceManager that sets `onWeakReferenceRemoved` as a noop. -class TestInstanceManager extends PigeonInstanceManager { - TestInstanceManager() : super(onWeakReferenceRemoved: (_) {}); -} diff --git a/packages/webview_flutter/webview_flutter_wkwebview/test/webkit_webview_cookie_manager_test.mocks.dart b/packages/webview_flutter/webview_flutter_wkwebview/test/webkit_webview_cookie_manager_test.mocks.dart index 383a0e95f36..ed94dc28231 100644 --- a/packages/webview_flutter/webview_flutter_wkwebview/test/webkit_webview_cookie_manager_test.mocks.dart +++ b/packages/webview_flutter/webview_flutter_wkwebview/test/webkit_webview_cookie_manager_test.mocks.dart @@ -21,6 +21,7 @@ import 'package:webview_flutter_wkwebview/src/common/web_kit.g.dart' as _i2; // ignore_for_file: unnecessary_parenthesis // ignore_for_file: camel_case_types // ignore_for_file: subtype_of_sealed_class +// ignore_for_file: invalid_use_of_internal_member class _FakeWKHTTPCookieStore_0 extends _i1.SmartFake implements _i2.WKHTTPCookieStore { diff --git a/packages/webview_flutter/webview_flutter_wkwebview/test/webkit_webview_widget_test.dart b/packages/webview_flutter/webview_flutter_wkwebview/test/webkit_webview_widget_test.dart index ec8925ac858..d56cf525421 100644 --- a/packages/webview_flutter/webview_flutter_wkwebview/test/webkit_webview_widget_test.dart +++ b/packages/webview_flutter/webview_flutter_wkwebview/test/webkit_webview_widget_test.dart @@ -7,9 +7,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:mockito/annotations.dart'; import 'package:mockito/mockito.dart'; -import 'package:webview_flutter_wkwebview/src/common/platform_webview.dart'; import 'package:webview_flutter_wkwebview/src/common/web_kit.g.dart'; -import 'package:webview_flutter_wkwebview/src/webkit_proxy.dart'; import 'package:webview_flutter_wkwebview/webview_flutter_wkwebview.dart'; import 'webkit_webview_widget_test.mocks.dart'; @@ -22,19 +20,20 @@ import 'webkit_webview_widget_test.mocks.dart'; void main() { TestWidgetsFlutterBinding.ensureInitialized(); + setUp(() { + PigeonOverrides.pigeon_reset(); + }); + group('WebKitWebViewWidget', () { testWidgets('build', (WidgetTester tester) async { - final PigeonInstanceManager testInstanceManager = TestInstanceManager(); + debugDefaultTargetPlatformOverride = TargetPlatform.iOS; - final WebKitWebViewController controller = createTestWebViewController( - testInstanceManager, - ); + final WebKitWebViewController controller = createTestWebViewController(); final widget = WebKitWebViewWidget( WebKitWebViewWidgetCreationParams( key: const Key('keyValue'), controller: controller, - instanceManager: testInstanceManager, ), ); @@ -51,22 +50,19 @@ void main() { findsOneWidget, ); expect(find.byKey(const Key('keyValue')), findsOneWidget); + + debugDefaultTargetPlatformOverride = null; }); testWidgets('Key of the PlatformView changes when the controller changes', ( WidgetTester tester, ) async { - final PigeonInstanceManager testInstanceManager = TestInstanceManager(); + debugDefaultTargetPlatformOverride = TargetPlatform.iOS; // Pump WebViewWidget with first controller. - final WebKitWebViewController controller1 = createTestWebViewController( - testInstanceManager, - ); + final WebKitWebViewController controller1 = createTestWebViewController(); final webViewWidget = WebKitWebViewWidget( - WebKitWebViewWidgetCreationParams( - controller: controller1, - instanceManager: testInstanceManager, - ), + WebKitWebViewWidgetCreationParams(controller: controller1), ); await tester.pumpWidget( @@ -86,14 +82,9 @@ void main() { ); // Pump WebViewWidget with second controller. - final WebKitWebViewController controller2 = createTestWebViewController( - testInstanceManager, - ); + final WebKitWebViewController controller2 = createTestWebViewController(); final webViewWidget2 = WebKitWebViewWidget( - WebKitWebViewWidgetCreationParams( - controller: controller2, - instanceManager: testInstanceManager, - ), + WebKitWebViewWidgetCreationParams(controller: controller2), ); await tester.pumpWidget( @@ -120,22 +111,20 @@ void main() { ), findsOneWidget, ); + + debugDefaultTargetPlatformOverride = null; }); testWidgets( 'Key of the PlatformView is the same when the creation params are equal', (WidgetTester tester) async { - final PigeonInstanceManager testInstanceManager = TestInstanceManager(); + debugDefaultTargetPlatformOverride = TargetPlatform.iOS; - final WebKitWebViewController controller = createTestWebViewController( - testInstanceManager, - ); + final WebKitWebViewController controller = + createTestWebViewController(); final webViewWidget = WebKitWebViewWidget( - WebKitWebViewWidgetCreationParams( - controller: controller, - instanceManager: testInstanceManager, - ), + WebKitWebViewWidgetCreationParams(controller: controller), ); await tester.pumpWidget( @@ -155,10 +144,7 @@ void main() { ); final webViewWidget2 = WebKitWebViewWidget( - WebKitWebViewWidgetCreationParams( - controller: controller, - instanceManager: testInstanceManager, - ), + WebKitWebViewWidgetCreationParams(controller: controller), ); await tester.pumpWidget( @@ -177,68 +163,58 @@ void main() { ), findsOneWidget, ); + + debugDefaultTargetPlatformOverride = null; }, ); }); } -WebKitWebViewController createTestWebViewController( - PigeonInstanceManager testInstanceManager, -) { - return WebKitWebViewController( - WebKitWebViewControllerCreationParams( - webKitProxy: WebKitProxy( - newPlatformWebView: - ({ - required WKWebViewConfiguration initialConfiguration, - void Function( - NSObject, - String?, - NSObject?, - Map?, - )? - observeValue, - }) { - final webView = UIViewWKWebView.pigeon_detached( - pigeon_instanceManager: testInstanceManager, - ); - testInstanceManager.addDartCreatedInstance(webView); - return PlatformWebView.fromNativeWebView(webView); - }, - newWKWebViewConfiguration: () { - return MockWKWebViewConfiguration(); - }, - newWKUIDelegate: - ({ - dynamic onCreateWebView, - dynamic requestMediaCapturePermission, - dynamic runJavaScriptAlertPanel, - dynamic runJavaScriptConfirmPanel, - dynamic runJavaScriptTextInputPanel, - }) { - final mockWKUIDelegate = MockWKUIDelegate(); - when( - mockWKUIDelegate.pigeon_copy(), - ).thenReturn(MockWKUIDelegate()); - - testInstanceManager.addDartCreatedInstance(mockWKUIDelegate); - return mockWKUIDelegate; - }, - newUIScrollViewDelegate: ({dynamic scrollViewDidScroll}) { - final mockScrollViewDelegate = MockUIScrollViewDelegate(); - when( - mockScrollViewDelegate.pigeon_copy(), - ).thenReturn(MockUIScrollViewDelegate()); - - testInstanceManager.addDartCreatedInstance(mockScrollViewDelegate); - return mockScrollViewDelegate; - }, - ), - ), - ); -} - -// Test InstanceManager that sets `onWeakReferenceRemoved` as a noop. -class TestInstanceManager extends PigeonInstanceManager { - TestInstanceManager() : super(onWeakReferenceRemoved: (_) {}); +WebKitWebViewController createTestWebViewController() { + PigeonOverrides.uIViewWKWebView_new = + ({ + required WKWebViewConfiguration initialConfiguration, + void Function( + NSObject, + String?, + NSObject?, + Map?, + )? + observeValue, + }) { + final webView = UIViewWKWebView.pigeon_detached(); + PigeonInstanceManager.instance.addDartCreatedInstance(webView); + return webView; + }; + PigeonOverrides.wKWebViewConfiguration_new = ({dynamic observeValue}) { + return MockWKWebViewConfiguration(); + }; + PigeonOverrides.wKUIDelegate_new = + ({ + dynamic onCreateWebView, + dynamic requestMediaCapturePermission, + dynamic runJavaScriptAlertPanel, + dynamic runJavaScriptConfirmPanel, + dynamic runJavaScriptTextInputPanel, + dynamic observeValue, + }) { + final mockWKUIDelegate = MockWKUIDelegate(); + when(mockWKUIDelegate.pigeon_copy()).thenReturn(MockWKUIDelegate()); + + PigeonInstanceManager.instance.addDartCreatedInstance(mockWKUIDelegate); + return mockWKUIDelegate; + }; + PigeonOverrides.uIScrollViewDelegate_new = + ({dynamic scrollViewDidScroll, dynamic observeValue}) { + final mockScrollViewDelegate = MockUIScrollViewDelegate(); + when( + mockScrollViewDelegate.pigeon_copy(), + ).thenReturn(MockUIScrollViewDelegate()); + + PigeonInstanceManager.instance.addDartCreatedInstance( + mockScrollViewDelegate, + ); + return mockScrollViewDelegate; + }; + return WebKitWebViewController(WebKitWebViewControllerCreationParams()); } diff --git a/packages/webview_flutter/webview_flutter_wkwebview/test/webkit_webview_widget_test.mocks.dart b/packages/webview_flutter/webview_flutter_wkwebview/test/webkit_webview_widget_test.mocks.dart index 0cc19d8f40f..7a3a5e3144a 100644 --- a/packages/webview_flutter/webview_flutter_wkwebview/test/webkit_webview_widget_test.mocks.dart +++ b/packages/webview_flutter/webview_flutter_wkwebview/test/webkit_webview_widget_test.mocks.dart @@ -21,6 +21,7 @@ import 'package:webview_flutter_wkwebview/src/common/web_kit.g.dart' as _i2; // ignore_for_file: unnecessary_parenthesis // ignore_for_file: camel_case_types // ignore_for_file: subtype_of_sealed_class +// ignore_for_file: invalid_use_of_internal_member class _FakePigeonInstanceManager_0 extends _i1.SmartFake implements _i2.PigeonInstanceManager { From 0fdcf01f72814cc364d1d709e5e2fe09aa609862 Mon Sep 17 00:00:00 2001 From: Maurice Parrish <10687576+bparrishMines@users.noreply.github.com> Date: Wed, 26 Nov 2025 18:09:07 -0500 Subject: [PATCH 2/7] undo swift formatting --- .../NavigationDelegateProxyAPITests.swift | 38 +++++++++---------- .../NavigationDelegateProxyAPIDelegate.swift | 6 +-- .../ProxyAPIRegistrar.swift | 7 ++-- 3 files changed, 22 insertions(+), 29 deletions(-) diff --git a/packages/webview_flutter/webview_flutter_wkwebview/darwin/Tests/NavigationDelegateProxyAPITests.swift b/packages/webview_flutter/webview_flutter_wkwebview/darwin/Tests/NavigationDelegateProxyAPITests.swift index 68a3874263e..07f65e0751c 100644 --- a/packages/webview_flutter/webview_flutter_wkwebview/darwin/Tests/NavigationDelegateProxyAPITests.swift +++ b/packages/webview_flutter/webview_flutter_wkwebview/darwin/Tests/NavigationDelegateProxyAPITests.swift @@ -170,12 +170,11 @@ class TestNavigationDelegateApi: PigeonApiProtocolWKNavigationDelegate { func decidePolicyForNavigationAction( pigeonInstance pigeonInstanceArg: WKNavigationDelegate, webView webViewArg: WKWebView, navigationAction navigationActionArg: WKNavigationAction, - completion: - @escaping ( - Result< - webview_flutter_wkwebview.NavigationActionPolicy, webview_flutter_wkwebview.PigeonError - > - ) -> Void + completion: @escaping ( + Result< + webview_flutter_wkwebview.NavigationActionPolicy, webview_flutter_wkwebview.PigeonError + > + ) -> Void ) { decidePolicyForNavigationActionArgs = [webViewArg, navigationActionArg] completion(.success(.allow)) @@ -184,12 +183,11 @@ class TestNavigationDelegateApi: PigeonApiProtocolWKNavigationDelegate { func decidePolicyForNavigationResponse( pigeonInstance pigeonInstanceArg: WKNavigationDelegate, webView webViewArg: WKWebView, navigationResponse navigationResponseArg: WKNavigationResponse, - completion: - @escaping ( - Result< - webview_flutter_wkwebview.NavigationResponsePolicy, webview_flutter_wkwebview.PigeonError - > - ) -> Void + completion: @escaping ( + Result< + webview_flutter_wkwebview.NavigationResponsePolicy, webview_flutter_wkwebview.PigeonError + > + ) -> Void ) { decidePolicyForNavigationResponseArgs = [webViewArg, navigationResponseArg] completion(.success(.cancel)) @@ -221,13 +219,12 @@ class TestNavigationDelegateApi: PigeonApiProtocolWKNavigationDelegate { func didReceiveAuthenticationChallenge( pigeonInstance pigeonInstanceArg: WKNavigationDelegate, webView webViewArg: WKWebView, challenge challengeArg: URLAuthenticationChallenge, - completion: - @escaping ( - Result< - webview_flutter_wkwebview.AuthenticationChallengeResponse, - webview_flutter_wkwebview.PigeonError - > - ) -> Void + completion: @escaping ( + Result< + webview_flutter_wkwebview.AuthenticationChallengeResponse, + webview_flutter_wkwebview.PigeonError + > + ) -> Void ) { didReceiveAuthenticationChallengeArgs = [webViewArg, challengeArg] completion( @@ -244,8 +241,7 @@ class TestWebView: WKWebView { } } -class TestURLAuthenticationChallengeSender: NSObject, URLAuthenticationChallengeSender, - @unchecked +class TestURLAuthenticationChallengeSender: NSObject, URLAuthenticationChallengeSender, @unchecked Sendable { func use(_ credential: URLCredential, for challenge: URLAuthenticationChallenge) { diff --git a/packages/webview_flutter/webview_flutter_wkwebview/darwin/webview_flutter_wkwebview/Sources/webview_flutter_wkwebview/NavigationDelegateProxyAPIDelegate.swift b/packages/webview_flutter/webview_flutter_wkwebview/darwin/webview_flutter_wkwebview/Sources/webview_flutter_wkwebview/NavigationDelegateProxyAPIDelegate.swift index 7c407e278a6..ac5f269fff6 100644 --- a/packages/webview_flutter/webview_flutter_wkwebview/darwin/webview_flutter_wkwebview/Sources/webview_flutter_wkwebview/NavigationDelegateProxyAPIDelegate.swift +++ b/packages/webview_flutter/webview_flutter_wkwebview/darwin/webview_flutter_wkwebview/Sources/webview_flutter_wkwebview/NavigationDelegateProxyAPIDelegate.swift @@ -233,8 +233,7 @@ public class NavigationDelegateImpl: NSObject, WKNavigationDelegate { #if compiler(>=6.0) public func webView( _ webView: WKWebView, didReceive challenge: URLAuthenticationChallenge, - completionHandler: - @escaping @MainActor (URLSession.AuthChallengeDisposition, URLCredential?) + completionHandler: @escaping @MainActor (URLSession.AuthChallengeDisposition, URLCredential?) -> Void ) { @@ -257,8 +256,7 @@ public class NavigationDelegateImpl: NSObject, WKNavigationDelegate { #else public func webView( _ webView: WKWebView, didReceive challenge: URLAuthenticationChallenge, - completionHandler: - @escaping (URLSession.AuthChallengeDisposition, URLCredential?) -> + completionHandler: @escaping (URLSession.AuthChallengeDisposition, URLCredential?) -> Void ) { registrar.dispatchOnMainThread { onFailure in diff --git a/packages/webview_flutter/webview_flutter_wkwebview/darwin/webview_flutter_wkwebview/Sources/webview_flutter_wkwebview/ProxyAPIRegistrar.swift b/packages/webview_flutter/webview_flutter_wkwebview/darwin/webview_flutter_wkwebview/Sources/webview_flutter_wkwebview/ProxyAPIRegistrar.swift index c4d446d8020..131c8ffde7a 100644 --- a/packages/webview_flutter/webview_flutter_wkwebview/darwin/webview_flutter_wkwebview/Sources/webview_flutter_wkwebview/ProxyAPIRegistrar.swift +++ b/packages/webview_flutter/webview_flutter_wkwebview/darwin/webview_flutter_wkwebview/Sources/webview_flutter_wkwebview/ProxyAPIRegistrar.swift @@ -78,10 +78,9 @@ open class ProxyAPIRegistrar: WebKitLibraryPigeonProxyApiRegistrar { /// Handles calling a Flutter method on the main thread. func dispatchOnMainThread( - execute work: - @escaping ( - _ onFailure: @escaping (_ methodName: String, _ error: PigeonError) -> Void - ) -> Void + execute work: @escaping ( + _ onFailure: @escaping (_ methodName: String, _ error: PigeonError) -> Void + ) -> Void ) { DispatchQueue.main.async { work { methodName, error in From 559bcba8df612e724c5626abc25f79d649f909b8 Mon Sep 17 00:00:00 2001 From: Maurice Parrish <10687576+bparrishMines@users.noreply.github.com> Date: Wed, 26 Nov 2025 18:09:37 -0500 Subject: [PATCH 3/7] delete proxy --- .../lib/src/webkit_proxy.dart | 230 ------------------ 1 file changed, 230 deletions(-) delete mode 100644 packages/webview_flutter/webview_flutter_wkwebview/lib/src/webkit_proxy.dart diff --git a/packages/webview_flutter/webview_flutter_wkwebview/lib/src/webkit_proxy.dart b/packages/webview_flutter/webview_flutter_wkwebview/lib/src/webkit_proxy.dart deleted file mode 100644 index 1f34e00f588..00000000000 --- a/packages/webview_flutter/webview_flutter_wkwebview/lib/src/webkit_proxy.dart +++ /dev/null @@ -1,230 +0,0 @@ -// // Copyright 2013 The Flutter Authors -// // Use of this source code is governed by a BSD-style license that can be -// // found in the LICENSE file. -// -// import 'dart:typed_data'; -// -// import 'common/platform_webview.dart'; -// import 'common/web_kit.g.dart'; -// -// /// Handles constructing objects and calling static methods for the Darwin -// /// WebKit native library. -// /// -// /// This class provides dependency injection for the implementations of the -// /// platform interface classes. Improving the ease of unit testing and/or -// /// overriding the underlying Darwin classes. -// /// -// /// By default each function calls the default constructor of the class it -// /// intends to return. -// class WebKitProxy { -// /// Constructs an [WebKitProxy]. -// const WebKitProxy({ -// this.newURLRequest = URLRequest.new, -// this.newWKUserScript = WKUserScript.new, -// this.newHTTPCookie = HTTPCookie.new, -// this.newAuthenticationChallengeResponse = -// AuthenticationChallengeResponse.new, -// this.newWKWebViewConfiguration = WKWebViewConfiguration.new, -// this.newWKScriptMessageHandler = WKScriptMessageHandler.new, -// this.newWKNavigationDelegate = WKNavigationDelegate.new, -// this.newNSObject = NSObject.new, -// this.newPlatformWebView = PlatformWebView.new, -// this.newWKUIDelegate = WKUIDelegate.new, -// this.newUIScrollViewDelegate = UIScrollViewDelegate.new, -// this.createAsyncAuthenticationChallengeResponse = -// AuthenticationChallengeResponse.createAsync, -// this.withUserAsyncURLCredential = URLCredential.withUserAsync, -// this.serverTrustAsyncURLCredential = URLCredential.serverTrustAsync, -// this.withUserURLCredential = URLCredential.withUser, -// this.evaluateWithErrorSecTrust = SecTrust.evaluateWithError, -// this.copyExceptionsSecTrust = SecTrust.copyExceptions, -// this.setExceptionsSecTrust = SecTrust.setExceptions, -// this.getTrustResultSecTrust = SecTrust.getTrustResult, -// this.copyCertificateChainSecTrust = SecTrust.copyCertificateChain, -// this.copyDataSecCertificate = SecCertificate.copyData, -// this.defaultDataStoreWKWebsiteDataStore = -// _defaultDataStoreWKWebsiteDataStore, -// }); -// -// /// Constructs [URLRequest]. -// final URLRequest Function({required String url}) newURLRequest; -// -// /// Constructs [WKUserScript]. -// final WKUserScript Function({ -// required String source, -// required UserScriptInjectionTime injectionTime, -// required bool isForMainFrameOnly, -// }) -// newWKUserScript; -// -// /// Constructs [HTTPCookie]. -// final HTTPCookie Function({ -// required Map properties, -// }) -// newHTTPCookie; -// -// /// Constructs [AuthenticationChallengeResponse]. -// final AuthenticationChallengeResponse Function({ -// required UrlSessionAuthChallengeDisposition disposition, -// URLCredential? credential, -// }) -// newAuthenticationChallengeResponse; -// -// /// Constructs [WKWebViewConfiguration]. -// final WKWebViewConfiguration Function() newWKWebViewConfiguration; -// -// /// Constructs [WKScriptMessageHandler]. -// final WKScriptMessageHandler Function({ -// required void Function( -// WKScriptMessageHandler, -// WKUserContentController, -// WKScriptMessage, -// ) -// didReceiveScriptMessage, -// }) -// newWKScriptMessageHandler; -// -// /// Constructs [WKNavigationDelegate]. -// final WKNavigationDelegate Function({ -// void Function(WKNavigationDelegate, WKWebView, String?)? -// didFinishNavigation, -// void Function(WKNavigationDelegate, WKWebView, String?)? -// didStartProvisionalNavigation, -// required Future Function( -// WKNavigationDelegate, -// WKWebView, -// WKNavigationAction, -// ) -// decidePolicyForNavigationAction, -// required Future Function( -// WKNavigationDelegate, -// WKWebView, -// WKNavigationResponse, -// ) -// decidePolicyForNavigationResponse, -// void Function(WKNavigationDelegate, WKWebView, NSError)? didFailNavigation, -// void Function(WKNavigationDelegate, WKWebView, NSError)? -// didFailProvisionalNavigation, -// void Function(WKNavigationDelegate, WKWebView)? -// webViewWebContentProcessDidTerminate, -// required Future Function( -// WKNavigationDelegate, -// WKWebView, -// URLAuthenticationChallenge, -// ) -// didReceiveAuthenticationChallenge, -// }) -// newWKNavigationDelegate; -// -// /// Constructs [NSObject]. -// final NSObject Function({ -// void Function( -// NSObject, -// String?, -// NSObject?, -// Map?, -// )? -// observeValue, -// }) -// newNSObject; -// -// /// Constructs [PlatformWebView]. -// final PlatformWebView Function({ -// required WKWebViewConfiguration initialConfiguration, -// void Function( -// NSObject, -// String?, -// NSObject?, -// Map?, -// )? -// observeValue, -// }) -// newPlatformWebView; -// -// /// Constructs [WKUIDelegate]. -// final WKUIDelegate Function({ -// void Function( -// WKUIDelegate, -// WKWebView, -// WKWebViewConfiguration, -// WKNavigationAction, -// )? -// onCreateWebView, -// required Future Function( -// WKUIDelegate, -// WKWebView, -// WKSecurityOrigin, -// WKFrameInfo, -// MediaCaptureType, -// ) -// requestMediaCapturePermission, -// Future Function(WKUIDelegate, WKWebView, String, WKFrameInfo)? -// runJavaScriptAlertPanel, -// required Future Function(WKUIDelegate, WKWebView, String, WKFrameInfo) -// runJavaScriptConfirmPanel, -// Future Function( -// WKUIDelegate, -// WKWebView, -// String, -// String?, -// WKFrameInfo, -// )? -// runJavaScriptTextInputPanel, -// }) -// newWKUIDelegate; -// -// /// Constructs [UIScrollViewDelegate]. -// final UIScrollViewDelegate Function({ -// void Function(UIScrollViewDelegate, UIScrollView, double, double)? -// scrollViewDidScroll, -// }) -// newUIScrollViewDelegate; -// -// /// Calls to [AuthenticationChallengeResponse.createAsync]. -// final Future Function( -// UrlSessionAuthChallengeDisposition disposition, -// URLCredential? credential, -// ) -// createAsyncAuthenticationChallengeResponse; -// -// /// Calls to [URLCredential.withUserAsync]. -// final Future Function(String, String, UrlCredentialPersistence) -// withUserAsyncURLCredential; -// -// /// Calls to [URLCredential.serverTrustAsync]. -// final Future Function(SecTrust) serverTrustAsyncURLCredential; -// -// /// Constructs [URLCredential]. -// final URLCredential Function({ -// required String user, -// required String password, -// required UrlCredentialPersistence persistence, -// }) -// withUserURLCredential; -// -// /// Calls to [SecTrust.evaluateWithError]. -// final Future Function(SecTrust) evaluateWithErrorSecTrust; -// -// /// Calls to [SecTrust.copyExceptions]. -// final Future Function(SecTrust) copyExceptionsSecTrust; -// -// /// Calls to [SecTrust.setExceptions]. -// final Future Function(SecTrust, Uint8List?) setExceptionsSecTrust; -// -// /// Calls to [SecTrust.getTrustResult]. -// final Future Function(SecTrust) -// getTrustResultSecTrust; -// -// /// Calls to [SecTrust.copyCertificateChain]. -// final Future?> Function(SecTrust) -// copyCertificateChainSecTrust; -// -// /// Calls to [SecCertificate.copyData]. -// final Future Function(SecCertificate) copyDataSecCertificate; -// -// /// Calls to [WKWebsiteDataStore.defaultDataStore]. -// final WKWebsiteDataStore Function() defaultDataStoreWKWebsiteDataStore; -// -// static WKWebsiteDataStore _defaultDataStoreWKWebsiteDataStore() => -// WKWebsiteDataStore.defaultDataStore; -// } From 5be3f3ab2847e7752e95979d62439d076ca1a594 Mon Sep 17 00:00:00 2001 From: Maurice Parrish <10687576+bparrishMines@users.noreply.github.com> Date: Wed, 26 Nov 2025 18:29:33 -0500 Subject: [PATCH 4/7] fix lints --- .../example/integration_test/webview_flutter_test.dart | 4 ++-- .../lib/src/webkit_webview_controller.dart | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/webview_flutter/webview_flutter_wkwebview/example/integration_test/webview_flutter_test.dart b/packages/webview_flutter/webview_flutter_wkwebview/example/integration_test/webview_flutter_test.dart index acd6f2fedc4..3ef55f69394 100644 --- a/packages/webview_flutter/webview_flutter_wkwebview/example/integration_test/webview_flutter_test.dart +++ b/packages/webview_flutter/webview_flutter_wkwebview/example/integration_test/webview_flutter_test.dart @@ -104,7 +104,7 @@ Future main() async { ({ required WKWebViewConfiguration initialConfiguration, void Function( - NSObject pigeon_instance, + NSObject pigeonInstance, String? keyPath, NSObject? object, Map? change, @@ -121,7 +121,7 @@ Future main() async { ({ required WKWebViewConfiguration initialConfiguration, void Function( - NSObject pigeon_instance, + NSObject pigeonInstance, String? keyPath, NSObject? object, Map? change, diff --git a/packages/webview_flutter/webview_flutter_wkwebview/lib/src/webkit_webview_controller.dart b/packages/webview_flutter/webview_flutter_wkwebview/lib/src/webkit_webview_controller.dart index c958c3c1e6c..6eda612ef31 100644 --- a/packages/webview_flutter/webview_flutter_wkwebview/lib/src/webkit_webview_controller.dart +++ b/packages/webview_flutter/webview_flutter_wkwebview/lib/src/webkit_webview_controller.dart @@ -1006,7 +1006,7 @@ class WebKitJavaScriptChannelParams extends JavaScriptChannelParams { class WebKitWebViewWidgetCreationParams extends PlatformWebViewWidgetCreationParams { /// Constructs a [WebKitWebViewWidgetCreationParams]. - WebKitWebViewWidgetCreationParams({ + const WebKitWebViewWidgetCreationParams({ super.key, required super.controller, super.layoutDirection, From ae816245d1515c610a0103899e53fd4c9c7d7f3b Mon Sep 17 00:00:00 2001 From: Maurice Parrish <10687576+bparrishMines@users.noreply.github.com> Date: Wed, 26 Nov 2025 19:39:27 -0500 Subject: [PATCH 5/7] break recursion --- .../example/integration_test/webview_flutter_test.dart | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/webview_flutter/webview_flutter_wkwebview/example/integration_test/webview_flutter_test.dart b/packages/webview_flutter/webview_flutter_wkwebview/example/integration_test/webview_flutter_test.dart index 3ef55f69394..58ce2c21526 100644 --- a/packages/webview_flutter/webview_flutter_wkwebview/example/integration_test/webview_flutter_test.dart +++ b/packages/webview_flutter/webview_flutter_wkwebview/example/integration_test/webview_flutter_test.dart @@ -111,7 +111,7 @@ Future main() async { )? observeValue, }) { - final webView = UIViewWKWebView( + final webView = UIViewWKWebView.pigeon_new( initialConfiguration: initialConfiguration, ); finalizer.attach(webView, webViewToken); @@ -128,7 +128,7 @@ Future main() async { )? observeValue, }) { - final webView = NSViewWKWebView( + final webView = NSViewWKWebView.pigeon_new( initialConfiguration: initialConfiguration, ); finalizer.attach(webView, webViewToken); From 7b3c4d628b31627fb2fd9a971e55297ef313a004 Mon Sep 17 00:00:00 2001 From: Maurice Parrish <10687576+bparrishMines@users.noreply.github.com> Date: Wed, 3 Dec 2025 23:24:02 -0500 Subject: [PATCH 6/7] update pigeon --- .../NavigationDelegateProxyAPITests.swift | 2 +- .../WebKitLibrary.g.swift | 146 +- .../lib/src/common/web_kit.g.dart | 2005 +++++++---------- .../webview_flutter_wkwebview/pubspec.yaml | 2 +- 4 files changed, 1011 insertions(+), 1144 deletions(-) diff --git a/packages/webview_flutter/webview_flutter_wkwebview/darwin/Tests/NavigationDelegateProxyAPITests.swift b/packages/webview_flutter/webview_flutter_wkwebview/darwin/Tests/NavigationDelegateProxyAPITests.swift index 11df2e04329..07f65e0751c 100644 --- a/packages/webview_flutter/webview_flutter_wkwebview/darwin/Tests/NavigationDelegateProxyAPITests.swift +++ b/packages/webview_flutter/webview_flutter_wkwebview/darwin/Tests/NavigationDelegateProxyAPITests.swift @@ -62,7 +62,7 @@ class NavigationDelegateProxyAPITests: XCTestCase { let registrar = TestProxyApiRegistrar() let instance = NavigationDelegateImpl(api: api, registrar: registrar) let webView = WKWebView(frame: .zero) - let navigationResponse = TestNavigationResponse.instance + let navigationResponse = TestNavigationResponse() var result: WKNavigationResponsePolicy? let callbackExpectation = expectation(description: "Wait for callback.") diff --git a/packages/webview_flutter/webview_flutter_wkwebview/darwin/webview_flutter_wkwebview/Sources/webview_flutter_wkwebview/WebKitLibrary.g.swift b/packages/webview_flutter/webview_flutter_wkwebview/darwin/webview_flutter_wkwebview/Sources/webview_flutter_wkwebview/WebKitLibrary.g.swift index 051988da766..d0bea7528c0 100644 --- a/packages/webview_flutter/webview_flutter_wkwebview/darwin/webview_flutter_wkwebview/Sources/webview_flutter_wkwebview/WebKitLibrary.g.swift +++ b/packages/webview_flutter/webview_flutter_wkwebview/darwin/webview_flutter_wkwebview/Sources/webview_flutter_wkwebview/WebKitLibrary.g.swift @@ -1,7 +1,7 @@ // Copyright 2013 The Flutter Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -// Autogenerated from Pigeon (v26.1.0), do not edit directly. +// Autogenerated from Pigeon (v26.1.4), do not edit directly. // See also: https://pub.dev/packages/pigeon import Foundation @@ -4099,6 +4099,15 @@ final class PigeonApiWKScriptMessageHandler: PigeonApiProtocolWKScriptMessageHan code: "ignore-calls-error", message: "Calls to Dart are being ignored.", details: ""))) return + } else if !pigeonRegistrar.instanceManager.containsInstance(pigeonInstanceArg as AnyObject) { + completion( + .failure( + PigeonError( + code: "missing-instance-error", + message: + "Callback to `WKScriptMessageHandler.didReceiveScriptMessage` failed because native instance was not in the instance manager.", + details: ""))) + return } let binaryMessenger = pigeonRegistrar.binaryMessenger let codec = pigeonRegistrar.codec @@ -4249,6 +4258,15 @@ final class PigeonApiWKNavigationDelegate: PigeonApiProtocolWKNavigationDelegate code: "ignore-calls-error", message: "Calls to Dart are being ignored.", details: ""))) return + } else if !pigeonRegistrar.instanceManager.containsInstance(pigeonInstanceArg as AnyObject) { + completion( + .failure( + PigeonError( + code: "missing-instance-error", + message: + "Callback to `WKNavigationDelegate.didFinishNavigation` failed because native instance was not in the instance manager.", + details: ""))) + return } let binaryMessenger = pigeonRegistrar.binaryMessenger let codec = pigeonRegistrar.codec @@ -4284,6 +4302,15 @@ final class PigeonApiWKNavigationDelegate: PigeonApiProtocolWKNavigationDelegate code: "ignore-calls-error", message: "Calls to Dart are being ignored.", details: ""))) return + } else if !pigeonRegistrar.instanceManager.containsInstance(pigeonInstanceArg as AnyObject) { + completion( + .failure( + PigeonError( + code: "missing-instance-error", + message: + "Callback to `WKNavigationDelegate.didStartProvisionalNavigation` failed because native instance was not in the instance manager.", + details: ""))) + return } let binaryMessenger = pigeonRegistrar.binaryMessenger let codec = pigeonRegistrar.codec @@ -4321,6 +4348,15 @@ final class PigeonApiWKNavigationDelegate: PigeonApiProtocolWKNavigationDelegate code: "ignore-calls-error", message: "Calls to Dart are being ignored.", details: ""))) return + } else if !pigeonRegistrar.instanceManager.containsInstance(pigeonInstanceArg as AnyObject) { + completion( + .failure( + PigeonError( + code: "missing-instance-error", + message: + "Callback to `WKNavigationDelegate.decidePolicyForNavigationAction` failed because native instance was not in the instance manager.", + details: ""))) + return } let binaryMessenger = pigeonRegistrar.binaryMessenger let codec = pigeonRegistrar.codec @@ -4366,6 +4402,15 @@ final class PigeonApiWKNavigationDelegate: PigeonApiProtocolWKNavigationDelegate code: "ignore-calls-error", message: "Calls to Dart are being ignored.", details: ""))) return + } else if !pigeonRegistrar.instanceManager.containsInstance(pigeonInstanceArg as AnyObject) { + completion( + .failure( + PigeonError( + code: "missing-instance-error", + message: + "Callback to `WKNavigationDelegate.decidePolicyForNavigationResponse` failed because native instance was not in the instance manager.", + details: ""))) + return } let binaryMessenger = pigeonRegistrar.binaryMessenger let codec = pigeonRegistrar.codec @@ -4409,6 +4454,15 @@ final class PigeonApiWKNavigationDelegate: PigeonApiProtocolWKNavigationDelegate code: "ignore-calls-error", message: "Calls to Dart are being ignored.", details: ""))) return + } else if !pigeonRegistrar.instanceManager.containsInstance(pigeonInstanceArg as AnyObject) { + completion( + .failure( + PigeonError( + code: "missing-instance-error", + message: + "Callback to `WKNavigationDelegate.didFailNavigation` failed because native instance was not in the instance manager.", + details: ""))) + return } let binaryMessenger = pigeonRegistrar.binaryMessenger let codec = pigeonRegistrar.codec @@ -4445,6 +4499,15 @@ final class PigeonApiWKNavigationDelegate: PigeonApiProtocolWKNavigationDelegate code: "ignore-calls-error", message: "Calls to Dart are being ignored.", details: ""))) return + } else if !pigeonRegistrar.instanceManager.containsInstance(pigeonInstanceArg as AnyObject) { + completion( + .failure( + PigeonError( + code: "missing-instance-error", + message: + "Callback to `WKNavigationDelegate.didFailProvisionalNavigation` failed because native instance was not in the instance manager.", + details: ""))) + return } let binaryMessenger = pigeonRegistrar.binaryMessenger let codec = pigeonRegistrar.codec @@ -4480,6 +4543,15 @@ final class PigeonApiWKNavigationDelegate: PigeonApiProtocolWKNavigationDelegate code: "ignore-calls-error", message: "Calls to Dart are being ignored.", details: ""))) return + } else if !pigeonRegistrar.instanceManager.containsInstance(pigeonInstanceArg as AnyObject) { + completion( + .failure( + PigeonError( + code: "missing-instance-error", + message: + "Callback to `WKNavigationDelegate.webViewWebContentProcessDidTerminate` failed because native instance was not in the instance manager.", + details: ""))) + return } let binaryMessenger = pigeonRegistrar.binaryMessenger let codec = pigeonRegistrar.codec @@ -4516,6 +4588,15 @@ final class PigeonApiWKNavigationDelegate: PigeonApiProtocolWKNavigationDelegate code: "ignore-calls-error", message: "Calls to Dart are being ignored.", details: ""))) return + } else if !pigeonRegistrar.instanceManager.containsInstance(pigeonInstanceArg as AnyObject) { + completion( + .failure( + PigeonError( + code: "missing-instance-error", + message: + "Callback to `WKNavigationDelegate.didReceiveAuthenticationChallenge` failed because native instance was not in the instance manager.", + details: ""))) + return } let binaryMessenger = pigeonRegistrar.binaryMessenger let codec = pigeonRegistrar.codec @@ -4701,6 +4782,15 @@ final class PigeonApiNSObject: PigeonApiProtocolNSObject { code: "ignore-calls-error", message: "Calls to Dart are being ignored.", details: ""))) return + } else if !pigeonRegistrar.instanceManager.containsInstance(pigeonInstanceArg as AnyObject) { + completion( + .failure( + PigeonError( + code: "missing-instance-error", + message: + "Callback to `NSObject.observeValue` failed because native instance was not in the instance manager.", + details: ""))) + return } let binaryMessenger = pigeonRegistrar.binaryMessenger let codec = pigeonRegistrar.codec @@ -6237,6 +6327,15 @@ final class PigeonApiWKUIDelegate: PigeonApiProtocolWKUIDelegate { code: "ignore-calls-error", message: "Calls to Dart are being ignored.", details: ""))) return + } else if !pigeonRegistrar.instanceManager.containsInstance(pigeonInstanceArg as AnyObject) { + completion( + .failure( + PigeonError( + code: "missing-instance-error", + message: + "Callback to `WKUIDelegate.onCreateWebView` failed because native instance was not in the instance manager.", + details: ""))) + return } let binaryMessenger = pigeonRegistrar.binaryMessenger let codec = pigeonRegistrar.codec @@ -6276,6 +6375,15 @@ final class PigeonApiWKUIDelegate: PigeonApiProtocolWKUIDelegate { code: "ignore-calls-error", message: "Calls to Dart are being ignored.", details: ""))) return + } else if !pigeonRegistrar.instanceManager.containsInstance(pigeonInstanceArg as AnyObject) { + completion( + .failure( + PigeonError( + code: "missing-instance-error", + message: + "Callback to `WKUIDelegate.requestMediaCapturePermission` failed because native instance was not in the instance manager.", + details: ""))) + return } let binaryMessenger = pigeonRegistrar.binaryMessenger let codec = pigeonRegistrar.codec @@ -6320,6 +6428,15 @@ final class PigeonApiWKUIDelegate: PigeonApiProtocolWKUIDelegate { code: "ignore-calls-error", message: "Calls to Dart are being ignored.", details: ""))) return + } else if !pigeonRegistrar.instanceManager.containsInstance(pigeonInstanceArg as AnyObject) { + completion( + .failure( + PigeonError( + code: "missing-instance-error", + message: + "Callback to `WKUIDelegate.runJavaScriptAlertPanel` failed because native instance was not in the instance manager.", + details: ""))) + return } let binaryMessenger = pigeonRegistrar.binaryMessenger let codec = pigeonRegistrar.codec @@ -6357,6 +6474,15 @@ final class PigeonApiWKUIDelegate: PigeonApiProtocolWKUIDelegate { code: "ignore-calls-error", message: "Calls to Dart are being ignored.", details: ""))) return + } else if !pigeonRegistrar.instanceManager.containsInstance(pigeonInstanceArg as AnyObject) { + completion( + .failure( + PigeonError( + code: "missing-instance-error", + message: + "Callback to `WKUIDelegate.runJavaScriptConfirmPanel` failed because native instance was not in the instance manager.", + details: ""))) + return } let binaryMessenger = pigeonRegistrar.binaryMessenger let codec = pigeonRegistrar.codec @@ -6401,6 +6527,15 @@ final class PigeonApiWKUIDelegate: PigeonApiProtocolWKUIDelegate { code: "ignore-calls-error", message: "Calls to Dart are being ignored.", details: ""))) return + } else if !pigeonRegistrar.instanceManager.containsInstance(pigeonInstanceArg as AnyObject) { + completion( + .failure( + PigeonError( + code: "missing-instance-error", + message: + "Callback to `WKUIDelegate.runJavaScriptTextInputPanel` failed because native instance was not in the instance manager.", + details: ""))) + return } let binaryMessenger = pigeonRegistrar.binaryMessenger let codec = pigeonRegistrar.codec @@ -6653,6 +6788,15 @@ final class PigeonApiUIScrollViewDelegate: PigeonApiProtocolUIScrollViewDelegate code: "ignore-calls-error", message: "Calls to Dart are being ignored.", details: ""))) return + } else if !pigeonRegistrar.instanceManager.containsInstance(pigeonInstanceArg as AnyObject) { + completion( + .failure( + PigeonError( + code: "missing-instance-error", + message: + "Callback to `UIScrollViewDelegate.scrollViewDidScroll` failed because native instance was not in the instance manager.", + details: ""))) + return } let binaryMessenger = pigeonRegistrar.binaryMessenger let codec = pigeonRegistrar.codec diff --git a/packages/webview_flutter/webview_flutter_wkwebview/lib/src/common/web_kit.g.dart b/packages/webview_flutter/webview_flutter_wkwebview/lib/src/common/web_kit.g.dart index 659dd400476..82dd5a93f8e 100644 --- a/packages/webview_flutter/webview_flutter_wkwebview/lib/src/common/web_kit.g.dart +++ b/packages/webview_flutter/webview_flutter_wkwebview/lib/src/common/web_kit.g.dart @@ -1,9 +1,9 @@ // Copyright 2013 The Flutter Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -// Autogenerated from Pigeon (v26.1.0), do not edit directly. +// Autogenerated from Pigeon (v26.1.4), do not edit directly. // See also: https://pub.dev/packages/pigeon -// ignore_for_file: public_member_api_docs, non_constant_identifier_names, avoid_as, unused_import, unnecessary_parenthesis, prefer_null_aware_operators, omit_local_variable_types, unused_shown_name, unnecessary_import, no_leading_underscores_for_local_identifiers +// ignore_for_file: public_member_api_docs, non_constant_identifier_names, avoid_as, unused_import, unnecessary_parenthesis, prefer_null_aware_operators, omit_local_variable_types, omit_obvious_local_variable_types, unused_shown_name, unnecessary_import, no_leading_underscores_for_local_identifiers import 'dart:async'; import 'dart:io' show Platform; @@ -739,8 +739,7 @@ class _PigeonInternalInstanceManagerApi { PigeonInstanceManager? instanceManager, }) { { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.webview_flutter_wkwebview.PigeonInternalInstanceManager.removeStrongReference', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -777,19 +776,17 @@ class _PigeonInternalInstanceManagerApi { } Future removeStrongReference(int identifier) async { - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.PigeonInternalInstanceManager.removeStrongReference'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [identifier], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -807,17 +804,15 @@ class _PigeonInternalInstanceManagerApi { /// /// This is typically called after a hot restart. Future clear() async { - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.PigeonInternalInstanceManager.clear'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send(null); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -1277,51 +1272,51 @@ class _PigeonCodec extends StandardMessageCodec { Object? readValueOfType(int type, ReadBuffer buffer) { switch (type) { case 129: - final int? value = readValue(buffer) as int?; + final value = readValue(buffer) as int?; return value == null ? null : KeyValueObservingOptions.values[value]; case 130: - final int? value = readValue(buffer) as int?; + final value = readValue(buffer) as int?; return value == null ? null : KeyValueChange.values[value]; case 131: - final int? value = readValue(buffer) as int?; + final value = readValue(buffer) as int?; return value == null ? null : KeyValueChangeKey.values[value]; case 132: - final int? value = readValue(buffer) as int?; + final value = readValue(buffer) as int?; return value == null ? null : UserScriptInjectionTime.values[value]; case 133: - final int? value = readValue(buffer) as int?; + final value = readValue(buffer) as int?; return value == null ? null : AudiovisualMediaType.values[value]; case 134: - final int? value = readValue(buffer) as int?; + final value = readValue(buffer) as int?; return value == null ? null : WebsiteDataType.values[value]; case 135: - final int? value = readValue(buffer) as int?; + final value = readValue(buffer) as int?; return value == null ? null : NavigationActionPolicy.values[value]; case 136: - final int? value = readValue(buffer) as int?; + final value = readValue(buffer) as int?; return value == null ? null : NavigationResponsePolicy.values[value]; case 137: - final int? value = readValue(buffer) as int?; + final value = readValue(buffer) as int?; return value == null ? null : HttpCookiePropertyKey.values[value]; case 138: - final int? value = readValue(buffer) as int?; + final value = readValue(buffer) as int?; return value == null ? null : NavigationType.values[value]; case 139: - final int? value = readValue(buffer) as int?; + final value = readValue(buffer) as int?; return value == null ? null : PermissionDecision.values[value]; case 140: - final int? value = readValue(buffer) as int?; + final value = readValue(buffer) as int?; return value == null ? null : MediaCaptureType.values[value]; case 141: - final int? value = readValue(buffer) as int?; + final value = readValue(buffer) as int?; return value == null ? null : UrlSessionAuthChallengeDisposition.values[value]; case 142: - final int? value = readValue(buffer) as int?; + final value = readValue(buffer) as int?; return value == null ? null : UrlCredentialPersistence.values[value]; case 143: - final int? value = readValue(buffer) as int?; + final value = readValue(buffer) as int?; return value == null ? null : DartSecTrustResultType.values[value]; default: return super.readValueOfType(type, buffer); @@ -1371,20 +1366,18 @@ class URLRequest extends NSObject { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecURLRequest; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.URLRequest.pigeon_defaultConstructor'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [pigeonVar_instanceIdentifier, url], ); () async { - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -1425,8 +1418,7 @@ class URLRequest extends NSObject { ); final BinaryMessenger? binaryMessenger = pigeon_binaryMessenger; { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.webview_flutter_wkwebview.URLRequest.pigeon_newInstance', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -1473,19 +1465,17 @@ class URLRequest extends NSObject { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecURLRequest; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.URLRequest.getUrl'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -1504,19 +1494,17 @@ class URLRequest extends NSObject { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecURLRequest; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.URLRequest.setHttpMethod'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, method], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -1535,19 +1523,17 @@ class URLRequest extends NSObject { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecURLRequest; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.URLRequest.getHttpMethod'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -1566,19 +1552,17 @@ class URLRequest extends NSObject { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecURLRequest; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.URLRequest.setHttpBody'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, body], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -1597,19 +1581,17 @@ class URLRequest extends NSObject { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecURLRequest; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.URLRequest.getHttpBody'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -1628,19 +1610,17 @@ class URLRequest extends NSObject { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecURLRequest; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.URLRequest.setAllHttpHeaderFields'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, fields], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -1659,19 +1639,17 @@ class URLRequest extends NSObject { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecURLRequest; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.URLRequest.getAllHttpHeaderFields'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -1728,8 +1706,7 @@ class HTTPURLResponse extends URLResponse { ); final BinaryMessenger? binaryMessenger = pigeon_binaryMessenger; { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.webview_flutter_wkwebview.HTTPURLResponse.pigeon_newInstance', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -1816,8 +1793,7 @@ class URLResponse extends NSObject { ); final BinaryMessenger? binaryMessenger = pigeon_binaryMessenger; { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.webview_flutter_wkwebview.URLResponse.pigeon_newInstance', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -1923,14 +1899,13 @@ class WKUserScript extends NSObject { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecWKUserScript; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.WKUserScript.pigeon_defaultConstructor'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [ pigeonVar_instanceIdentifier, @@ -1940,8 +1915,7 @@ class WKUserScript extends NSObject { ], ); () async { - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -2000,8 +1974,7 @@ class WKUserScript extends NSObject { ); final BinaryMessenger? binaryMessenger = pigeon_binaryMessenger; { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.webview_flutter_wkwebview.WKUserScript.pigeon_newInstance', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -2126,8 +2099,7 @@ class WKNavigationAction extends NSObject { ); final BinaryMessenger? binaryMessenger = pigeon_binaryMessenger; { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.webview_flutter_wkwebview.WKNavigationAction.pigeon_newInstance', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -2239,8 +2211,7 @@ class WKNavigationResponse extends NSObject { ); final BinaryMessenger? binaryMessenger = pigeon_binaryMessenger; { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.webview_flutter_wkwebview.WKNavigationResponse.pigeon_newInstance', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -2346,8 +2317,7 @@ class WKFrameInfo extends NSObject { ); final BinaryMessenger? binaryMessenger = pigeon_binaryMessenger; { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.webview_flutter_wkwebview.WKFrameInfo.pigeon_newInstance', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -2450,8 +2420,7 @@ class NSError extends NSObject { ); final BinaryMessenger? binaryMessenger = pigeon_binaryMessenger; { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.webview_flutter_wkwebview.NSError.pigeon_newInstance', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -2565,8 +2534,7 @@ class WKScriptMessage extends NSObject { ); final BinaryMessenger? binaryMessenger = pigeon_binaryMessenger; { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.webview_flutter_wkwebview.WKScriptMessage.pigeon_newInstance', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -2668,8 +2636,7 @@ class WKSecurityOrigin extends NSObject { ); final BinaryMessenger? binaryMessenger = pigeon_binaryMessenger; { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.webview_flutter_wkwebview.WKSecurityOrigin.pigeon_newInstance', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -2788,20 +2755,18 @@ class HTTPCookie extends NSObject { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecHTTPCookie; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.HTTPCookie.pigeon_defaultConstructor'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [pigeonVar_instanceIdentifier, properties], ); () async { - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -2842,8 +2807,7 @@ class HTTPCookie extends NSObject { ); final BinaryMessenger? binaryMessenger = pigeon_binaryMessenger; { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.webview_flutter_wkwebview.HTTPCookie.pigeon_newInstance', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -2890,19 +2854,17 @@ class HTTPCookie extends NSObject { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecHTTPCookie; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.HTTPCookie.getProperties'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -2974,20 +2936,18 @@ class AuthenticationChallengeResponse extends PigeonInternalProxyApiBaseClass { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecAuthenticationChallengeResponse; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.AuthenticationChallengeResponse.pigeon_defaultConstructor'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [pigeonVar_instanceIdentifier, disposition, credential], ); () async { - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -3041,8 +3001,7 @@ class AuthenticationChallengeResponse extends PigeonInternalProxyApiBaseClass { ); final BinaryMessenger? binaryMessenger = pigeon_binaryMessenger; { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.webview_flutter_wkwebview.AuthenticationChallengeResponse.pigeon_newInstance', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -3115,19 +3074,17 @@ class AuthenticationChallengeResponse extends PigeonInternalProxyApiBaseClass { pigeon_instanceManager ?? PigeonInstanceManager.instance, ); final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.AuthenticationChallengeResponse.createAsync'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [disposition, credential], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -3201,8 +3158,7 @@ class WKWebsiteDataStore extends NSObject { ); final BinaryMessenger? binaryMessenger = pigeon_binaryMessenger; { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.webview_flutter_wkwebview.WKWebsiteDataStore.pigeon_newInstance', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -3254,19 +3210,17 @@ class WKWebsiteDataStore extends NSObject { final int pigeonVar_instanceIdentifier = PigeonInstanceManager.instance .addDartCreatedInstance(pigeonVar_instance); () async { - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.WKWebsiteDataStore.defaultDataStore'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [pigeonVar_instanceIdentifier], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -3294,19 +3248,17 @@ class WKWebsiteDataStore extends NSObject { final int pigeonVar_instanceIdentifier = pigeon_instanceManager .addDartCreatedInstance(pigeonVar_instance); () async { - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.WKWebsiteDataStore.httpCookieStore'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, pigeonVar_instanceIdentifier], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -3330,19 +3282,17 @@ class WKWebsiteDataStore extends NSObject { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecWKWebsiteDataStore; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.WKWebsiteDataStore.removeDataOfTypes'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, dataTypes, modificationTimeInSecondsSinceEpoch], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -3401,8 +3351,7 @@ class UIView extends NSObject { ); final BinaryMessenger? binaryMessenger = pigeon_binaryMessenger; { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.webview_flutter_wkwebview.UIView.pigeon_newInstance', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -3449,19 +3398,17 @@ class UIView extends NSObject { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecUIView; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.UIView.setBackgroundColor'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, value], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -3480,19 +3427,17 @@ class UIView extends NSObject { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecUIView; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.UIView.setOpaque'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, opaque], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -3546,8 +3491,7 @@ class UIScrollView extends UIView { ); final BinaryMessenger? binaryMessenger = pigeon_binaryMessenger; { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.webview_flutter_wkwebview.UIScrollView.pigeon_newInstance', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -3595,19 +3539,17 @@ class UIScrollView extends UIView { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecUIScrollView; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.UIScrollView.getContentOffset'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -3633,19 +3575,17 @@ class UIScrollView extends UIView { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecUIScrollView; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.UIScrollView.scrollBy'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, x, y], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -3665,19 +3605,17 @@ class UIScrollView extends UIView { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecUIScrollView; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.UIScrollView.setContentOffset'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, x, y], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -3696,19 +3634,17 @@ class UIScrollView extends UIView { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecUIScrollView; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.UIScrollView.setDelegate'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, delegate], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -3727,19 +3663,17 @@ class UIScrollView extends UIView { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecUIScrollView; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.UIScrollView.setBounces'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, value], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -3759,19 +3693,17 @@ class UIScrollView extends UIView { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecUIScrollView; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.UIScrollView.setBouncesHorizontally'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, value], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -3791,19 +3723,17 @@ class UIScrollView extends UIView { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecUIScrollView; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.UIScrollView.setBouncesVertically'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, value], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -3827,19 +3757,17 @@ class UIScrollView extends UIView { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecUIScrollView; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.UIScrollView.setAlwaysBounceVertical'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, value], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -3863,19 +3791,17 @@ class UIScrollView extends UIView { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecUIScrollView; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.UIScrollView.setAlwaysBounceHorizontal'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, value], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -3896,19 +3822,17 @@ class UIScrollView extends UIView { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecUIScrollView; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.UIScrollView.setShowsVerticalScrollIndicator'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, value], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -3929,19 +3853,17 @@ class UIScrollView extends UIView { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecUIScrollView; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.UIScrollView.setShowsHorizontalScrollIndicator'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, value], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -4003,20 +3925,18 @@ class WKWebViewConfiguration extends NSObject { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecWKWebViewConfiguration; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.WKWebViewConfiguration.pigeon_defaultConstructor'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [pigeonVar_instanceIdentifier], ); () async { - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -4059,8 +3979,7 @@ class WKWebViewConfiguration extends NSObject { ); final BinaryMessenger? binaryMessenger = pigeon_binaryMessenger; { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.webview_flutter_wkwebview.WKWebViewConfiguration.pigeon_newInstance', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -4110,19 +4029,17 @@ class WKWebViewConfiguration extends NSObject { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecWKWebViewConfiguration; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.WKWebViewConfiguration.setUserContentController'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, controller], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -4142,19 +4059,17 @@ class WKWebViewConfiguration extends NSObject { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecWKWebViewConfiguration; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.WKWebViewConfiguration.getUserContentController'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -4179,19 +4094,17 @@ class WKWebViewConfiguration extends NSObject { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecWKWebViewConfiguration; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.WKWebViewConfiguration.setWebsiteDataStore'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, dataStore], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -4211,19 +4124,17 @@ class WKWebViewConfiguration extends NSObject { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecWKWebViewConfiguration; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.WKWebViewConfiguration.getWebsiteDataStore'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -4247,19 +4158,17 @@ class WKWebViewConfiguration extends NSObject { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecWKWebViewConfiguration; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.WKWebViewConfiguration.setPreferences'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, preferences], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -4278,19 +4187,17 @@ class WKWebViewConfiguration extends NSObject { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecWKWebViewConfiguration; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.WKWebViewConfiguration.getPreferences'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -4315,19 +4222,17 @@ class WKWebViewConfiguration extends NSObject { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecWKWebViewConfiguration; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.WKWebViewConfiguration.setAllowsInlineMediaPlayback'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, allow], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -4347,19 +4252,17 @@ class WKWebViewConfiguration extends NSObject { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecWKWebViewConfiguration; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.WKWebViewConfiguration.setLimitsNavigationsToAppBoundDomains'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, limit], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -4380,19 +4283,17 @@ class WKWebViewConfiguration extends NSObject { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecWKWebViewConfiguration; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.WKWebViewConfiguration.setMediaTypesRequiringUserActionForPlayback'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, type], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -4411,19 +4312,17 @@ class WKWebViewConfiguration extends NSObject { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecWKWebViewConfiguration; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.WKWebViewConfiguration.getDefaultWebpagePreferences'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -4485,8 +4384,7 @@ class WKUserContentController extends NSObject { ); final BinaryMessenger? binaryMessenger = pigeon_binaryMessenger; { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.webview_flutter_wkwebview.WKUserContentController.pigeon_newInstance', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -4536,19 +4434,17 @@ class WKUserContentController extends NSObject { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecWKUserContentController; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.WKUserContentController.addScriptMessageHandler'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, handler, name], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -4568,19 +4464,17 @@ class WKUserContentController extends NSObject { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecWKUserContentController; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.WKUserContentController.removeScriptMessageHandler'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, name], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -4600,19 +4494,17 @@ class WKUserContentController extends NSObject { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecWKUserContentController; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.WKUserContentController.removeAllScriptMessageHandlers'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -4631,19 +4523,17 @@ class WKUserContentController extends NSObject { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecWKUserContentController; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.WKUserContentController.addUserScript'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, userScript], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -4662,19 +4552,17 @@ class WKUserContentController extends NSObject { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecWKUserContentController; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.WKUserContentController.removeAllUserScripts'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -4728,8 +4616,7 @@ class WKPreferences extends NSObject { ); final BinaryMessenger? binaryMessenger = pigeon_binaryMessenger; { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.webview_flutter_wkwebview.WKPreferences.pigeon_newInstance', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -4776,19 +4663,17 @@ class WKPreferences extends NSObject { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecWKPreferences; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.WKPreferences.setJavaScriptEnabled'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, enabled], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -4859,20 +4744,18 @@ class WKScriptMessageHandler extends NSObject { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecWKScriptMessageHandler; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.WKScriptMessageHandler.pigeon_defaultConstructor'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [pigeonVar_instanceIdentifier], ); () async { - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -4947,8 +4830,7 @@ class WKScriptMessageHandler extends NSObject { ); final BinaryMessenger? binaryMessenger = pigeon_binaryMessenger; { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.webview_flutter_wkwebview.WKScriptMessageHandler.didReceiveScriptMessage', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -5116,20 +4998,18 @@ class WKNavigationDelegate extends NSObject { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecWKNavigationDelegate; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.WKNavigationDelegate.pigeon_defaultConstructor'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [pigeonVar_instanceIdentifier], ); () async { - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -5430,8 +5310,7 @@ class WKNavigationDelegate extends NSObject { ); final BinaryMessenger? binaryMessenger = pigeon_binaryMessenger; { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.webview_flutter_wkwebview.WKNavigationDelegate.didFinishNavigation', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -5473,8 +5352,7 @@ class WKNavigationDelegate extends NSObject { } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.webview_flutter_wkwebview.WKNavigationDelegate.didStartProvisionalNavigation', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -5517,8 +5395,7 @@ class WKNavigationDelegate extends NSObject { } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.webview_flutter_wkwebview.WKNavigationDelegate.decidePolicyForNavigationAction', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -5571,8 +5448,7 @@ class WKNavigationDelegate extends NSObject { } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.webview_flutter_wkwebview.WKNavigationDelegate.decidePolicyForNavigationResponse', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -5625,8 +5501,7 @@ class WKNavigationDelegate extends NSObject { } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.webview_flutter_wkwebview.WKNavigationDelegate.didFailNavigation', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -5675,8 +5550,7 @@ class WKNavigationDelegate extends NSObject { } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.webview_flutter_wkwebview.WKNavigationDelegate.didFailProvisionalNavigation', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -5723,8 +5597,7 @@ class WKNavigationDelegate extends NSObject { } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.webview_flutter_wkwebview.WKNavigationDelegate.webViewWebContentProcessDidTerminate', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -5766,8 +5639,7 @@ class WKNavigationDelegate extends NSObject { } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.webview_flutter_wkwebview.WKNavigationDelegate.didReceiveAuthenticationChallenge', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -5873,20 +5745,18 @@ class NSObject extends PigeonInternalProxyApiBaseClass { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecNSObject; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.NSObject.pigeon_defaultConstructor'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [pigeonVar_instanceIdentifier], ); () async { - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -5962,8 +5832,7 @@ class NSObject extends PigeonInternalProxyApiBaseClass { ); final BinaryMessenger? binaryMessenger = pigeon_binaryMessenger; { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.webview_flutter_wkwebview.NSObject.pigeon_newInstance', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -6005,8 +5874,7 @@ class NSObject extends PigeonInternalProxyApiBaseClass { } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.webview_flutter_wkwebview.NSObject.observeValue', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -6060,19 +5928,17 @@ class NSObject extends PigeonInternalProxyApiBaseClass { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecNSObject; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.NSObject.addObserver'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, observer, keyPath, options], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -6093,19 +5959,17 @@ class NSObject extends PigeonInternalProxyApiBaseClass { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecNSObject; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.NSObject.removeObserver'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, observer, keyPath], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -6172,20 +6036,18 @@ class UIViewWKWebView extends UIView implements WKWebView { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecUIViewWKWebView; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.UIViewWKWebView.pigeon_defaultConstructor'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [pigeonVar_instanceIdentifier, initialConfiguration], ); () async { - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -6232,8 +6094,7 @@ class UIViewWKWebView extends UIView implements WKWebView { ); final BinaryMessenger? binaryMessenger = pigeon_binaryMessenger; { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.webview_flutter_wkwebview.UIViewWKWebView.pigeon_newInstance', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -6287,19 +6148,17 @@ class UIViewWKWebView extends UIView implements WKWebView { final int pigeonVar_instanceIdentifier = pigeon_instanceManager .addDartCreatedInstance(pigeonVar_instance); () async { - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.UIViewWKWebView.configuration'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, pigeonVar_instanceIdentifier], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -6326,19 +6185,17 @@ class UIViewWKWebView extends UIView implements WKWebView { final int pigeonVar_instanceIdentifier = pigeon_instanceManager .addDartCreatedInstance(pigeonVar_instance); () async { - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.UIViewWKWebView.scrollView'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, pigeonVar_instanceIdentifier], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -6360,19 +6217,17 @@ class UIViewWKWebView extends UIView implements WKWebView { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecUIViewWKWebView; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.UIViewWKWebView.setUIDelegate'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, delegate], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -6391,19 +6246,17 @@ class UIViewWKWebView extends UIView implements WKWebView { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecUIViewWKWebView; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.UIViewWKWebView.setNavigationDelegate'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, delegate], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -6422,19 +6275,17 @@ class UIViewWKWebView extends UIView implements WKWebView { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecUIViewWKWebView; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.UIViewWKWebView.getUrl'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -6453,19 +6304,17 @@ class UIViewWKWebView extends UIView implements WKWebView { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecUIViewWKWebView; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.UIViewWKWebView.getEstimatedProgress'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -6490,19 +6339,17 @@ class UIViewWKWebView extends UIView implements WKWebView { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecUIViewWKWebView; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.UIViewWKWebView.load'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, request], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -6521,19 +6368,17 @@ class UIViewWKWebView extends UIView implements WKWebView { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecUIViewWKWebView; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.UIViewWKWebView.loadHtmlString'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, string, baseUrl], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -6552,19 +6397,17 @@ class UIViewWKWebView extends UIView implements WKWebView { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecUIViewWKWebView; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.UIViewWKWebView.loadFileUrl'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, url, readAccessUrl], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -6583,19 +6426,17 @@ class UIViewWKWebView extends UIView implements WKWebView { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecUIViewWKWebView; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.UIViewWKWebView.loadFlutterAsset'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, key], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -6615,19 +6456,17 @@ class UIViewWKWebView extends UIView implements WKWebView { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecUIViewWKWebView; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.UIViewWKWebView.canGoBack'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -6652,19 +6491,17 @@ class UIViewWKWebView extends UIView implements WKWebView { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecUIViewWKWebView; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.UIViewWKWebView.canGoForward'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -6688,19 +6525,17 @@ class UIViewWKWebView extends UIView implements WKWebView { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecUIViewWKWebView; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.UIViewWKWebView.goBack'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -6719,19 +6554,17 @@ class UIViewWKWebView extends UIView implements WKWebView { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecUIViewWKWebView; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.UIViewWKWebView.goForward'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -6750,19 +6583,17 @@ class UIViewWKWebView extends UIView implements WKWebView { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecUIViewWKWebView; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.UIViewWKWebView.reload'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -6781,19 +6612,17 @@ class UIViewWKWebView extends UIView implements WKWebView { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecUIViewWKWebView; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.UIViewWKWebView.getTitle'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -6813,19 +6642,17 @@ class UIViewWKWebView extends UIView implements WKWebView { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecUIViewWKWebView; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.UIViewWKWebView.setAllowsBackForwardNavigationGestures'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, allow], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -6844,19 +6671,17 @@ class UIViewWKWebView extends UIView implements WKWebView { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecUIViewWKWebView; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.UIViewWKWebView.setCustomUserAgent'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, userAgent], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -6875,19 +6700,17 @@ class UIViewWKWebView extends UIView implements WKWebView { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecUIViewWKWebView; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.UIViewWKWebView.evaluateJavaScript'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, javaScriptString], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -6907,19 +6730,17 @@ class UIViewWKWebView extends UIView implements WKWebView { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecUIViewWKWebView; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.UIViewWKWebView.setInspectable'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, inspectable], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -6938,19 +6759,17 @@ class UIViewWKWebView extends UIView implements WKWebView { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecUIViewWKWebView; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.UIViewWKWebView.getCustomUserAgent'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -6972,19 +6791,17 @@ class UIViewWKWebView extends UIView implements WKWebView { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecUIViewWKWebView; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.UIViewWKWebView.setAllowsLinkPreview'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, allow], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -7051,20 +6868,18 @@ class NSViewWKWebView extends NSObject implements WKWebView { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecNSViewWKWebView; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.NSViewWKWebView.pigeon_defaultConstructor'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [pigeonVar_instanceIdentifier, initialConfiguration], ); () async { - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -7108,8 +6923,7 @@ class NSViewWKWebView extends NSObject implements WKWebView { ); final BinaryMessenger? binaryMessenger = pigeon_binaryMessenger; { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.webview_flutter_wkwebview.NSViewWKWebView.pigeon_newInstance', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -7163,19 +6977,17 @@ class NSViewWKWebView extends NSObject implements WKWebView { final int pigeonVar_instanceIdentifier = pigeon_instanceManager .addDartCreatedInstance(pigeonVar_instance); () async { - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.NSViewWKWebView.configuration'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, pigeonVar_instanceIdentifier], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -7197,19 +7009,17 @@ class NSViewWKWebView extends NSObject implements WKWebView { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecNSViewWKWebView; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.NSViewWKWebView.setUIDelegate'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, delegate], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -7228,19 +7038,17 @@ class NSViewWKWebView extends NSObject implements WKWebView { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecNSViewWKWebView; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.NSViewWKWebView.setNavigationDelegate'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, delegate], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -7259,19 +7067,17 @@ class NSViewWKWebView extends NSObject implements WKWebView { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecNSViewWKWebView; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.NSViewWKWebView.getUrl'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -7290,19 +7096,17 @@ class NSViewWKWebView extends NSObject implements WKWebView { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecNSViewWKWebView; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.NSViewWKWebView.getEstimatedProgress'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -7327,19 +7131,17 @@ class NSViewWKWebView extends NSObject implements WKWebView { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecNSViewWKWebView; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.NSViewWKWebView.load'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, request], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -7358,19 +7160,17 @@ class NSViewWKWebView extends NSObject implements WKWebView { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecNSViewWKWebView; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.NSViewWKWebView.loadHtmlString'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, string, baseUrl], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -7389,19 +7189,17 @@ class NSViewWKWebView extends NSObject implements WKWebView { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecNSViewWKWebView; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.NSViewWKWebView.loadFileUrl'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, url, readAccessUrl], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -7420,19 +7218,17 @@ class NSViewWKWebView extends NSObject implements WKWebView { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecNSViewWKWebView; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.NSViewWKWebView.loadFlutterAsset'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, key], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -7452,19 +7248,17 @@ class NSViewWKWebView extends NSObject implements WKWebView { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecNSViewWKWebView; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.NSViewWKWebView.canGoBack'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -7489,19 +7283,17 @@ class NSViewWKWebView extends NSObject implements WKWebView { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecNSViewWKWebView; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.NSViewWKWebView.canGoForward'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -7525,19 +7317,17 @@ class NSViewWKWebView extends NSObject implements WKWebView { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecNSViewWKWebView; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.NSViewWKWebView.goBack'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -7556,19 +7346,17 @@ class NSViewWKWebView extends NSObject implements WKWebView { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecNSViewWKWebView; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.NSViewWKWebView.goForward'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -7587,19 +7375,17 @@ class NSViewWKWebView extends NSObject implements WKWebView { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecNSViewWKWebView; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.NSViewWKWebView.reload'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -7618,19 +7404,17 @@ class NSViewWKWebView extends NSObject implements WKWebView { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecNSViewWKWebView; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.NSViewWKWebView.getTitle'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -7650,19 +7434,17 @@ class NSViewWKWebView extends NSObject implements WKWebView { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecNSViewWKWebView; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.NSViewWKWebView.setAllowsBackForwardNavigationGestures'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, allow], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -7681,19 +7463,17 @@ class NSViewWKWebView extends NSObject implements WKWebView { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecNSViewWKWebView; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.NSViewWKWebView.setCustomUserAgent'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, userAgent], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -7712,19 +7492,17 @@ class NSViewWKWebView extends NSObject implements WKWebView { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecNSViewWKWebView; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.NSViewWKWebView.evaluateJavaScript'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, javaScriptString], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -7744,19 +7522,17 @@ class NSViewWKWebView extends NSObject implements WKWebView { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecNSViewWKWebView; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.NSViewWKWebView.setInspectable'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, inspectable], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -7775,19 +7551,17 @@ class NSViewWKWebView extends NSObject implements WKWebView { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecNSViewWKWebView; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.NSViewWKWebView.getCustomUserAgent'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -7809,19 +7583,17 @@ class NSViewWKWebView extends NSObject implements WKWebView { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecNSViewWKWebView; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.NSViewWKWebView.setAllowsLinkPreview'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, allow], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -7873,8 +7645,7 @@ class WKWebView extends NSObject { ); final BinaryMessenger? binaryMessenger = pigeon_binaryMessenger; { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.webview_flutter_wkwebview.WKWebView.pigeon_newInstance', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -8017,20 +7788,18 @@ class WKUIDelegate extends NSObject { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecWKUIDelegate; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.WKUIDelegate.pigeon_defaultConstructor'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [pigeonVar_instanceIdentifier], ); () async { - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -8250,8 +8019,7 @@ class WKUIDelegate extends NSObject { ); final BinaryMessenger? binaryMessenger = pigeon_binaryMessenger; { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.webview_flutter_wkwebview.WKUIDelegate.onCreateWebView', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -8307,8 +8075,7 @@ class WKUIDelegate extends NSObject { } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.webview_flutter_wkwebview.WKUIDelegate.requestMediaCapturePermission', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -8371,8 +8138,7 @@ class WKUIDelegate extends NSObject { } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.webview_flutter_wkwebview.WKUIDelegate.runJavaScriptAlertPanel', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -8428,8 +8194,7 @@ class WKUIDelegate extends NSObject { } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.webview_flutter_wkwebview.WKUIDelegate.runJavaScriptConfirmPanel', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -8486,8 +8251,7 @@ class WKUIDelegate extends NSObject { } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.webview_flutter_wkwebview.WKUIDelegate.runJavaScriptTextInputPanel', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -8594,8 +8358,7 @@ class WKHTTPCookieStore extends NSObject { ); final BinaryMessenger? binaryMessenger = pigeon_binaryMessenger; { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.webview_flutter_wkwebview.WKHTTPCookieStore.pigeon_newInstance', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -8643,19 +8406,17 @@ class WKHTTPCookieStore extends NSObject { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecWKHTTPCookieStore; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.WKHTTPCookieStore.setCookie'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, cookie], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -8727,20 +8488,18 @@ class UIScrollViewDelegate extends NSObject { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecUIScrollViewDelegate; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.UIScrollViewDelegate.pigeon_defaultConstructor'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [pigeonVar_instanceIdentifier], ); () async { - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -8822,8 +8581,7 @@ class UIScrollViewDelegate extends NSObject { ); final BinaryMessenger? binaryMessenger = pigeon_binaryMessenger; { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.webview_flutter_wkwebview.UIScrollViewDelegate.pigeon_newInstance', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -8865,8 +8623,7 @@ class UIScrollViewDelegate extends NSObject { } { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.webview_flutter_wkwebview.UIScrollViewDelegate.scrollViewDidScroll', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -8983,20 +8740,18 @@ class URLCredential extends NSObject { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecURLCredential; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.URLCredential.withUser'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [pigeonVar_instanceIdentifier, user, password, persistence], ); () async { - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -9037,8 +8792,7 @@ class URLCredential extends NSObject { ); final BinaryMessenger? binaryMessenger = pigeon_binaryMessenger; { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.webview_flutter_wkwebview.URLCredential.pigeon_newInstance', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -9105,19 +8859,17 @@ class URLCredential extends NSObject { pigeon_instanceManager ?? PigeonInstanceManager.instance, ); final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.URLCredential.withUserAsync'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [user, password, persistence], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -9155,19 +8907,17 @@ class URLCredential extends NSObject { pigeon_instanceManager ?? PigeonInstanceManager.instance, ); final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.URLCredential.serverTrustAsync'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [trust], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -9251,8 +9001,7 @@ class URLProtectionSpace extends NSObject { ); final BinaryMessenger? binaryMessenger = pigeon_binaryMessenger; { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.webview_flutter_wkwebview.URLProtectionSpace.pigeon_newInstance', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -9320,19 +9069,17 @@ class URLProtectionSpace extends NSObject { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecURLProtectionSpace; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.URLProtectionSpace.getServerTrust'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -9392,8 +9139,7 @@ class URLAuthenticationChallenge extends NSObject { ); final BinaryMessenger? binaryMessenger = pigeon_binaryMessenger; { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.webview_flutter_wkwebview.URLAuthenticationChallenge.pigeon_newInstance', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -9440,19 +9186,17 @@ class URLAuthenticationChallenge extends NSObject { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecURLAuthenticationChallenge; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.URLAuthenticationChallenge.getProtectionSpace'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -9512,8 +9256,7 @@ class URL extends NSObject { ); final BinaryMessenger? binaryMessenger = pigeon_binaryMessenger; { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.webview_flutter_wkwebview.URL.pigeon_newInstance', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -9560,19 +9303,17 @@ class URL extends NSObject { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecURL; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.URL.getAbsoluteString'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -9634,8 +9375,7 @@ class WKWebpagePreferences extends NSObject { ); final BinaryMessenger? binaryMessenger = pigeon_binaryMessenger; { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.webview_flutter_wkwebview.WKWebpagePreferences.pigeon_newInstance', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -9683,19 +9423,17 @@ class WKWebpagePreferences extends NSObject { final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _pigeonVar_codecWKWebpagePreferences; final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.WKWebpagePreferences.setAllowsContentJavaScript'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [this, allow], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -9761,8 +9499,7 @@ class GetTrustResultResponse extends NSObject { ); final BinaryMessenger? binaryMessenger = pigeon_binaryMessenger; { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.webview_flutter_wkwebview.GetTrustResultResponse.pigeon_newInstance', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -9859,8 +9596,7 @@ class SecTrust extends NSObject { ); final BinaryMessenger? binaryMessenger = pigeon_binaryMessenger; { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.webview_flutter_wkwebview.SecTrust.pigeon_newInstance', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -9916,19 +9652,17 @@ class SecTrust extends NSObject { pigeon_instanceManager ?? PigeonInstanceManager.instance, ); final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.SecTrust.evaluateWithError'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [trust], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -9962,19 +9696,17 @@ class SecTrust extends NSObject { pigeon_instanceManager ?? PigeonInstanceManager.instance, ); final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.SecTrust.copyExceptions'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [trust], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -10004,19 +9736,17 @@ class SecTrust extends NSObject { pigeon_instanceManager ?? PigeonInstanceManager.instance, ); final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.SecTrust.setExceptions'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [trust, exceptions], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -10049,19 +9779,17 @@ class SecTrust extends NSObject { pigeon_instanceManager ?? PigeonInstanceManager.instance, ); final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.SecTrust.getTrustResult'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [trust], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -10094,19 +9822,17 @@ class SecTrust extends NSObject { pigeon_instanceManager ?? PigeonInstanceManager.instance, ); final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.SecTrust.copyCertificateChain'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [trust], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -10160,8 +9886,7 @@ class SecCertificate extends NSObject { ); final BinaryMessenger? binaryMessenger = pigeon_binaryMessenger; { - final BasicMessageChannel - pigeonVar_channel = BasicMessageChannel( + final pigeonVar_channel = BasicMessageChannel( 'dev.flutter.pigeon.webview_flutter_wkwebview.SecCertificate.pigeon_newInstance', pigeonChannelCodec, binaryMessenger: binaryMessenger, @@ -10217,19 +9942,17 @@ class SecCertificate extends NSObject { pigeon_instanceManager ?? PigeonInstanceManager.instance, ); final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; - const String pigeonVar_channelName = + const pigeonVar_channelName = 'dev.flutter.pigeon.webview_flutter_wkwebview.SecCertificate.copyData'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); + final pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); final Future pigeonVar_sendFuture = pigeonVar_channel.send( [certificate], ); - final List? pigeonVar_replyList = - await pigeonVar_sendFuture as List?; + final pigeonVar_replyList = await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { diff --git a/packages/webview_flutter/webview_flutter_wkwebview/pubspec.yaml b/packages/webview_flutter/webview_flutter_wkwebview/pubspec.yaml index 6a1b4fc30c7..714304d9b34 100644 --- a/packages/webview_flutter/webview_flutter_wkwebview/pubspec.yaml +++ b/packages/webview_flutter/webview_flutter_wkwebview/pubspec.yaml @@ -33,7 +33,7 @@ dev_dependencies: flutter_test: sdk: flutter mockito: ^5.4.4 - pigeon: ^26.1.0 + pigeon: ^26.1.4 topics: - html From e41900de28c9c963a11a3a7e881b85f926f6ec44 Mon Sep 17 00:00:00 2001 From: Maurice Parrish <10687576+bparrishMines@users.noreply.github.com> Date: Thu, 4 Dec 2025 12:49:46 -0500 Subject: [PATCH 7/7] accidntal merge failure --- .../darwin/Tests/NavigationDelegateProxyAPITests.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/webview_flutter/webview_flutter_wkwebview/darwin/Tests/NavigationDelegateProxyAPITests.swift b/packages/webview_flutter/webview_flutter_wkwebview/darwin/Tests/NavigationDelegateProxyAPITests.swift index 07f65e0751c..11df2e04329 100644 --- a/packages/webview_flutter/webview_flutter_wkwebview/darwin/Tests/NavigationDelegateProxyAPITests.swift +++ b/packages/webview_flutter/webview_flutter_wkwebview/darwin/Tests/NavigationDelegateProxyAPITests.swift @@ -62,7 +62,7 @@ class NavigationDelegateProxyAPITests: XCTestCase { let registrar = TestProxyApiRegistrar() let instance = NavigationDelegateImpl(api: api, registrar: registrar) let webView = WKWebView(frame: .zero) - let navigationResponse = TestNavigationResponse() + let navigationResponse = TestNavigationResponse.instance var result: WKNavigationResponsePolicy? let callbackExpectation = expectation(description: "Wait for callback.")