Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(15)

Side by Side Diff: components/data_reduction_proxy/browser/data_reduction_proxy_settings.cc

Issue 388663002: Added data reduction proxy holdback experiment (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "components/data_reduction_proxy/browser/data_reduction_proxy_settings. h" 5 #include "components/data_reduction_proxy/browser/data_reduction_proxy_settings. h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/command_line.h" 8 #include "base/command_line.h"
9 #include "base/metrics/field_trial.h" 9 #include "base/metrics/field_trial.h"
10 #include "base/metrics/histogram.h" 10 #include "base/metrics/histogram.h"
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after
120 net::URLRequestContextGetter* url_request_context_getter) { 120 net::URLRequestContextGetter* url_request_context_getter) {
121 DCHECK(thread_checker_.CalledOnValidThread()); 121 DCHECK(thread_checker_.CalledOnValidThread());
122 DCHECK(prefs); 122 DCHECK(prefs);
123 DCHECK(local_state_prefs); 123 DCHECK(local_state_prefs);
124 DCHECK(url_request_context_getter); 124 DCHECK(url_request_context_getter);
125 prefs_ = prefs; 125 prefs_ = prefs;
126 local_state_prefs_ = local_state_prefs; 126 local_state_prefs_ = local_state_prefs;
127 url_request_context_getter_ = url_request_context_getter; 127 url_request_context_getter_ = url_request_context_getter;
128 InitPrefMembers(); 128 InitPrefMembers();
129 RecordDataReductionInit(); 129 RecordDataReductionInit();
130
131 // Disable the proxy if it is not allowed to be used. 130 // Disable the proxy if it is not allowed to be used.
132 if (!params_->allowed()) 131 if (!params_->allowed())
133 return; 132 return;
134 133
135 AddDefaultProxyBypassRules(); 134 AddDefaultProxyBypassRules();
136 net::NetworkChangeNotifier::AddIPAddressObserver(this); 135 net::NetworkChangeNotifier::AddIPAddressObserver(this);
137 136
138 // We set or reset the proxy pref at startup. 137 // We set or reset the proxy pref at startup.
139 MaybeActivateDataReductionProxy(true); 138 MaybeActivateDataReductionProxy(true);
140 } 139 }
(...skipping 228 matching lines...) Expand 10 before | Expand all | Expand 10 after
369 bool at_startup) { 368 bool at_startup) {
370 DCHECK(thread_checker_.CalledOnValidThread()); 369 DCHECK(thread_checker_.CalledOnValidThread());
371 PrefService* prefs = GetOriginalProfilePrefs(); 370 PrefService* prefs = GetOriginalProfilePrefs();
372 // TODO(marq): Consider moving this so stats are wiped the first time the 371 // TODO(marq): Consider moving this so stats are wiped the first time the
373 // proxy settings are actually (not maybe) turned on. 372 // proxy settings are actually (not maybe) turned on.
374 if (spdy_proxy_auth_enabled_.GetValue() && 373 if (spdy_proxy_auth_enabled_.GetValue() &&
375 !prefs->GetBoolean(prefs::kDataReductionProxyWasEnabledBefore)) { 374 !prefs->GetBoolean(prefs::kDataReductionProxyWasEnabledBefore)) {
376 prefs->SetBoolean(prefs::kDataReductionProxyWasEnabledBefore, true); 375 prefs->SetBoolean(prefs::kDataReductionProxyWasEnabledBefore, true);
377 ResetDataReductionStatistics(); 376 ResetDataReductionStatistics();
378 } 377 }
379
380 // Configure use of the data reduction proxy if it is enabled. 378 // Configure use of the data reduction proxy if it is enabled.
381 enabled_by_user_= IsDataReductionProxyEnabled(); 379 enabled_by_user_= IsDataReductionProxyEnabled();
382 SetProxyConfigs(enabled_by_user_ && !disabled_on_vpn_, 380 SetProxyConfigs(enabled_by_user_ && !disabled_on_vpn_,
383 IsDataReductionProxyAlternativeEnabled(), 381 IsDataReductionProxyAlternativeEnabled(),
384 restricted_by_carrier_, 382 restricted_by_carrier_,
385 at_startup); 383 at_startup);
386 384
387 // Check if the proxy has been restricted explicitly by the carrier. 385 // Check if the proxy has been restricted explicitly by the carrier.
388 if (enabled_by_user_ && !disabled_on_vpn_) { 386 if (enabled_by_user_ && !disabled_on_vpn_) {
389 ProbeWhetherDataReductionProxyIsAvailable(); 387 ProbeWhetherDataReductionProxyIsAvailable();
390 WarmProxyConnection(); 388 WarmProxyConnection();
391 } 389 }
392 } 390 }
393 391
394 void DataReductionProxySettings::SetProxyConfigs(bool enabled, 392 void DataReductionProxySettings::SetProxyConfigs(bool enabled,
395 bool alternative_enabled, 393 bool alternative_enabled,
396 bool restricted, 394 bool restricted,
397 bool at_startup) { 395 bool at_startup) {
398 DCHECK(thread_checker_.CalledOnValidThread()); 396 DCHECK(thread_checker_.CalledOnValidThread());
399 LogProxyState(enabled, restricted, at_startup); 397 LogProxyState(enabled, restricted, at_startup);
400 // The alternative is only configured if the standard configuration is 398 // The alternative is only configured if the standard configuration is
401 // is enabled. 399 // is enabled.
402 if (enabled) { 400 if (enabled & !params_->holdback()) {
403 if (alternative_enabled) { 401 if (alternative_enabled) {
404 configurator_->Enable(restricted, 402 configurator_->Enable(restricted,
405 !params_->fallback_allowed(), 403 !params_->fallback_allowed(),
406 params_->alt_origin().spec(), 404 params_->alt_origin().spec(),
407 params_->alt_fallback_origin().spec(), 405 params_->alt_fallback_origin().spec(),
408 params_->ssl_origin().spec()); 406 params_->ssl_origin().spec());
409 } else { 407 } else {
410 configurator_->Enable(restricted, 408 configurator_->Enable(restricted,
411 !params_->fallback_allowed(), 409 !params_->fallback_allowed(),
412 params_->origin().spec(), 410 params_->origin().spec(),
(...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after
582 SetProxyConfigs(enabled_by_user_, 580 SetProxyConfigs(enabled_by_user_,
583 IsDataReductionProxyAlternativeEnabled(), 581 IsDataReductionProxyAlternativeEnabled(),
584 restricted_by_carrier_, 582 restricted_by_carrier_,
585 false); 583 false);
586 } 584 }
587 disabled_on_vpn_ = false; 585 disabled_on_vpn_ = false;
588 return false; 586 return false;
589 } 587 }
590 588
591 } // namespace data_reduction_proxy 589 } // namespace data_reduction_proxy
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698