Skip to content

Commit 8f0fdfc

Browse files
[webview_flutter_android] Removes internal native library Dart proxy (#10527)
Removes internal native library Dart proxy and updates test with generated PigeonOverrides. Also removes unnecessary test InstanceManagers. ## Pre-Review Checklist **Note**: The Flutter team is currently trialing the use of [Gemini Code Assist for GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code). Comments from the `gemini-code-assist` bot should not be taken as authoritative feedback from the Flutter team. If you find its comments useful you can update your code accordingly, but if you are unsure or disagree with the feedback, please feel free to wait for a Flutter team member's review for guidance on which automated comments should be addressed. [^1]: Regular contributors who have demonstrated familiarity with the repository guidelines only need to comment if the PR is not auto-exempted by repo tooling.
1 parent d39e481 commit 8f0fdfc

19 files changed

+1809
-2879
lines changed

packages/webview_flutter/webview_flutter_android/CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
## 4.10.11
2+
3+
* Removes internal native library Dart proxy.
4+
15
## 4.10.10
26

37
* Bumps kotlin_version to 2.2.21.

packages/webview_flutter/webview_flutter_android/android/src/main/java/io/flutter/plugins/webviewflutter/AndroidWebkitLibrary.g.kt

Lines changed: 241 additions & 1 deletion
Large diffs are not rendered by default.

packages/webview_flutter/webview_flutter_android/example/integration_test/webview_flutter_test.dart

Lines changed: 16 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ import 'package:flutter/material.dart';
1414
import 'package:flutter/services.dart';
1515
import 'package:flutter_test/flutter_test.dart';
1616
import 'package:integration_test/integration_test.dart';
17-
import 'package:webview_flutter_android/src/android_proxy.dart';
1817
import 'package:webview_flutter_android/src/android_webkit.g.dart'
1918
as android_webkit;
2019
import 'package:webview_flutter_android/src/weak_reference_utils.dart';
@@ -63,6 +62,10 @@ Future<void> main() async {
6362
final headersUrl = '$prefixUrl/headers';
6463
final basicAuthUrl = '$prefixUrl/http-basic-authentication';
6564

65+
setUp(() {
66+
android_webkit.PigeonOverrides.pigeon_reset();
67+
});
68+
6669
testWidgets('loadRequest', (WidgetTester tester) async {
6770
final pageFinished = Completer<void>();
6871

@@ -130,33 +133,24 @@ Future<void> main() async {
130133
}
131134
});
132135

136+
android_webkit.PigeonOverrides.webView_new =
137+
({
138+
void Function(android_webkit.WebView, int, int, int, int)?
139+
onScrollChanged,
140+
}) {
141+
final webView = android_webkit.WebView(
142+
onScrollChanged: onScrollChanged,
143+
);
144+
finalizer.attach(webView, webViewToken);
145+
return webView;
146+
};
133147
await tester.pumpWidget(
134148
Builder(
135149
builder: (BuildContext context) {
136150
return PlatformWebViewWidget(
137151
AndroidWebViewWidgetCreationParams(
138152
controller: PlatformWebViewController(
139-
AndroidWebViewControllerCreationParams(
140-
androidWebViewProxy: AndroidWebViewProxy(
141-
newWebView:
142-
({
143-
void Function(
144-
android_webkit.WebView,
145-
int,
146-
int,
147-
int,
148-
int,
149-
)?
150-
onScrollChanged,
151-
}) {
152-
final webView = android_webkit.WebView(
153-
onScrollChanged: onScrollChanged,
154-
);
155-
finalizer.attach(webView, webViewToken);
156-
return webView;
157-
},
158-
),
159-
),
153+
AndroidWebViewControllerCreationParams(),
160154
),
161155
),
162156
).build(context);

packages/webview_flutter/webview_flutter_android/example/integration_test/webview_flutter_test_legacy.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,7 @@ Future<void> main() async {
150150
await tester.pumpWidget(
151151
Builder(
152152
builder: (BuildContext context) {
153-
return AndroidWebView(instanceManager: instanceManager).build(
153+
return AndroidWebView().build(
154154
context: context,
155155
creationParams: CreationParams(
156156
webSettings: WebSettings(

packages/webview_flutter/webview_flutter_android/lib/src/android_proxy.dart

Lines changed: 0 additions & 148 deletions
This file was deleted.

0 commit comments

Comments
 (0)