From 831887440eda0f95f9d96a66c351fcaea03c2b35 Mon Sep 17 00:00:00 2001 From: camsim99 Date: Wed, 10 Apr 2024 10:30:10 -0700 Subject: [PATCH 01/17] Changes for test --- .../webview_flutter_test.dart | 40 +++++++++---------- .../tool/lib/src/drive_examples_command.dart | 2 + 2 files changed, 22 insertions(+), 20 deletions(-) diff --git a/packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test.dart b/packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test.dart index a18c1be03456..03d02ea5cc1f 100644 --- a/packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test.dart +++ b/packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test.dart @@ -256,14 +256,14 @@ Future main() async { WebViewController controller = WebViewController.fromPlatformCreationParams(params); - unawaited(controller.setJavaScriptMode(JavaScriptMode.unrestricted)); - unawaited(controller.setNavigationDelegate( + await controller.setJavaScriptMode(JavaScriptMode.unrestricted); + await controller.setNavigationDelegate( NavigationDelegate(onPageFinished: (_) => pageLoaded.complete()), - )); + ); if (controller.platform is AndroidWebViewController) { - unawaited((controller.platform as AndroidWebViewController) - .setMediaPlaybackRequiresUserGesture(false)); + await (controller.platform as AndroidWebViewController) + .setMediaPlaybackRequiresUserGesture(false); } await controller.loadRequest( @@ -280,13 +280,13 @@ Future main() async { pageLoaded = Completer(); controller = WebViewController(); - unawaited(controller.setJavaScriptMode(JavaScriptMode.unrestricted)); - unawaited(controller.setNavigationDelegate( + await controller.setJavaScriptMode(JavaScriptMode.unrestricted); + await controller.setNavigationDelegate( NavigationDelegate(onPageFinished: (_) => pageLoaded.complete()), - )); - unawaited(controller.loadRequest( + ); + await controller.loadRequest( Uri.parse('data:text/html;charset=utf-8;base64,$videoTestBase64'), - )); + ); await tester.pumpWidget(WebViewWidget(controller: controller)); @@ -395,14 +395,14 @@ Future main() async { WebViewController controller = WebViewController.fromPlatformCreationParams(params); - unawaited(controller.setJavaScriptMode(JavaScriptMode.unrestricted)); - unawaited(controller.setNavigationDelegate( + await controller.setJavaScriptMode(JavaScriptMode.unrestricted); + await controller.setNavigationDelegate( NavigationDelegate(onPageFinished: (_) => pageLoaded.complete()), - )); + ); if (controller.platform is AndroidWebViewController) { - unawaited((controller.platform as AndroidWebViewController) - .setMediaPlaybackRequiresUserGesture(false)); + await (controller.platform as AndroidWebViewController) + .setMediaPlaybackRequiresUserGesture(false); } await controller.loadRequest( @@ -420,13 +420,13 @@ Future main() async { pageLoaded = Completer(); controller = WebViewController(); - unawaited(controller.setJavaScriptMode(JavaScriptMode.unrestricted)); - unawaited(controller.setNavigationDelegate( + await controller.setJavaScriptMode(JavaScriptMode.unrestricted); + await controller.setNavigationDelegate( NavigationDelegate(onPageFinished: (_) => pageLoaded.complete()), - )); - unawaited(controller.loadRequest( + ); + await controller.loadRequest( Uri.parse('data:text/html;charset=utf-8;base64,$audioTestBase64'), - )); + ); await tester.pumpWidget(WebViewWidget(controller: controller)); await tester.pumpAndSettle(); diff --git a/script/tool/lib/src/drive_examples_command.dart b/script/tool/lib/src/drive_examples_command.dart index f3baa5c7cee6..e5cea87a3b9b 100644 --- a/script/tool/lib/src/drive_examples_command.dart +++ b/script/tool/lib/src/drive_examples_command.dart @@ -378,6 +378,7 @@ class DriveExamplesCommand extends PackageLoopingCommand { getRelativePosixPath(driver, from: example.directory), '--target', getRelativePosixPath(target, from: example.directory), + '--verbose', ], workingDir: example.directory); if (exitCode != 0) { @@ -424,6 +425,7 @@ class DriveExamplesCommand extends PackageLoopingCommand { if (enableExperiment.isNotEmpty) '--enable-experiment=$enableExperiment', target, + '--verbose' // testing change only ], workingDir: example.directory); passed = passed && (exitCode == 0); From a8fc5722ab10df1ab5be0f10781c0a5e4cdbd055 Mon Sep 17 00:00:00 2001 From: camsim99 Date: Wed, 10 Apr 2024 10:32:24 -0700 Subject: [PATCH 02/17] Run on 34 --- script/configs/still_requires_api_33_avd.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/script/configs/still_requires_api_33_avd.yaml b/script/configs/still_requires_api_33_avd.yaml index 7368d3d16e0c..443df2753d84 100644 --- a/script/configs/still_requires_api_33_avd.yaml +++ b/script/configs/still_requires_api_33_avd.yaml @@ -1,2 +1,2 @@ -# Running the somes tests from these packages on an AVD with Android 34 causes failures. -- webview_flutter +# TODO(camsim99): Remove shard as it no packages require running on AVDs with Android 33. +[] From 0d52ab9f9dd372801d33a11881d702a780b5ce62 Mon Sep 17 00:00:00 2001 From: camsim99 Date: Wed, 10 Apr 2024 14:27:52 -0700 Subject: [PATCH 03/17] Remove 33 only tests, testing verbose change --- .ci.yaml | 83 ------------------- .ci/targets/android_platform_tests.yaml | 12 +-- .../android_platform_tests_api_33_avd.yaml | 29 ------- script/configs/still_requires_api_33_avd.yaml | 2 - .../tool/lib/src/drive_examples_command.dart | 2 - 5 files changed, 6 insertions(+), 122 deletions(-) delete mode 100644 .ci/targets/android_platform_tests_api_33_avd.yaml delete mode 100644 script/configs/still_requires_api_33_avd.yaml diff --git a/.ci.yaml b/.ci.yaml index 93e3d4035346..6d1fdd29b199 100644 --- a/.ci.yaml +++ b/.ci.yaml @@ -394,9 +394,6 @@ targets: "CHANNEL": "stable" } - # All of the Linux_android android_platform_tests shards have the same - # dependency list, despite some running on Android 33 AVDs versus 34. - # See https://github.com/flutter/flutter/issues/137082 for context. - name: Linux_android android_platform_tests_shard_1 master recipe: packages/packages timeout: 60 @@ -404,7 +401,6 @@ targets: target_file: android_platform_tests.yaml channel: master version_file: flutter_master.version - # set up for 34 package_sharding: "--shardIndex 0 --shardCount 6" dependencies: >- [ @@ -423,7 +419,6 @@ targets: target_file: android_platform_tests.yaml channel: master version_file: flutter_master.version - # set up for 34 package_sharding: "--shardIndex 1 --shardCount 6" dependencies: >- [ @@ -442,7 +437,6 @@ targets: target_file: android_platform_tests.yaml channel: master version_file: flutter_master.version - # set up for 34 package_sharding: "--shardIndex 2 --shardCount 6" dependencies: >- [ @@ -461,7 +455,6 @@ targets: target_file: android_platform_tests.yaml channel: master version_file: flutter_master.version - # set up for 34 package_sharding: "--shardIndex 3 --shardCount 6" dependencies: >- [ @@ -480,7 +473,6 @@ targets: target_file: android_platform_tests.yaml channel: master version_file: flutter_master.version - # set up for 34 package_sharding: "--shardIndex 4 --shardCount 6" dependencies: >- [ @@ -499,7 +491,6 @@ targets: target_file: android_platform_tests.yaml channel: master version_file: flutter_master.version - # set up for 34 package_sharding: "--shardIndex 5 --shardCount 6" dependencies: >- [ @@ -511,44 +502,6 @@ targets: "PACKAGE_SHARDING": "--shardIndex 5 --shardCount 6" } - - name: Linux_android android_platform_tests_api_33_shard_1 master - recipe: packages/packages - timeout: 60 - properties: - target_file: android_platform_tests_api_33_avd.yaml - channel: master - version_file: flutter_master.version - # set up for 33 - package_sharding: "--shardIndex 0 --shardCount 2" - dependencies: >- - [ - {"dependency": "android_virtual_device", "version": "android_33_google_apis_x64.textpb"} - ] - env_variables: >- - { - "CHANNEL": "master", - "PACKAGE_SHARDING": "--shardIndex 0 --shardCount 2" - } - - - name: Linux_android android_platform_tests_api_33_shard_2 master - recipe: packages/packages - timeout: 60 - properties: - target_file: android_platform_tests_api_33_avd.yaml - channel: master - version_file: flutter_master.version - # set up for 33 - package_sharding: "--shardIndex 1 --shardCount 2" - dependencies: >- - [ - {"dependency": "android_virtual_device", "version": "android_33_google_apis_x64.textpb"} - ] - env_variables: >- - { - "CHANNEL": "master", - "PACKAGE_SHARDING": "--shardIndex 1 --shardCount 2" - } - - name: Linux_android android_platform_tests_shard_1 stable recipe: packages/packages presubmit: false @@ -663,42 +616,6 @@ targets: "PACKAGE_SHARDING": "--shardIndex 5 --shardCount 6" } - - name: Linux_android android_platform_tests_api_33_shard_1 stable - recipe: packages/packages - timeout: 60 - properties: - target_file: android_platform_tests_api_33_avd.yaml - channel: stable - version_file: flutter_stable.version - package_sharding: "--shardIndex 0 --shardCount 2" - dependencies: >- - [ - {"dependency": "android_virtual_device", "version": "android_33_google_apis_x64.textpb"} - ] - env_variables: >- - { - "CHANNEL": "stable", - "PACKAGE_SHARDING": "--shardIndex 0 --shardCount 2" - } - - - name: Linux_android android_platform_tests_api_33_shard_2 stable - recipe: packages/packages - timeout: 60 - properties: - target_file: android_platform_tests_api_33_avd.yaml - channel: stable - version_file: flutter_stable.version - package_sharding: "--shardIndex 1 --shardCount 2" - dependencies: >- - [ - {"dependency": "android_virtual_device", "version": "android_33_google_apis_x64.textpb"} - ] - env_variables: >- - { - "CHANNEL": "stable", - "PACKAGE_SHARDING": "--shardIndex 1 --shardCount 2" - } - - name: Linux_android_legacy android_platform_tests_legacy_api_shard_1 master recipe: packages/packages timeout: 60 diff --git a/.ci/targets/android_platform_tests.yaml b/.ci/targets/android_platform_tests.yaml index 23fc6039bdf3..d1019f7df182 100644 --- a/.ci/targets/android_platform_tests.yaml +++ b/.ci/targets/android_platform_tests.yaml @@ -5,23 +5,23 @@ tasks: - name: download Dart and Android deps script: .ci/scripts/tool_runner.sh infra_step: true - args: ["fetch-deps", "--android", "--supporting-target-platforms-only", "--exclude=script/configs/still_requires_api_33_avd.yaml"] + args: ["fetch-deps", "--android", "--supporting-target-platforms-only"] - name: build examples script: .ci/scripts/tool_runner.sh - args: ["build-examples", "--apk", "--exclude=script/configs/still_requires_api_33_avd.yaml"] + args: ["build-examples", "--apk"] - name: lint script: .ci/scripts/tool_runner.sh - args: ["lint-android", "--exclude=script/configs/still_requires_api_33_avd.yaml"] + args: ["lint-android"] # Native unit and native integration are split into two steps to allow for # different exclusions. # TODO(stuartmorgan): Eliminate the native unit test exclusion, and combine # these steps. - name: native unit tests script: .ci/scripts/tool_runner.sh - args: ["native-test", "--android", "--no-integration", "--exclude=script/configs/exclude_native_unit_android.yaml,script/configs/still_requires_api_33_avd.yaml"] + args: ["native-test", "--android", "--no-integration", "--exclude=script/configs/exclude_native_unit_android.yaml"] - name: native integration tests script: .ci/scripts/tool_runner.sh - args: ["native-test", "--android", "--no-unit", "--exclude=script/configs/still_requires_api_33_avd.yaml"] + args: ["native-test", "--android", "--no-unit"] - name: drive examples script: .ci/scripts/tool_runner.sh - args: ["drive-examples", "--android", "--exclude=script/configs/exclude_integration_android.yaml,script/configs/exclude_integration_android_emulator.yaml,script/configs/still_requires_api_33_avd.yaml"] + args: ["drive-examples", "--android", "--exclude=script/configs/exclude_integration_android.yaml,script/configs/exclude_integration_android_emulator.yaml"] diff --git a/.ci/targets/android_platform_tests_api_33_avd.yaml b/.ci/targets/android_platform_tests_api_33_avd.yaml deleted file mode 100644 index cc5324b141fe..000000000000 --- a/.ci/targets/android_platform_tests_api_33_avd.yaml +++ /dev/null @@ -1,29 +0,0 @@ -# Same as android_platform_tests.yaml with only packages currently requiring -# Android 33 due to test failures caused by running on Android 34 AVDs. -tasks: - - name: prepare tool - script: .ci/scripts/prepare_tool.sh - infra_step: true # Note infra steps failing prevents "always" from running. - - name: download Dart and Android deps - script: .ci/scripts/tool_runner.sh - infra_step: true - args: ["fetch-deps", "--android", "--supporting-target-platforms-only", "--filter-packages-to=script/configs/still_requires_api_33_avd.yaml"] - - name: build examples - script: .ci/scripts/tool_runner.sh - args: ["build-examples", "--apk", "--filter-packages-to=script/configs/still_requires_api_33_avd.yaml"] - - name: lint - script: .ci/scripts/tool_runner.sh - args: ["lint-android", "--filter-packages-to=script/configs/still_requires_api_33_avd.yaml"] - # Native unit and native integration are split into two steps to allow for - # different exclusions. - # TODO(stuartmorgan): Eliminate the native unit test exclusion, and combine - # these steps. - - name: native unit tests - script: .ci/scripts/tool_runner.sh - args: ["native-test", "--android", "--no-integration", "--exclude=script/configs/exclude_native_unit_android.yaml", "--filter-packages-to=script/configs/still_requires_api_33_avd.yaml"] - - name: native integration tests - script: .ci/scripts/tool_runner.sh - args: ["native-test", "--android", "--no-unit", "--filter-packages-to=script/configs/still_requires_api_33_avd.yaml"] - - name: drive examples - script: .ci/scripts/tool_runner.sh - args: ["drive-examples", "--android", "--exclude=script/configs/exclude_integration_android.yaml,script/configs/exclude_integration_android_emulator.yaml", "--filter-packages-to=script/configs/still_requires_api_33_avd.yaml"] diff --git a/script/configs/still_requires_api_33_avd.yaml b/script/configs/still_requires_api_33_avd.yaml deleted file mode 100644 index 443df2753d84..000000000000 --- a/script/configs/still_requires_api_33_avd.yaml +++ /dev/null @@ -1,2 +0,0 @@ -# TODO(camsim99): Remove shard as it no packages require running on AVDs with Android 33. -[] diff --git a/script/tool/lib/src/drive_examples_command.dart b/script/tool/lib/src/drive_examples_command.dart index e5cea87a3b9b..f3baa5c7cee6 100644 --- a/script/tool/lib/src/drive_examples_command.dart +++ b/script/tool/lib/src/drive_examples_command.dart @@ -378,7 +378,6 @@ class DriveExamplesCommand extends PackageLoopingCommand { getRelativePosixPath(driver, from: example.directory), '--target', getRelativePosixPath(target, from: example.directory), - '--verbose', ], workingDir: example.directory); if (exitCode != 0) { @@ -425,7 +424,6 @@ class DriveExamplesCommand extends PackageLoopingCommand { if (enableExperiment.isNotEmpty) '--enable-experiment=$enableExperiment', target, - '--verbose' // testing change only ], workingDir: example.directory); passed = passed && (exitCode == 0); From e1641ebe09b68d9fa4d67ffaf0f156dd74b275a6 Mon Sep 17 00:00:00 2001 From: camsim99 Date: Thu, 11 Apr 2024 10:22:23 -0700 Subject: [PATCH 04/17] Move test --- ...webview_flutter_test.dart => webview_flutter_test_legacy.dart} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename packages/webview_flutter/webview_flutter/example/integration_test/{legacy/webview_flutter_test.dart => webview_flutter_test_legacy.dart} (100%) diff --git a/packages/webview_flutter/webview_flutter/example/integration_test/legacy/webview_flutter_test.dart b/packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test_legacy.dart similarity index 100% rename from packages/webview_flutter/webview_flutter/example/integration_test/legacy/webview_flutter_test.dart rename to packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test_legacy.dart From 99009377044ad5819b7aa38500a6c85fbc3d1b44 Mon Sep 17 00:00:00 2001 From: camsim99 Date: Tue, 16 Apr 2024 13:49:37 -0700 Subject: [PATCH 05/17] Try just moving legacy --- .../webview_flutter_test.dart | 40 +++++++++---------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test.dart b/packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test.dart index 03d02ea5cc1f..a18c1be03456 100644 --- a/packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test.dart +++ b/packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test.dart @@ -256,14 +256,14 @@ Future main() async { WebViewController controller = WebViewController.fromPlatformCreationParams(params); - await controller.setJavaScriptMode(JavaScriptMode.unrestricted); - await controller.setNavigationDelegate( + unawaited(controller.setJavaScriptMode(JavaScriptMode.unrestricted)); + unawaited(controller.setNavigationDelegate( NavigationDelegate(onPageFinished: (_) => pageLoaded.complete()), - ); + )); if (controller.platform is AndroidWebViewController) { - await (controller.platform as AndroidWebViewController) - .setMediaPlaybackRequiresUserGesture(false); + unawaited((controller.platform as AndroidWebViewController) + .setMediaPlaybackRequiresUserGesture(false)); } await controller.loadRequest( @@ -280,13 +280,13 @@ Future main() async { pageLoaded = Completer(); controller = WebViewController(); - await controller.setJavaScriptMode(JavaScriptMode.unrestricted); - await controller.setNavigationDelegate( + unawaited(controller.setJavaScriptMode(JavaScriptMode.unrestricted)); + unawaited(controller.setNavigationDelegate( NavigationDelegate(onPageFinished: (_) => pageLoaded.complete()), - ); - await controller.loadRequest( + )); + unawaited(controller.loadRequest( Uri.parse('data:text/html;charset=utf-8;base64,$videoTestBase64'), - ); + )); await tester.pumpWidget(WebViewWidget(controller: controller)); @@ -395,14 +395,14 @@ Future main() async { WebViewController controller = WebViewController.fromPlatformCreationParams(params); - await controller.setJavaScriptMode(JavaScriptMode.unrestricted); - await controller.setNavigationDelegate( + unawaited(controller.setJavaScriptMode(JavaScriptMode.unrestricted)); + unawaited(controller.setNavigationDelegate( NavigationDelegate(onPageFinished: (_) => pageLoaded.complete()), - ); + )); if (controller.platform is AndroidWebViewController) { - await (controller.platform as AndroidWebViewController) - .setMediaPlaybackRequiresUserGesture(false); + unawaited((controller.platform as AndroidWebViewController) + .setMediaPlaybackRequiresUserGesture(false)); } await controller.loadRequest( @@ -420,13 +420,13 @@ Future main() async { pageLoaded = Completer(); controller = WebViewController(); - await controller.setJavaScriptMode(JavaScriptMode.unrestricted); - await controller.setNavigationDelegate( + unawaited(controller.setJavaScriptMode(JavaScriptMode.unrestricted)); + unawaited(controller.setNavigationDelegate( NavigationDelegate(onPageFinished: (_) => pageLoaded.complete()), - ); - await controller.loadRequest( + )); + unawaited(controller.loadRequest( Uri.parse('data:text/html;charset=utf-8;base64,$audioTestBase64'), - ); + )); await tester.pumpWidget(WebViewWidget(controller: controller)); await tester.pumpAndSettle(); From 25742fb53b3975e04bb2988b50bdfb166c216149 Mon Sep 17 00:00:00 2001 From: camsim99 Date: Wed, 17 Apr 2024 08:45:09 -0700 Subject: [PATCH 06/17] Revert "Try just moving legacy" This reverts commit 99009377044ad5819b7aa38500a6c85fbc3d1b44. --- .../webview_flutter_test.dart | 40 +++++++++---------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test.dart b/packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test.dart index a18c1be03456..03d02ea5cc1f 100644 --- a/packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test.dart +++ b/packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test.dart @@ -256,14 +256,14 @@ Future main() async { WebViewController controller = WebViewController.fromPlatformCreationParams(params); - unawaited(controller.setJavaScriptMode(JavaScriptMode.unrestricted)); - unawaited(controller.setNavigationDelegate( + await controller.setJavaScriptMode(JavaScriptMode.unrestricted); + await controller.setNavigationDelegate( NavigationDelegate(onPageFinished: (_) => pageLoaded.complete()), - )); + ); if (controller.platform is AndroidWebViewController) { - unawaited((controller.platform as AndroidWebViewController) - .setMediaPlaybackRequiresUserGesture(false)); + await (controller.platform as AndroidWebViewController) + .setMediaPlaybackRequiresUserGesture(false); } await controller.loadRequest( @@ -280,13 +280,13 @@ Future main() async { pageLoaded = Completer(); controller = WebViewController(); - unawaited(controller.setJavaScriptMode(JavaScriptMode.unrestricted)); - unawaited(controller.setNavigationDelegate( + await controller.setJavaScriptMode(JavaScriptMode.unrestricted); + await controller.setNavigationDelegate( NavigationDelegate(onPageFinished: (_) => pageLoaded.complete()), - )); - unawaited(controller.loadRequest( + ); + await controller.loadRequest( Uri.parse('data:text/html;charset=utf-8;base64,$videoTestBase64'), - )); + ); await tester.pumpWidget(WebViewWidget(controller: controller)); @@ -395,14 +395,14 @@ Future main() async { WebViewController controller = WebViewController.fromPlatformCreationParams(params); - unawaited(controller.setJavaScriptMode(JavaScriptMode.unrestricted)); - unawaited(controller.setNavigationDelegate( + await controller.setJavaScriptMode(JavaScriptMode.unrestricted); + await controller.setNavigationDelegate( NavigationDelegate(onPageFinished: (_) => pageLoaded.complete()), - )); + ); if (controller.platform is AndroidWebViewController) { - unawaited((controller.platform as AndroidWebViewController) - .setMediaPlaybackRequiresUserGesture(false)); + await (controller.platform as AndroidWebViewController) + .setMediaPlaybackRequiresUserGesture(false); } await controller.loadRequest( @@ -420,13 +420,13 @@ Future main() async { pageLoaded = Completer(); controller = WebViewController(); - unawaited(controller.setJavaScriptMode(JavaScriptMode.unrestricted)); - unawaited(controller.setNavigationDelegate( + await controller.setJavaScriptMode(JavaScriptMode.unrestricted); + await controller.setNavigationDelegate( NavigationDelegate(onPageFinished: (_) => pageLoaded.complete()), - )); - unawaited(controller.loadRequest( + ); + await controller.loadRequest( Uri.parse('data:text/html;charset=utf-8;base64,$audioTestBase64'), - )); + ); await tester.pumpWidget(WebViewWidget(controller: controller)); await tester.pumpAndSettle(); From 8d6b4448128a882a36d80f8a909dabc2a8c0b047 Mon Sep 17 00:00:00 2001 From: camsim99 Date: Wed, 17 Apr 2024 08:47:49 -0700 Subject: [PATCH 07/17] Try moving test back to double check --- .../{ => legacy}/webview_flutter_test_legacy.dart | 1 + .../example/integration_test/webview_flutter_test.dart | 1 + 2 files changed, 2 insertions(+) rename packages/webview_flutter/webview_flutter/example/integration_test/{ => legacy}/webview_flutter_test_legacy.dart (99%) diff --git a/packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test_legacy.dart b/packages/webview_flutter/webview_flutter/example/integration_test/legacy/webview_flutter_test_legacy.dart similarity index 99% rename from packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test_legacy.dart rename to packages/webview_flutter/webview_flutter/example/integration_test/legacy/webview_flutter_test_legacy.dart index fb037cffd36c..c4a2a06cdb3d 100644 --- a/packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test_legacy.dart +++ b/packages/webview_flutter/webview_flutter/example/integration_test/legacy/webview_flutter_test_legacy.dart @@ -357,6 +357,7 @@ Future main() async { }); testWidgets('Auto media playback', (WidgetTester tester) async { + print('hi'); Completer controllerCompleter = Completer(); Completer pageLoaded = Completer(); diff --git a/packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test.dart b/packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test.dart index 03d02ea5cc1f..5d23805b0338 100644 --- a/packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test.dart +++ b/packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test.dart @@ -243,6 +243,7 @@ Future main() async { }); testWidgets('Auto media playback', (WidgetTester tester) async { + print('hi'); Completer pageLoaded = Completer(); late PlatformWebViewControllerCreationParams params; From 93c4a5d4d3752dd070f608f4e383aa5d7a349893 Mon Sep 17 00:00:00 2001 From: camsim99 Date: Wed, 17 Apr 2024 11:30:22 -0700 Subject: [PATCH 08/17] Revert "Try moving test back to double check" This reverts commit 8d6b4448128a882a36d80f8a909dabc2a8c0b047. --- .../example/integration_test/webview_flutter_test.dart | 1 - .../{legacy => }/webview_flutter_test_legacy.dart | 1 - 2 files changed, 2 deletions(-) rename packages/webview_flutter/webview_flutter/example/integration_test/{legacy => }/webview_flutter_test_legacy.dart (99%) diff --git a/packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test.dart b/packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test.dart index 5d23805b0338..03d02ea5cc1f 100644 --- a/packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test.dart +++ b/packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test.dart @@ -243,7 +243,6 @@ Future main() async { }); testWidgets('Auto media playback', (WidgetTester tester) async { - print('hi'); Completer pageLoaded = Completer(); late PlatformWebViewControllerCreationParams params; diff --git a/packages/webview_flutter/webview_flutter/example/integration_test/legacy/webview_flutter_test_legacy.dart b/packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test_legacy.dart similarity index 99% rename from packages/webview_flutter/webview_flutter/example/integration_test/legacy/webview_flutter_test_legacy.dart rename to packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test_legacy.dart index c4a2a06cdb3d..fb037cffd36c 100644 --- a/packages/webview_flutter/webview_flutter/example/integration_test/legacy/webview_flutter_test_legacy.dart +++ b/packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test_legacy.dart @@ -357,7 +357,6 @@ Future main() async { }); testWidgets('Auto media playback', (WidgetTester tester) async { - print('hi'); Completer controllerCompleter = Completer(); Completer pageLoaded = Completer(); From 72cccfae65140f54a855673181e718dee6c932fb Mon Sep 17 00:00:00 2001 From: camsim99 Date: Thu, 18 Apr 2024 12:55:09 -0700 Subject: [PATCH 09/17] Try common await change --- .../example/integration_test/webview_flutter_test.dart | 4 ++-- .../example/integration_test/webview_flutter_test_legacy.dart | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test.dart b/packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test.dart index 03d02ea5cc1f..a44ef2dc2980 100644 --- a/packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test.dart +++ b/packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test.dart @@ -23,7 +23,7 @@ Future main() async { IntegrationTestWidgetsFlutterBinding.ensureInitialized(); final HttpServer server = await HttpServer.bind(InternetAddress.anyIPv4, 0); - unawaited(server.forEach((HttpRequest request) { + await server.forEach((HttpRequest request) { if (request.uri.path == '/hello.txt') { request.response.writeln('Hello, world.'); } else if (request.uri.path == '/secondary.txt') { @@ -55,7 +55,7 @@ Future main() async { fail('unexpected request: ${request.method} ${request.uri}'); } request.response.close(); - })); + }); final String prefixUrl = 'http://${server.address.address}:${server.port}'; final String primaryUrl = '$prefixUrl/hello.txt'; final String secondaryUrl = '$prefixUrl/secondary.txt'; diff --git a/packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test_legacy.dart b/packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test_legacy.dart index fb037cffd36c..87e3adfc884c 100644 --- a/packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test_legacy.dart +++ b/packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test_legacy.dart @@ -21,7 +21,7 @@ Future main() async { IntegrationTestWidgetsFlutterBinding.ensureInitialized(); final HttpServer server = await HttpServer.bind(InternetAddress.anyIPv4, 0); - unawaited(server.forEach((HttpRequest request) { + await server.forEach((HttpRequest request) { if (request.uri.path == '/hello.txt') { request.response.writeln('Hello, world.'); } else if (request.uri.path == '/secondary.txt') { @@ -34,7 +34,7 @@ Future main() async { fail('unexpected request: ${request.method} ${request.uri}'); } request.response.close(); - })); + }); final String prefixUrl = 'http://${server.address.address}:${server.port}'; final String primaryUrl = '$prefixUrl/hello.txt'; final String secondaryUrl = '$prefixUrl/secondary.txt'; From 1a20934bbacb31ddcac98cd43bcd68eb70477d53 Mon Sep 17 00:00:00 2001 From: camsim99 Date: Thu, 18 Apr 2024 15:02:59 -0700 Subject: [PATCH 10/17] Get rid of unawaiteds --- .../webview_flutter_test.dart | 121 +++++++++--------- .../webview_flutter_test_legacy.dart | 4 +- 2 files changed, 62 insertions(+), 63 deletions(-) diff --git a/packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test.dart b/packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test.dart index a44ef2dc2980..c139be53fbe5 100644 --- a/packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test.dart +++ b/packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test.dart @@ -23,7 +23,7 @@ Future main() async { IntegrationTestWidgetsFlutterBinding.ensureInitialized(); final HttpServer server = await HttpServer.bind(InternetAddress.anyIPv4, 0); - await server.forEach((HttpRequest request) { + unawaited(server.forEach((HttpRequest request) { if (request.uri.path == '/hello.txt') { request.response.writeln('Hello, world.'); } else if (request.uri.path == '/secondary.txt') { @@ -55,7 +55,7 @@ Future main() async { fail('unexpected request: ${request.method} ${request.uri}'); } request.response.close(); - }); + })); final String prefixUrl = 'http://${server.address.address}:${server.port}'; final String primaryUrl = '$prefixUrl/hello.txt'; final String secondaryUrl = '$prefixUrl/secondary.txt'; @@ -66,10 +66,10 @@ Future main() async { final Completer pageFinished = Completer(); final WebViewController controller = WebViewController(); - unawaited(controller.setNavigationDelegate( + await (controller.setNavigationDelegate( NavigationDelegate(onPageFinished: (_) => pageFinished.complete()), )); - unawaited(controller.loadRequest(Uri.parse(primaryUrl))); + await (controller.loadRequest(Uri.parse(primaryUrl))); await tester.pumpWidget(WebViewWidget(controller: controller)); await pageFinished.future; @@ -82,11 +82,11 @@ Future main() async { final Completer pageFinished = Completer(); final WebViewController controller = WebViewController(); - unawaited(controller.setJavaScriptMode(JavaScriptMode.unrestricted)); - unawaited(controller.setNavigationDelegate( + await (controller.setJavaScriptMode(JavaScriptMode.unrestricted)); + await (controller.setNavigationDelegate( NavigationDelegate(onPageFinished: (_) => pageFinished.complete()), )); - unawaited(controller.loadRequest(Uri.parse(primaryUrl))); + await (controller.loadRequest(Uri.parse(primaryUrl))); await tester.pumpWidget(WebViewWidget(controller: controller)); @@ -106,14 +106,14 @@ Future main() async { final StreamController pageLoads = StreamController(); final WebViewController controller = WebViewController(); - unawaited(controller.setJavaScriptMode(JavaScriptMode.unrestricted)); - unawaited(controller.setNavigationDelegate( + await (controller.setJavaScriptMode(JavaScriptMode.unrestricted)); + await (controller.setNavigationDelegate( NavigationDelegate(onPageFinished: (String url) => pageLoads.add(url)), )); await tester.pumpWidget(WebViewWidget(controller: controller)); - unawaited(controller.loadRequest(Uri.parse(headersUrl), headers: headers)); + await (controller.loadRequest(Uri.parse(headersUrl), headers: headers)); await pageLoads.stream.firstWhere((String url) => url == headersUrl); @@ -126,8 +126,8 @@ Future main() async { testWidgets('JavascriptChannel', (WidgetTester tester) async { final Completer pageFinished = Completer(); final WebViewController controller = WebViewController(); - unawaited(controller.setJavaScriptMode(JavaScriptMode.unrestricted)); - unawaited(controller.setNavigationDelegate( + await (controller.setJavaScriptMode(JavaScriptMode.unrestricted)); + await (controller.setNavigationDelegate( NavigationDelegate(onPageFinished: (_) => pageFinished.complete()), )); @@ -187,12 +187,12 @@ Future main() async { final Completer pageFinished = Completer(); final WebViewController controller = WebViewController(); - unawaited(controller.setJavaScriptMode(JavaScriptMode.unrestricted)); - unawaited(controller.setNavigationDelegate(NavigationDelegate( + await (controller.setJavaScriptMode(JavaScriptMode.unrestricted)); + await (controller.setNavigationDelegate(NavigationDelegate( onPageFinished: (_) => pageFinished.complete(), ))); - unawaited(controller.setUserAgent('Custom_User_Agent1')); - unawaited(controller.loadRequest(Uri.parse('about:blank'))); + await (controller.setUserAgent('Custom_User_Agent1')); + await (controller.loadRequest(Uri.parse('about:blank'))); await tester.pumpWidget(WebViewWidget(controller: controller)); @@ -312,11 +312,11 @@ Future main() async { } final WebViewController controller = WebViewController.fromPlatformCreationParams(params); - unawaited(controller.setJavaScriptMode(JavaScriptMode.unrestricted)); - unawaited(controller.setNavigationDelegate( + await (controller.setJavaScriptMode(JavaScriptMode.unrestricted)); + await (controller.setNavigationDelegate( NavigationDelegate(onPageFinished: (_) => pageLoaded.complete()), )); - unawaited(controller.addJavaScriptChannel( + await (controller.addJavaScriptChannel( 'VideoTestTime', onMessageReceived: (JavaScriptMessage message) { final double currentTime = double.parse(message.message); @@ -328,7 +328,7 @@ Future main() async { )); if (controller.platform is AndroidWebViewController) { - unawaited((controller.platform as AndroidWebViewController) + await ((controller.platform as AndroidWebViewController) .setMediaPlaybackRequiresUserGesture(false)); } @@ -453,11 +453,11 @@ Future main() async { final Completer pageLoaded = Completer(); final WebViewController controller = WebViewController(); - unawaited(controller.setJavaScriptMode(JavaScriptMode.unrestricted)); - unawaited(controller.setNavigationDelegate(NavigationDelegate( + await (controller.setJavaScriptMode(JavaScriptMode.unrestricted)); + await (controller.setNavigationDelegate(NavigationDelegate( onPageFinished: (_) => pageLoaded.complete(), ))); - unawaited(controller.loadRequest( + await (controller.loadRequest( Uri.parse('data:text/html;charset=utf-8;base64,$getTitleTestBase64'), )); @@ -504,16 +504,16 @@ Future main() async { final Completer pageLoaded = Completer(); final WebViewController controller = WebViewController(); ScrollPositionChange? recordedPosition; - unawaited(controller.setJavaScriptMode(JavaScriptMode.unrestricted)); - unawaited(controller.setNavigationDelegate(NavigationDelegate( + await (controller.setJavaScriptMode(JavaScriptMode.unrestricted)); + await (controller.setNavigationDelegate(NavigationDelegate( onPageFinished: (_) => pageLoaded.complete(), ))); - unawaited(controller.setOnScrollPositionChange( + await (controller.setOnScrollPositionChange( (ScrollPositionChange contentOffsetChange) { recordedPosition = contentOffsetChange; })); - unawaited(controller.loadRequest(Uri.parse( + await (controller.loadRequest(Uri.parse( 'data:text/html;charset=utf-8;base64,$scrollTestPageBase64', ))); @@ -562,8 +562,8 @@ Future main() async { Completer pageLoaded = Completer(); final WebViewController controller = WebViewController(); - unawaited(controller.setJavaScriptMode(JavaScriptMode.unrestricted)); - unawaited(controller.setNavigationDelegate(NavigationDelegate( + await (controller.setJavaScriptMode(JavaScriptMode.unrestricted)); + await (controller.setNavigationDelegate(NavigationDelegate( onPageFinished: (_) => pageLoaded.complete(), onNavigationRequest: (NavigationRequest navigationRequest) { return (navigationRequest.url.contains('youtube.com')) @@ -574,7 +574,7 @@ Future main() async { await tester.pumpWidget(WebViewWidget(controller: controller)); - unawaited(controller.loadRequest(Uri.parse(blankPageEncoded))); + await (controller.loadRequest(Uri.parse(blankPageEncoded))); await pageLoaded.future; // Wait for initial page load. @@ -591,13 +591,12 @@ Future main() async { Completer(); final WebViewController controller = WebViewController(); - unawaited(controller.setJavaScriptMode(JavaScriptMode.unrestricted)); - unawaited(controller.setNavigationDelegate( + await (controller.setJavaScriptMode(JavaScriptMode.unrestricted)); + await (controller.setNavigationDelegate( NavigationDelegate(onWebResourceError: (WebResourceError error) { errorCompleter.complete(error); }))); - unawaited( - controller.loadRequest(Uri.parse('https://www.notawebsite..com'))); + await (controller.loadRequest(Uri.parse('https://www.notawebsite..com'))); await tester.pumpWidget(WebViewWidget(controller: controller)); @@ -612,14 +611,14 @@ Future main() async { final Completer pageFinishCompleter = Completer(); final WebViewController controller = WebViewController(); - unawaited(controller.setJavaScriptMode(JavaScriptMode.unrestricted)); - unawaited(controller.setNavigationDelegate(NavigationDelegate( + await (controller.setJavaScriptMode(JavaScriptMode.unrestricted)); + await (controller.setNavigationDelegate(NavigationDelegate( onPageFinished: (_) => pageFinishCompleter.complete(), onWebResourceError: (WebResourceError error) { errorCompleter.complete(error); }, ))); - unawaited(controller.loadRequest( + await (controller.loadRequest( Uri.parse('data:text/html;charset=utf-8;base64,PCFET0NUWVBFIGh0bWw+'), )); @@ -633,8 +632,8 @@ Future main() async { Completer pageLoaded = Completer(); final WebViewController controller = WebViewController(); - unawaited(controller.setJavaScriptMode(JavaScriptMode.unrestricted)); - unawaited(controller.setNavigationDelegate(NavigationDelegate( + await (controller.setJavaScriptMode(JavaScriptMode.unrestricted)); + await (controller.setNavigationDelegate(NavigationDelegate( onPageFinished: (_) => pageLoaded.complete(), onNavigationRequest: (NavigationRequest navigationRequest) { return (navigationRequest.url.contains('youtube.com')) @@ -644,7 +643,7 @@ Future main() async { await tester.pumpWidget(WebViewWidget(controller: controller)); - unawaited(controller.loadRequest(Uri.parse(blankPageEncoded))); + await (controller.loadRequest(Uri.parse(blankPageEncoded))); await pageLoaded.future; // Wait for initial page load. @@ -665,8 +664,8 @@ Future main() async { Completer pageLoaded = Completer(); final WebViewController controller = WebViewController(); - unawaited(controller.setJavaScriptMode(JavaScriptMode.unrestricted)); - unawaited(controller.setNavigationDelegate(NavigationDelegate( + await (controller.setJavaScriptMode(JavaScriptMode.unrestricted)); + await (controller.setNavigationDelegate(NavigationDelegate( onPageFinished: (_) => pageLoaded.complete(), onNavigationRequest: (NavigationRequest navigationRequest) async { NavigationDecision decision = NavigationDecision.prevent; @@ -678,7 +677,7 @@ Future main() async { await tester.pumpWidget(WebViewWidget(controller: controller)); - unawaited(controller.loadRequest(Uri.parse(blankPageEncoded))); + await (controller.loadRequest(Uri.parse(blankPageEncoded))); await pageLoaded.future; // Wait for initial page load. @@ -694,11 +693,11 @@ Future main() async { final Completer pageLoaded = Completer(); final WebViewController controller = WebViewController(); - unawaited(controller.setJavaScriptMode(JavaScriptMode.unrestricted)); - unawaited(controller.setNavigationDelegate(NavigationDelegate( + await (controller.setJavaScriptMode(JavaScriptMode.unrestricted)); + await (controller.setNavigationDelegate(NavigationDelegate( onPageFinished: (_) => pageLoaded.complete(), ))); - unawaited(controller.loadRequest(Uri.parse(blankPageEncoded))); + await (controller.loadRequest(Uri.parse(blankPageEncoded))); await tester.pumpWidget(WebViewWidget(controller: controller)); @@ -725,9 +724,9 @@ Future main() async { ); final WebViewController controller = WebViewController(); - unawaited(controller.setJavaScriptMode(JavaScriptMode.unrestricted)); - unawaited(controller.setNavigationDelegate(navigationDelegate)); - unawaited(controller.loadRequest(Uri.parse(primaryUrl))); + await (controller.setJavaScriptMode(JavaScriptMode.unrestricted)); + await (controller.setNavigationDelegate(navigationDelegate)); + await (controller.loadRequest(Uri.parse(primaryUrl))); await tester.pumpWidget(WebViewWidget(controller: controller)); @@ -752,7 +751,7 @@ Future main() async { final Completer authRequested = Completer(); final WebViewController controller = WebViewController(); - unawaited( + await ( controller.setNavigationDelegate( NavigationDelegate( onHttpAuthRequest: (HttpAuthRequest request) => @@ -763,7 +762,7 @@ Future main() async { await tester.pumpWidget(WebViewWidget(controller: controller)); - unawaited(controller.loadRequest(Uri.parse(basicAuthUrl))); + await (controller.loadRequest(Uri.parse(basicAuthUrl))); await expectLater(authRequested.future, completes); }); @@ -773,7 +772,7 @@ Future main() async { final WebViewController controller = WebViewController(); final Completer pageFinished = Completer(); - unawaited( + await ( controller.setNavigationDelegate( NavigationDelegate( onHttpAuthRequest: (HttpAuthRequest request) => request.onProceed( @@ -790,7 +789,7 @@ Future main() async { await tester.pumpWidget(WebViewWidget(controller: controller)); - unawaited(controller.loadRequest(Uri.parse(basicAuthUrl))); + await (controller.loadRequest(Uri.parse(basicAuthUrl))); await expectLater(pageFinished.future, completes); }); @@ -801,8 +800,8 @@ Future main() async { final Completer pageLoaded = Completer(); final WebViewController controller = WebViewController(); - unawaited(controller.setJavaScriptMode(JavaScriptMode.unrestricted)); - unawaited(controller.setNavigationDelegate(NavigationDelegate( + await (controller.setJavaScriptMode(JavaScriptMode.unrestricted)); + await (controller.setNavigationDelegate(NavigationDelegate( onPageFinished: (_) => pageLoaded.complete(), ))); @@ -820,11 +819,11 @@ Future main() async { Completer pageLoaded = Completer(); final WebViewController controller = WebViewController(); - unawaited(controller.setJavaScriptMode(JavaScriptMode.unrestricted)); - unawaited(controller.setNavigationDelegate(NavigationDelegate( + await (controller.setJavaScriptMode(JavaScriptMode.unrestricted)); + await (controller.setNavigationDelegate(NavigationDelegate( onPageFinished: (_) => pageLoaded.complete(), ))); - unawaited(controller.loadRequest(Uri.parse(primaryUrl))); + await (controller.loadRequest(Uri.parse(primaryUrl))); await tester.pumpWidget(WebViewWidget(controller: controller)); @@ -850,11 +849,11 @@ Future main() async { Completer pageLoadCompleter = Completer(); final WebViewController controller = WebViewController(); - unawaited(controller.setJavaScriptMode(JavaScriptMode.unrestricted)); - unawaited(controller.setNavigationDelegate(NavigationDelegate( + await (controller.setJavaScriptMode(JavaScriptMode.unrestricted)); + await (controller.setNavigationDelegate(NavigationDelegate( onPageFinished: (_) => pageLoadCompleter.complete(), ))); - unawaited(controller.loadRequest(Uri.parse(primaryUrl))); + await (controller.loadRequest(Uri.parse(primaryUrl))); await tester.pumpWidget(WebViewWidget(controller: controller)); diff --git a/packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test_legacy.dart b/packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test_legacy.dart index 87e3adfc884c..fb037cffd36c 100644 --- a/packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test_legacy.dart +++ b/packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test_legacy.dart @@ -21,7 +21,7 @@ Future main() async { IntegrationTestWidgetsFlutterBinding.ensureInitialized(); final HttpServer server = await HttpServer.bind(InternetAddress.anyIPv4, 0); - await server.forEach((HttpRequest request) { + unawaited(server.forEach((HttpRequest request) { if (request.uri.path == '/hello.txt') { request.response.writeln('Hello, world.'); } else if (request.uri.path == '/secondary.txt') { @@ -34,7 +34,7 @@ Future main() async { fail('unexpected request: ${request.method} ${request.uri}'); } request.response.close(); - }); + })); final String prefixUrl = 'http://${server.address.address}:${server.port}'; final String primaryUrl = '$prefixUrl/hello.txt'; final String secondaryUrl = '$prefixUrl/secondary.txt'; From 7e82e4748c22e7c00f20b3f8757e0ccb914432c0 Mon Sep 17 00:00:00 2001 From: camsim99 Date: Mon, 22 Apr 2024 15:43:48 -0700 Subject: [PATCH 11/17] Add print statements to debug in CI + add pump and settle call --- .../webview_flutter_test.dart | 58 ++++++++++++++++++- 1 file changed, 55 insertions(+), 3 deletions(-) diff --git a/packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test.dart b/packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test.dart index c139be53fbe5..e55810a3bbdb 100644 --- a/packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test.dart +++ b/packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test.dart @@ -257,22 +257,31 @@ Future main() async { WebViewController controller = WebViewController.fromPlatformCreationParams(params); await controller.setJavaScriptMode(JavaScriptMode.unrestricted); + print('C: Javascript mode set'); + await controller.setNavigationDelegate( - NavigationDelegate(onPageFinished: (_) => pageLoaded.complete()), + NavigationDelegate(onPageFinished: (_) { + print('C: page loaded'); + pageLoaded.complete(); + }), ); if (controller.platform is AndroidWebViewController) { await (controller.platform as AndroidWebViewController) .setMediaPlaybackRequiresUserGesture(false); + print('C: media playback requires user gesture set'); } await controller.loadRequest( Uri.parse('data:text/html;charset=utf-8;base64,$videoTestBase64'), ); + print('C: request loaded'); await tester.pumpWidget(WebViewWidget(controller: controller)); + print('C: Widget pumped'); await pageLoaded.future; + print('C: Future page loaded'); bool isPaused = await controller.runJavaScriptReturningResult('isPaused();') as bool; @@ -281,16 +290,26 @@ Future main() async { pageLoaded = Completer(); controller = WebViewController(); await controller.setJavaScriptMode(JavaScriptMode.unrestricted); + print('C: Javascript mode set 2'); + await controller.setNavigationDelegate( NavigationDelegate(onPageFinished: (_) => pageLoaded.complete()), ); + print('C: Navigation delegate set 2'); + await controller.loadRequest( Uri.parse('data:text/html;charset=utf-8;base64,$videoTestBase64'), ); + print('C: request loaded 2'); await tester.pumpWidget(WebViewWidget(controller: controller)); + print('C: Widget pumped 2'); + + await tester.pumpAndSettle(); + print('C: Pumped and settle 2'); await pageLoaded.future; + print('C: Future page loaded 2'); isPaused = await controller.runJavaScriptReturningResult('isPaused();') as bool; @@ -313,9 +332,16 @@ Future main() async { final WebViewController controller = WebViewController.fromPlatformCreationParams(params); await (controller.setJavaScriptMode(JavaScriptMode.unrestricted)); + print('C: Javascript mode set'); + await (controller.setNavigationDelegate( - NavigationDelegate(onPageFinished: (_) => pageLoaded.complete()), + NavigationDelegate(onPageFinished: (_) { + print('C: page loaded'); + pageLoaded.complete(); + }), )); + print('C: Navigation delegate set'); + await (controller.addJavaScriptChannel( 'VideoTestTime', onMessageReceived: (JavaScriptMessage message) { @@ -326,23 +352,31 @@ Future main() async { } }, )); + print('C: js channel added'); if (controller.platform is AndroidWebViewController) { await ((controller.platform as AndroidWebViewController) .setMediaPlaybackRequiresUserGesture(false)); + print('C: media playback requires user gesture set'); } await controller.loadRequest( Uri.parse('data:text/html;charset=utf-8;base64,$videoTestBase64'), ); + print('C: request loaded'); await tester.pumpWidget(WebViewWidget(controller: controller)); + print('C: Widget pumped'); + await tester.pumpAndSettle(); + print('C: Pumped and settle'); await pageLoaded.future; + print('C: Future page loaded'); // Makes sure we get the correct event that indicates the video is actually playing. await videoPlaying.future; + print('C: Video playing loaded'); final bool fullScreen = await controller .runJavaScriptReturningResult('isFullScreen();') as bool; @@ -396,23 +430,33 @@ Future main() async { WebViewController controller = WebViewController.fromPlatformCreationParams(params); await controller.setJavaScriptMode(JavaScriptMode.unrestricted); + print('C: Javascript mode set'); await controller.setNavigationDelegate( - NavigationDelegate(onPageFinished: (_) => pageLoaded.complete()), + NavigationDelegate(onPageFinished: (_) { + print('C: page loaded'); + pageLoaded.complete(); + }), ); + print('C: Navigation delegate set'); if (controller.platform is AndroidWebViewController) { await (controller.platform as AndroidWebViewController) .setMediaPlaybackRequiresUserGesture(false); + print('C: media playback requires user gesture set'); } await controller.loadRequest( Uri.parse('data:text/html;charset=utf-8;base64,$audioTestBase64'), ); + print('C: request loaded'); await tester.pumpWidget(WebViewWidget(controller: controller)); + print('C: Widget pumped'); await tester.pumpAndSettle(); + print('C: Pumped and settle'); await pageLoaded.future; + print('C: Future page loaded'); bool isPaused = await controller.runJavaScriptReturningResult('isPaused();') as bool; @@ -421,17 +465,25 @@ Future main() async { pageLoaded = Completer(); controller = WebViewController(); await controller.setJavaScriptMode(JavaScriptMode.unrestricted); + print('C: Javascript mode set 2'); await controller.setNavigationDelegate( NavigationDelegate(onPageFinished: (_) => pageLoaded.complete()), ); + print('C: Navigation delegate set 2'); + await controller.loadRequest( Uri.parse('data:text/html;charset=utf-8;base64,$audioTestBase64'), ); + print('C: request loaded 2'); await tester.pumpWidget(WebViewWidget(controller: controller)); + print('C: Widget pumped 2'); + await tester.pumpAndSettle(); + print('C: Pumped and settle 2'); await pageLoaded.future; + print('C: Future page loaded 2'); isPaused = await controller.runJavaScriptReturningResult('isPaused();') as bool; From 47e093f4d54b9ef0c77b30955cc10ab7ce70549b Mon Sep 17 00:00:00 2001 From: camsim99 Date: Tue, 23 Apr 2024 11:11:43 -0700 Subject: [PATCH 12/17] Remove unawaiteds + move legacy test outside of its own directory in android webview --- .../webview_flutter_test.dart | 207 +++++++++--------- ....dart => webview_flutter_test_legacy.dart} | 0 2 files changed, 103 insertions(+), 104 deletions(-) rename packages/webview_flutter/webview_flutter_android/example/integration_test/{legacy/webview_flutter_test.dart => webview_flutter_test_legacy.dart} (100%) diff --git a/packages/webview_flutter/webview_flutter_android/example/integration_test/webview_flutter_test.dart b/packages/webview_flutter/webview_flutter_android/example/integration_test/webview_flutter_test.dart index cee7d65f33fe..627ff18689ab 100644 --- a/packages/webview_flutter/webview_flutter_android/example/integration_test/webview_flutter_test.dart +++ b/packages/webview_flutter/webview_flutter_android/example/integration_test/webview_flutter_test.dart @@ -64,11 +64,11 @@ Future main() async { final PlatformNavigationDelegate delegate = PlatformNavigationDelegate( const PlatformNavigationDelegateCreationParams(), ); - unawaited(delegate.setOnPageFinished((_) => pageFinished.complete())); - unawaited(controller.setPlatformNavigationDelegate(delegate)); - await controller.loadRequest( + await (delegate.setOnPageFinished((_) => pageFinished.complete())); + await (controller.setPlatformNavigationDelegate(delegate)); + await (controller.loadRequest( LoadRequestParams(uri: Uri.parse(primaryUrl)), - ); + )); await tester.pumpWidget(Builder( builder: (BuildContext context) { @@ -189,12 +189,12 @@ Future main() async { final PlatformWebViewController controller = PlatformWebViewController( const PlatformWebViewControllerCreationParams(), ); - unawaited(controller.setJavaScriptMode(JavaScriptMode.unrestricted)); + await (controller.setJavaScriptMode(JavaScriptMode.unrestricted)); final PlatformNavigationDelegate delegate = PlatformNavigationDelegate( const PlatformNavigationDelegateCreationParams(), ); - unawaited(delegate.setOnPageFinished((_) => pageFinished.complete())); - unawaited(controller.setPlatformNavigationDelegate(delegate)); + await (delegate.setOnPageFinished((_) => pageFinished.complete())); + await (controller.setPlatformNavigationDelegate(delegate)); await controller.loadRequest(LoadRequestParams(uri: Uri.parse(primaryUrl))); await tester.pumpWidget(Builder( @@ -223,12 +223,12 @@ Future main() async { final PlatformWebViewController controller = PlatformWebViewController( const PlatformWebViewControllerCreationParams(), ); - unawaited(controller.setJavaScriptMode(JavaScriptMode.unrestricted)); + await (controller.setJavaScriptMode(JavaScriptMode.unrestricted)); final PlatformNavigationDelegate delegate = PlatformNavigationDelegate( const PlatformNavigationDelegateCreationParams(), ); - unawaited(delegate.setOnPageFinished((String url) => pageLoads.add(url))); - unawaited(controller.setPlatformNavigationDelegate(delegate)); + await (delegate.setOnPageFinished((String url) => pageLoads.add(url))); + await (controller.setPlatformNavigationDelegate(delegate)); await controller.loadRequest( LoadRequestParams( uri: Uri.parse(headersUrl), @@ -258,12 +258,12 @@ Future main() async { final PlatformWebViewController controller = PlatformWebViewController( const PlatformWebViewControllerCreationParams(), ); - unawaited(controller.setJavaScriptMode(JavaScriptMode.unrestricted)); + await (controller.setJavaScriptMode(JavaScriptMode.unrestricted)); final PlatformNavigationDelegate delegate = PlatformNavigationDelegate( const PlatformNavigationDelegateCreationParams(), ); - unawaited(delegate.setOnPageFinished((_) => pageFinished.complete())); - unawaited(controller.setPlatformNavigationDelegate(delegate)); + await (delegate.setOnPageFinished((_) => pageFinished.complete())); + await (controller.setPlatformNavigationDelegate(delegate)); final Completer channelCompleter = Completer(); await controller.addJavaScriptChannel( @@ -331,13 +331,13 @@ Future main() async { final PlatformWebViewController controller = PlatformWebViewController( const PlatformWebViewControllerCreationParams(), ); - unawaited(controller.setJavaScriptMode(JavaScriptMode.unrestricted)); - unawaited(controller.setUserAgent('Custom_User_Agent1')); + await (controller.setJavaScriptMode(JavaScriptMode.unrestricted)); + await (controller.setUserAgent('Custom_User_Agent1')); final PlatformNavigationDelegate delegate = PlatformNavigationDelegate( const PlatformNavigationDelegateCreationParams(), ); - unawaited(delegate.setOnPageFinished((_) => pageFinished.complete())); - unawaited(controller.setPlatformNavigationDelegate(delegate)); + await (delegate.setOnPageFinished((_) => pageFinished.complete())); + await (controller.setPlatformNavigationDelegate(delegate)); await controller .loadRequest(LoadRequestParams(uri: Uri.parse('about:blank'))); @@ -427,13 +427,13 @@ Future main() async { AndroidWebViewController controller = AndroidWebViewController( const PlatformWebViewControllerCreationParams(), ); - unawaited(controller.setJavaScriptMode(JavaScriptMode.unrestricted)); - unawaited(controller.setMediaPlaybackRequiresUserGesture(false)); + await (controller.setJavaScriptMode(JavaScriptMode.unrestricted)); + await (controller.setMediaPlaybackRequiresUserGesture(false)); AndroidNavigationDelegate delegate = AndroidNavigationDelegate( const PlatformNavigationDelegateCreationParams(), ); - unawaited(delegate.setOnPageFinished((_) => pageLoaded.complete())); - unawaited(controller.setPlatformNavigationDelegate(delegate)); + await (delegate.setOnPageFinished((_) => pageLoaded.complete())); + await (controller.setPlatformNavigationDelegate(delegate)); await controller.loadRequest( LoadRequestParams( @@ -461,12 +461,12 @@ Future main() async { controller = AndroidWebViewController( const PlatformWebViewControllerCreationParams(), ); - unawaited(controller.setJavaScriptMode(JavaScriptMode.unrestricted)); + await (controller.setJavaScriptMode(JavaScriptMode.unrestricted)); delegate = AndroidNavigationDelegate( const PlatformNavigationDelegateCreationParams(), ); - unawaited(delegate.setOnPageFinished((_) => pageLoaded.complete())); - unawaited(controller.setPlatformNavigationDelegate(delegate)); + await (delegate.setOnPageFinished((_) => pageLoaded.complete())); + await (controller.setPlatformNavigationDelegate(delegate)); await controller.loadRequest( LoadRequestParams( @@ -498,15 +498,15 @@ Future main() async { final AndroidWebViewController controller = AndroidWebViewController( const PlatformWebViewControllerCreationParams(), ); - unawaited(controller.setJavaScriptMode(JavaScriptMode.unrestricted)); - unawaited(controller.setMediaPlaybackRequiresUserGesture(false)); + await (controller.setJavaScriptMode(JavaScriptMode.unrestricted)); + await (controller.setMediaPlaybackRequiresUserGesture(false)); final AndroidNavigationDelegate delegate = AndroidNavigationDelegate( const PlatformNavigationDelegateCreationParams(), ); - unawaited(delegate.setOnPageFinished((_) => pageLoaded.complete())); - unawaited(controller.setPlatformNavigationDelegate(delegate)); + await (delegate.setOnPageFinished((_) => pageLoaded.complete())); + await (controller.setPlatformNavigationDelegate(delegate)); - unawaited(controller.addJavaScriptChannel( + await (controller.addJavaScriptChannel( JavaScriptChannelParams( name: 'VideoTestTime', onMessageReceived: (JavaScriptMessage message) { @@ -553,14 +553,14 @@ Future main() async { final AndroidWebViewController controller = AndroidWebViewController( const PlatformWebViewControllerCreationParams(), ); - unawaited(controller.setJavaScriptMode(JavaScriptMode.unrestricted)); - unawaited(controller.setMediaPlaybackRequiresUserGesture(false)); + await (controller.setJavaScriptMode(JavaScriptMode.unrestricted)); + await (controller.setMediaPlaybackRequiresUserGesture(false)); final AndroidNavigationDelegate delegate = AndroidNavigationDelegate( const PlatformNavigationDelegateCreationParams(), ); - unawaited(delegate.setOnPageFinished((_) => pageLoaded.complete())); - unawaited(controller.setPlatformNavigationDelegate(delegate)); - unawaited(controller.setCustomWidgetCallbacks(onHideCustomWidget: () { + await (delegate.setOnPageFinished((_) => pageLoaded.complete())); + await (controller.setPlatformNavigationDelegate(delegate)); + await (controller.setCustomWidgetCallbacks(onHideCustomWidget: () { fullscreenExited.complete(); }, onShowCustomWidget: (Widget webView, void Function() onHideCustomView) { @@ -642,13 +642,13 @@ Future main() async { AndroidWebViewController controller = AndroidWebViewController( const PlatformWebViewControllerCreationParams(), ); - unawaited(controller.setJavaScriptMode(JavaScriptMode.unrestricted)); - unawaited(controller.setMediaPlaybackRequiresUserGesture(false)); + await (controller.setJavaScriptMode(JavaScriptMode.unrestricted)); + await (controller.setMediaPlaybackRequiresUserGesture(false)); AndroidNavigationDelegate delegate = AndroidNavigationDelegate( const PlatformNavigationDelegateCreationParams(), ); - unawaited(delegate.setOnPageFinished((_) => pageLoaded.complete())); - unawaited(controller.setPlatformNavigationDelegate(delegate)); + await (delegate.setOnPageFinished((_) => pageLoaded.complete())); + await (controller.setPlatformNavigationDelegate(delegate)); await controller.loadRequest( LoadRequestParams( @@ -676,12 +676,12 @@ Future main() async { controller = AndroidWebViewController( const PlatformWebViewControllerCreationParams(), ); - unawaited(controller.setJavaScriptMode(JavaScriptMode.unrestricted)); + await (controller.setJavaScriptMode(JavaScriptMode.unrestricted)); delegate = AndroidNavigationDelegate( const PlatformNavigationDelegateCreationParams(), ); - unawaited(delegate.setOnPageFinished((_) => pageLoaded.complete())); - unawaited(controller.setPlatformNavigationDelegate(delegate)); + await (delegate.setOnPageFinished((_) => pageLoaded.complete())); + await (controller.setPlatformNavigationDelegate(delegate)); await controller.loadRequest( LoadRequestParams( uri: Uri.parse( @@ -722,12 +722,12 @@ Future main() async { final PlatformWebViewController controller = PlatformWebViewController( const PlatformWebViewControllerCreationParams(), ); - unawaited(controller.setJavaScriptMode(JavaScriptMode.unrestricted)); + await (controller.setJavaScriptMode(JavaScriptMode.unrestricted)); final PlatformNavigationDelegate delegate = PlatformNavigationDelegate( const PlatformNavigationDelegateCreationParams(), ); - unawaited(delegate.setOnPageFinished((_) => pageLoaded.complete())); - unawaited(controller.setPlatformNavigationDelegate(delegate)); + await (delegate.setOnPageFinished((_) => pageLoaded.complete())); + await (controller.setPlatformNavigationDelegate(delegate)); await controller.loadRequest( LoadRequestParams( @@ -789,13 +789,13 @@ Future main() async { final PlatformWebViewController controller = PlatformWebViewController( const PlatformWebViewControllerCreationParams(), ); - unawaited(controller.setJavaScriptMode(JavaScriptMode.unrestricted)); + await (controller.setJavaScriptMode(JavaScriptMode.unrestricted)); final PlatformNavigationDelegate delegate = PlatformNavigationDelegate( const PlatformNavigationDelegateCreationParams(), ); - unawaited(delegate.setOnPageFinished((_) => pageLoaded.complete())); - unawaited(controller.setPlatformNavigationDelegate(delegate)); - unawaited(controller.setOnScrollPositionChange( + await (delegate.setOnPageFinished((_) => pageLoaded.complete())); + await (controller.setPlatformNavigationDelegate(delegate)); + await (controller.setOnScrollPositionChange( (ScrollPositionChange contentOffsetChange) { recordedPosition = contentOffsetChange; })); @@ -860,19 +860,19 @@ Future main() async { final PlatformWebViewController controller = PlatformWebViewController( const PlatformWebViewControllerCreationParams(), ); - unawaited(controller.setJavaScriptMode(JavaScriptMode.unrestricted)); + await (controller.setJavaScriptMode(JavaScriptMode.unrestricted)); final PlatformNavigationDelegate delegate = PlatformNavigationDelegate( const PlatformNavigationDelegateCreationParams(), ); - unawaited(delegate.setOnPageFinished((_) => pageLoaded.complete())); - unawaited( + await (delegate.setOnPageFinished((_) => pageLoaded.complete())); + await ( delegate.setOnNavigationRequest((NavigationRequest navigationRequest) { return (navigationRequest.url.contains('youtube.com')) ? NavigationDecision.prevent : NavigationDecision.navigate; }), ); - unawaited(controller.setPlatformNavigationDelegate(delegate)); + await (controller.setPlatformNavigationDelegate(delegate)); await controller.loadRequest( LoadRequestParams(uri: Uri.parse(blankPageEncoded)), @@ -903,16 +903,16 @@ Future main() async { final PlatformWebViewController controller = PlatformWebViewController( const PlatformWebViewControllerCreationParams(), ); - unawaited(controller.setJavaScriptMode(JavaScriptMode.unrestricted)); + await (controller.setJavaScriptMode(JavaScriptMode.unrestricted)); final PlatformNavigationDelegate delegate = PlatformNavigationDelegate( const PlatformNavigationDelegateCreationParams(), ); - unawaited( + await ( delegate.setOnWebResourceError((WebResourceError error) { errorCompleter.complete(error); }), ); - unawaited(controller.setPlatformNavigationDelegate(delegate)); + await (controller.setPlatformNavigationDelegate(delegate)); await controller.loadRequest( LoadRequestParams(uri: Uri.parse('https://www.notawebsite..com')), @@ -945,19 +945,19 @@ Future main() async { final PlatformWebViewController controller = PlatformWebViewController( const PlatformWebViewControllerCreationParams(), ); - unawaited(controller.setJavaScriptMode(JavaScriptMode.unrestricted)); + await (controller.setJavaScriptMode(JavaScriptMode.unrestricted)); final PlatformNavigationDelegate delegate = PlatformNavigationDelegate( const PlatformNavigationDelegateCreationParams(), ); - unawaited( + await ( delegate.setOnPageFinished((_) => pageFinishCompleter.complete()), ); - unawaited( + await ( delegate.setOnWebResourceError((WebResourceError error) { errorCompleter.complete(error); }), ); - unawaited(controller.setPlatformNavigationDelegate(delegate)); + await (controller.setPlatformNavigationDelegate(delegate)); await controller.loadRequest( LoadRequestParams( uri: Uri.parse( @@ -985,15 +985,15 @@ Future main() async { final PlatformWebViewController controller = PlatformWebViewController( const PlatformWebViewControllerCreationParams(), ); - unawaited(controller.setJavaScriptMode(JavaScriptMode.unrestricted)); + await (controller.setJavaScriptMode(JavaScriptMode.unrestricted)); final PlatformNavigationDelegate delegate = PlatformNavigationDelegate( const PlatformNavigationDelegateCreationParams(), ); - unawaited(delegate.setOnHttpError((HttpResponseError error) { + await (delegate.setOnHttpError((HttpResponseError error) { errorCompleter.complete(error); })); - unawaited(controller.setPlatformNavigationDelegate(delegate)); - unawaited(controller.loadRequest( + await (controller.setPlatformNavigationDelegate(delegate)); + await (controller.loadRequest( LoadRequestParams(uri: Uri.parse('$prefixUrl/favicon.ico')), )); @@ -1028,18 +1028,18 @@ Future main() async { final PlatformWebViewController controller = PlatformWebViewController( const PlatformWebViewControllerCreationParams(), ); - unawaited(controller.setJavaScriptMode(JavaScriptMode.unrestricted)); + await (controller.setJavaScriptMode(JavaScriptMode.unrestricted)); final PlatformNavigationDelegate delegate = PlatformNavigationDelegate( const PlatformNavigationDelegateCreationParams(), ); - unawaited(delegate.setOnHttpError((HttpResponseError error) { + await (delegate.setOnHttpError((HttpResponseError error) { errorCompleter.complete(error); })); - unawaited(delegate.setOnPageFinished( + await (delegate.setOnPageFinished( (_) => pageFinishCompleter.complete(), )); - unawaited(controller.setPlatformNavigationDelegate(delegate)); - unawaited(controller.loadHtmlString(testPage)); + await (controller.setPlatformNavigationDelegate(delegate)); + await (controller.loadHtmlString(testPage)); await tester.pumpWidget(Builder( builder: (BuildContext context) { @@ -1059,18 +1059,18 @@ Future main() async { final PlatformWebViewController controller = PlatformWebViewController( const PlatformWebViewControllerCreationParams(), ); - unawaited(controller.setJavaScriptMode(JavaScriptMode.unrestricted)); + await (controller.setJavaScriptMode(JavaScriptMode.unrestricted)); final PlatformNavigationDelegate delegate = PlatformNavigationDelegate( const PlatformNavigationDelegateCreationParams(), ); - unawaited(delegate.setOnPageFinished((_) => pageLoaded.complete())); - unawaited(delegate + await (delegate.setOnPageFinished((_) => pageLoaded.complete())); + await (delegate .setOnNavigationRequest((NavigationRequest navigationRequest) { return (navigationRequest.url.contains('youtube.com')) ? NavigationDecision.prevent : NavigationDecision.navigate; })); - unawaited(controller.setPlatformNavigationDelegate(delegate)); + await (controller.setPlatformNavigationDelegate(delegate)); await controller .loadRequest(LoadRequestParams(uri: Uri.parse(blankPageEncoded))); @@ -1104,12 +1104,12 @@ Future main() async { final PlatformWebViewController controller = PlatformWebViewController( const PlatformWebViewControllerCreationParams(), ); - unawaited(controller.setJavaScriptMode(JavaScriptMode.unrestricted)); + await (controller.setJavaScriptMode(JavaScriptMode.unrestricted)); final PlatformNavigationDelegate delegate = PlatformNavigationDelegate( const PlatformNavigationDelegateCreationParams(), ); - unawaited(delegate.setOnPageFinished((_) => pageLoaded.complete())); - unawaited(delegate + await (delegate.setOnPageFinished((_) => pageLoaded.complete())); + await (delegate .setOnNavigationRequest((NavigationRequest navigationRequest) async { NavigationDecision decision = NavigationDecision.prevent; decision = await Future.delayed( @@ -1117,7 +1117,7 @@ Future main() async { () => NavigationDecision.navigate); return decision; })); - unawaited(controller.setPlatformNavigationDelegate(delegate)); + await (controller.setPlatformNavigationDelegate(delegate)); await controller .loadRequest(LoadRequestParams(uri: Uri.parse(blankPageEncoded))); @@ -1145,12 +1145,12 @@ Future main() async { final PlatformWebViewController controller = PlatformWebViewController( const PlatformWebViewControllerCreationParams(), ); - unawaited(controller.setJavaScriptMode(JavaScriptMode.unrestricted)); + await (controller.setJavaScriptMode(JavaScriptMode.unrestricted)); final PlatformNavigationDelegate delegate = PlatformNavigationDelegate( const PlatformNavigationDelegateCreationParams(), ); - unawaited(delegate.setOnPageFinished((_) => pageLoaded.complete())); - unawaited(controller.setPlatformNavigationDelegate(delegate)); + await (delegate.setOnPageFinished((_) => pageLoaded.complete())); + await (controller.setPlatformNavigationDelegate(delegate)); await controller .loadRequest(LoadRequestParams(uri: Uri.parse(blankPageEncoded))); @@ -1182,12 +1182,12 @@ Future main() async { final PlatformWebViewController controller = PlatformWebViewController( const PlatformWebViewControllerCreationParams(), ); - unawaited(controller.setJavaScriptMode(JavaScriptMode.unrestricted)); + await (controller.setJavaScriptMode(JavaScriptMode.unrestricted)); final PlatformNavigationDelegate delegate = PlatformNavigationDelegate( const PlatformNavigationDelegateCreationParams(), ); - unawaited(delegate.setOnPageFinished((_) => pageLoaded.complete())); - unawaited(controller.setPlatformNavigationDelegate(delegate)); + await (delegate.setOnPageFinished((_) => pageLoaded.complete())); + await (controller.setPlatformNavigationDelegate(delegate)); await controller .loadRequest(LoadRequestParams(uri: Uri.parse(primaryUrl))); @@ -1298,12 +1298,12 @@ Future main() async { final PlatformWebViewController controller = PlatformWebViewController( const PlatformWebViewControllerCreationParams(), ); - unawaited(controller.setJavaScriptMode(JavaScriptMode.unrestricted)); + await (controller.setJavaScriptMode(JavaScriptMode.unrestricted)); final PlatformNavigationDelegate delegate = PlatformNavigationDelegate( const PlatformNavigationDelegateCreationParams(), ); - unawaited(delegate.setOnPageFinished((_) => pageLoaded.complete())); - unawaited(controller.setPlatformNavigationDelegate(delegate)); + await (delegate.setOnPageFinished((_) => pageLoaded.complete())); + await (controller.setPlatformNavigationDelegate(delegate)); await tester.pumpWidget(Builder( builder: (BuildContext context) { @@ -1327,12 +1327,12 @@ Future main() async { final PlatformWebViewController controller = PlatformWebViewController( const PlatformWebViewControllerCreationParams(), ); - unawaited(controller.setJavaScriptMode(JavaScriptMode.unrestricted)); + await (controller.setJavaScriptMode(JavaScriptMode.unrestricted)); final PlatformNavigationDelegate delegate = PlatformNavigationDelegate( const PlatformNavigationDelegateCreationParams(), ); - unawaited(delegate.setOnPageFinished((_) => pageLoaded.complete())); - unawaited(controller.setPlatformNavigationDelegate(delegate)); + await (delegate.setOnPageFinished((_) => pageLoaded.complete())); + await (controller.setPlatformNavigationDelegate(delegate)); await controller .loadRequest(LoadRequestParams(uri: Uri.parse(primaryUrl))); @@ -1399,13 +1399,12 @@ Future main() async { final PlatformWebViewController controller = PlatformWebViewController( const PlatformWebViewControllerCreationParams(), ); - unawaited(controller.setJavaScriptMode(JavaScriptMode.unrestricted)); + await (controller.setJavaScriptMode(JavaScriptMode.unrestricted)); final PlatformNavigationDelegate delegate = PlatformNavigationDelegate( const PlatformNavigationDelegateCreationParams(), ); - unawaited( - delegate.setOnPageFinished((_) => pageLoadCompleter.complete())); - unawaited(controller.setPlatformNavigationDelegate(delegate)); + await (delegate.setOnPageFinished((_) => pageLoadCompleter.complete())); + await (controller.setPlatformNavigationDelegate(delegate)); await controller.loadRequest( LoadRequestParams( uri: Uri.parse( @@ -1446,8 +1445,8 @@ Future main() async { final PlatformNavigationDelegate delegate = PlatformNavigationDelegate( const PlatformNavigationDelegateCreationParams(), ); - unawaited(delegate.setOnPageFinished((_) => pageLoaded.complete())); - unawaited(controller.setPlatformNavigationDelegate(delegate)); + await (delegate.setOnPageFinished((_) => pageLoaded.complete())); + await (controller.setPlatformNavigationDelegate(delegate)); await controller .loadRequest(LoadRequestParams(uri: Uri.parse(primaryUrl))); @@ -1490,14 +1489,14 @@ Future main() async { ); final Completer alertMessage = Completer(); - unawaited(controller.setOnJavaScriptAlertDialog( + await (controller.setOnJavaScriptAlertDialog( (JavaScriptAlertDialogRequest request) async { alertMessage.complete(request.message); }, )); - unawaited(controller.setJavaScriptMode(JavaScriptMode.unrestricted)); - unawaited( + await (controller.setJavaScriptMode(JavaScriptMode.unrestricted)); + await ( controller.loadRequest(LoadRequestParams(uri: Uri.parse(primaryUrl))), ); @@ -1520,15 +1519,15 @@ Future main() async { ); final Completer confirmMessage = Completer(); - unawaited(controller.setOnJavaScriptConfirmDialog( + await (controller.setOnJavaScriptConfirmDialog( (JavaScriptConfirmDialogRequest request) async { confirmMessage.complete(request.message); return true; }, )); - unawaited(controller.setJavaScriptMode(JavaScriptMode.unrestricted)); - unawaited( + await (controller.setJavaScriptMode(JavaScriptMode.unrestricted)); + await ( controller.loadRequest(LoadRequestParams(uri: Uri.parse(primaryUrl))), ); @@ -1550,14 +1549,14 @@ Future main() async { const PlatformWebViewControllerCreationParams(), ); - unawaited(controller.setOnJavaScriptTextInputDialog( + await (controller.setOnJavaScriptTextInputDialog( (JavaScriptTextInputDialogRequest request) async { return 'return message'; }, )); - unawaited(controller.setJavaScriptMode(JavaScriptMode.unrestricted)); - unawaited( + await (controller.setJavaScriptMode(JavaScriptMode.unrestricted)); + await ( controller.loadRequest(LoadRequestParams(uri: Uri.parse(primaryUrl))), ); @@ -1594,7 +1593,7 @@ Future main() async { final PlatformWebViewController controller = PlatformWebViewController( const PlatformWebViewControllerCreationParams(), ); - unawaited(controller.setJavaScriptMode(JavaScriptMode.unrestricted)); + await (controller.setJavaScriptMode(JavaScriptMode.unrestricted)); await controller.setOnConsoleMessage((JavaScriptConsoleMessage message) { debugMessageReceived diff --git a/packages/webview_flutter/webview_flutter_android/example/integration_test/legacy/webview_flutter_test.dart b/packages/webview_flutter/webview_flutter_android/example/integration_test/webview_flutter_test_legacy.dart similarity index 100% rename from packages/webview_flutter/webview_flutter_android/example/integration_test/legacy/webview_flutter_test.dart rename to packages/webview_flutter/webview_flutter_android/example/integration_test/webview_flutter_test_legacy.dart From fe19f00093008127e73d8d16c54825cf4f854a9d Mon Sep 17 00:00:00 2001 From: camsim99 Date: Tue, 23 Apr 2024 12:00:12 -0700 Subject: [PATCH 13/17] Add missing pumpAndSettle --- .../example/integration_test/webview_flutter_test.dart | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test.dart b/packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test.dart index e55810a3bbdb..5745bee5721e 100644 --- a/packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test.dart +++ b/packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test.dart @@ -280,6 +280,9 @@ Future main() async { await tester.pumpWidget(WebViewWidget(controller: controller)); print('C: Widget pumped'); + await tester.pumpAndSettle(); + print('C: Pumped and settle'); + await pageLoaded.future; print('C: Future page loaded'); From 98a175b4c5a2774799cb0a3766d8a1ed78a01cd6 Mon Sep 17 00:00:00 2001 From: camsim99 Date: Tue, 23 Apr 2024 13:10:55 -0700 Subject: [PATCH 14/17] Dart fixes --- .../webview_flutter_test.dart | 162 ++++++------ .../webview_flutter_test.dart | 230 +++++++++--------- 2 files changed, 196 insertions(+), 196 deletions(-) diff --git a/packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test.dart b/packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test.dart index 5745bee5721e..69f911a7b262 100644 --- a/packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test.dart +++ b/packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test.dart @@ -66,10 +66,10 @@ Future main() async { final Completer pageFinished = Completer(); final WebViewController controller = WebViewController(); - await (controller.setNavigationDelegate( + await controller.setNavigationDelegate( NavigationDelegate(onPageFinished: (_) => pageFinished.complete()), - )); - await (controller.loadRequest(Uri.parse(primaryUrl))); + ); + await controller.loadRequest(Uri.parse(primaryUrl)); await tester.pumpWidget(WebViewWidget(controller: controller)); await pageFinished.future; @@ -82,11 +82,11 @@ Future main() async { final Completer pageFinished = Completer(); final WebViewController controller = WebViewController(); - await (controller.setJavaScriptMode(JavaScriptMode.unrestricted)); - await (controller.setNavigationDelegate( + await controller.setJavaScriptMode(JavaScriptMode.unrestricted); + await controller.setNavigationDelegate( NavigationDelegate(onPageFinished: (_) => pageFinished.complete()), - )); - await (controller.loadRequest(Uri.parse(primaryUrl))); + ); + await controller.loadRequest(Uri.parse(primaryUrl)); await tester.pumpWidget(WebViewWidget(controller: controller)); @@ -106,14 +106,14 @@ Future main() async { final StreamController pageLoads = StreamController(); final WebViewController controller = WebViewController(); - await (controller.setJavaScriptMode(JavaScriptMode.unrestricted)); - await (controller.setNavigationDelegate( + await controller.setJavaScriptMode(JavaScriptMode.unrestricted); + await controller.setNavigationDelegate( NavigationDelegate(onPageFinished: (String url) => pageLoads.add(url)), - )); + ); await tester.pumpWidget(WebViewWidget(controller: controller)); - await (controller.loadRequest(Uri.parse(headersUrl), headers: headers)); + await controller.loadRequest(Uri.parse(headersUrl), headers: headers); await pageLoads.stream.firstWhere((String url) => url == headersUrl); @@ -126,10 +126,10 @@ Future main() async { testWidgets('JavascriptChannel', (WidgetTester tester) async { final Completer pageFinished = Completer(); final WebViewController controller = WebViewController(); - await (controller.setJavaScriptMode(JavaScriptMode.unrestricted)); - await (controller.setNavigationDelegate( + await controller.setJavaScriptMode(JavaScriptMode.unrestricted); + await controller.setNavigationDelegate( NavigationDelegate(onPageFinished: (_) => pageFinished.complete()), - )); + ); final Completer channelCompleter = Completer(); await controller.addJavaScriptChannel( @@ -187,12 +187,12 @@ Future main() async { final Completer pageFinished = Completer(); final WebViewController controller = WebViewController(); - await (controller.setJavaScriptMode(JavaScriptMode.unrestricted)); - await (controller.setNavigationDelegate(NavigationDelegate( + await controller.setJavaScriptMode(JavaScriptMode.unrestricted); + await controller.setNavigationDelegate(NavigationDelegate( onPageFinished: (_) => pageFinished.complete(), - ))); - await (controller.setUserAgent('Custom_User_Agent1')); - await (controller.loadRequest(Uri.parse('about:blank'))); + )); + await controller.setUserAgent('Custom_User_Agent1'); + await controller.loadRequest(Uri.parse('about:blank')); await tester.pumpWidget(WebViewWidget(controller: controller)); @@ -334,18 +334,18 @@ Future main() async { } final WebViewController controller = WebViewController.fromPlatformCreationParams(params); - await (controller.setJavaScriptMode(JavaScriptMode.unrestricted)); + await controller.setJavaScriptMode(JavaScriptMode.unrestricted); print('C: Javascript mode set'); - await (controller.setNavigationDelegate( + await controller.setNavigationDelegate( NavigationDelegate(onPageFinished: (_) { print('C: page loaded'); pageLoaded.complete(); }), - )); + ); print('C: Navigation delegate set'); - await (controller.addJavaScriptChannel( + await controller.addJavaScriptChannel( 'VideoTestTime', onMessageReceived: (JavaScriptMessage message) { final double currentTime = double.parse(message.message); @@ -354,12 +354,12 @@ Future main() async { videoPlaying.complete(null); } }, - )); + ); print('C: js channel added'); if (controller.platform is AndroidWebViewController) { - await ((controller.platform as AndroidWebViewController) - .setMediaPlaybackRequiresUserGesture(false)); + await (controller.platform as AndroidWebViewController) + .setMediaPlaybackRequiresUserGesture(false); print('C: media playback requires user gesture set'); } @@ -508,13 +508,13 @@ Future main() async { final Completer pageLoaded = Completer(); final WebViewController controller = WebViewController(); - await (controller.setJavaScriptMode(JavaScriptMode.unrestricted)); - await (controller.setNavigationDelegate(NavigationDelegate( + await controller.setJavaScriptMode(JavaScriptMode.unrestricted); + await controller.setNavigationDelegate(NavigationDelegate( onPageFinished: (_) => pageLoaded.complete(), - ))); - await (controller.loadRequest( - Uri.parse('data:text/html;charset=utf-8;base64,$getTitleTestBase64'), )); + await controller.loadRequest( + Uri.parse('data:text/html;charset=utf-8;base64,$getTitleTestBase64'), + ); await tester.pumpWidget(WebViewWidget(controller: controller)); @@ -559,18 +559,18 @@ Future main() async { final Completer pageLoaded = Completer(); final WebViewController controller = WebViewController(); ScrollPositionChange? recordedPosition; - await (controller.setJavaScriptMode(JavaScriptMode.unrestricted)); - await (controller.setNavigationDelegate(NavigationDelegate( + await controller.setJavaScriptMode(JavaScriptMode.unrestricted); + await controller.setNavigationDelegate(NavigationDelegate( onPageFinished: (_) => pageLoaded.complete(), - ))); - await (controller.setOnScrollPositionChange( + )); + await controller.setOnScrollPositionChange( (ScrollPositionChange contentOffsetChange) { recordedPosition = contentOffsetChange; - })); + }); - await (controller.loadRequest(Uri.parse( + await controller.loadRequest(Uri.parse( 'data:text/html;charset=utf-8;base64,$scrollTestPageBase64', - ))); + )); await tester.pumpWidget(WebViewWidget(controller: controller)); @@ -617,19 +617,19 @@ Future main() async { Completer pageLoaded = Completer(); final WebViewController controller = WebViewController(); - await (controller.setJavaScriptMode(JavaScriptMode.unrestricted)); - await (controller.setNavigationDelegate(NavigationDelegate( + await controller.setJavaScriptMode(JavaScriptMode.unrestricted); + await controller.setNavigationDelegate(NavigationDelegate( onPageFinished: (_) => pageLoaded.complete(), onNavigationRequest: (NavigationRequest navigationRequest) { return (navigationRequest.url.contains('youtube.com')) ? NavigationDecision.prevent : NavigationDecision.navigate; }, - ))); + )); await tester.pumpWidget(WebViewWidget(controller: controller)); - await (controller.loadRequest(Uri.parse(blankPageEncoded))); + await controller.loadRequest(Uri.parse(blankPageEncoded)); await pageLoaded.future; // Wait for initial page load. @@ -646,12 +646,12 @@ Future main() async { Completer(); final WebViewController controller = WebViewController(); - await (controller.setJavaScriptMode(JavaScriptMode.unrestricted)); - await (controller.setNavigationDelegate( + await controller.setJavaScriptMode(JavaScriptMode.unrestricted); + await controller.setNavigationDelegate( NavigationDelegate(onWebResourceError: (WebResourceError error) { errorCompleter.complete(error); - }))); - await (controller.loadRequest(Uri.parse('https://www.notawebsite..com'))); + })); + await controller.loadRequest(Uri.parse('https://www.notawebsite..com')); await tester.pumpWidget(WebViewWidget(controller: controller)); @@ -666,16 +666,16 @@ Future main() async { final Completer pageFinishCompleter = Completer(); final WebViewController controller = WebViewController(); - await (controller.setJavaScriptMode(JavaScriptMode.unrestricted)); - await (controller.setNavigationDelegate(NavigationDelegate( + await controller.setJavaScriptMode(JavaScriptMode.unrestricted); + await controller.setNavigationDelegate(NavigationDelegate( onPageFinished: (_) => pageFinishCompleter.complete(), onWebResourceError: (WebResourceError error) { errorCompleter.complete(error); }, - ))); - await (controller.loadRequest( - Uri.parse('data:text/html;charset=utf-8;base64,PCFET0NUWVBFIGh0bWw+'), )); + await controller.loadRequest( + Uri.parse('data:text/html;charset=utf-8;base64,PCFET0NUWVBFIGh0bWw+'), + ); await tester.pumpWidget(WebViewWidget(controller: controller)); @@ -687,18 +687,18 @@ Future main() async { Completer pageLoaded = Completer(); final WebViewController controller = WebViewController(); - await (controller.setJavaScriptMode(JavaScriptMode.unrestricted)); - await (controller.setNavigationDelegate(NavigationDelegate( + await controller.setJavaScriptMode(JavaScriptMode.unrestricted); + await controller.setNavigationDelegate(NavigationDelegate( onPageFinished: (_) => pageLoaded.complete(), onNavigationRequest: (NavigationRequest navigationRequest) { return (navigationRequest.url.contains('youtube.com')) ? NavigationDecision.prevent : NavigationDecision.navigate; - }))); + })); await tester.pumpWidget(WebViewWidget(controller: controller)); - await (controller.loadRequest(Uri.parse(blankPageEncoded))); + await controller.loadRequest(Uri.parse(blankPageEncoded)); await pageLoaded.future; // Wait for initial page load. @@ -719,8 +719,8 @@ Future main() async { Completer pageLoaded = Completer(); final WebViewController controller = WebViewController(); - await (controller.setJavaScriptMode(JavaScriptMode.unrestricted)); - await (controller.setNavigationDelegate(NavigationDelegate( + await controller.setJavaScriptMode(JavaScriptMode.unrestricted); + await controller.setNavigationDelegate(NavigationDelegate( onPageFinished: (_) => pageLoaded.complete(), onNavigationRequest: (NavigationRequest navigationRequest) async { NavigationDecision decision = NavigationDecision.prevent; @@ -728,11 +728,11 @@ Future main() async { const Duration(milliseconds: 10), () => NavigationDecision.navigate); return decision; - }))); + })); await tester.pumpWidget(WebViewWidget(controller: controller)); - await (controller.loadRequest(Uri.parse(blankPageEncoded))); + await controller.loadRequest(Uri.parse(blankPageEncoded)); await pageLoaded.future; // Wait for initial page load. @@ -748,11 +748,11 @@ Future main() async { final Completer pageLoaded = Completer(); final WebViewController controller = WebViewController(); - await (controller.setJavaScriptMode(JavaScriptMode.unrestricted)); - await (controller.setNavigationDelegate(NavigationDelegate( + await controller.setJavaScriptMode(JavaScriptMode.unrestricted); + await controller.setNavigationDelegate(NavigationDelegate( onPageFinished: (_) => pageLoaded.complete(), - ))); - await (controller.loadRequest(Uri.parse(blankPageEncoded))); + )); + await controller.loadRequest(Uri.parse(blankPageEncoded)); await tester.pumpWidget(WebViewWidget(controller: controller)); @@ -779,9 +779,9 @@ Future main() async { ); final WebViewController controller = WebViewController(); - await (controller.setJavaScriptMode(JavaScriptMode.unrestricted)); - await (controller.setNavigationDelegate(navigationDelegate)); - await (controller.loadRequest(Uri.parse(primaryUrl))); + await controller.setJavaScriptMode(JavaScriptMode.unrestricted); + await controller.setNavigationDelegate(navigationDelegate); + await controller.loadRequest(Uri.parse(primaryUrl)); await tester.pumpWidget(WebViewWidget(controller: controller)); @@ -806,7 +806,7 @@ Future main() async { final Completer authRequested = Completer(); final WebViewController controller = WebViewController(); - await ( + ( controller.setNavigationDelegate( NavigationDelegate( onHttpAuthRequest: (HttpAuthRequest request) => @@ -817,7 +817,7 @@ Future main() async { await tester.pumpWidget(WebViewWidget(controller: controller)); - await (controller.loadRequest(Uri.parse(basicAuthUrl))); + await controller.loadRequest(Uri.parse(basicAuthUrl)); await expectLater(authRequested.future, completes); }); @@ -827,7 +827,7 @@ Future main() async { final WebViewController controller = WebViewController(); final Completer pageFinished = Completer(); - await ( + ( controller.setNavigationDelegate( NavigationDelegate( onHttpAuthRequest: (HttpAuthRequest request) => request.onProceed( @@ -844,7 +844,7 @@ Future main() async { await tester.pumpWidget(WebViewWidget(controller: controller)); - await (controller.loadRequest(Uri.parse(basicAuthUrl))); + await controller.loadRequest(Uri.parse(basicAuthUrl)); await expectLater(pageFinished.future, completes); }); @@ -855,10 +855,10 @@ Future main() async { final Completer pageLoaded = Completer(); final WebViewController controller = WebViewController(); - await (controller.setJavaScriptMode(JavaScriptMode.unrestricted)); - await (controller.setNavigationDelegate(NavigationDelegate( + await controller.setJavaScriptMode(JavaScriptMode.unrestricted); + await controller.setNavigationDelegate(NavigationDelegate( onPageFinished: (_) => pageLoaded.complete(), - ))); + )); await tester.pumpWidget(WebViewWidget(controller: controller)); @@ -874,11 +874,11 @@ Future main() async { Completer pageLoaded = Completer(); final WebViewController controller = WebViewController(); - await (controller.setJavaScriptMode(JavaScriptMode.unrestricted)); - await (controller.setNavigationDelegate(NavigationDelegate( + await controller.setJavaScriptMode(JavaScriptMode.unrestricted); + await controller.setNavigationDelegate(NavigationDelegate( onPageFinished: (_) => pageLoaded.complete(), - ))); - await (controller.loadRequest(Uri.parse(primaryUrl))); + )); + await controller.loadRequest(Uri.parse(primaryUrl)); await tester.pumpWidget(WebViewWidget(controller: controller)); @@ -904,11 +904,11 @@ Future main() async { Completer pageLoadCompleter = Completer(); final WebViewController controller = WebViewController(); - await (controller.setJavaScriptMode(JavaScriptMode.unrestricted)); - await (controller.setNavigationDelegate(NavigationDelegate( + await controller.setJavaScriptMode(JavaScriptMode.unrestricted); + await controller.setNavigationDelegate(NavigationDelegate( onPageFinished: (_) => pageLoadCompleter.complete(), - ))); - await (controller.loadRequest(Uri.parse(primaryUrl))); + )); + await controller.loadRequest(Uri.parse(primaryUrl)); await tester.pumpWidget(WebViewWidget(controller: controller)); diff --git a/packages/webview_flutter/webview_flutter_android/example/integration_test/webview_flutter_test.dart b/packages/webview_flutter/webview_flutter_android/example/integration_test/webview_flutter_test.dart index 627ff18689ab..d39485c3a19b 100644 --- a/packages/webview_flutter/webview_flutter_android/example/integration_test/webview_flutter_test.dart +++ b/packages/webview_flutter/webview_flutter_android/example/integration_test/webview_flutter_test.dart @@ -64,11 +64,11 @@ Future main() async { final PlatformNavigationDelegate delegate = PlatformNavigationDelegate( const PlatformNavigationDelegateCreationParams(), ); - await (delegate.setOnPageFinished((_) => pageFinished.complete())); - await (controller.setPlatformNavigationDelegate(delegate)); - await (controller.loadRequest( + await delegate.setOnPageFinished((_) => pageFinished.complete()); + await controller.setPlatformNavigationDelegate(delegate); + await controller.loadRequest( LoadRequestParams(uri: Uri.parse(primaryUrl)), - )); + ); await tester.pumpWidget(Builder( builder: (BuildContext context) { @@ -189,12 +189,12 @@ Future main() async { final PlatformWebViewController controller = PlatformWebViewController( const PlatformWebViewControllerCreationParams(), ); - await (controller.setJavaScriptMode(JavaScriptMode.unrestricted)); + await controller.setJavaScriptMode(JavaScriptMode.unrestricted); final PlatformNavigationDelegate delegate = PlatformNavigationDelegate( const PlatformNavigationDelegateCreationParams(), ); - await (delegate.setOnPageFinished((_) => pageFinished.complete())); - await (controller.setPlatformNavigationDelegate(delegate)); + await delegate.setOnPageFinished((_) => pageFinished.complete()); + await controller.setPlatformNavigationDelegate(delegate); await controller.loadRequest(LoadRequestParams(uri: Uri.parse(primaryUrl))); await tester.pumpWidget(Builder( @@ -223,12 +223,12 @@ Future main() async { final PlatformWebViewController controller = PlatformWebViewController( const PlatformWebViewControllerCreationParams(), ); - await (controller.setJavaScriptMode(JavaScriptMode.unrestricted)); + await controller.setJavaScriptMode(JavaScriptMode.unrestricted); final PlatformNavigationDelegate delegate = PlatformNavigationDelegate( const PlatformNavigationDelegateCreationParams(), ); - await (delegate.setOnPageFinished((String url) => pageLoads.add(url))); - await (controller.setPlatformNavigationDelegate(delegate)); + await delegate.setOnPageFinished((String url) => pageLoads.add(url)); + await controller.setPlatformNavigationDelegate(delegate); await controller.loadRequest( LoadRequestParams( uri: Uri.parse(headersUrl), @@ -258,12 +258,12 @@ Future main() async { final PlatformWebViewController controller = PlatformWebViewController( const PlatformWebViewControllerCreationParams(), ); - await (controller.setJavaScriptMode(JavaScriptMode.unrestricted)); + await controller.setJavaScriptMode(JavaScriptMode.unrestricted); final PlatformNavigationDelegate delegate = PlatformNavigationDelegate( const PlatformNavigationDelegateCreationParams(), ); - await (delegate.setOnPageFinished((_) => pageFinished.complete())); - await (controller.setPlatformNavigationDelegate(delegate)); + await delegate.setOnPageFinished((_) => pageFinished.complete()); + await controller.setPlatformNavigationDelegate(delegate); final Completer channelCompleter = Completer(); await controller.addJavaScriptChannel( @@ -331,13 +331,13 @@ Future main() async { final PlatformWebViewController controller = PlatformWebViewController( const PlatformWebViewControllerCreationParams(), ); - await (controller.setJavaScriptMode(JavaScriptMode.unrestricted)); - await (controller.setUserAgent('Custom_User_Agent1')); + await controller.setJavaScriptMode(JavaScriptMode.unrestricted); + await controller.setUserAgent('Custom_User_Agent1'); final PlatformNavigationDelegate delegate = PlatformNavigationDelegate( const PlatformNavigationDelegateCreationParams(), ); - await (delegate.setOnPageFinished((_) => pageFinished.complete())); - await (controller.setPlatformNavigationDelegate(delegate)); + await delegate.setOnPageFinished((_) => pageFinished.complete()); + await controller.setPlatformNavigationDelegate(delegate); await controller .loadRequest(LoadRequestParams(uri: Uri.parse('about:blank'))); @@ -427,13 +427,13 @@ Future main() async { AndroidWebViewController controller = AndroidWebViewController( const PlatformWebViewControllerCreationParams(), ); - await (controller.setJavaScriptMode(JavaScriptMode.unrestricted)); - await (controller.setMediaPlaybackRequiresUserGesture(false)); + await controller.setJavaScriptMode(JavaScriptMode.unrestricted); + await controller.setMediaPlaybackRequiresUserGesture(false); AndroidNavigationDelegate delegate = AndroidNavigationDelegate( const PlatformNavigationDelegateCreationParams(), ); - await (delegate.setOnPageFinished((_) => pageLoaded.complete())); - await (controller.setPlatformNavigationDelegate(delegate)); + await delegate.setOnPageFinished((_) => pageLoaded.complete()); + await controller.setPlatformNavigationDelegate(delegate); await controller.loadRequest( LoadRequestParams( @@ -461,12 +461,12 @@ Future main() async { controller = AndroidWebViewController( const PlatformWebViewControllerCreationParams(), ); - await (controller.setJavaScriptMode(JavaScriptMode.unrestricted)); + await controller.setJavaScriptMode(JavaScriptMode.unrestricted); delegate = AndroidNavigationDelegate( const PlatformNavigationDelegateCreationParams(), ); - await (delegate.setOnPageFinished((_) => pageLoaded.complete())); - await (controller.setPlatformNavigationDelegate(delegate)); + await delegate.setOnPageFinished((_) => pageLoaded.complete()); + await controller.setPlatformNavigationDelegate(delegate); await controller.loadRequest( LoadRequestParams( @@ -498,15 +498,15 @@ Future main() async { final AndroidWebViewController controller = AndroidWebViewController( const PlatformWebViewControllerCreationParams(), ); - await (controller.setJavaScriptMode(JavaScriptMode.unrestricted)); - await (controller.setMediaPlaybackRequiresUserGesture(false)); + await controller.setJavaScriptMode(JavaScriptMode.unrestricted); + await controller.setMediaPlaybackRequiresUserGesture(false); final AndroidNavigationDelegate delegate = AndroidNavigationDelegate( const PlatformNavigationDelegateCreationParams(), ); - await (delegate.setOnPageFinished((_) => pageLoaded.complete())); - await (controller.setPlatformNavigationDelegate(delegate)); + await delegate.setOnPageFinished((_) => pageLoaded.complete()); + await controller.setPlatformNavigationDelegate(delegate); - await (controller.addJavaScriptChannel( + await controller.addJavaScriptChannel( JavaScriptChannelParams( name: 'VideoTestTime', onMessageReceived: (JavaScriptMessage message) { @@ -517,7 +517,7 @@ Future main() async { } }, ), - )); + ); await controller.loadRequest( LoadRequestParams( @@ -553,20 +553,20 @@ Future main() async { final AndroidWebViewController controller = AndroidWebViewController( const PlatformWebViewControllerCreationParams(), ); - await (controller.setJavaScriptMode(JavaScriptMode.unrestricted)); - await (controller.setMediaPlaybackRequiresUserGesture(false)); + await controller.setJavaScriptMode(JavaScriptMode.unrestricted); + await controller.setMediaPlaybackRequiresUserGesture(false); final AndroidNavigationDelegate delegate = AndroidNavigationDelegate( const PlatformNavigationDelegateCreationParams(), ); - await (delegate.setOnPageFinished((_) => pageLoaded.complete())); - await (controller.setPlatformNavigationDelegate(delegate)); - await (controller.setCustomWidgetCallbacks(onHideCustomWidget: () { + await delegate.setOnPageFinished((_) => pageLoaded.complete()); + await controller.setPlatformNavigationDelegate(delegate); + await controller.setCustomWidgetCallbacks(onHideCustomWidget: () { fullscreenExited.complete(); }, onShowCustomWidget: (Widget webView, void Function() onHideCustomView) { fullscreenEntered.complete(); onHideCustomView(); - })); + }); await controller.loadRequest( LoadRequestParams( @@ -642,13 +642,13 @@ Future main() async { AndroidWebViewController controller = AndroidWebViewController( const PlatformWebViewControllerCreationParams(), ); - await (controller.setJavaScriptMode(JavaScriptMode.unrestricted)); - await (controller.setMediaPlaybackRequiresUserGesture(false)); + await controller.setJavaScriptMode(JavaScriptMode.unrestricted); + await controller.setMediaPlaybackRequiresUserGesture(false); AndroidNavigationDelegate delegate = AndroidNavigationDelegate( const PlatformNavigationDelegateCreationParams(), ); - await (delegate.setOnPageFinished((_) => pageLoaded.complete())); - await (controller.setPlatformNavigationDelegate(delegate)); + await delegate.setOnPageFinished((_) => pageLoaded.complete()); + await controller.setPlatformNavigationDelegate(delegate); await controller.loadRequest( LoadRequestParams( @@ -676,12 +676,12 @@ Future main() async { controller = AndroidWebViewController( const PlatformWebViewControllerCreationParams(), ); - await (controller.setJavaScriptMode(JavaScriptMode.unrestricted)); + await controller.setJavaScriptMode(JavaScriptMode.unrestricted); delegate = AndroidNavigationDelegate( const PlatformNavigationDelegateCreationParams(), ); - await (delegate.setOnPageFinished((_) => pageLoaded.complete())); - await (controller.setPlatformNavigationDelegate(delegate)); + await delegate.setOnPageFinished((_) => pageLoaded.complete()); + await controller.setPlatformNavigationDelegate(delegate); await controller.loadRequest( LoadRequestParams( uri: Uri.parse( @@ -722,12 +722,12 @@ Future main() async { final PlatformWebViewController controller = PlatformWebViewController( const PlatformWebViewControllerCreationParams(), ); - await (controller.setJavaScriptMode(JavaScriptMode.unrestricted)); + await controller.setJavaScriptMode(JavaScriptMode.unrestricted); final PlatformNavigationDelegate delegate = PlatformNavigationDelegate( const PlatformNavigationDelegateCreationParams(), ); - await (delegate.setOnPageFinished((_) => pageLoaded.complete())); - await (controller.setPlatformNavigationDelegate(delegate)); + await delegate.setOnPageFinished((_) => pageLoaded.complete()); + await controller.setPlatformNavigationDelegate(delegate); await controller.loadRequest( LoadRequestParams( @@ -789,16 +789,16 @@ Future main() async { final PlatformWebViewController controller = PlatformWebViewController( const PlatformWebViewControllerCreationParams(), ); - await (controller.setJavaScriptMode(JavaScriptMode.unrestricted)); + await controller.setJavaScriptMode(JavaScriptMode.unrestricted); final PlatformNavigationDelegate delegate = PlatformNavigationDelegate( const PlatformNavigationDelegateCreationParams(), ); - await (delegate.setOnPageFinished((_) => pageLoaded.complete())); - await (controller.setPlatformNavigationDelegate(delegate)); - await (controller.setOnScrollPositionChange( + await delegate.setOnPageFinished((_) => pageLoaded.complete()); + await controller.setPlatformNavigationDelegate(delegate); + await controller.setOnScrollPositionChange( (ScrollPositionChange contentOffsetChange) { recordedPosition = contentOffsetChange; - })); + }); await controller.loadRequest( LoadRequestParams( @@ -860,19 +860,19 @@ Future main() async { final PlatformWebViewController controller = PlatformWebViewController( const PlatformWebViewControllerCreationParams(), ); - await (controller.setJavaScriptMode(JavaScriptMode.unrestricted)); + await controller.setJavaScriptMode(JavaScriptMode.unrestricted); final PlatformNavigationDelegate delegate = PlatformNavigationDelegate( const PlatformNavigationDelegateCreationParams(), ); - await (delegate.setOnPageFinished((_) => pageLoaded.complete())); - await ( + await delegate.setOnPageFinished((_) => pageLoaded.complete()); + ( delegate.setOnNavigationRequest((NavigationRequest navigationRequest) { return (navigationRequest.url.contains('youtube.com')) ? NavigationDecision.prevent : NavigationDecision.navigate; }), ); - await (controller.setPlatformNavigationDelegate(delegate)); + await controller.setPlatformNavigationDelegate(delegate); await controller.loadRequest( LoadRequestParams(uri: Uri.parse(blankPageEncoded)), @@ -903,16 +903,16 @@ Future main() async { final PlatformWebViewController controller = PlatformWebViewController( const PlatformWebViewControllerCreationParams(), ); - await (controller.setJavaScriptMode(JavaScriptMode.unrestricted)); + await controller.setJavaScriptMode(JavaScriptMode.unrestricted); final PlatformNavigationDelegate delegate = PlatformNavigationDelegate( const PlatformNavigationDelegateCreationParams(), ); - await ( + ( delegate.setOnWebResourceError((WebResourceError error) { errorCompleter.complete(error); }), ); - await (controller.setPlatformNavigationDelegate(delegate)); + await controller.setPlatformNavigationDelegate(delegate); await controller.loadRequest( LoadRequestParams(uri: Uri.parse('https://www.notawebsite..com')), @@ -945,19 +945,19 @@ Future main() async { final PlatformWebViewController controller = PlatformWebViewController( const PlatformWebViewControllerCreationParams(), ); - await (controller.setJavaScriptMode(JavaScriptMode.unrestricted)); + await controller.setJavaScriptMode(JavaScriptMode.unrestricted); final PlatformNavigationDelegate delegate = PlatformNavigationDelegate( const PlatformNavigationDelegateCreationParams(), ); - await ( + ( delegate.setOnPageFinished((_) => pageFinishCompleter.complete()), ); - await ( + ( delegate.setOnWebResourceError((WebResourceError error) { errorCompleter.complete(error); }), ); - await (controller.setPlatformNavigationDelegate(delegate)); + await controller.setPlatformNavigationDelegate(delegate); await controller.loadRequest( LoadRequestParams( uri: Uri.parse( @@ -985,17 +985,17 @@ Future main() async { final PlatformWebViewController controller = PlatformWebViewController( const PlatformWebViewControllerCreationParams(), ); - await (controller.setJavaScriptMode(JavaScriptMode.unrestricted)); + await controller.setJavaScriptMode(JavaScriptMode.unrestricted); final PlatformNavigationDelegate delegate = PlatformNavigationDelegate( const PlatformNavigationDelegateCreationParams(), ); - await (delegate.setOnHttpError((HttpResponseError error) { + await delegate.setOnHttpError((HttpResponseError error) { errorCompleter.complete(error); - })); - await (controller.setPlatformNavigationDelegate(delegate)); - await (controller.loadRequest( + }); + await controller.setPlatformNavigationDelegate(delegate); + await controller.loadRequest( LoadRequestParams(uri: Uri.parse('$prefixUrl/favicon.ico')), - )); + ); await tester.pumpWidget(Builder( builder: (BuildContext context) { @@ -1028,18 +1028,18 @@ Future main() async { final PlatformWebViewController controller = PlatformWebViewController( const PlatformWebViewControllerCreationParams(), ); - await (controller.setJavaScriptMode(JavaScriptMode.unrestricted)); + await controller.setJavaScriptMode(JavaScriptMode.unrestricted); final PlatformNavigationDelegate delegate = PlatformNavigationDelegate( const PlatformNavigationDelegateCreationParams(), ); - await (delegate.setOnHttpError((HttpResponseError error) { + await delegate.setOnHttpError((HttpResponseError error) { errorCompleter.complete(error); - })); - await (delegate.setOnPageFinished( + }); + await delegate.setOnPageFinished( (_) => pageFinishCompleter.complete(), - )); - await (controller.setPlatformNavigationDelegate(delegate)); - await (controller.loadHtmlString(testPage)); + ); + await controller.setPlatformNavigationDelegate(delegate); + await controller.loadHtmlString(testPage); await tester.pumpWidget(Builder( builder: (BuildContext context) { @@ -1059,18 +1059,18 @@ Future main() async { final PlatformWebViewController controller = PlatformWebViewController( const PlatformWebViewControllerCreationParams(), ); - await (controller.setJavaScriptMode(JavaScriptMode.unrestricted)); + await controller.setJavaScriptMode(JavaScriptMode.unrestricted); final PlatformNavigationDelegate delegate = PlatformNavigationDelegate( const PlatformNavigationDelegateCreationParams(), ); - await (delegate.setOnPageFinished((_) => pageLoaded.complete())); - await (delegate + await delegate.setOnPageFinished((_) => pageLoaded.complete()); + await delegate .setOnNavigationRequest((NavigationRequest navigationRequest) { return (navigationRequest.url.contains('youtube.com')) ? NavigationDecision.prevent : NavigationDecision.navigate; - })); - await (controller.setPlatformNavigationDelegate(delegate)); + }); + await controller.setPlatformNavigationDelegate(delegate); await controller .loadRequest(LoadRequestParams(uri: Uri.parse(blankPageEncoded))); @@ -1104,20 +1104,20 @@ Future main() async { final PlatformWebViewController controller = PlatformWebViewController( const PlatformWebViewControllerCreationParams(), ); - await (controller.setJavaScriptMode(JavaScriptMode.unrestricted)); + await controller.setJavaScriptMode(JavaScriptMode.unrestricted); final PlatformNavigationDelegate delegate = PlatformNavigationDelegate( const PlatformNavigationDelegateCreationParams(), ); - await (delegate.setOnPageFinished((_) => pageLoaded.complete())); - await (delegate + await delegate.setOnPageFinished((_) => pageLoaded.complete()); + await delegate .setOnNavigationRequest((NavigationRequest navigationRequest) async { NavigationDecision decision = NavigationDecision.prevent; decision = await Future.delayed( const Duration(milliseconds: 10), () => NavigationDecision.navigate); return decision; - })); - await (controller.setPlatformNavigationDelegate(delegate)); + }); + await controller.setPlatformNavigationDelegate(delegate); await controller .loadRequest(LoadRequestParams(uri: Uri.parse(blankPageEncoded))); @@ -1145,12 +1145,12 @@ Future main() async { final PlatformWebViewController controller = PlatformWebViewController( const PlatformWebViewControllerCreationParams(), ); - await (controller.setJavaScriptMode(JavaScriptMode.unrestricted)); + await controller.setJavaScriptMode(JavaScriptMode.unrestricted); final PlatformNavigationDelegate delegate = PlatformNavigationDelegate( const PlatformNavigationDelegateCreationParams(), ); - await (delegate.setOnPageFinished((_) => pageLoaded.complete())); - await (controller.setPlatformNavigationDelegate(delegate)); + await delegate.setOnPageFinished((_) => pageLoaded.complete()); + await controller.setPlatformNavigationDelegate(delegate); await controller .loadRequest(LoadRequestParams(uri: Uri.parse(blankPageEncoded))); @@ -1182,12 +1182,12 @@ Future main() async { final PlatformWebViewController controller = PlatformWebViewController( const PlatformWebViewControllerCreationParams(), ); - await (controller.setJavaScriptMode(JavaScriptMode.unrestricted)); + await controller.setJavaScriptMode(JavaScriptMode.unrestricted); final PlatformNavigationDelegate delegate = PlatformNavigationDelegate( const PlatformNavigationDelegateCreationParams(), ); - await (delegate.setOnPageFinished((_) => pageLoaded.complete())); - await (controller.setPlatformNavigationDelegate(delegate)); + await delegate.setOnPageFinished((_) => pageLoaded.complete()); + await controller.setPlatformNavigationDelegate(delegate); await controller .loadRequest(LoadRequestParams(uri: Uri.parse(primaryUrl))); @@ -1298,12 +1298,12 @@ Future main() async { final PlatformWebViewController controller = PlatformWebViewController( const PlatformWebViewControllerCreationParams(), ); - await (controller.setJavaScriptMode(JavaScriptMode.unrestricted)); + await controller.setJavaScriptMode(JavaScriptMode.unrestricted); final PlatformNavigationDelegate delegate = PlatformNavigationDelegate( const PlatformNavigationDelegateCreationParams(), ); - await (delegate.setOnPageFinished((_) => pageLoaded.complete())); - await (controller.setPlatformNavigationDelegate(delegate)); + await delegate.setOnPageFinished((_) => pageLoaded.complete()); + await controller.setPlatformNavigationDelegate(delegate); await tester.pumpWidget(Builder( builder: (BuildContext context) { @@ -1327,12 +1327,12 @@ Future main() async { final PlatformWebViewController controller = PlatformWebViewController( const PlatformWebViewControllerCreationParams(), ); - await (controller.setJavaScriptMode(JavaScriptMode.unrestricted)); + await controller.setJavaScriptMode(JavaScriptMode.unrestricted); final PlatformNavigationDelegate delegate = PlatformNavigationDelegate( const PlatformNavigationDelegateCreationParams(), ); - await (delegate.setOnPageFinished((_) => pageLoaded.complete())); - await (controller.setPlatformNavigationDelegate(delegate)); + await delegate.setOnPageFinished((_) => pageLoaded.complete()); + await controller.setPlatformNavigationDelegate(delegate); await controller .loadRequest(LoadRequestParams(uri: Uri.parse(primaryUrl))); @@ -1399,12 +1399,12 @@ Future main() async { final PlatformWebViewController controller = PlatformWebViewController( const PlatformWebViewControllerCreationParams(), ); - await (controller.setJavaScriptMode(JavaScriptMode.unrestricted)); + await controller.setJavaScriptMode(JavaScriptMode.unrestricted); final PlatformNavigationDelegate delegate = PlatformNavigationDelegate( const PlatformNavigationDelegateCreationParams(), ); - await (delegate.setOnPageFinished((_) => pageLoadCompleter.complete())); - await (controller.setPlatformNavigationDelegate(delegate)); + await delegate.setOnPageFinished((_) => pageLoadCompleter.complete()); + await controller.setPlatformNavigationDelegate(delegate); await controller.loadRequest( LoadRequestParams( uri: Uri.parse( @@ -1445,8 +1445,8 @@ Future main() async { final PlatformNavigationDelegate delegate = PlatformNavigationDelegate( const PlatformNavigationDelegateCreationParams(), ); - await (delegate.setOnPageFinished((_) => pageLoaded.complete())); - await (controller.setPlatformNavigationDelegate(delegate)); + await delegate.setOnPageFinished((_) => pageLoaded.complete()); + await controller.setPlatformNavigationDelegate(delegate); await controller .loadRequest(LoadRequestParams(uri: Uri.parse(primaryUrl))); @@ -1489,14 +1489,14 @@ Future main() async { ); final Completer alertMessage = Completer(); - await (controller.setOnJavaScriptAlertDialog( + await controller.setOnJavaScriptAlertDialog( (JavaScriptAlertDialogRequest request) async { alertMessage.complete(request.message); }, - )); + ); - await (controller.setJavaScriptMode(JavaScriptMode.unrestricted)); - await ( + await controller.setJavaScriptMode(JavaScriptMode.unrestricted); + ( controller.loadRequest(LoadRequestParams(uri: Uri.parse(primaryUrl))), ); @@ -1519,15 +1519,15 @@ Future main() async { ); final Completer confirmMessage = Completer(); - await (controller.setOnJavaScriptConfirmDialog( + await controller.setOnJavaScriptConfirmDialog( (JavaScriptConfirmDialogRequest request) async { confirmMessage.complete(request.message); return true; }, - )); + ); - await (controller.setJavaScriptMode(JavaScriptMode.unrestricted)); - await ( + await controller.setJavaScriptMode(JavaScriptMode.unrestricted); + ( controller.loadRequest(LoadRequestParams(uri: Uri.parse(primaryUrl))), ); @@ -1549,14 +1549,14 @@ Future main() async { const PlatformWebViewControllerCreationParams(), ); - await (controller.setOnJavaScriptTextInputDialog( + await controller.setOnJavaScriptTextInputDialog( (JavaScriptTextInputDialogRequest request) async { return 'return message'; }, - )); + ); - await (controller.setJavaScriptMode(JavaScriptMode.unrestricted)); - await ( + await controller.setJavaScriptMode(JavaScriptMode.unrestricted); + ( controller.loadRequest(LoadRequestParams(uri: Uri.parse(primaryUrl))), ); @@ -1593,7 +1593,7 @@ Future main() async { final PlatformWebViewController controller = PlatformWebViewController( const PlatformWebViewControllerCreationParams(), ); - await (controller.setJavaScriptMode(JavaScriptMode.unrestricted)); + await controller.setJavaScriptMode(JavaScriptMode.unrestricted); await controller.setOnConsoleMessage((JavaScriptConsoleMessage message) { debugMessageReceived From e1edba5b9b915ba754481942457a6b8d63b28d27 Mon Sep 17 00:00:00 2001 From: camsim99 Date: Tue, 23 Apr 2024 13:17:47 -0700 Subject: [PATCH 15/17] Remove print statements --- .../webview_flutter_test.dart | 80 ++++--------------- 1 file changed, 16 insertions(+), 64 deletions(-) diff --git a/packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test.dart b/packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test.dart index 69f911a7b262..2129da6679a9 100644 --- a/packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test.dart +++ b/packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test.dart @@ -257,34 +257,25 @@ Future main() async { WebViewController controller = WebViewController.fromPlatformCreationParams(params); await controller.setJavaScriptMode(JavaScriptMode.unrestricted); - print('C: Javascript mode set'); await controller.setNavigationDelegate( - NavigationDelegate(onPageFinished: (_) { - print('C: page loaded'); - pageLoaded.complete(); - }), + NavigationDelegate(onPageFinished: (_) => pageLoaded.complete()), ); if (controller.platform is AndroidWebViewController) { await (controller.platform as AndroidWebViewController) .setMediaPlaybackRequiresUserGesture(false); - print('C: media playback requires user gesture set'); } await controller.loadRequest( Uri.parse('data:text/html;charset=utf-8;base64,$videoTestBase64'), ); - print('C: request loaded'); await tester.pumpWidget(WebViewWidget(controller: controller)); - print('C: Widget pumped'); await tester.pumpAndSettle(); - print('C: Pumped and settle'); await pageLoaded.future; - print('C: Future page loaded'); bool isPaused = await controller.runJavaScriptReturningResult('isPaused();') as bool; @@ -293,26 +284,20 @@ Future main() async { pageLoaded = Completer(); controller = WebViewController(); await controller.setJavaScriptMode(JavaScriptMode.unrestricted); - print('C: Javascript mode set 2'); await controller.setNavigationDelegate( NavigationDelegate(onPageFinished: (_) => pageLoaded.complete()), ); - print('C: Navigation delegate set 2'); await controller.loadRequest( Uri.parse('data:text/html;charset=utf-8;base64,$videoTestBase64'), ); - print('C: request loaded 2'); await tester.pumpWidget(WebViewWidget(controller: controller)); - print('C: Widget pumped 2'); await tester.pumpAndSettle(); - print('C: Pumped and settle 2'); await pageLoaded.future; - print('C: Future page loaded 2'); isPaused = await controller.runJavaScriptReturningResult('isPaused();') as bool; @@ -335,15 +320,10 @@ Future main() async { final WebViewController controller = WebViewController.fromPlatformCreationParams(params); await controller.setJavaScriptMode(JavaScriptMode.unrestricted); - print('C: Javascript mode set'); await controller.setNavigationDelegate( - NavigationDelegate(onPageFinished: (_) { - print('C: page loaded'); - pageLoaded.complete(); - }), + NavigationDelegate(onPageFinished: (_) => pageLoaded.complete()), ); - print('C: Navigation delegate set'); await controller.addJavaScriptChannel( 'VideoTestTime', @@ -355,31 +335,24 @@ Future main() async { } }, ); - print('C: js channel added'); if (controller.platform is AndroidWebViewController) { await (controller.platform as AndroidWebViewController) .setMediaPlaybackRequiresUserGesture(false); - print('C: media playback requires user gesture set'); } await controller.loadRequest( Uri.parse('data:text/html;charset=utf-8;base64,$videoTestBase64'), ); - print('C: request loaded'); await tester.pumpWidget(WebViewWidget(controller: controller)); - print('C: Widget pumped'); await tester.pumpAndSettle(); - print('C: Pumped and settle'); await pageLoaded.future; - print('C: Future page loaded'); // Makes sure we get the correct event that indicates the video is actually playing. await videoPlaying.future; - print('C: Video playing loaded'); final bool fullScreen = await controller .runJavaScriptReturningResult('isFullScreen();') as bool; @@ -433,33 +406,24 @@ Future main() async { WebViewController controller = WebViewController.fromPlatformCreationParams(params); await controller.setJavaScriptMode(JavaScriptMode.unrestricted); - print('C: Javascript mode set'); await controller.setNavigationDelegate( - NavigationDelegate(onPageFinished: (_) { - print('C: page loaded'); - pageLoaded.complete(); - }), + NavigationDelegate(onPageFinished: (_) => pageLoaded.complete()), ); - print('C: Navigation delegate set'); if (controller.platform is AndroidWebViewController) { await (controller.platform as AndroidWebViewController) .setMediaPlaybackRequiresUserGesture(false); - print('C: media playback requires user gesture set'); } await controller.loadRequest( Uri.parse('data:text/html;charset=utf-8;base64,$audioTestBase64'), ); - print('C: request loaded'); await tester.pumpWidget(WebViewWidget(controller: controller)); - print('C: Widget pumped'); + await tester.pumpAndSettle(); - print('C: Pumped and settle'); await pageLoaded.future; - print('C: Future page loaded'); bool isPaused = await controller.runJavaScriptReturningResult('isPaused();') as bool; @@ -468,25 +432,19 @@ Future main() async { pageLoaded = Completer(); controller = WebViewController(); await controller.setJavaScriptMode(JavaScriptMode.unrestricted); - print('C: Javascript mode set 2'); await controller.setNavigationDelegate( NavigationDelegate(onPageFinished: (_) => pageLoaded.complete()), ); - print('C: Navigation delegate set 2'); await controller.loadRequest( Uri.parse('data:text/html;charset=utf-8;base64,$audioTestBase64'), ); - print('C: request loaded 2'); await tester.pumpWidget(WebViewWidget(controller: controller)); - print('C: Widget pumped 2'); await tester.pumpAndSettle(); - print('C: Pumped and settle 2'); await pageLoaded.future; - print('C: Future page loaded 2'); isPaused = await controller.runJavaScriptReturningResult('isPaused();') as bool; @@ -806,12 +764,10 @@ Future main() async { final Completer authRequested = Completer(); final WebViewController controller = WebViewController(); - ( - controller.setNavigationDelegate( - NavigationDelegate( - onHttpAuthRequest: (HttpAuthRequest request) => - authRequested.complete(), - ), + await controller.setNavigationDelegate( + NavigationDelegate( + onHttpAuthRequest: (HttpAuthRequest request) => + authRequested.complete(), ), ); @@ -827,20 +783,16 @@ Future main() async { final WebViewController controller = WebViewController(); final Completer pageFinished = Completer(); - ( - controller.setNavigationDelegate( - NavigationDelegate( - onHttpAuthRequest: (HttpAuthRequest request) => request.onProceed( - const WebViewCredential( - user: 'user', - password: 'password', - ), - ), - onPageFinished: (_) => pageFinished.complete(), - onWebResourceError: (_) => fail('Authentication failed'), + await controller.setNavigationDelegate(NavigationDelegate( + onHttpAuthRequest: (HttpAuthRequest request) => request.onProceed( + const WebViewCredential( + user: 'user', + password: 'password', ), ), - ); + onPageFinished: (_) => pageFinished.complete(), + onWebResourceError: (_) => fail('Authentication failed'), + )); await tester.pumpWidget(WebViewWidget(controller: controller)); From 2645d8bd77a8a7a5a69cfd0f2739eefbf7437b2a Mon Sep 17 00:00:00 2001 From: camsim99 Date: Tue, 23 Apr 2024 14:11:08 -0700 Subject: [PATCH 16/17] Fix analyzer --- .../webview_flutter_test.dart | 45 +++++++------------ 1 file changed, 16 insertions(+), 29 deletions(-) diff --git a/packages/webview_flutter/webview_flutter_android/example/integration_test/webview_flutter_test.dart b/packages/webview_flutter/webview_flutter_android/example/integration_test/webview_flutter_test.dart index d39485c3a19b..4c22df1ff28c 100644 --- a/packages/webview_flutter/webview_flutter_android/example/integration_test/webview_flutter_test.dart +++ b/packages/webview_flutter/webview_flutter_android/example/integration_test/webview_flutter_test.dart @@ -865,13 +865,12 @@ Future main() async { const PlatformNavigationDelegateCreationParams(), ); await delegate.setOnPageFinished((_) => pageLoaded.complete()); - ( - delegate.setOnNavigationRequest((NavigationRequest navigationRequest) { - return (navigationRequest.url.contains('youtube.com')) - ? NavigationDecision.prevent - : NavigationDecision.navigate; - }), - ); + await delegate + .setOnNavigationRequest((NavigationRequest navigationRequest) { + return (navigationRequest.url.contains('youtube.com')) + ? NavigationDecision.prevent + : NavigationDecision.navigate; + }); await controller.setPlatformNavigationDelegate(delegate); await controller.loadRequest( @@ -907,11 +906,9 @@ Future main() async { final PlatformNavigationDelegate delegate = PlatformNavigationDelegate( const PlatformNavigationDelegateCreationParams(), ); - ( - delegate.setOnWebResourceError((WebResourceError error) { - errorCompleter.complete(error); - }), - ); + await delegate.setOnWebResourceError((WebResourceError error) { + errorCompleter.complete(error); + }); await controller.setPlatformNavigationDelegate(delegate); await controller.loadRequest( @@ -949,14 +946,10 @@ Future main() async { final PlatformNavigationDelegate delegate = PlatformNavigationDelegate( const PlatformNavigationDelegateCreationParams(), ); - ( - delegate.setOnPageFinished((_) => pageFinishCompleter.complete()), - ); - ( - delegate.setOnWebResourceError((WebResourceError error) { - errorCompleter.complete(error); - }), - ); + await delegate.setOnPageFinished((_) => pageFinishCompleter.complete()); + await delegate.setOnWebResourceError((WebResourceError error) { + errorCompleter.complete(error); + }); await controller.setPlatformNavigationDelegate(delegate); await controller.loadRequest( LoadRequestParams( @@ -1496,9 +1489,7 @@ Future main() async { ); await controller.setJavaScriptMode(JavaScriptMode.unrestricted); - ( - controller.loadRequest(LoadRequestParams(uri: Uri.parse(primaryUrl))), - ); + await controller.loadRequest(LoadRequestParams(uri: Uri.parse(primaryUrl))); await tester.pumpWidget(Builder( builder: (BuildContext context) { @@ -1527,9 +1518,7 @@ Future main() async { ); await controller.setJavaScriptMode(JavaScriptMode.unrestricted); - ( - controller.loadRequest(LoadRequestParams(uri: Uri.parse(primaryUrl))), - ); + await controller.loadRequest(LoadRequestParams(uri: Uri.parse(primaryUrl))); await tester.pumpWidget(Builder( builder: (BuildContext context) { @@ -1556,9 +1545,7 @@ Future main() async { ); await controller.setJavaScriptMode(JavaScriptMode.unrestricted); - ( - controller.loadRequest(LoadRequestParams(uri: Uri.parse(primaryUrl))), - ); + await controller.loadRequest(LoadRequestParams(uri: Uri.parse(primaryUrl))); await tester.pumpWidget(Builder( builder: (BuildContext context) { From 9a903d54545f04916bf49f73c36cd93456630cbf Mon Sep 17 00:00:00 2001 From: camsim99 Date: Tue, 23 Apr 2024 16:09:01 -0700 Subject: [PATCH 17/17] Nits --- .../example/integration_test/webview_flutter_test.dart | 3 --- 1 file changed, 3 deletions(-) diff --git a/packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test.dart b/packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test.dart index 2129da6679a9..de5d3df6dea7 100644 --- a/packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test.dart +++ b/packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test.dart @@ -346,7 +346,6 @@ Future main() async { ); await tester.pumpWidget(WebViewWidget(controller: controller)); - await tester.pumpAndSettle(); await pageLoaded.future; @@ -420,7 +419,6 @@ Future main() async { ); await tester.pumpWidget(WebViewWidget(controller: controller)); - await tester.pumpAndSettle(); await pageLoaded.future; @@ -443,7 +441,6 @@ Future main() async { await tester.pumpWidget(WebViewWidget(controller: controller)); await tester.pumpAndSettle(); - await pageLoaded.future; isPaused =