summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorimcheng <imcheng@chromium.org>2015-11-06 14:19:57 -0800
committerCommit bot <commit-bot@chromium.org>2015-11-06 22:20:43 +0000
commitfdd14e98414951794cd4060072cde55979c3f01f (patch)
treeabb78ab9425a6945b826743563bfa230b055dd00
parent1ad5e69bb318f47ce5348dfa82dac97fc90ccc43 (diff)
downloadchromium_src-fdd14e98414951794cd4060072cde55979c3f01f.zip
chromium_src-fdd14e98414951794cd4060072cde55979c3f01f.tar.gz
chromium_src-fdd14e98414951794cd4060072cde55979c3f01f.tar.bz2
[Media Router] Replace --enable-media-router with trivalue switch
We need a way for users to explicitly disable Media Router if it were enabled by experiment. This is currently not possible since Media Router uses FeatureSwitch, and --enable-media-router is considered a "legacy" switch, which means explicit disabling that overrides experiment value is not supported (because the fallback value is to disable). Changing to a tri value flag (1, 0, default) will solve this problem and allow explicit enabling/disabling of MediaRouter overriding experiment group. BUG=552144 Review URL: https://codereview.chromium.org/1420423008 Cr-Commit-Position: refs/heads/master@{#358422}
-rw-r--r--chrome/browser/about_flags.cc5
-rw-r--r--chrome/common/chrome_switches.cc6
-rw-r--r--chrome/common/chrome_switches.h2
-rw-r--r--chrome/test/data/webui/media_router/media_router_elements_browsertest.js2
-rw-r--r--chrome/test/media_router/media_router_e2e_browsertest.cc2
-rw-r--r--extensions/common/feature_switch.cc2
-rw-r--r--tools/metrics/histograms/histograms.xml1
7 files changed, 11 insertions, 9 deletions
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
index bf65db4..720aff7 100644
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -1880,11 +1880,12 @@ const FeatureEntry kFeatureEntries[] = {
ENABLE_DISABLE_VALUE_TYPE(switches::kV8PacMojoOutOfProcess,
switches::kDisableOutOfProcessPac)},
#if defined(ENABLE_MEDIA_ROUTER) && !defined(OS_ANDROID)
- {"enable-media-router",
+ {"media-router",
IDS_FLAGS_ENABLE_MEDIA_ROUTER_NAME,
IDS_FLAGS_ENABLE_MEDIA_ROUTER_DESCRIPTION,
kOsDesktop,
- SINGLE_VALUE_TYPE(switches::kEnableMediaRouter)},
+ ENABLE_DISABLE_VALUE_TYPE_AND_VALUE(
+ switches::kMediaRouter, "1", switches::kMediaRouter, "0")},
#endif // defined(ENABLE_MEDIA_ROUTER) && !defined(OS_ANDROID)
// Since Drive Search is not available when app list is disabled, flag guard
// enable-drive-search-in-chrome-launcher flag.
diff --git a/chrome/common/chrome_switches.cc b/chrome/common/chrome_switches.cc
index bf78d63..a76cc80 100644
--- a/chrome/common/chrome_switches.cc
+++ b/chrome/common/chrome_switches.cc
@@ -436,9 +436,6 @@ const char kEnableMaterialDesignExtensions[] = "enable-md-extensions";
// Enables the Material Design policy page at chrome://md-policy.
const char kEnableMaterialDesignPolicyPage[] = "enable-md-policy-page";
-// Enables Media Router.
-const char kEnableMediaRouter[] = "enable-media-router";
-
// Runs the Native Client inside the renderer process and enables GPU plugin
// (internally adds lEnableGpuPlugin to the command line).
const char kEnableNaCl[] = "enable-nacl";
@@ -720,6 +717,9 @@ const char kMarkNonSecureAsNonSecure[] = "non-secure";
// Forces the maximum disk space to be used by the media cache, in bytes.
const char kMediaCacheSize[] = "media-cache-size";
+// Enables Media Router.
+const char kMediaRouter[] = "media-router";
+
// Enables histograming of tasks served by MessageLoop. See
// about:histograms/Loop for results, which show frequency of messages on each
// thread, including APC count, object signalling count, etc.
diff --git a/chrome/common/chrome_switches.h b/chrome/common/chrome_switches.h
index 59d930ab..bb2ccde 100644
--- a/chrome/common/chrome_switches.h
+++ b/chrome/common/chrome_switches.h
@@ -125,7 +125,6 @@ extern const char kEnableFastUnload[];
extern const char kEnableMaterialDesignDownloads[];
extern const char kEnableMaterialDesignExtensions[];
extern const char kEnableMaterialDesignPolicyPage[];
-extern const char kEnableMediaRouter[];
extern const char kEnableNaCl[];
extern const char kEnableNavigationTracing[];
extern const char kEnableNetBenchmarking[];
@@ -202,6 +201,7 @@ extern const char kMarkNonSecureAs[];
extern const char kMarkNonSecureAsNeutral[];
extern const char kMarkNonSecureAsNonSecure[];
extern const char kMediaCacheSize[];
+extern const char kMediaRouter[];
extern const char kMessageLoopHistogrammer[];
extern const char kMetricsRecordingOnly[];
extern const char kMonitoringDestinationID[];
diff --git a/chrome/test/data/webui/media_router/media_router_elements_browsertest.js b/chrome/test/data/webui/media_router/media_router_elements_browsertest.js
index 4672ed4..799315e 100644
--- a/chrome/test/data/webui/media_router/media_router_elements_browsertest.js
+++ b/chrome/test/data/webui/media_router/media_router_elements_browsertest.js
@@ -25,7 +25,7 @@ MediaRouterElementsBrowserTest.prototype = {
browsePreload: 'chrome://media-router/',
commandLineSwitches: [{
- switchName: 'enable-media-router',
+ switchName: 'media-router', switchValue: '1'
}],
// List tests for individual elements.
diff --git a/chrome/test/media_router/media_router_e2e_browsertest.cc b/chrome/test/media_router/media_router_e2e_browsertest.cc
index 465030f..256f26d90 100644
--- a/chrome/test/media_router/media_router_e2e_browsertest.cc
+++ b/chrome/test/media_router/media_router_e2e_browsertest.cc
@@ -29,7 +29,7 @@
// --enable-logging=stderr
// --whitelisted-extension-id=enhhojjnijigcajfphajepfemndkmdlo
// --ui-test-action-timeout=200000
-// --enable-media-router
+// --media-router=1
namespace {
// Command line argument to specify receiver,
diff --git a/extensions/common/feature_switch.cc b/extensions/common/feature_switch.cc
index a8e1d82..81d4347 100644
--- a/extensions/common/feature_switch.cc
+++ b/extensions/common/feature_switch.cc
@@ -48,7 +48,7 @@ class CommonSwitches {
FeatureSwitch::DEFAULT_DISABLED),
trace_app_source(switches::kTraceAppSource,
FeatureSwitch::DEFAULT_ENABLED),
- // The switch enable-media-router is defined in
+ // The switch media-router is defined in
// chrome/common/chrome_switches.cc, but we can't depend on chrome here.
media_router("media-router",
kEnableMediaRouterExperiment,
diff --git a/tools/metrics/histograms/histograms.xml b/tools/metrics/histograms/histograms.xml
index 4ee71d1..c037404 100644
--- a/tools/metrics/histograms/histograms.xml
+++ b/tools/metrics/histograms/histograms.xml
@@ -65505,6 +65505,7 @@ To add a new entry, add it with any value and run test to compute valid value.
<int value="-641719457" label="disable-compositor-touch-hit-testing"/>
<int value="-631740127" label="inert-visual-viewport"/>
<int value="-622685174" label="enable-pdf-material-ui"/>
+ <int value="-617452890" label="media-router"/>
<int value="-610411643" label="enable-printer-app-search"/>
<int value="-604814313" label="enable-pinch"/>
<int value="-601384286" label="disable-contextual-search"/>