Add a development flag for the new material design Settings UI.

A follow up CL will make use of this flag to enable the chrome://md-settings/ url for the new settings page.

BUG=454961

Review URL: https://codereview.chromium.org/895163002

Cr-Commit-Position: refs/heads/master@{#314611}
diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources.grd
index 9e03607..72ac2c8 100644
--- a/chrome/app/generated_resources.grd
+++ b/chrome/app/generated_resources.grd
@@ -5406,6 +5406,14 @@
         </message>
       </if>
 
+      <!-- chrome://md-settings/ - the Material Design Settings page -->
+      <message name="IDS_FLAGS_ENABLE_MATERIAL_DESIGN_SETTINGS_NAME" desc="Name for the flag to enable the material design Settings page.">
+          Enable Material Design settings
+      </message>
+      <message name="IDS_FLAGS_ENABLE_MATERIAL_DESIGN_SETTINGS_DESCRIPTION" desc="Description for the flag to enable the material design Settings page.">
+          If enabled, the chrome://md-settings/ URL loads the Material Design settings page.
+      </message>
+
       <!-- Packaged Apps -->
       <message name="IDS_APP_INSTALL_TITLE" desc="Caption for installing an ephemeral app">
         Install app
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
index 90b2ad6a..1430944 100644
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -1970,6 +1970,14 @@
     SINGLE_VALUE_TYPE(
         switches::kEnableMessageCenterAlwaysScrollUpUponNotificationRemoval)
   },
+  {
+    "enable-md-settings",
+    IDS_FLAGS_ENABLE_MATERIAL_DESIGN_SETTINGS_NAME,
+    IDS_FLAGS_ENABLE_MATERIAL_DESIGN_SETTINGS_DESCRIPTION,
+    kOsDesktop,
+    SINGLE_VALUE_TYPE(
+        switches::kEnableMaterialDesignSettings)
+  },
 #endif
 #if defined(OS_CHROMEOS)
   {
diff --git a/chrome/common/chrome_switches.cc b/chrome/common/chrome_switches.cc
index 220bf60e..6986eee 100644
--- a/chrome/common/chrome_switches.cc
+++ b/chrome/common/chrome_switches.cc
@@ -451,6 +451,9 @@
 // Enables experimentation with launching ephemeral apps via hyperlinks.
 const char kEnableLinkableEphemeralApps[]   = "enable-linkable-ephemeral-apps";
 
+// Enables the material design Settings feature.
+const char kEnableMaterialDesignSettings[]  = "enable-md-settings";
+
 // Runs the Native Client inside the renderer process and enables GPU plugin
 // (internally adds lEnableGpuPlugin to the command line).
 const char kEnableNaCl[]                    = "enable-nacl";
diff --git a/chrome/common/chrome_switches.h b/chrome/common/chrome_switches.h
index d39824a..d877231 100644
--- a/chrome/common/chrome_switches.h
+++ b/chrome/common/chrome_switches.h
@@ -132,6 +132,7 @@
 extern const char kEnableFastUnload[];
 extern const char kEnableIPv6[];
 extern const char kEnableLinkableEphemeralApps[];
+extern const char kEnableMaterialDesignSettings[];
 extern const char kEnableNaCl[];
 extern const char kEnableNetBenchmarking[];
 extern const char kEnableNewBookmarkApps[];
diff --git a/tools/metrics/histograms/histograms.xml b/tools/metrics/histograms/histograms.xml
index 8221cde..2996e4ed 100644
--- a/tools/metrics/histograms/histograms.xml
+++ b/tools/metrics/histograms/histograms.xml
@@ -50741,6 +50741,7 @@
   <int value="-2008272679" label="disable-webrtc-hw-encoding"/>
   <int value="-2003354337"
       label="enable-search-button-in-omnibox-for-str-or-iip"/>
+  <int value="-1998927516" label="enable-md-settings"/>
   <int value="-1985025593" label="file-manager-enable-new-gallery"/>
   <int value="-1972383451" label="disable-pinch"/>
   <int value="-1940806558" label="enable-syncfs-directory-operation"/>