[Extensions Click-to-Script] Add flag for extensions menu access control
Bug: 1239772
Change-Id: Ic1b4468d273dee0bcb9643f149048e0f14f04a9c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3075408
Commit-Queue: Emilia Paz <[email protected]>
Reviewed-by: Peter Boström <[email protected]>
Cr-Commit-Position: refs/heads/master@{#911954}
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
index 2e78f4f..b73a23d 100644
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -7494,6 +7494,11 @@
FEATURE_VALUE_TYPE(ash::features::kTrafficCountersSettingsUi)},
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
+ {"extensions-menu-access-control",
+ flag_descriptions::kExtensionsMenuAccessControlName,
+ flag_descriptions::kExtensionsMenuAccessControlDescription, kOsDesktop,
+ FEATURE_VALUE_TYPE(features::kExtensionsMenuAccessControl)},
+
// NOTE: Adding a new flag requires adding a corresponding entry to enum
// "LoginCustomFlags" in tools/metrics/histograms/enums.xml. See "Flag
// Histograms" in tools/metrics/histograms/README.md (run the
diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json
index 61774aa..0b64b20e6 100644
--- a/chrome/browser/flag-metadata.json
+++ b/chrome/browser/flag-metadata.json
@@ -2977,6 +2977,11 @@
"expiry_milestone": 100
},
{
+ "name": "extensions-menu-access-control",
+ "owners": [ "emiliapaz" ],
+ "expiry_milestone": 100
+ },
+ {
"name": "extensions-on-chrome-urls",
"owners": [ "//extensions/OWNERS" ],
// This enables the use of extensions on chrome:// URLs. This is useful for
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
index 389f88bd..c37e875b 100644
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -1231,6 +1231,12 @@
const char kExtensionContentVerificationEnforceStrict[] =
"Enforce strict (hard fail if we can't get hashes)";
+const char kExtensionsMenuAccessControlName[] =
+ "Extensions Menu Access Control";
+const char kExtensionsMenuAccessControlDescription[] =
+ "Enables a redesigned extensions menu that allows the user to control "
+ "extensions site access.";
+
const char kExtensionsOnChromeUrlsName[] = "Extensions on chrome:// URLs";
const char kExtensionsOnChromeUrlsDescription[] =
"Enables running extensions on chrome:// URLs, where extensions explicitly "
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
index e62a0cb..2734a6c2 100644
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -706,6 +706,9 @@
extern const char kExtensionContentVerificationEnforce[];
extern const char kExtensionContentVerificationEnforceStrict[];
+extern const char kExtensionsMenuAccessControlName[];
+extern const char kExtensionsMenuAccessControlDescription[];
+
extern const char kExtensionsOnChromeUrlsName[];
extern const char kExtensionsOnChromeUrlsDescription[];
diff --git a/chrome/browser/ui/ui_features.cc b/chrome/browser/ui/ui_features.cc
index 42f4068..361f083 100644
--- a/chrome/browser/ui/ui_features.cc
+++ b/chrome/browser/ui/ui_features.cc
@@ -6,6 +6,7 @@
#include "base/feature_list.h"
#include "build/chromeos_buildflags.h"
+#include "ui_features.h"
namespace features {
@@ -46,6 +47,11 @@
const base::Feature kEvDetailsInPageInfo{"EvDetailsInPageInfo",
base::FEATURE_ENABLED_BY_DEFAULT};
+// Enables showing the new extensions menu and toolbar that allows the user to
+// access control permissions.
+const base::Feature kExtensionsMenuAccessControl{
+ "ExtensionsMenuAccessControl", base::FEATURE_DISABLED_BY_DEFAULT};
+
// Enables the hosting of an extension in the left aligned side panel of the
// browser window. Currently used for a hosted extension experiment.
const base::Feature kExtensionsSidePanel{"ExtensionsSidePanel",
diff --git a/chrome/browser/ui/ui_features.h b/chrome/browser/ui/ui_features.h
index 643028af..3379c4b 100644
--- a/chrome/browser/ui/ui_features.h
+++ b/chrome/browser/ui/ui_features.h
@@ -42,6 +42,8 @@
extern const base::Feature kEvDetailsInPageInfo;
+extern const base::Feature kExtensionsMenuAccessControl;
+
extern const base::Feature kExtensionsSidePanel;
// The extension id of the extension hosted in the left aligned side panel.
diff --git a/tools/metrics/histograms/enums.xml b/tools/metrics/histograms/enums.xml
index ba53daf..514fed8 100644
--- a/tools/metrics/histograms/enums.xml
+++ b/tools/metrics/histograms/enums.xml
@@ -50619,6 +50619,7 @@
<int value="1015012662" label="ChromeOSDirectVideoDecoder:enabled"/>
<int value="1015895665" label="drop-sync-credential:enabled"/>
<int value="1017364362" label="VrIconInDaydreamHome:enabled"/>
+ <int value="1017523412" label="ExtensionsMenuAccessControl:disabled"/>
<int value="1018797564" label="EnableAppListSearchAutocomplete:disabled"/>
<int value="1018998019" label="memlog"/>
<int value="1019623058" label="ash-enable-shelf-model-synchronization"/>
@@ -51562,6 +51563,7 @@
<int value="1775475563" label="malware-interstitial-v3"/>
<int value="1775652804" label="OmniboxBookmarkPaths:disabled"/>
<int value="1775730290" label="OmniboxKeywordSearchButton:enabled"/>
+ <int value="1776136073" label="ExtensionsMenuAccessControl:enabled"/>
<int value="1776163541" label="DesktopPWAsWebBundles:enabled"/>
<int value="1776475705" label="show-composited-layer-borders"/>
<int value="1777059507" label="trust-autofill-server-name-types"/>