From: csagan5 <32685696+csagan5@users.noreply.github.com> Date: Tue, 25 May 2021 19:46:14 +0200 Subject: Add flag to disable external intent requests Adds a new flag that allows to control the switch with same name; when flag is disabled no external intent will ever be allowed, for any URL. License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html --- chrome/browser/about_flags.cc | 5 +++++ chrome/browser/flag_descriptions.cc | 6 ++++++ chrome/browser/flag_descriptions.h | 3 +++ 3 files changed, 14 insertions(+) diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc --- a/chrome/browser/about_flags.cc +++ b/chrome/browser/about_flags.cc @@ -4133,6 +4133,11 @@ const FeatureEntry kFeatureEntries[] = { {"ui-disable-partial-swap", flag_descriptions::kUiPartialSwapName, flag_descriptions::kUiPartialSwapDescription, kOsAll, SINGLE_DISABLE_VALUE_TYPE(switches::kUIDisablePartialSwap)}, +#if BUILDFLAG(IS_ANDROID) + {"allow-external-intent-requests", flag_descriptions::kDisableExternalIntentRequestsName, + flag_descriptions::kDisableExternalIntentRequestsDescription, kOsAll, + SINGLE_DISABLE_VALUE_TYPE("disable-external-intent-requests")}, +#endif {"disable-webrtc-hw-decoding", flag_descriptions::kWebrtcHwDecodingName, flag_descriptions::kWebrtcHwDecodingDescription, kOsAndroid | kOsCrOS, SINGLE_DISABLE_VALUE_TYPE(switches::kDisableWebRtcHWDecoding)}, diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc --- a/chrome/browser/flag_descriptions.cc +++ b/chrome/browser/flag_descriptions.cc @@ -4276,6 +4276,12 @@ const char kPolicyLogsPageAndroidDescription[] = "Enable the new chrome://policy-logs page containing logs for debugging " "policy related issues on Android."; +const char kDisableExternalIntentRequestsName[] = + "Allow forward URL requests to external intents"; +const char kDisableExternalIntentRequestsDescription[] = + "If disabled, URL requests will never" + "allow for redirecting to an external intent."; + const char kQueryTilesName[] = "Show query tiles"; const char kQueryTilesDescription[] = "Shows query tiles in Chrome"; const char kQueryTilesNTPName[] = "Show query tiles in NTP"; diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h --- a/chrome/browser/flag_descriptions.h +++ b/chrome/browser/flag_descriptions.h @@ -2537,6 +2537,9 @@ extern const char kQueryTilesNTPDescription[]; extern const char kQueryTilesOnStartName[]; extern const char kQueryTilesOnStartDescription[]; extern const char kQueryTilesSingleTierName[]; +extern const char kDisableExternalIntentRequestsName[]; +extern const char kDisableExternalIntentRequestsDescription[]; + extern const char kQueryTilesSingleTierDescription[]; extern const char kQueryTilesEnableQueryEditingName[]; extern const char kQueryTilesEnableQueryEditingDescription[]; -- 2.25.1