Index: chrome/browser/net/spdyproxy/data_reduction_proxy_chrome_settings.cc |
diff --git a/chrome/browser/net/spdyproxy/data_reduction_proxy_chrome_settings.cc b/chrome/browser/net/spdyproxy/data_reduction_proxy_chrome_settings.cc |
index abdbe4bd60e623134369db81ff2249744cc6cdaf..c40cff2817c704ab820de0d5718c80bb44eb1f45 100644 |
--- a/chrome/browser/net/spdyproxy/data_reduction_proxy_chrome_settings.cc |
+++ b/chrome/browser/net/spdyproxy/data_reduction_proxy_chrome_settings.cc |
@@ -11,6 +11,8 @@ |
#include "components/data_reduction_proxy/browser/data_reduction_proxy_configurator.h" |
#include "components/data_reduction_proxy/browser/data_reduction_proxy_params.h" |
#include "components/data_reduction_proxy/browser/data_reduction_proxy_settings.h" |
+#include "components/metrics/metrics_service.h" |
+#include "components/variations/metrics_util.h" |
using data_reduction_proxy::DataReductionProxyParams; |
using data_reduction_proxy::DataReductionProxySettings; |
@@ -33,8 +35,20 @@ void DataReductionProxyChromeSettings::InitDataReductionProxySettings( |
DataReductionProxySettings::InitDataReductionProxySettings( |
prefs, |
g_browser_process->local_state(), |
- ProfileManager::GetActiveUserProfile()->GetRequestContext()); |
+ ProfileManager::GetActiveUserProfile()->GetRequestContext(), |
+ base::Bind(&DataReductionProxyChromeSettings::RegisterSyntheticFieldTrial, |
+ base::Unretained(this))); |
SetDataReductionProxyAlternativeEnabled( |
DataReductionProxyParams::IsIncludedInAlternativeFieldTrial()); |
} |
+ |
+void DataReductionProxyChromeSettings::RegisterSyntheticFieldTrial( |
+ bool data_reduction_proxy_enabled) { |
+ if (g_browser_process->metrics_service()) { |
+ SyntheticTrialGroup trial( |
+ metrics::HashName("DataReductionProxyEnabled"), |
+ metrics::HashName(data_reduction_proxy_enabled ? "true" : "false")); |
+ g_browser_process->metrics_service()->RegisterSyntheticFieldTrial(trial); |
+ } |
+} |