From fa114385af435b8e98bad54e36aae958567ec42c Mon Sep 17 00:00:00 2001 From: Ilya Kamens Date: Sun, 22 Sep 2024 03:50:05 +0900 Subject: [PATCH 1/2] Whitespace --- src/android/InAppBrowser.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/android/InAppBrowser.java b/src/android/InAppBrowser.java index eed595016..06611c5ac 100644 --- a/src/android/InAppBrowser.java +++ b/src/android/InAppBrowser.java @@ -948,9 +948,9 @@ public boolean onShowFileChooser (WebView webView, ValueCallback filePath settings.setJavaScriptCanOpenWindowsAutomatically(true); settings.setBuiltInZoomControls(showZoomControls); settings.setPluginState(android.webkit.WebSettings.PluginState.ON); - + // download event - + inAppWebView.setDownloadListener( new DownloadListener(){ public void onDownloadStart( @@ -971,7 +971,7 @@ public void onDownloadStart( } } } - ); + ); // Add postMessage interface class JsObject { From 8595a9c0c90aa950c5c84b28dcaf0ceb33cc7aa3 Mon Sep 17 00:00:00 2001 From: Ilya Kamens Date: Sun, 22 Sep 2024 03:50:18 +0900 Subject: [PATCH 2/2] [Android] Fix IAB not destroyed when hidden --- src/android/InAppBrowser.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/android/InAppBrowser.java b/src/android/InAppBrowser.java index 06611c5ac..e90a3058c 100644 --- a/src/android/InAppBrowser.java +++ b/src/android/InAppBrowser.java @@ -539,6 +539,15 @@ public void onPageFinished(WebView view, String url) { dialog.dismiss(); dialog = null; } + + // https://github.com/apache/cordova-plugin-inappbrowser/issues/290 + if (url.equals("about:blank")) { + inAppWebView.onPause(); + inAppWebView.removeAllViews(); + inAppWebView.destroyDrawingCache(); + inAppWebView.destroy(); + inAppWebView = null; + } } }); // NB: From SDK 19: "If you call methods on WebView from any thread