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 02ee1976eb67..ca39d675ca96 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 @@ -933,7 +933,7 @@ Future main() async { }, javascriptMode: JavascriptMode.unrestricted, navigationDelegate: (NavigationRequest request) { - return (request.url.contains('youtube.com')) + return (request.url.contains('does-not-match-target')) ? NavigationDecision.prevent : NavigationDecision.navigate; }, @@ -1057,13 +1057,14 @@ Future main() async { textDirection: TextDirection.ltr, child: WebView( key: GlobalKey(), - initialUrl: blankPageEncoded, + initialUrl: primaryUrl, onWebViewCreated: (WebViewController controller) { controllerCompleter.complete(controller); }, javascriptMode: JavascriptMode.unrestricted, navigationDelegate: (NavigationRequest request) { - return (request.url.contains('youtube.com')) + print('### GOT NAVIGATION REQUEST ### ${request.url}'); + return (request.url.contains('secondary.txt')) ? NavigationDecision.prevent : NavigationDecision.navigate; }, @@ -1074,8 +1075,7 @@ Future main() async { await pageLoads.stream.first; // Wait for initial page load. final WebViewController controller = await controllerCompleter.future; - await controller - .runJavascript('location.href = "https://www.youtube.com/"'); + await controller.runJavascript('location.href = "$secondaryUrl"'); // There should never be any second page load, since our new URL is // blocked. Still wait for a potential page change for some time in order @@ -1083,7 +1083,7 @@ Future main() async { await pageLoads.stream.first .timeout(const Duration(milliseconds: 500), onTimeout: () => ''); final String? currentUrl = await controller.currentUrl(); - expect(currentUrl, isNot(contains('youtube.com'))); + expect(currentUrl, isNot(contains('secondary.txt'))); }); testWidgets('supports asynchronous decisions', (WidgetTester tester) async { 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 58f2f369bcf5..1e7f88f5edff 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 @@ -1029,7 +1029,7 @@ Future main() async { }, javascriptMode: JavascriptMode.unrestricted, navigationDelegate: (NavigationRequest request) { - return (request.url.contains('youtube.com')) + return (request.url.contains('does-not-match-target')) ? NavigationDecision.prevent : NavigationDecision.navigate; }, @@ -1148,13 +1148,14 @@ Future main() async { textDirection: TextDirection.ltr, child: WebView( key: GlobalKey(), - initialUrl: blankPageEncoded, + initialUrl: primaryUrl, onWebViewCreated: (WebViewController controller) { controllerCompleter.complete(controller); }, javascriptMode: JavascriptMode.unrestricted, navigationDelegate: (NavigationRequest request) { - return (request.url.contains('youtube.com')) + print('### GOT NAVIGATION REQUEST ### ${request.url}'); + return (request.url.contains('secondary.txt')) ? NavigationDecision.prevent : NavigationDecision.navigate; }, @@ -1165,8 +1166,7 @@ Future main() async { await pageLoads.stream.first; // Wait for initial page load. final WebViewController controller = await controllerCompleter.future; - await controller - .runJavascript('location.href = "https://www.youtube.com/"'); + await controller.runJavascript('location.href = "$secondaryUrl"'); // There should never be any second page load, since our new URL is // blocked. Still wait for a potential page change for some time in order @@ -1174,7 +1174,7 @@ Future main() async { await pageLoads.stream.first .timeout(const Duration(milliseconds: 500), onTimeout: () => ''); final String? currentUrl = await controller.currentUrl(); - expect(currentUrl, isNot(contains('youtube.com'))); + expect(currentUrl, isNot(contains('secondary.txt'))); }); testWidgets('supports asynchronous decisions', (WidgetTester tester) async { diff --git a/packages/webview_flutter/webview_flutter_wkwebview/example/integration_test/webview_flutter_test.dart b/packages/webview_flutter/webview_flutter_wkwebview/example/integration_test/webview_flutter_test.dart index 924a6caa0f85..abe203938336 100644 --- a/packages/webview_flutter/webview_flutter_wkwebview/example/integration_test/webview_flutter_test.dart +++ b/packages/webview_flutter/webview_flutter_wkwebview/example/integration_test/webview_flutter_test.dart @@ -881,7 +881,7 @@ Future main() async { }, javascriptMode: JavascriptMode.unrestricted, navigationDelegate: (NavigationRequest request) { - return (request.url.contains('youtube.com')) + return (request.url.contains('does-not-match-target')) ? NavigationDecision.prevent : NavigationDecision.navigate; }, @@ -1005,13 +1005,14 @@ Future main() async { textDirection: TextDirection.ltr, child: WebView( key: GlobalKey(), - initialUrl: blankPageEncoded, + initialUrl: primaryUrl, onWebViewCreated: (WebViewController controller) { controllerCompleter.complete(controller); }, javascriptMode: JavascriptMode.unrestricted, navigationDelegate: (NavigationRequest request) { - return (request.url.contains('youtube.com')) + print('### GOT NAVIGATION REQUEST ### ${request.url}'); + return (request.url.contains('secondary.txt')) ? NavigationDecision.prevent : NavigationDecision.navigate; }, @@ -1022,8 +1023,7 @@ Future main() async { await pageLoads.stream.first; // Wait for initial page load. final WebViewController controller = await controllerCompleter.future; - await controller - .runJavascript('location.href = "https://www.youtube.com/"'); + await controller.runJavascript('location.href = "$secondaryUrl"'); // There should never be any second page load, since our new URL is // blocked. Still wait for a potential page change for some time in order @@ -1031,7 +1031,7 @@ Future main() async { await pageLoads.stream.first .timeout(const Duration(milliseconds: 500), onTimeout: () => ''); final String? currentUrl = await controller.currentUrl(); - expect(currentUrl, isNot(contains('youtube.com'))); + expect(currentUrl, isNot(contains('secondary.txt'))); }); testWidgets('supports asynchronous decisions', (WidgetTester tester) async {