From a039ddf076834a7facf504c221deff6065cbdce0 Mon Sep 17 00:00:00 2001 From: Carmelo Messina Date: Wed, 22 Jan 2025 13:38:52 +0100 Subject: [PATCH] Add flag to disable external intent requests: disable external internel from custom tabs --- ...-to-disable-external-intent-requests.patch | 22 ++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/build/patches/Add-flag-to-disable-external-intent-requests.patch b/build/patches/Add-flag-to-disable-external-intent-requests.patch index 3376982d..37e183ae 100644 --- a/build/patches/Add-flag-to-disable-external-intent-requests.patch +++ b/build/patches/Add-flag-to-disable-external-intent-requests.patch @@ -11,6 +11,7 @@ enables IntentBlockExternalFormRedirectsNoGesture. License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html --- .../java/res/xml/privacy_preferences.xml | 7 +++- + .../customtabs/CustomTabDelegateFactory.java | 2 ++ .../ExternalNavigationDelegateImpl.java | 4 ++- .../cromite/sAllowExternalIntentRequests.java | 33 +++++++++++++++++++ ...g-to-disable-external-intent-requests.grdp | 9 +++++ @@ -21,7 +22,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html ...ag-to-disable-external-intent-requests.inc | 13 ++++++++ ...t-Delete-block-external-form-redirects.inc | 15 +++++++++ ...ag-to-disable-external-intent-requests.inc | 3 ++ - 11 files changed, 116 insertions(+), 3 deletions(-) + 12 files changed, 118 insertions(+), 3 deletions(-) create mode 100644 chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/cromite/sAllowExternalIntentRequests.java create mode 100644 chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Add-flag-to-disable-external-intent-requests.grdp create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Add-flag-to-disable-external-intent-requests.inc @@ -45,6 +46,25 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi +diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabDelegateFactory.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabDelegateFactory.java +--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabDelegateFactory.java ++++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabDelegateFactory.java +@@ -41,6 +41,7 @@ import org.chromium.chrome.browser.ephemeraltab.EphemeralTabCoordinator; + import org.chromium.chrome.browser.externalnav.ExternalNavigationDelegateImpl; + import org.chromium.chrome.browser.flags.ActivityType; + import org.chromium.chrome.browser.flags.ChromeFeatureList; ++import org.chromium.chrome.browser.flags.cromite.sAllowExternalIntentRequests; + import org.chromium.chrome.browser.fullscreen.BrowserControlsManager; + import org.chromium.chrome.browser.fullscreen.FullscreenManager; + import org.chromium.chrome.browser.init.ChromeActivityNativeDelegate; +@@ -142,6 +143,7 @@ public class CustomTabDelegateFactory implements TabDelegateFactory { + + @Override + public boolean shouldDisableAllExternalIntents() { ++ if (!sAllowExternalIntentRequests.getInstance().isEnabled()) return true; + return mActivityType == ActivityType.AUTH_TAB + && ChromeFeatureList.sCctAuthTabDisableAllExternalIntents.isEnabled(); + } diff --git a/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationDelegateImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationDelegateImpl.java --- a/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationDelegateImpl.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationDelegateImpl.java