[Chrome Colors] Add Chrome Colors flag and feature
Bug: 960982
Change-Id: I34059e493332e6dca9ed9e1fa91babd916523948
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1601636
Commit-Queue: Gayane Petrosyan <gayane@chromium.org>
Reviewed-by: Kyle Milka <kmilka@chromium.org>
Cr-Commit-Position: refs/heads/master@{#658660}
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
index 475b8f9..a6cc1f3 100644
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -2703,6 +2703,10 @@
#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX)
#if !defined(OS_ANDROID)
+ {"chrome-colors", flag_descriptions::kChromeColorsName,
+ flag_descriptions::kChromeColorsDescription, kOsDesktop,
+ FEATURE_VALUE_TYPE(features::kChromeColors)},
+
{"remove-ntp-fakebox", flag_descriptions::kRemoveNtpFakeboxName,
flag_descriptions::kRemoveNtpFakeboxDescription, kOsDesktop,
FEATURE_VALUE_TYPE(features::kRemoveNtpFakebox)},
diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json
index b0dbcc08..fe1112f 100644
--- a/chrome/browser/flag-metadata.json
+++ b/chrome/browser/flag-metadata.json
@@ -371,6 +371,11 @@
"expiry_milestone": 76
},
{
+ "name": "chrome-colors",
+ "owners": ["gayane"],
+ "expiry_milestone": 78
+ },
+ {
"name": "clear-old-browsing-data",
"owners": [ "dullweber" ],
"expiry_milestone": 78
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
index 5b6c4fa..dd78340 100644
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -2597,6 +2597,10 @@
const char kAppManagementDescription[] =
"Shows the new app management page at chrome://apps.";
+const char kChromeColorsName[] = "Chrome Colors menu";
+const char kChromeColorsDescription[] =
+ "Show Chrome Colors menu in the NTP customization menu.";
+
const char kRemoveNtpFakeboxName[] = "Remove fakebox from the NTP";
const char kRemoveNtpFakeboxDescription[] =
"Do not show the fakebox on the New Tab page.";
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
index afd97365..85499453 100644
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -1551,6 +1551,9 @@
extern const char kAutofillDropdownLayoutName[];
extern const char kAutofillDropdownLayoutDescription[];
+extern const char kChromeColorsName[];
+extern const char kChromeColorsDescription[];
+
extern const char kRemoveNtpFakeboxName[];
extern const char kRemoveNtpFakeboxDescription[];
diff --git a/chrome/browser/resources/local_ntp/custom_backgrounds.js b/chrome/browser/resources/local_ntp/custom_backgrounds.js
index 196d9a4..e9032340 100644
--- a/chrome/browser/resources/local_ntp/custom_backgrounds.js
+++ b/chrome/browser/resources/local_ntp/custom_backgrounds.js
@@ -217,6 +217,7 @@
$(customBackgrounds.IDS.EDIT_BG_DIVIDER).hidden = false;
$(customBackgrounds.IDS.CUSTOM_LINKS_RESTORE_DEFAULT).hidden =
configData.hideShortcuts;
+ $(customBackgrounds.IDS.COLORS_BUTTON).hidden = !configData.chromeColors;
};
/**
diff --git a/chrome/browser/resources/local_ntp/externs.js b/chrome/browser/resources/local_ntp/externs.js
index f5e69bbb..60cd9a2d 100644
--- a/chrome/browser/resources/local_ntp/externs.js
+++ b/chrome/browser/resources/local_ntp/externs.js
@@ -33,7 +33,8 @@
* removeFakebox: boolean,
* alternateFakebox: boolean,
* fakeboxSearchIcon: boolean,
- * hideShortcuts: boolean}}
+ * hideShortcuts: boolean,
+ * chromeColors: boolean}}
*/
let configData;
diff --git a/chrome/browser/search/local_ntp_source.cc b/chrome/browser/search/local_ntp_source.cc
index e5f2083..3e6f84b4 100644
--- a/chrome/browser/search/local_ntp_source.cc
+++ b/chrome/browser/search/local_ntp_source.cc
@@ -623,6 +623,8 @@
config_data.SetBoolean(
"richerPicker",
base::FeatureList::IsEnabled(features::kNtpCustomizationMenuV2));
+ config_data.SetBoolean("chromeColors", base::FeatureList::IsEnabled(
+ features::kChromeColors));
}
// Serialize the dictionary.
diff --git a/chrome/browser/search/ntp_features.cc b/chrome/browser/search/ntp_features.cc
index 1b6929f..606e4ff 100644
--- a/chrome/browser/search/ntp_features.cc
+++ b/chrome/browser/search/ntp_features.cc
@@ -9,6 +9,10 @@
namespace features {
+// If enabled, 'Chrome Colors' menu becomes visible in the customization picker.
+const base::Feature kChromeColors{"ChromeColors",
+ base::FEATURE_DISABLED_BY_DEFAULT};
+
// If enabled, does not fade in most visited tiles on initial page load.
const base::Feature kDisableInitialMostVisitedFadeIn{
"DisableInitialMostVisitedFadeIn", base::FEATURE_DISABLED_BY_DEFAULT};
diff --git a/chrome/browser/search/ntp_features.h b/chrome/browser/search/ntp_features.h
index 3211ce94..a642e74 100644
--- a/chrome/browser/search/ntp_features.h
+++ b/chrome/browser/search/ntp_features.h
@@ -12,6 +12,7 @@
// The features should be documented alongside the definition of their values in
// the .cc file.
+extern const base::Feature kChromeColors;
extern const base::Feature kDisableInitialMostVisitedFadeIn;
extern const base::Feature kNtpCustomizationMenuV2;
extern const base::Feature kRemoveNtpFakebox;
diff --git a/tools/metrics/histograms/enums.xml b/tools/metrics/histograms/enums.xml
index a600e3f..3e435ae 100644
--- a/tools/metrics/histograms/enums.xml
+++ b/tools/metrics/histograms/enums.xml
@@ -32957,6 +32957,7 @@
<int value="-1650769314" label="enable-webgl2-compute-context"/>
<int value="-1649778035" label="disable-clear-browsing-data-counters"/>
<int value="-1648216169" label="NewOmniboxAnswerTypes:disabled"/>
+ <int value="-1645071473" label="ChromeColors:disabled"/>
<int value="-1638815914" label="enable-experimental-productivity-features"/>
<int value="-1634878515" label="ChromeHomeModernLayout:enabled"/>
<int value="-1634490190"
@@ -34735,6 +34736,7 @@
<int value="1070164693" label="MidiManagerDynamicInstantiation:disabled"/>
<int value="1070300488" label="disable-webgl"/>
<int value="1070449228" label="ContextualSuggestionsCarousel:enabled"/>
+ <int value="1070840417" label="ChromeColors:enabled"/>
<int value="1071520357" label="WebAuthenticationTouchId:enabled"/>
<int value="1072010558" label="NTPModernLayout:disabled"/>
<int value="1074359194" label="UseSuggestionsEvenIfFew:enabled"/>