| Index: components/data_reduction_proxy/core/browser/data_reduction_proxy_request_options.cc
|
| diff --git a/components/data_reduction_proxy/core/browser/data_reduction_proxy_request_options.cc b/components/data_reduction_proxy/core/browser/data_reduction_proxy_request_options.cc
|
| index 470a67597e5b5c075b4e4a3cbdfcbc1826ad0979..ebf24e163367a6158387f63e45f259b1067e8f66 100644
|
| --- a/components/data_reduction_proxy/core/browser/data_reduction_proxy_request_options.cc
|
| +++ b/components/data_reduction_proxy/core/browser/data_reduction_proxy_request_options.cc
|
| @@ -17,6 +17,7 @@
|
| #include "base/time/time.h"
|
| #include "build/build_config.h"
|
| #include "components/data_reduction_proxy/core/browser/data_reduction_proxy_config.h"
|
| +#include "components/data_reduction_proxy/core/common/data_reduction_proxy_features.h"
|
| #include "components/data_reduction_proxy/core/common/data_reduction_proxy_headers.h"
|
| #include "components/data_reduction_proxy/core/common/data_reduction_proxy_params.h"
|
| #include "components/data_reduction_proxy/core/common/data_reduction_proxy_switches.h"
|
| @@ -100,12 +101,13 @@ std::string DataReductionProxyRequestOptions::GetHeaderValueForTesting() const {
|
| }
|
|
|
| void DataReductionProxyRequestOptions::UpdateExperiments() {
|
| - // TODO(bengr): Simplify this so there's only one way to set experiment via
|
| - // flags. See crbug.com/656195.
|
| + experiments_.clear();
|
| std::string experiments =
|
| base::CommandLine::ForCurrentProcess()->GetSwitchValueASCII(
|
| data_reduction_proxy::switches::kDataReductionProxyExperiment);
|
|
|
| + // The command line override takes precedence over field trial "exp"
|
| + // directives.
|
| if (!experiments.empty()) {
|
| base::StringTokenizer experiment_tokenizer(experiments, ", ");
|
| experiment_tokenizer.set_quote_chars("\"");
|
| @@ -113,7 +115,11 @@ void DataReductionProxyRequestOptions::UpdateExperiments() {
|
| if (!experiment_tokenizer.token().empty())
|
| experiments_.push_back(experiment_tokenizer.token());
|
| }
|
| + } else if (params::AreLitePagesEnabledViaFlags()) {
|
| + experiments_.push_back(chrome_proxy_lite_page_ignore_blacklist());
|
| } else {
|
| + // If no other "exp" directive is forced by flags, add the field trial
|
| + // value.
|
| AddServerExperimentFromFieldTrial();
|
| }
|
|
|
|
|