pichillilorenzo / flutter_inappwebview

A Flutter plugin that allows you to add an inline webview, to use a headless webview, and to open an in-app browser window.
https://inappwebview.dev
Apache License 2.0
3.26k stars 1.6k forks source link

[shouldOverrideUrlLoading] Stop working after window.open is called #2147

Open EArminjon opened 5 months ago

EArminjon commented 5 months ago

Environment

Technology Version
Flutter version 3.19.5
Plugin version 6.0.0
Android version X
iOS version 17.4
macOS version 14.4.1
Xcode version 15.3
Google Chrome version X

Device information:

iOS 17.4 simulator

Description

Expected behavior: Want to see shouldOverrideUrlLoading called every time window.open is called or onCreateWindow. Actually none are called.

Current behavior: Behavior can be random, don't hesitate to kill and restart the app. First click on "click on me" is always detected by shouldOverrideUrlLoading. Following one are not at all detected or after few attempt no one is detecteed.

Steps to reproduce

  1. Launch the app
  2. Cick on "Click on me"
  3. Look you logs "Nice https://www.fake.fr/test/home detected !" should be displayed
import 'package:flutter/material.dart';
import 'package:flutter_inappwebview/flutter_inappwebview.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(),
      home: const MyHomePage(),
    );
  }
}

class MyHomePage extends StatelessWidget {
  const MyHomePage({super.key});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(),
      body: Column(
        children: [
          Column(
            children: <Widget>[
              Text(
                "Click on the button bellow",
              ),
              Text(
                "After some attempt, shouldOverrideUrlLoading will not be called anymore",
              ),
            ],
          ),
          Expanded(
            child: InAppWebView(
              initialSettings: InAppWebViewSettings(
                javaScriptEnabled: true,
                useShouldOverrideUrlLoading: true,
                javaScriptCanOpenWindowsAutomatically: true,
                cacheEnabled: false,
                cacheMode: CacheMode.LOAD_NO_CACHE,
                allowsBackForwardNavigationGestures: true,
                isInspectable: true,
              ),
              onCreateWindow: _onCreateWindow,
              onWebViewCreated: _onWebViewCreated,
              initialData: InAppWebViewInitialData(
                data: '''
                 <html>
                  <head>
                    <base href="https://www.fake.fr/delivery">
                  </head>

                  <body style="display: flex;align-items:center;justify-content: center;">        
                    <script src="https://code.jquery.com/jquery-3.7.0.min.js"></script>
                    <div>
                      <a id="test"
                        href="/test/home" style="font-size: 50px;">
                        click on me
                      </a>
                    </div>
                    <script>
                      \$(document).on("click", "#test", function (e) {
                        console.log("You clicked on me");
                        window.open(\$(this).attr("href"), "popupWindow", "resizable=1,width=auto,height=auto,scrollbars=yes");
                        return false;
                      });
                    </script>
                  </body>
                 </html>
               ''',
              ),
              shouldOverrideUrlLoading: _shouldOverrideUrlLoading,
            ),
          ),
        ],
      ),
    );
  }

  void _onWebViewCreated(InAppWebViewController controller) {}

  Future<bool?> _onCreateWindow(
    InAppWebViewController controller,
    CreateWindowAction createWindowAction,
  ) async {
    return null;
  }

  Future<NavigationActionPolicy?> _shouldOverrideUrlLoading(
    InAppWebViewController controller,
    NavigationAction navigationAction,
  ) async {
    print(navigationAction);
    if (navigationAction.request.url.toString().contains("test/home")) {
      print("Nice ${navigationAction.request.url} detected !");
      return NavigationActionPolicy.CANCEL;
    }
    return NavigationActionPolicy.ALLOW;
  }
}

Images

https://github.com/pichillilorenzo/flutter_inappwebview/assets/37028599/e3971a5b-715d-417d-a207-7da188e1f3cd

Stacktrace/Logcat

Performing hot restart...
Syncing files to device iPhone 15...
Restarted application in 481ms.
[IOSInAppWebViewWidget] (iOS) IOSInAppWebViewWidget ID 0 calling "onWebViewCreated" using []
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onUpdateVisitedHistory" using {url: about:blank, isReload: null}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "shouldOverrideUrlLoading" using {sourceFrame: {isMainFrame: false, securityOrigin: {host: , port: 0, protocol: }, request: null}, request: {timeoutInterval: 2147483647.0, method: GET, url: about:blank, networkServiceType: 0, allowsExpensiveNetworkAccess: true, allowsConstrainedNetworkAccess: true, body: null, httpShouldUsePipelining: true, mainDocumentURL: about:blank, assumesHTTP3Capable: false, attribution: 0, allowsCellularAccess: true, httpShouldHandleCookies: true, headers: {}, cachePolicy: 0}, isForMainFrame: true, navigationType: -1, hasGesture: null, isRedirect: null, shouldPerformDownload: false, targetFrame: {request: {httpShouldHandleCookies: true, mainDocumentURL: null, body: null, httpShouldUsePipelining: true, networkServiceType: 0, headers: {}, timeoutInterval: 2147483647.0, allowsExpensiveNetworkAccess: true, cachePolicy: 0, assumesHTTP3Capable: false, allowsCellularAccess: true, url: , allowsConstrainedNetworkAccess: true, method: GET, attri...
flutter: NavigationAction{hasGesture: null, isForMainFrame: true, isRedirect: null, navigationType: OTHER, request: URLRequest{allowsCellularAccess: true, allowsConstrainedNetworkAccess: true, allowsExpensiveNetworkAccess: true, assumesHTTP3Capable: false, attribution: DEVELOPER, body: null, cachePolicy: USE_PROTOCOL_CACHE_POLICY, headers: {}, httpShouldHandleCookies: true, httpShouldUsePipelining: true, mainDocumentURL: about:blank, method: GET, networkServiceType: DEFAULT, timeoutInterval: 2147483647.0, url: about:blank}, shouldPerformDownload: false, sourceFrame: FrameInfo{isMainFrame: false, request: null, securityOrigin: SecurityOrigin{host: , port: 0, protocol: }}, targetFrame: FrameInfo{isMainFrame: true, request: URLRequest{allowsCellularAccess: true, allowsConstrainedNetworkAccess: true, allowsExpensiveNetworkAccess: true, assumesHTTP3Capable: false, attribution: DEVELOPER, body: null, cachePolicy: USE_PROTOCOL_CACHE_POLICY, headers: {}, httpShouldHandleCookies: true, httpShouldUsePipe<…>
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onLoadStart" using {url: about:blank}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onPageCommitVisible" using {url: about:blank}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onProgressChanged" using {progress: 28}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onProgressChanged" using {progress: 100}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onLoadStop" using {url: about:blank}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onZoomScaleChanged" using {newScale: 0.4010663628578186, oldScale: 1.0}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onContentSizeChanged" using {newContentSize: {width: 393.0, height: 677.0}, oldContentSize: {width: 0.0, height: 0.0}}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onContentSizeChanged" using {newContentSize: {width: 393.0, height: 677.0}, oldContentSize: {width: 980.0, height: 1688.0}}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onWindowFocus" using []
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onWindowFocus" using []
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onConsoleMessage" using {message: You clicked on me, messageLevel: 1}
flutter: NavigationAction{hasGesture: null, isForMainFrame: true, isRedirect: null, navigationType: OTHER, request: URLRequest{allowsCellularAccess: true, allowsConstrainedNetworkAccess: true, allowsExpensiveNetworkAccess: true, assumesHTTP3Capable: false, attribution: DEVELOPER, body: null, cachePolicy: USE_PROTOCOL_CACHE_POLICY, headers: {Referer: , Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8, User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 17_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148}, httpShouldHandleCookies: true, httpShouldUsePipelining: false, mainDocumentURL: https://www.fake.fr/test/home, method: GET, networkServiceType: DEFAULT, timeoutInterval: 2147483647.0, url: https://www.fake.fr/test/home}, shouldPerformDownload: false, sourceFrame: FrameInfo{isMainFrame: false, request: null, securityOrigin: SecurityOrigin{host: , port: 0, protocol: }}, targetFrame: FrameInfo{isMainFrame: true, request: URLRequest{allowsCellularAccess: tru<…>
flutter: Nice https://www.fake.fr/test/home detected !
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onCreateWindow" using {isForMainFrame: false, targetFrame: null, request: {headers: {Referer: }, allowsCellularAccess: true, body: null, cachePolicy: 0, httpShouldHandleCookies: true, networkServiceType: 0, assumesHTTP3Capable: false, httpShouldUsePipelining: false, allowsConstrainedNetworkAccess: true, url: https://www.fake.fr/test/home, timeoutInterval: 2147483647.0, allowsExpensiveNetworkAccess: true, method: GET, mainDocumentURL: null, attribution: 0}, hasGesture: null, sourceFrame: {request: {httpShouldHandleCookies: true, allowsConstrainedNetworkAccess: true, mainDocumentURL: null, allowsExpensiveNetworkAccess: true, attribution: 0, cachePolicy: 0, timeoutInterval: 2147483647.0, httpShouldUsePipelining: true, url: about:blank, allowsCellularAccess: true, method: GET, networkServiceType: 0, body: null, headers: {}, assumesHTTP3Capable: false}, securityOrigin: {port: 0, host: , protocol: }, isMainFrame: true}, navigationType: -1, shouldPerformDownload: f...
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onProgressChanged" using {progress: 10}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onUpdateVisitedHistory" using {url: https://www.fake.fr/test/home, isReload: null}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "shouldOverrideUrlLoading" using {hasGesture: null, sourceFrame: {request: null, securityOrigin: {protocol: , host: , port: 0}, isMainFrame: false}, isForMainFrame: true, isRedirect: null, request: {httpShouldHandleCookies: true, timeoutInterval: 2147483647.0, allowsCellularAccess: true, networkServiceType: 0, allowsExpensiveNetworkAccess: true, mainDocumentURL: https://www.fake.fr/test/home, url: https://www.fake.fr/test/home, assumesHTTP3Capable: false, headers: {Referer: , Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8, User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 17_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148}, attribution: 0, body: null, httpShouldUsePipelining: false, allowsConstrainedNetworkAccess: true, method: GET, cachePolicy: 0}, targetFrame: {securityOrigin: {port: 0, host: , protocol: }, isMainFrame: true, request: {allowsConstrainedNetworkAccess: true, url: about:blank, attribution: 0, heade...
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onProgressChanged" using {progress: 100}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onUpdateVisitedHistory" using {isReload: null, url: about:blank}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onConsoleMessage" using {message: You clicked on me, messageLevel: 1}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onConsoleMessage" using {message: You clicked on me, messageLevel: 1}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onConsoleMessage" using {messageLevel: 1, message: You clicked on me}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onConsoleMessage" using {messageLevel: 1, message: You clicked on me}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onConsoleMessage" using {messageLevel: 1, message: You clicked on me}
github-actions[bot] commented 5 months ago

👋 @EArminjon

NOTE: This comment is auto-generated.

Are you sure you have already searched for the same problem?

Some people open new issues but they didn't search for something similar or for the same issue. Please, search for it using the GitHub issue search box or on the official inappwebview.dev website, or, also, using Google, StackOverflow, etc. before posting a new one. You may already find an answer to your problem!

If this is really a new issue, then thank you for raising it. I will investigate it and get back to you as soon as possible. Please, make sure you have given me as much context as possible! Also, if you didn't already, post a code example that can replicate this issue.

In the meantime, you can already search for some possible solutions online! Because this plugin uses native WebView, you can search online for the same issue adding android WebView [MY ERROR HERE] or ios WKWebView [MY ERROR HERE] keywords.

Following these steps can save you, me, and other people a lot of time, thanks!

EArminjon commented 5 months ago

By commenting

//onCreateWindow: _onCreateWindow,

Issue happen later but still happen :

Performing hot restart...
Syncing files to device iPhone 15...
Restarted application in 430ms.
[IOSInAppWebViewWidget] (iOS) IOSInAppWebViewWidget ID 0 calling "onWebViewCreated" using []
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onUpdateVisitedHistory" using {url: about:blank, isReload: null}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "shouldOverrideUrlLoading" using {shouldPerformDownload: false, navigationType: -1, hasGesture: null, sourceFrame: {isMainFrame: false, securityOrigin: {host: , port: 0, protocol: }, request: null}, request: {allowsConstrainedNetworkAccess: true, httpShouldUsePipelining: true, mainDocumentURL: about:blank, method: GET, allowsCellularAccess: true, body: null, timeoutInterval: 2147483647.0, headers: {}, allowsExpensiveNetworkAccess: true, attribution: 0, networkServiceType: 0, cachePolicy: 0, url: about:blank, httpShouldHandleCookies: true, assumesHTTP3Capable: false}, targetFrame: {request: {assumesHTTP3Capable: false, httpShouldHandleCookies: true, networkServiceType: 0, url: , timeoutInterval: 2147483647.0, mainDocumentURL: null, attribution: 0, allowsExpensiveNetworkAccess: true, cachePolicy: 0, headers: {}, allowsCellularAccess: true, httpShouldUsePipelining: true, method: GET, body: null, allowsConstrainedNetworkAccess: true}, securityOrigin: {host: , pro...
flutter: NavigationAction{hasGesture: null, isForMainFrame: true, isRedirect: null, navigationType: OTHER, request: URLRequest{allowsCellularAccess: true, allowsConstrainedNetworkAccess: true, allowsExpensiveNetworkAccess: true, assumesHTTP3Capable: false, attribution: DEVELOPER, body: null, cachePolicy: USE_PROTOCOL_CACHE_POLICY, headers: {}, httpShouldHandleCookies: true, httpShouldUsePipelining: true, mainDocumentURL: about:blank, method: GET, networkServiceType: DEFAULT, timeoutInterval: 2147483647.0, url: about:blank}, shouldPerformDownload: false, sourceFrame: FrameInfo{isMainFrame: false, request: null, securityOrigin: SecurityOrigin{host: , port: 0, protocol: }}, targetFrame: FrameInfo{isMainFrame: true, request: URLRequest{allowsCellularAccess: true, allowsConstrainedNetworkAccess: true, allowsExpensiveNetworkAccess: true, assumesHTTP3Capable: false, attribution: DEVELOPER, body: null, cachePolicy: USE_PROTOCOL_CACHE_POLICY, headers: {}, httpShouldHandleCookies: true, httpShouldUsePipe<…>
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onLoadStart" using {url: about:blank}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onPageCommitVisible" using {url: about:blank}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onProgressChanged" using {progress: 28}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onProgressChanged" using {progress: 100}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onLoadStop" using {url: about:blank}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onZoomScaleChanged" using {newScale: 0.4010663628578186, oldScale: 1.0}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onContentSizeChanged" using {oldContentSize: {width: 0.0, height: 0.0}, newContentSize: {width: 393.0, height: 677.0}}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onContentSizeChanged" using {oldContentSize: {width: 980.0, height: 1688.0}, newContentSize: {width: 393.0, height: 677.0}}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onWindowFocus" using []
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onWindowFocus" using []
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onConsoleMessage" using {messageLevel: 1, message: You clicked on me}
flutter: NavigationAction{hasGesture: null, isForMainFrame: true, isRedirect: null, navigationType: OTHER, request: URLRequest{allowsCellularAccess: true, allowsConstrainedNetworkAccess: true, allowsExpensiveNetworkAccess: true, assumesHTTP3Capable: false, attribution: DEVELOPER, body: null, cachePolicy: USE_PROTOCOL_CACHE_POLICY, headers: {Referer: , User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 17_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148, Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8}, httpShouldHandleCookies: true, httpShouldUsePipelining: false, mainDocumentURL: https://www.fake.fr/test/home, method: GET, networkServiceType: DEFAULT, timeoutInterval: 2147483647.0, url: https://www.fake.fr/test/home}, shouldPerformDownload: false, sourceFrame: FrameInfo{isMainFrame: false, request: null, securityOrigin: SecurityOrigin{host: , port: 0, protocol: }}, targetFrame: FrameInfo{isMainFrame: true, request: URLRequest{allowsCellularAccess: tru<…>
flutter: Nice https://www.fake.fr/test/home detected !
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onCreateWindow" using {isRedirect: null, targetFrame: null, windowId: 6, navigationType: -1, shouldPerformDownload: false, hasGesture: null, request: {allowsConstrainedNetworkAccess: true, httpShouldUsePipelining: false, allowsCellularAccess: true, assumesHTTP3Capable: false, attribution: 0, networkServiceType: 0, body: null, httpShouldHandleCookies: true, mainDocumentURL: null, headers: {Referer: }, allowsExpensiveNetworkAccess: true, url: https://www.fake.fr/test/home, method: GET, cachePolicy: 0, timeoutInterval: 2147483647.0}, isForMainFrame: false, sourceFrame: {isMainFrame: true, securityOrigin: {protocol: , port: 0, host: }, request: {allowsExpensiveNetworkAccess: true, cachePolicy: 0, assumesHTTP3Capable: false, attribution: 0, httpShouldUsePipelining: true, allowsCellularAccess: true, mainDocumentURL: null, networkServiceType: 0, url: about:blank, method: GET, headers: {}, body: null, allowsConstrainedNetworkAccess: true, httpShouldHandleCookies: tr...
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onProgressChanged" using {progress: 10}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onUpdateVisitedHistory" using {url: https://www.fake.fr/test/home, isReload: null}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "shouldOverrideUrlLoading" using {request: {allowsConstrainedNetworkAccess: true, httpShouldUsePipelining: false, mainDocumentURL: https://www.fake.fr/test/home, method: GET, allowsCellularAccess: true, body: null, timeoutInterval: 2147483647.0, headers: {Referer: , User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 17_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148, Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8}, allowsExpensiveNetworkAccess: true, attribution: 0, networkServiceType: 0, cachePolicy: 0, url: https://www.fake.fr/test/home, httpShouldHandleCookies: true, assumesHTTP3Capable: false}, navigationType: -1, targetFrame: {request: {assumesHTTP3Capable: false, httpShouldHandleCookies: true, networkServiceType: 0, url: about:blank, timeoutInterval: 2147483647.0, mainDocumentURL: null, attribution: 0, allowsExpensiveNetworkAccess: true, cachePolicy: 0, headers: {}, allowsCellularAccess: true, httpShouldUsePi...
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onProgressChanged" using {progress: 100}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onUpdateVisitedHistory" using {isReload: null, url: about:blank}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onConsoleMessage" using {message: You clicked on me, messageLevel: 1}
flutter: NavigationAction{hasGesture: null, isForMainFrame: true, isRedirect: null, navigationType: OTHER, request: URLRequest{allowsCellularAccess: true, allowsConstrainedNetworkAccess: true, allowsExpensiveNetworkAccess: true, assumesHTTP3Capable: false, attribution: DEVELOPER, body: null, cachePolicy: USE_PROTOCOL_CACHE_POLICY, headers: {Referer: , User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 17_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148, Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8}, httpShouldHandleCookies: true, httpShouldUsePipelining: false, mainDocumentURL: https://www.fake.fr/test/home, method: GET, networkServiceType: DEFAULT, timeoutInterval: 2147483647.0, url: https://www.fake.fr/test/home}, shouldPerformDownload: false, sourceFrame: FrameInfo{isMainFrame: false, request: null, securityOrigin: SecurityOrigin{host: , port: 0, protocol: }}, targetFrame: FrameInfo{isMainFrame: true, request: URLRequest{allowsCellularAccess: tru<…>
flutter: Nice https://www.fake.fr/test/home detected !
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onCreateWindow" using {targetFrame: null, windowFeatures: {width: 0.0, y: null, allowsResizing: true, x: null, menuBarVisibility: null, statusBarVisibility: null, toolbarsVisibility: null, height: 0.0}, windowId: 7, hasGesture: null, isRedirect: null, request: {allowsCellularAccess: true, networkServiceType: 0, cachePolicy: 0, method: GET, allowsExpensiveNetworkAccess: true, assumesHTTP3Capable: false, allowsConstrainedNetworkAccess: true, mainDocumentURL: null, attribution: 0, url: https://www.fake.fr/test/home, body: null, timeoutInterval: 2147483647.0, httpShouldHandleCookies: true, httpShouldUsePipelining: false, headers: {Referer: }}, navigationType: -1, sourceFrame: {securityOrigin: {host: , port: 0, protocol: }, request: {allowsCellularAccess: true, body: null, allowsConstrainedNetworkAccess: true, cachePolicy: 0, allowsExpensiveNetworkAccess: true, mainDocumentURL: null, headers: {}, url: about:blank, networkServiceType: 0, httpShouldUsePipelining: t...
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onProgressChanged" using {progress: 10}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onUpdateVisitedHistory" using {isReload: null, url: https://www.fake.fr/test/home}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "shouldOverrideUrlLoading" using {request: {timeoutInterval: 2147483647.0, mainDocumentURL: https://www.fake.fr/test/home, allowsExpensiveNetworkAccess: true, headers: {Referer: , User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 17_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148, Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8}, httpShouldHandleCookies: true, allowsCellularAccess: true, cachePolicy: 0, method: GET, url: https://www.fake.fr/test/home, attribution: 0, allowsConstrainedNetworkAccess: true, assumesHTTP3Capable: false, body: null, httpShouldUsePipelining: false, networkServiceType: 0}, navigationType: -1, targetFrame: {request: {assumesHTTP3Capable: false, httpShouldHandleCookies: true, networkServiceType: 0, url: about:blank, timeoutInterval: 2147483647.0, mainDocumentURL: null, attribution: 0, allowsExpensiveNetworkAccess: true, cachePolicy: 0, headers: {}, allowsCellularAccess: true, httpShouldUsePi...
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onProgressChanged" using {progress: 100}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onUpdateVisitedHistory" using {isReload: null, url: about:blank}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onConsoleMessage" using {message: You clicked on me, messageLevel: 1}
flutter: NavigationAction{hasGesture: null, isForMainFrame: true, isRedirect: null, navigationType: OTHER, request: URLRequest{allowsCellularAccess: true, allowsConstrainedNetworkAccess: true, allowsExpensiveNetworkAccess: true, assumesHTTP3Capable: false, attribution: DEVELOPER, body: null, cachePolicy: USE_PROTOCOL_CACHE_POLICY, headers: {Referer: , User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 17_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148, Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8}, httpShouldHandleCookies: true, httpShouldUsePipelining: false, mainDocumentURL: https://www.fake.fr/test/home, method: GET, networkServiceType: DEFAULT, timeoutInterval: 2147483647.0, url: https://www.fake.fr/test/home}, shouldPerformDownload: false, sourceFrame: FrameInfo{isMainFrame: false, request: null, securityOrigin: SecurityOrigin{host: , port: 0, protocol: }}, targetFrame: FrameInfo{isMainFrame: true, request: URLRequest{allowsCellularAccess: tru<…>
flutter: Nice https://www.fake.fr/test/home detected !
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onCreateWindow" using {shouldPerformDownload: false, windowId: 8, windowFeatures: {allowsResizing: true, menuBarVisibility: null, x: null, y: null, width: 0.0, statusBarVisibility: null, toolbarsVisibility: null, height: 0.0}, request: {httpShouldHandleCookies: true, url: https://www.fake.fr/test/home, attribution: 0, body: null, assumesHTTP3Capable: false, cachePolicy: 0, httpShouldUsePipelining: false, timeoutInterval: 2147483647.0, headers: {Referer: }, allowsExpensiveNetworkAccess: true, networkServiceType: 0, allowsConstrainedNetworkAccess: true, method: GET, allowsCellularAccess: true, mainDocumentURL: null}, hasGesture: null, isForMainFrame: false, isRedirect: null, navigationType: -1, targetFrame: null, sourceFrame: {request: {networkServiceType: 0, cachePolicy: 0, httpShouldUsePipelining: true, timeoutInterval: 2147483647.0, attribution: 0, assumesHTTP3Capable: false, method: GET, allowsCellularAccess: true, url: about:blank, httpShouldHandleCookies...
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onProgressChanged" using {progress: 10}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onUpdateVisitedHistory" using {url: https://www.fake.fr/test/home, isReload: null}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "shouldOverrideUrlLoading" using {request: {httpShouldHandleCookies: true, url: https://www.fake.fr/test/home, attribution: 0, body: null, assumesHTTP3Capable: false, cachePolicy: 0, httpShouldUsePipelining: false, timeoutInterval: 2147483647.0, headers: {Referer: , User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 17_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148, Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8}, allowsExpensiveNetworkAccess: true, networkServiceType: 0, allowsConstrainedNetworkAccess: true, method: GET, allowsCellularAccess: true, mainDocumentURL: https://www.fake.fr/test/home}, isForMainFrame: true, hasGesture: null, targetFrame: {securityOrigin: {protocol: , host: , port: 0}, isMainFrame: true, request: {cachePolicy: 0, httpShouldHandleCookies: true, timeoutInterval: 2147483647.0, allowsExpensiveNetworkAccess: true, url: about:blank, headers: {}, body: null, httpShouldUsePipelining: true, netw...
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onProgressChanged" using {progress: 100}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onUpdateVisitedHistory" using {url: about:blank, isReload: null}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onConsoleMessage" using {message: You clicked on me, messageLevel: 1}
flutter: NavigationAction{hasGesture: null, isForMainFrame: true, isRedirect: null, navigationType: OTHER, request: URLRequest{allowsCellularAccess: true, allowsConstrainedNetworkAccess: true, allowsExpensiveNetworkAccess: true, assumesHTTP3Capable: false, attribution: DEVELOPER, body: null, cachePolicy: USE_PROTOCOL_CACHE_POLICY, headers: {Referer: , User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 17_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148, Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8}, httpShouldHandleCookies: true, httpShouldUsePipelining: false, mainDocumentURL: https://www.fake.fr/test/home, method: GET, networkServiceType: DEFAULT, timeoutInterval: 2147483647.0, url: https://www.fake.fr/test/home}, shouldPerformDownload: false, sourceFrame: FrameInfo{isMainFrame: false, request: null, securityOrigin: SecurityOrigin{host: , port: 0, protocol: }}, targetFrame: FrameInfo{isMainFrame: true, request: URLRequest{allowsCellularAccess: tru<…>
flutter: Nice https://www.fake.fr/test/home detected !
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onCreateWindow" using {hasGesture: null, request: {method: GET, networkServiceType: 0, mainDocumentURL: null, body: null, cachePolicy: 0, assumesHTTP3Capable: false, httpShouldHandleCookies: true, httpShouldUsePipelining: false, headers: {Referer: }, attribution: 0, timeoutInterval: 2147483647.0, url: https://www.fake.fr/test/home, allowsCellularAccess: true, allowsConstrainedNetworkAccess: true, allowsExpensiveNetworkAccess: true}, isForMainFrame: false, isRedirect: null, navigationType: -1, sourceFrame: {isMainFrame: true, request: {allowsCellularAccess: true, timeoutInterval: 2147483647.0, attribution: 0, method: GET, networkServiceType: 0, url: about:blank, httpShouldUsePipelining: true, mainDocumentURL: null, cachePolicy: 0, allowsConstrainedNetworkAccess: true, httpShouldHandleCookies: true, headers: {}, allowsExpensiveNetworkAccess: true, assumesHTTP3Capable: false, body: null}, securityOrigin: {protocol: , host: , port: 0}}, windowId: 9, windowFeatur...
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onProgressChanged" using {progress: 10}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onUpdateVisitedHistory" using {isReload: null, url: https://www.fake.fr/test/home}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "shouldOverrideUrlLoading" using {request: {networkServiceType: 0, cachePolicy: 0, httpShouldUsePipelining: false, timeoutInterval: 2147483647.0, attribution: 0, assumesHTTP3Capable: false, method: GET, allowsCellularAccess: true, url: https://www.fake.fr/test/home, httpShouldHandleCookies: true, mainDocumentURL: https://www.fake.fr/test/home, body: null, allowsConstrainedNetworkAccess: true, allowsExpensiveNetworkAccess: true, headers: {Referer: , User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 17_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148, Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8}}, isForMainFrame: true, hasGesture: null, targetFrame: {request: {method: GET, allowsCellularAccess: true, headers: {}, body: null, httpShouldHandleCookies: true, httpShouldUsePipelining: true, networkServiceType: 0, timeoutInterval: 2147483647.0, mainDocumentURL: null, attribution: 0, allowsExpensiveNetworkAccess: true, c...
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onProgressChanged" using {progress: 100}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onUpdateVisitedHistory" using {url: about:blank, isReload: null}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onConsoleMessage" using {message: You clicked on me, messageLevel: 1}
flutter: NavigationAction{hasGesture: null, isForMainFrame: true, isRedirect: null, navigationType: OTHER, request: URLRequest{allowsCellularAccess: true, allowsConstrainedNetworkAccess: true, allowsExpensiveNetworkAccess: true, assumesHTTP3Capable: false, attribution: DEVELOPER, body: null, cachePolicy: USE_PROTOCOL_CACHE_POLICY, headers: {Referer: , User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 17_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148, Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8}, httpShouldHandleCookies: true, httpShouldUsePipelining: false, mainDocumentURL: https://www.fake.fr/test/home, method: GET, networkServiceType: DEFAULT, timeoutInterval: 2147483647.0, url: https://www.fake.fr/test/home}, shouldPerformDownload: false, sourceFrame: FrameInfo{isMainFrame: false, request: null, securityOrigin: SecurityOrigin{host: , port: 0, protocol: }}, targetFrame: FrameInfo{isMainFrame: true, request: URLRequest{allowsCellularAccess: tru<…>
flutter: Nice https://www.fake.fr/test/home detected !
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onCreateWindow" using {navigationType: -1, windowId: 10, isRedirect: null, isForMainFrame: false, sourceFrame: {securityOrigin: {port: 0, protocol: , host: }, request: {httpShouldUsePipelining: true, networkServiceType: 0, allowsExpensiveNetworkAccess: true, body: null, allowsCellularAccess: true, httpShouldHandleCookies: true, url: about:blank, method: GET, allowsConstrainedNetworkAccess: true, assumesHTTP3Capable: false, timeoutInterval: 2147483647.0, headers: {}, mainDocumentURL: null, attribution: 0, cachePolicy: 0}, isMainFrame: true}, hasGesture: null, targetFrame: null, windowFeatures: {menuBarVisibility: null, width: 0.0, x: null, height: 0.0, y: null, toolbarsVisibility: null, allowsResizing: true, statusBarVisibility: null}, shouldPerformDownload: false, request: {allowsCellularAccess: true, timeoutInterval: 2147483647.0, attribution: 0, method: GET, networkServiceType: 0, url: https://www.fake.fr/test/home, httpShouldUsePipelining: false, mainDocu...
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onProgressChanged" using {progress: 10}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onUpdateVisitedHistory" using {isReload: null, url: https://www.fake.fr/test/home}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "shouldOverrideUrlLoading" using {targetFrame: {isMainFrame: true, request: {url: about:blank, body: null, assumesHTTP3Capable: false, attribution: 0, headers: {}, allowsCellularAccess: true, allowsExpensiveNetworkAccess: true, cachePolicy: 0, httpShouldHandleCookies: true, httpShouldUsePipelining: true, timeoutInterval: 2147483647.0, allowsConstrainedNetworkAccess: true, mainDocumentURL: null, method: GET, networkServiceType: 0}, securityOrigin: {host: , port: 0, protocol: }}, sourceFrame: {securityOrigin: {host: , protocol: , port: 0}, request: null, isMainFrame: false}, request: {allowsExpensiveNetworkAccess: true, httpShouldHandleCookies: true, assumesHTTP3Capable: false, networkServiceType: 0, method: GET, headers: {Referer: , User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 17_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148, Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8}, cachePolicy: 0, mainDocumentURL: h...
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onProgressChanged" using {progress: 100}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onUpdateVisitedHistory" using {isReload: null, url: about:blank}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onConsoleMessage" using {messageLevel: 1, message: You clicked on me}
flutter: NavigationAction{hasGesture: null, isForMainFrame: true, isRedirect: null, navigationType: OTHER, request: URLRequest{allowsCellularAccess: true, allowsConstrainedNetworkAccess: true, allowsExpensiveNetworkAccess: true, assumesHTTP3Capable: false, attribution: DEVELOPER, body: null, cachePolicy: USE_PROTOCOL_CACHE_POLICY, headers: {Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8, User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 17_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148, Referer: }, httpShouldHandleCookies: true, httpShouldUsePipelining: false, mainDocumentURL: https://www.fake.fr/test/home, method: GET, networkServiceType: DEFAULT, timeoutInterval: 2147483647.0, url: https://www.fake.fr/test/home}, shouldPerformDownload: false, sourceFrame: FrameInfo{isMainFrame: false, request: null, securityOrigin: SecurityOrigin{host: , port: 0, protocol: }}, targetFrame: FrameInfo{isMainFrame: true, request: URLRequest{allowsCellularAccess: tru<…>
flutter: Nice https://www.fake.fr/test/home detected !
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onCreateWindow" using {sourceFrame: {isMainFrame: true, securityOrigin: {port: 0, protocol: , host: }, request: {networkServiceType: 0, cachePolicy: 0, httpShouldUsePipelining: true, timeoutInterval: 2147483647.0, attribution: 0, assumesHTTP3Capable: false, method: GET, allowsCellularAccess: true, url: about:blank, httpShouldHandleCookies: true, mainDocumentURL: null, body: null, allowsConstrainedNetworkAccess: true, allowsExpensiveNetworkAccess: true, headers: {}}}, isRedirect: null, windowFeatures: {x: null, allowsResizing: true, toolbarsVisibility: null, width: 0.0, menuBarVisibility: null, statusBarVisibility: null, y: null, height: 0.0}, navigationType: -1, hasGesture: null, request: {allowsConstrainedNetworkAccess: true, method: GET, timeoutInterval: 2147483647.0, cachePolicy: 0, attribution: 0, httpShouldHandleCookies: true, body: null, assumesHTTP3Capable: false, httpShouldUsePipelining: false, allowsExpensiveNetworkAccess: true, mainDocumentURL: nul...
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onProgressChanged" using {progress: 10}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onUpdateVisitedHistory" using {url: https://www.fake.fr/test/home, isReload: null}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "shouldOverrideUrlLoading" using {isForMainFrame: true, isRedirect: null, request: {body: null, allowsConstrainedNetworkAccess: true, allowsExpensiveNetworkAccess: true, headers: {Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8, User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 17_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148, Referer: }, mainDocumentURL: https://www.fake.fr/test/home, allowsCellularAccess: true, method: GET, httpShouldUsePipelining: false, httpShouldHandleCookies: true, cachePolicy: 0, timeoutInterval: 2147483647.0, url: https://www.fake.fr/test/home, attribution: 0, networkServiceType: 0, assumesHTTP3Capable: false}, navigationType: -1, sourceFrame: {securityOrigin: {port: 0, protocol: , host: }, request: null, isMainFrame: false}, shouldPerformDownload: false, hasGesture: null, targetFrame: {isMainFrame: true, request: {headers: {}, mainDocumentURL: null, attribution: 0, timeoutInterval: 21474...
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onProgressChanged" using {progress: 100}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onUpdateVisitedHistory" using {isReload: null, url: about:blank}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onConsoleMessage" using {messageLevel: 1, message: You clicked on me}
flutter: NavigationAction{hasGesture: null, isForMainFrame: true, isRedirect: null, navigationType: OTHER, request: URLRequest{allowsCellularAccess: true, allowsConstrainedNetworkAccess: true, allowsExpensiveNetworkAccess: true, assumesHTTP3Capable: false, attribution: DEVELOPER, body: null, cachePolicy: USE_PROTOCOL_CACHE_POLICY, headers: {Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8, User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 17_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148, Referer: }, httpShouldHandleCookies: true, httpShouldUsePipelining: false, mainDocumentURL: https://www.fake.fr/test/home, method: GET, networkServiceType: DEFAULT, timeoutInterval: 2147483647.0, url: https://www.fake.fr/test/home}, shouldPerformDownload: false, sourceFrame: FrameInfo{isMainFrame: false, request: null, securityOrigin: SecurityOrigin{host: , port: 0, protocol: }}, targetFrame: FrameInfo{isMainFrame: true, request: URLRequest{allowsCellularAccess: tru<…>
flutter: Nice https://www.fake.fr/test/home detected !
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onCreateWindow" using {request: {allowsConstrainedNetworkAccess: true, attribution: 0, httpShouldHandleCookies: true, headers: {Referer: }, allowsExpensiveNetworkAccess: true, httpShouldUsePipelining: false, timeoutInterval: 2147483647.0, url: https://www.fake.fr/test/home, allowsCellularAccess: true, mainDocumentURL: null, assumesHTTP3Capable: false, networkServiceType: 0, method: GET, body: null, cachePolicy: 0}, isForMainFrame: false, navigationType: -1, windowId: 12, windowFeatures: {statusBarVisibility: null, toolbarsVisibility: null, y: null, allowsResizing: true, menuBarVisibility: null, height: 0.0, width: 0.0, x: null}, shouldPerformDownload: false, sourceFrame: {securityOrigin: {protocol: , host: , port: 0}, isMainFrame: true, request: {method: GET, headers: {}, allowsCellularAccess: true, httpShouldHandleCookies: true, attribution: 0, url: about:blank, body: null, cachePolicy: 0, timeoutInterval: 2147483647.0, allowsConstrainedNetworkAccess: true,...
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onProgressChanged" using {progress: 10}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onUpdateVisitedHistory" using {url: https://www.fake.fr/test/home, isReload: null}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "shouldOverrideUrlLoading" using {request: {httpShouldUsePipelining: false, allowsConstrainedNetworkAccess: true, mainDocumentURL: https://www.fake.fr/test/home, method: GET, assumesHTTP3Capable: false, allowsCellularAccess: true, httpShouldHandleCookies: true, networkServiceType: 0, attribution: 0, url: https://www.fake.fr/test/home, headers: {Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8, User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 17_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148, Referer: }, body: null, allowsExpensiveNetworkAccess: true, cachePolicy: 0, timeoutInterval: 2147483647.0}, isForMainFrame: true, hasGesture: null, targetFrame: {request: {assumesHTTP3Capable: false, attribution: 0, body: null, allowsExpensiveNetworkAccess: true, allowsCellularAccess: true, url: about:blank, headers: {}, mainDocumentURL: null, networkServiceType: 0, allowsConstrainedNetworkAccess: true, cachePolicy: 0, httpSho...
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onProgressChanged" using {progress: 100}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onUpdateVisitedHistory" using {url: about:blank, isReload: null}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onConsoleMessage" using {message: You clicked on me, messageLevel: 1}
flutter: NavigationAction{hasGesture: null, isForMainFrame: true, isRedirect: null, navigationType: OTHER, request: URLRequest{allowsCellularAccess: true, allowsConstrainedNetworkAccess: true, allowsExpensiveNetworkAccess: true, assumesHTTP3Capable: false, attribution: DEVELOPER, body: null, cachePolicy: USE_PROTOCOL_CACHE_POLICY, headers: {User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 17_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148, Referer: , Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8}, httpShouldHandleCookies: true, httpShouldUsePipelining: false, mainDocumentURL: https://www.fake.fr/test/home, method: GET, networkServiceType: DEFAULT, timeoutInterval: 2147483647.0, url: https://www.fake.fr/test/home}, shouldPerformDownload: false, sourceFrame: FrameInfo{isMainFrame: false, request: null, securityOrigin: SecurityOrigin{host: , port: 0, protocol: }}, targetFrame: FrameInfo{isMainFrame: true, request: URLRequest{allowsCellularAccess: tru<…>
flutter: Nice https://www.fake.fr/test/home detected !
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onCreateWindow" using {isForMainFrame: false, request: {allowsExpensiveNetworkAccess: true, httpShouldUsePipelining: false, body: null, url: https://www.fake.fr/test/home, assumesHTTP3Capable: false, httpShouldHandleCookies: true, timeoutInterval: 2147483647.0, networkServiceType: 0, allowsConstrainedNetworkAccess: true, attribution: 0, cachePolicy: 0, method: GET, headers: {Referer: }, allowsCellularAccess: true, mainDocumentURL: null}, isRedirect: null, targetFrame: null, sourceFrame: {securityOrigin: {protocol: , host: , port: 0}, isMainFrame: true, request: {allowsConstrainedNetworkAccess: true, cachePolicy: 0, assumesHTTP3Capable: false, networkServiceType: 0, timeoutInterval: 2147483647.0, body: null, mainDocumentURL: null, attribution: 0, url: about:blank, method: GET, headers: {}, httpShouldHandleCookies: true, allowsExpensiveNetworkAccess: true, allowsCellularAccess: true, httpShouldUsePipelining: true}}, shouldPerformDownload: false, windowId: 13, ...
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onProgressChanged" using {progress: 10}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onUpdateVisitedHistory" using {url: https://www.fake.fr/test/home, isReload: null}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "shouldOverrideUrlLoading" using {sourceFrame: {securityOrigin: {host: , port: 0, protocol: }, isMainFrame: false, request: null}, isForMainFrame: true, targetFrame: {request: {allowsExpensiveNetworkAccess: true, mainDocumentURL: null, allowsConstrainedNetworkAccess: true, method: GET, allowsCellularAccess: true, headers: {}, cachePolicy: 0, httpShouldHandleCookies: true, attribution: 0, httpShouldUsePipelining: true, networkServiceType: 0, body: null, timeoutInterval: 2147483647.0, url: about:blank, assumesHTTP3Capable: false}, securityOrigin: {host: , port: 0, protocol: }, isMainFrame: true}, request: {url: https://www.fake.fr/test/home, attribution: 0, allowsConstrainedNetworkAccess: true, timeoutInterval: 2147483647.0, assumesHTTP3Capable: false, httpShouldHandleCookies: true, allowsCellularAccess: true, method: GET, allowsExpensiveNetworkAccess: true, body: null, cachePolicy: 0, mainDocumentURL: https://www.fake.fr/test/home, headers: {User-Agent: Mozill...
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onProgressChanged" using {progress: 100}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onUpdateVisitedHistory" using {url: about:blank, isReload: null}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onConsoleMessage" using {messageLevel: 1, message: You clicked on me}
flutter: NavigationAction{hasGesture: null, isForMainFrame: true, isRedirect: null, navigationType: OTHER, request: URLRequest{allowsCellularAccess: true, allowsConstrainedNetworkAccess: true, allowsExpensiveNetworkAccess: true, assumesHTTP3Capable: false, attribution: DEVELOPER, body: null, cachePolicy: USE_PROTOCOL_CACHE_POLICY, headers: {Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8, User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 17_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148, Referer: }, httpShouldHandleCookies: true, httpShouldUsePipelining: false, mainDocumentURL: https://www.fake.fr/test/home, method: GET, networkServiceType: DEFAULT, timeoutInterval: 2147483647.0, url: https://www.fake.fr/test/home}, shouldPerformDownload: false, sourceFrame: FrameInfo{isMainFrame: false, request: null, securityOrigin: SecurityOrigin{host: , port: 0, protocol: }}, targetFrame: FrameInfo{isMainFrame: true, request: URLRequest{allowsCellularAccess: tru<…>
flutter: Nice https://www.fake.fr/test/home detected !
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onCreateWindow" using {windowFeatures: {height: 0.0, toolbarsVisibility: null, x: null, menuBarVisibility: null, width: 0.0, statusBarVisibility: null, allowsResizing: true, y: null}, targetFrame: null, windowId: 14, navigationType: -1, sourceFrame: {request: {timeoutInterval: 2147483647.0, assumesHTTP3Capable: false, cachePolicy: 0, attribution: 0, mainDocumentURL: null, allowsConstrainedNetworkAccess: true, httpShouldHandleCookies: true, httpShouldUsePipelining: true, method: GET, body: null, allowsExpensiveNetworkAccess: true, url: about:blank, allowsCellularAccess: true, networkServiceType: 0, headers: {}}, isMainFrame: true, securityOrigin: {protocol: , host: , port: 0}}, shouldPerformDownload: false, request: {assumesHTTP3Capable: false, allowsExpensiveNetworkAccess: true, allowsConstrainedNetworkAccess: true, cachePolicy: 0, body: null, mainDocumentURL: null, timeoutInterval: 2147483647.0, headers: {Referer: }, httpShouldHandleCookies: true, networkSe...
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onProgressChanged" using {progress: 10}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onUpdateVisitedHistory" using {isReload: null, url: https://www.fake.fr/test/home}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "shouldOverrideUrlLoading" using {request: {assumesHTTP3Capable: false, attribution: 0, body: null, allowsExpensiveNetworkAccess: true, allowsCellularAccess: true, url: https://www.fake.fr/test/home, headers: {Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8, User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 17_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148, Referer: }, mainDocumentURL: https://www.fake.fr/test/home, networkServiceType: 0, allowsConstrainedNetworkAccess: true, cachePolicy: 0, httpShouldHandleCookies: true, httpShouldUsePipelining: false, method: GET, timeoutInterval: 2147483647.0}, isForMainFrame: true, hasGesture: null, targetFrame: {securityOrigin: {protocol: , host: , port: 0}, isMainFrame: true, request: {timeoutInterval: 2147483647.0, mainDocumentURL: null, url: about:blank, method: GET, headers: {}, body: null, cachePolicy: 0, httpShouldHandleCookies: true, allowsExpensiveNetworkAccess: true,...
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onProgressChanged" using {progress: 100}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onUpdateVisitedHistory" using {url: about:blank, isReload: null}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onConsoleMessage" using {message: You clicked on me, messageLevel: 1}
flutter: NavigationAction{hasGesture: null, isForMainFrame: true, isRedirect: null, navigationType: OTHER, request: URLRequest{allowsCellularAccess: true, allowsConstrainedNetworkAccess: true, allowsExpensiveNetworkAccess: true, assumesHTTP3Capable: false, attribution: DEVELOPER, body: null, cachePolicy: USE_PROTOCOL_CACHE_POLICY, headers: {Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8, User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 17_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148, Referer: }, httpShouldHandleCookies: true, httpShouldUsePipelining: false, mainDocumentURL: https://www.fake.fr/test/home, method: GET, networkServiceType: DEFAULT, timeoutInterval: 2147483647.0, url: https://www.fake.fr/test/home}, shouldPerformDownload: false, sourceFrame: FrameInfo{isMainFrame: false, request: null, securityOrigin: SecurityOrigin{host: , port: 0, protocol: }}, targetFrame: FrameInfo{isMainFrame: true, request: URLRequest{allowsCellularAccess: tru<…>
flutter: Nice https://www.fake.fr/test/home detected !
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onCreateWindow" using {sourceFrame: {request: {httpShouldUsePipelining: true, method: GET, headers: {}, timeoutInterval: 2147483647.0, body: null, url: about:blank, allowsCellularAccess: true, networkServiceType: 0, httpShouldHandleCookies: true, assumesHTTP3Capable: false, cachePolicy: 0, allowsExpensiveNetworkAccess: true, mainDocumentURL: null, attribution: 0, allowsConstrainedNetworkAccess: true}, securityOrigin: {protocol: , port: 0, host: }, isMainFrame: true}, request: {httpShouldUsePipelining: false, timeoutInterval: 2147483647.0, allowsConstrainedNetworkAccess: true, assumesHTTP3Capable: false, headers: {Referer: }, httpShouldHandleCookies: true, body: null, cachePolicy: 0, networkServiceType: 0, allowsCellularAccess: true, url: https://www.fake.fr/test/home, allowsExpensiveNetworkAccess: true, attribution: 0, method: GET, mainDocumentURL: null}, windowFeatures: {toolbarsVisibility: null, menuBarVisibility: null, height: 0.0, allowsResizing: true, s...
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onProgressChanged" using {progress: 10}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onUpdateVisitedHistory" using {isReload: null, url: https://www.fake.fr/test/home}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "shouldOverrideUrlLoading" using {request: {httpShouldUsePipelining: false, allowsConstrainedNetworkAccess: true, mainDocumentURL: https://www.fake.fr/test/home, method: GET, assumesHTTP3Capable: false, allowsCellularAccess: true, httpShouldHandleCookies: true, networkServiceType: 0, attribution: 0, url: https://www.fake.fr/test/home, headers: {Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8, User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 17_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148, Referer: }, body: null, allowsExpensiveNetworkAccess: true, cachePolicy: 0, timeoutInterval: 2147483647.0}, isForMainFrame: true, hasGesture: null, targetFrame: {request: {assumesHTTP3Capable: false, attribution: 0, body: null, allowsExpensiveNetworkAccess: true, allowsCellularAccess: true, url: about:blank, headers: {}, mainDocumentURL: null, networkServiceType: 0, allowsConstrainedNetworkAccess: true, cachePolicy: 0, httpSho...
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onProgressChanged" using {progress: 100}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onUpdateVisitedHistory" using {isReload: null, url: about:blank}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onZoomScaleChanged" using {oldScale: 0.4010663628578186, newScale: 1.5268065929412842}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onContentSizeChanged" using {newContentSize: {width: 1496.0, height: 2577.0}, oldContentSize: {width: 393.0, height: 677.0}}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onConsoleMessage" using {message: You clicked on me, messageLevel: 1}
flutter: NavigationAction{hasGesture: null, isForMainFrame: true, isRedirect: null, navigationType: OTHER, request: URLRequest{allowsCellularAccess: true, allowsConstrainedNetworkAccess: true, allowsExpensiveNetworkAccess: true, assumesHTTP3Capable: false, attribution: DEVELOPER, body: null, cachePolicy: USE_PROTOCOL_CACHE_POLICY, headers: {Referer: , User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 17_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148, Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8}, httpShouldHandleCookies: true, httpShouldUsePipelining: false, mainDocumentURL: https://www.fake.fr/test/home, method: GET, networkServiceType: DEFAULT, timeoutInterval: 2147483647.0, url: https://www.fake.fr/test/home}, shouldPerformDownload: false, sourceFrame: FrameInfo{isMainFrame: false, request: null, securityOrigin: SecurityOrigin{host: , port: 0, protocol: }}, targetFrame: FrameInfo{isMainFrame: true, request: URLRequest{allowsCellularAccess: tru<…>
flutter: Nice https://www.fake.fr/test/home detected !
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onCreateWindow" using {sourceFrame: {securityOrigin: {port: 0, protocol: , host: }, isMainFrame: true, request: {cachePolicy: 0, attribution: 0, httpShouldHandleCookies: true, assumesHTTP3Capable: false, headers: {}, networkServiceType: 0, url: about:blank, body: null, allowsCellularAccess: true, httpShouldUsePipelining: true, timeoutInterval: 2147483647.0, method: GET, allowsExpensiveNetworkAccess: true, allowsConstrainedNetworkAccess: true, mainDocumentURL: null}}, windowId: 16, windowFeatures: {x: null, y: null, statusBarVisibility: null, menuBarVisibility: null, toolbarsVisibility: null, height: 0.0, allowsResizing: true, width: 0.0}, targetFrame: null, navigationType: -1, shouldPerformDownload: false, hasGesture: null, isForMainFrame: false, isRedirect: null, request: {httpShouldHandleCookies: true, networkServiceType: 0, attribution: 0, mainDocumentURL: null, url: https://www.fake.fr/test/home, allowsExpensiveNetworkAccess: true, allowsCellularAccess: ...
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onProgressChanged" using {progress: 10}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onUpdateVisitedHistory" using {url: https://www.fake.fr/test/home, isReload: null}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "shouldOverrideUrlLoading" using {request: {allowsConstrainedNetworkAccess: true, httpShouldUsePipelining: false, mainDocumentURL: https://www.fake.fr/test/home, method: GET, allowsCellularAccess: true, body: null, timeoutInterval: 2147483647.0, headers: {Referer: , User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 17_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148, Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8}, allowsExpensiveNetworkAccess: true, attribution: 0, networkServiceType: 0, cachePolicy: 0, url: https://www.fake.fr/test/home, httpShouldHandleCookies: true, assumesHTTP3Capable: false}, navigationType: -1, targetFrame: {securityOrigin: {protocol: , host: , port: 0}, isMainFrame: true, request: {assumesHTTP3Capable: false, httpShouldHandleCookies: true, networkServiceType: 0, url: about:blank, timeoutInterval: 2147483647.0, mainDocumentURL: null, attribution: 0, allowsExpensiveNetworkAccess: true, cacheP...
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onProgressChanged" using {progress: 100}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onUpdateVisitedHistory" using {isReload: null, url: about:blank}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onConsoleMessage" using {message: You clicked on me, messageLevel: 1}
flutter: NavigationAction{hasGesture: null, isForMainFrame: true, isRedirect: null, navigationType: OTHER, request: URLRequest{allowsCellularAccess: true, allowsConstrainedNetworkAccess: true, allowsExpensiveNetworkAccess: true, assumesHTTP3Capable: false, attribution: DEVELOPER, body: null, cachePolicy: USE_PROTOCOL_CACHE_POLICY, headers: {Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8, User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 17_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148, Referer: }, httpShouldHandleCookies: true, httpShouldUsePipelining: false, mainDocumentURL: https://www.fake.fr/test/home, method: GET, networkServiceType: DEFAULT, timeoutInterval: 2147483647.0, url: https://www.fake.fr/test/home}, shouldPerformDownload: false, sourceFrame: FrameInfo{isMainFrame: false, request: null, securityOrigin: SecurityOrigin{host: , port: 0, protocol: }}, targetFrame: FrameInfo{isMainFrame: true, request: URLRequest{allowsCellularAccess: tru<…>
flutter: Nice https://www.fake.fr/test/home detected !
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onCreateWindow" using {isForMainFrame: false, shouldPerformDownload: false, windowId: 17, targetFrame: null, windowFeatures: {height: 0.0, allowsResizing: true, toolbarsVisibility: null, x: null, width: 0.0, y: null, menuBarVisibility: null, statusBarVisibility: null}, request: {attribution: 0, timeoutInterval: 2147483647.0, headers: {Referer: }, allowsCellularAccess: true, assumesHTTP3Capable: false, allowsExpensiveNetworkAccess: true, cachePolicy: 0, allowsConstrainedNetworkAccess: true, networkServiceType: 0, httpShouldUsePipelining: false, method: GET, body: null, httpShouldHandleCookies: true, url: https://www.fake.fr/test/home, mainDocumentURL: null}, hasGesture: null, sourceFrame: {securityOrigin: {port: 0, protocol: , host: }, request: {httpShouldUsePipelining: true, mainDocumentURL: null, allowsExpensiveNetworkAccess: true, allowsConstrainedNetworkAccess: true, cachePolicy: 0, assumesHTTP3Capable: false, networkServiceType: 0, attribution: 0, body: ...
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onProgressChanged" using {progress: 10}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onUpdateVisitedHistory" using {url: https://www.fake.fr/test/home, isReload: null}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "shouldOverrideUrlLoading" using {isForMainFrame: true, isRedirect: null, request: {method: GET, httpShouldHandleCookies: true, assumesHTTP3Capable: false, body: null, allowsCellularAccess: true, allowsExpensiveNetworkAccess: true, cachePolicy: 0, timeoutInterval: 2147483647.0, httpShouldUsePipelining: false, networkServiceType: 0, attribution: 0, headers: {Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8, User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 17_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148, Referer: }, url: https://www.fake.fr/test/home, mainDocumentURL: https://www.fake.fr/test/home, allowsConstrainedNetworkAccess: true}, navigationType: -1, sourceFrame: {securityOrigin: {port: 0, protocol: , host: }, request: null, isMainFrame: false}, shouldPerformDownload: false, hasGesture: null, targetFrame: {securityOrigin: {host: , protocol: , port: 0}, request: {body: null, cachePolicy: 0, mainDocumentURL: n...
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onProgressChanged" using {progress: 100}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onUpdateVisitedHistory" using {url: about:blank, isReload: null}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onConsoleMessage" using {message: You clicked on me, messageLevel: 1}
flutter: NavigationAction{hasGesture: null, isForMainFrame: true, isRedirect: null, navigationType: OTHER, request: URLRequest{allowsCellularAccess: true, allowsConstrainedNetworkAccess: true, allowsExpensiveNetworkAccess: true, assumesHTTP3Capable: false, attribution: DEVELOPER, body: null, cachePolicy: USE_PROTOCOL_CACHE_POLICY, headers: {User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 17_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148, Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8, Referer: }, httpShouldHandleCookies: true, httpShouldUsePipelining: false, mainDocumentURL: https://www.fake.fr/test/home, method: GET, networkServiceType: DEFAULT, timeoutInterval: 2147483647.0, url: https://www.fake.fr/test/home}, shouldPerformDownload: false, sourceFrame: FrameInfo{isMainFrame: false, request: null, securityOrigin: SecurityOrigin{host: , port: 0, protocol: }}, targetFrame: FrameInfo{isMainFrame: true, request: URLRequest{allowsCellularAccess: tru<…>
flutter: Nice https://www.fake.fr/test/home detected !
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onCreateWindow" using {navigationType: -1, windowId: 18, isRedirect: null, isForMainFrame: false, sourceFrame: {securityOrigin: {port: 0, protocol: , host: }, request: {cachePolicy: 0, httpShouldHandleCookies: true, mainDocumentURL: null, allowsCellularAccess: true, method: GET, timeoutInterval: 2147483647.0, assumesHTTP3Capable: false, httpShouldUsePipelining: true, allowsExpensiveNetworkAccess: true, body: null, headers: {}, allowsConstrainedNetworkAccess: true, url: about:blank, networkServiceType: 0, attribution: 0}, isMainFrame: true}, hasGesture: null, targetFrame: null, windowFeatures: {menuBarVisibility: null, width: 0.0, x: null, height: 0.0, y: null, toolbarsVisibility: null, allowsResizing: true, statusBarVisibility: null}, shouldPerformDownload: false, request: {allowsCellularAccess: true, headers: {Referer: }, assumesHTTP3Capable: false, body: null, httpShouldHandleCookies: true, httpShouldUsePipelining: false, mainDocumentURL: null, allowsExpen...
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onProgressChanged" using {progress: 10}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onUpdateVisitedHistory" using {url: https://www.fake.fr/test/home, isReload: null}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "shouldOverrideUrlLoading" using {isForMainFrame: true, shouldPerformDownload: false, request: {allowsExpensiveNetworkAccess: true, assumesHTTP3Capable: false, allowsCellularAccess: true, attribution: 0, body: null, url: https://www.fake.fr/test/home, headers: {User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 17_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148, Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8, Referer: }, timeoutInterval: 2147483647.0, networkServiceType: 0, httpShouldUsePipelining: false, cachePolicy: 0, allowsConstrainedNetworkAccess: true, mainDocumentURL: https://www.fake.fr/test/home, method: GET, httpShouldHandleCookies: true}, targetFrame: {isMainFrame: true, request: {httpShouldUsePipelining: true, method: GET, headers: {}, url: about:blank, allowsConstrainedNetworkAccess: true, mainDocumentURL: null, timeoutInterval: 2147483647.0, body: null, assumesHTTP3Capable: false, allowsExpensiveNetwo...
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onProgressChanged" using {progress: 100}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onUpdateVisitedHistory" using {isReload: null, url: about:blank}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onConsoleMessage" using {message: You clicked on me, messageLevel: 1}
flutter: NavigationAction{hasGesture: null, isForMainFrame: true, isRedirect: null, navigationType: OTHER, request: URLRequest{allowsCellularAccess: true, allowsConstrainedNetworkAccess: true, allowsExpensiveNetworkAccess: true, assumesHTTP3Capable: false, attribution: DEVELOPER, body: null, cachePolicy: USE_PROTOCOL_CACHE_POLICY, headers: {User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 17_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148, Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8, Referer: }, httpShouldHandleCookies: true, httpShouldUsePipelining: false, mainDocumentURL: https://www.fake.fr/test/home, method: GET, networkServiceType: DEFAULT, timeoutInterval: 2147483647.0, url: https://www.fake.fr/test/home}, shouldPerformDownload: false, sourceFrame: FrameInfo{isMainFrame: false, request: null, securityOrigin: SecurityOrigin{host: , port: 0, protocol: }}, targetFrame: FrameInfo{isMainFrame: true, request: URLRequest{allowsCellularAccess: tru<…>
flutter: Nice https://www.fake.fr/test/home detected !
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onCreateWindow" using {isRedirect: null, targetFrame: null, windowId: 19, request: {method: GET, allowsExpensiveNetworkAccess: true, timeoutInterval: 2147483647.0, headers: {Referer: }, attribution: 0, httpShouldUsePipelining: false, mainDocumentURL: null, networkServiceType: 0, cachePolicy: 0, assumesHTTP3Capable: false, body: null, url: https://www.fake.fr/test/home, httpShouldHandleCookies: true, allowsCellularAccess: true, allowsConstrainedNetworkAccess: true}, sourceFrame: {isMainFrame: true, securityOrigin: {port: 0, protocol: , host: }, request: {headers: {}, allowsCellularAccess: true, mainDocumentURL: null, networkServiceType: 0, attribution: 0, httpShouldHandleCookies: true, method: GET, assumesHTTP3Capable: false, cachePolicy: 0, allowsConstrainedNetworkAccess: true, allowsExpensiveNetworkAccess: true, url: about:blank, body: null, httpShouldUsePipelining: true, timeoutInterval: 2147483647.0}}, windowFeatures: {x: null, toolbarsVisibility: null, w...
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onProgressChanged" using {progress: 10}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onUpdateVisitedHistory" using {isReload: null, url: https://www.fake.fr/test/home}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "shouldOverrideUrlLoading" using {isForMainFrame: true, shouldPerformDownload: false, request: {httpShouldHandleCookies: true, networkServiceType: 0, allowsExpensiveNetworkAccess: true, timeoutInterval: 2147483647.0, mainDocumentURL: https://www.fake.fr/test/home, headers: {User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 17_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148, Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8, Referer: }, assumesHTTP3Capable: false, attribution: 0, url: https://www.fake.fr/test/home, httpShouldUsePipelining: false, method: GET, cachePolicy: 0, body: null, allowsCellularAccess: true, allowsConstrainedNetworkAccess: true}, targetFrame: {request: {httpShouldUsePipelining: true, method: GET, headers: {}, url: about:blank, allowsConstrainedNetworkAccess: true, mainDocumentURL: null, timeoutInterval: 2147483647.0, body: null, assumesHTTP3Capable: false, allowsExpensiveNetworkAccess: true, htt...
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onProgressChanged" using {progress: 100}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onUpdateVisitedHistory" using {url: about:blank, isReload: null}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onConsoleMessage" using {messageLevel: 1, message: You clicked on me}
flutter: NavigationAction{hasGesture: null, isForMainFrame: true, isRedirect: null, navigationType: OTHER, request: URLRequest{allowsCellularAccess: true, allowsConstrainedNetworkAccess: true, allowsExpensiveNetworkAccess: true, assumesHTTP3Capable: false, attribution: DEVELOPER, body: null, cachePolicy: USE_PROTOCOL_CACHE_POLICY, headers: {Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8, Referer: , User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 17_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148}, httpShouldHandleCookies: true, httpShouldUsePipelining: false, mainDocumentURL: https://www.fake.fr/test/home, method: GET, networkServiceType: DEFAULT, timeoutInterval: 2147483647.0, url: https://www.fake.fr/test/home}, shouldPerformDownload: false, sourceFrame: FrameInfo{isMainFrame: false, request: null, securityOrigin: SecurityOrigin{host: , port: 0, protocol: }}, targetFrame: FrameInfo{isMainFrame: true, request: URLRequest{allowsCellularAccess: tru<…>
flutter: Nice https://www.fake.fr/test/home detected !
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onCreateWindow" using {isRedirect: null, sourceFrame: {request: {body: null, allowsConstrainedNetworkAccess: true, mainDocumentURL: null, httpShouldUsePipelining: true, attribution: 0, allowsCellularAccess: true, cachePolicy: 0, method: GET, headers: {}, assumesHTTP3Capable: false, networkServiceType: 0, timeoutInterval: 2147483647.0, httpShouldHandleCookies: true, allowsExpensiveNetworkAccess: true, url: about:blank}, securityOrigin: {protocol: , host: , port: 0}, isMainFrame: true}, windowFeatures: {allowsResizing: true, statusBarVisibility: null, menuBarVisibility: null, width: 0.0, x: null, y: null, height: 0.0, toolbarsVisibility: null}, request: {allowsExpensiveNetworkAccess: true, cachePolicy: 0, assumesHTTP3Capable: false, attribution: 0, httpShouldUsePipelining: false, allowsCellularAccess: true, mainDocumentURL: null, networkServiceType: 0, url: https://www.fake.fr/test/home, method: GET, headers: {Referer: }, body: null, allowsConstrainedNetworkAc...
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onProgressChanged" using {progress: 10}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onUpdateVisitedHistory" using {isReload: null, url: https://www.fake.fr/test/home}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "shouldOverrideUrlLoading" using {targetFrame: {isMainFrame: true, request: {attribution: 0, mainDocumentURL: null, method: GET, timeoutInterval: 2147483647.0, allowsConstrainedNetworkAccess: true, assumesHTTP3Capable: false, allowsCellularAccess: true, url: about:blank, networkServiceType: 0, headers: {}, body: null, allowsExpensiveNetworkAccess: true, httpShouldUsePipelining: true, cachePolicy: 0, httpShouldHandleCookies: true}, securityOrigin: {protocol: , host: , port: 0}}, sourceFrame: {securityOrigin: {protocol: , port: 0, host: }, request: null, isMainFrame: false}, request: {attribution: 0, allowsExpensiveNetworkAccess: true, headers: {Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8, Referer: , User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 17_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148}, httpShouldHandleCookies: true, body: null, method: GET, timeoutInterval: 2147483647.0, url: https://www.fake.fr/t...
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onProgressChanged" using {progress: 100}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onUpdateVisitedHistory" using {isReload: null, url: about:blank}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onConsoleMessage" using {message: You clicked on me, messageLevel: 1}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onConsoleMessage" using {message: You clicked on me, messageLevel: 1}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onConsoleMessage" using {message: You clicked on me, messageLevel: 1}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onConsoleMessage" using {messageLevel: 1, message: You clicked on me}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onConsoleMessage" using {message: You clicked on me, messageLevel: 1}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onConsoleMessage" using {message: You clicked on me, messageLevel: 1}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onZoomScaleChanged" using {newScale: 0.4010663628578186, oldScale: 1.5268065929412842}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onContentSizeChanged" using {newContentSize: {height: 677.0, width: 393.0}, oldContentSize: {width: 1496.0, height: 2577.0}}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onConsoleMessage" using {messageLevel: 1, message: You clicked on me}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onConsoleMessage" using {messageLevel: 1, message: You clicked on me}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onConsoleMessage" using {message: You clicked on me, messageLevel: 1}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onConsoleMessage" using {messageLevel: 1, message: You clicked on me}
[IOSInAppWebViewController] (iOS) WebView ID 0 calling "onConsoleMessage" using {message: You clicked on me, messageLevel: 1}
EArminjon commented 4 months ago

Seems to be related to the window.open target.

import 'package:flutter/material.dart';
import 'package:flutter_inappwebview/flutter_inappwebview.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(),
      home: const MyHomePage(),
    );
  }
}

class MyHomePage extends StatelessWidget {
  const MyHomePage({super.key});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(),
      body: Column(
        children: <Widget>[
          const Column(
            children: <Widget>[
              Text(
                'Click on the button bellow',
              ),
              Text(
                'After some attempt, shouldOverrideUrlLoading will not be called anymore',
              ),
            ],
          ),
          Expanded(
            child: InAppWebView(
              initialSettings: InAppWebViewSettings(
                javaScriptEnabled: true,
                useShouldOverrideUrlLoading: true,
                javaScriptCanOpenWindowsAutomatically: true,
                cacheEnabled: false,
                cacheMode: CacheMode.LOAD_NO_CACHE,
                allowsBackForwardNavigationGestures: true,
                isInspectable: true,
                supportZoom: false,
              ),
              onCreateWindow: _onCreateWindow,
              onWebViewCreated: _onWebViewCreated,
              initialData: InAppWebViewInitialData(
                data: '''
                 <html>
                  <head>
                    <base href="https://www.fake.fr/delivery">
                  </head>

                  <body style="display: flex;align-items:center;justify-content: center;">        
                    <script src="https://code.jquery.com/jquery-3.7.0.min.js"></script>
                    <div>
                      <a id="test"
                        href="/test/home" style="font-size: 50px;">
                        I got the issue
                      </a>
                      <br/>
                      <a id="test2"
                        href="/test/home" style="font-size: 50px;">
                        I didn't have the issue
                      </a>
                    </div>
                    <script>
                      \$(document).on("click", "#test", function (e) {
                        console.log("You clicked on me");
                        window.open(\$(this).attr("href"), "popupWindow", "resizable=1,width=auto,height=auto,scrollbars=yes");
                        return false;
                      });
                      \$(document).on("click", "#test2", function (e) {
                        console.log("You clicked on me");
                        window.open(\$(this).attr("href"), "", "resizable=1,width=auto,height=auto,scrollbars=yes");
                        return false;
                      });
                    </script>
                  </body>
                 </html>
               ''',
              ),
              shouldOverrideUrlLoading: _shouldOverrideUrlLoading,
            ),
          ),
        ],
      ),
    );
  }

  void _onWebViewCreated(InAppWebViewController controller) {}

  Future<bool?> _onCreateWindow(
    InAppWebViewController controller,
    CreateWindowAction createWindowAction,
  ) async {
    return false;
  }

  Future<NavigationActionPolicy?> _shouldOverrideUrlLoading(
    InAppWebViewController controller,
    NavigationAction navigationAction,
  ) async {
    print(navigationAction);
    if (navigationAction.request.url.toString().contains('test/home')) {
      print('Nice ${navigationAction.request.url} detected !');
      return NavigationActionPolicy.CANCEL;
    }
    return NavigationActionPolicy.ALLOW;
  }
}
EArminjon commented 4 months ago

When using onCreateWindow, its return value seems to be never used. It's always considered as true and so future window can't be open.

EArminjon commented 4 months ago

onCreateWindow's return value is never used and can't be used. Webview createWebViewWith is synchrone. So, when onCreateWindow is used, Webview createWebViewWith must return nil. When onCreateWindow is used, develop must take responsability to create a new webview or to call controller.loadUrl().

I didn't know how to still return webview and let user open new webview using this webviewID, didn't know how it will react.