diff options
author | imcheng <imcheng@chromium.org> | 2015-11-06 14:19:57 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-11-06 22:20:43 +0000 |
commit | fdd14e98414951794cd4060072cde55979c3f01f (patch) | |
tree | abb78ab9425a6945b826743563bfa230b055dd00 | |
parent | 1ad5e69bb318f47ce5348dfa82dac97fc90ccc43 (diff) | |
download | chromium_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.cc | 5 | ||||
-rw-r--r-- | chrome/common/chrome_switches.cc | 6 | ||||
-rw-r--r-- | chrome/common/chrome_switches.h | 2 | ||||
-rw-r--r-- | chrome/test/data/webui/media_router/media_router_elements_browsertest.js | 2 | ||||
-rw-r--r-- | chrome/test/media_router/media_router_e2e_browsertest.cc | 2 | ||||
-rw-r--r-- | extensions/common/feature_switch.cc | 2 | ||||
-rw-r--r-- | tools/metrics/histograms/histograms.xml | 1 |
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"/> |