| OLD | NEW |
| 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 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 103 net::URLRequestContextGetter* url_request_context_getter) { | 103 net::URLRequestContextGetter* url_request_context_getter) { |
| 104 DCHECK(thread_checker_.CalledOnValidThread()); | 104 DCHECK(thread_checker_.CalledOnValidThread()); |
| 105 DCHECK(prefs); | 105 DCHECK(prefs); |
| 106 DCHECK(local_state_prefs); | 106 DCHECK(local_state_prefs); |
| 107 DCHECK(url_request_context_getter); | 107 DCHECK(url_request_context_getter); |
| 108 prefs_ = prefs; | 108 prefs_ = prefs; |
| 109 local_state_prefs_ = local_state_prefs; | 109 local_state_prefs_ = local_state_prefs; |
| 110 url_request_context_getter_ = url_request_context_getter; | 110 url_request_context_getter_ = url_request_context_getter; |
| 111 InitPrefMembers(); | 111 InitPrefMembers(); |
| 112 RecordDataReductionInit(); | 112 RecordDataReductionInit(); |
| 113 | |
| 114 // Disable the proxy if it is not allowed to be used. | 113 // Disable the proxy if it is not allowed to be used. |
| 115 if (!params_->allowed()) | 114 if (!params_->allowed()) |
| 116 return; | 115 return; |
| 117 | 116 |
| 118 AddDefaultProxyBypassRules(); | 117 AddDefaultProxyBypassRules(); |
| 119 net::NetworkChangeNotifier::AddIPAddressObserver(this); | 118 net::NetworkChangeNotifier::AddIPAddressObserver(this); |
| 120 | 119 |
| 121 // We set or reset the proxy pref at startup. | 120 // We set or reset the proxy pref at startup. |
| 122 MaybeActivateDataReductionProxy(true); | 121 MaybeActivateDataReductionProxy(true); |
| 123 } | 122 } |
| (...skipping 225 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 349 bool at_startup) { | 348 bool at_startup) { |
| 350 DCHECK(thread_checker_.CalledOnValidThread()); | 349 DCHECK(thread_checker_.CalledOnValidThread()); |
| 351 PrefService* prefs = GetOriginalProfilePrefs(); | 350 PrefService* prefs = GetOriginalProfilePrefs(); |
| 352 // TODO(marq): Consider moving this so stats are wiped the first time the | 351 // TODO(marq): Consider moving this so stats are wiped the first time the |
| 353 // proxy settings are actually (not maybe) turned on. | 352 // proxy settings are actually (not maybe) turned on. |
| 354 if (spdy_proxy_auth_enabled_.GetValue() && | 353 if (spdy_proxy_auth_enabled_.GetValue() && |
| 355 !prefs->GetBoolean(prefs::kDataReductionProxyWasEnabledBefore)) { | 354 !prefs->GetBoolean(prefs::kDataReductionProxyWasEnabledBefore)) { |
| 356 prefs->SetBoolean(prefs::kDataReductionProxyWasEnabledBefore, true); | 355 prefs->SetBoolean(prefs::kDataReductionProxyWasEnabledBefore, true); |
| 357 ResetDataReductionStatistics(); | 356 ResetDataReductionStatistics(); |
| 358 } | 357 } |
| 359 | |
| 360 // Configure use of the data reduction proxy if it is enabled. | 358 // Configure use of the data reduction proxy if it is enabled. |
| 361 enabled_by_user_= IsDataReductionProxyEnabled(); | 359 enabled_by_user_= IsDataReductionProxyEnabled(); |
| 362 SetProxyConfigs(enabled_by_user_, | 360 SetProxyConfigs(enabled_by_user_, |
| 363 IsDataReductionProxyAlternativeEnabled(), | 361 IsDataReductionProxyAlternativeEnabled(), |
| 364 restricted_by_carrier_, | 362 restricted_by_carrier_, |
| 365 at_startup); | 363 at_startup); |
| 366 | 364 |
| 367 // Check if the proxy has been restricted explicitly by the carrier. | 365 // Check if the proxy has been restricted explicitly by the carrier. |
| 368 if (enabled_by_user_) { | 366 if (enabled_by_user_) { |
| 369 ProbeWhetherDataReductionProxyIsAvailable(); | 367 ProbeWhetherDataReductionProxyIsAvailable(); |
| 370 WarmProxyConnection(); | 368 WarmProxyConnection(); |
| 371 } | 369 } |
| 372 } | 370 } |
| 373 | 371 |
| 374 void DataReductionProxySettings::SetProxyConfigs(bool enabled, | 372 void DataReductionProxySettings::SetProxyConfigs(bool enabled, |
| 375 bool alternative_enabled, | 373 bool alternative_enabled, |
| 376 bool restricted, | 374 bool restricted, |
| 377 bool at_startup) { | 375 bool at_startup) { |
| 378 DCHECK(thread_checker_.CalledOnValidThread()); | 376 DCHECK(thread_checker_.CalledOnValidThread()); |
| 379 LogProxyState(enabled, restricted, at_startup); | 377 LogProxyState(enabled, restricted, at_startup); |
| 380 // The alternative is only configured if the standard configuration is | 378 // The alternative is only configured if the standard configuration is |
| 381 // is enabled. | 379 // is enabled. |
| 382 if (enabled) { | 380 if (enabled & !params_->holdback()) { |
| 383 if (alternative_enabled) { | 381 if (alternative_enabled) { |
| 384 configurator_->Enable(restricted, | 382 configurator_->Enable(restricted, |
| 385 !params_->fallback_allowed(), | 383 !params_->fallback_allowed(), |
| 386 params_->alt_origin().spec(), | 384 params_->alt_origin().spec(), |
| 387 params_->alt_fallback_origin().spec(), | 385 params_->alt_fallback_origin().spec(), |
| 388 params_->ssl_origin().spec()); | 386 params_->ssl_origin().spec()); |
| 389 } else { | 387 } else { |
| 390 configurator_->Enable(restricted, | 388 configurator_->Enable(restricted, |
| 391 !params_->fallback_allowed(), | 389 !params_->fallback_allowed(), |
| 392 params_->origin().spec(), | 390 params_->origin().spec(), |
| (...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 536 | 534 |
| 537 void DataReductionProxySettings::WarmProxyConnection() { | 535 void DataReductionProxySettings::WarmProxyConnection() { |
| 538 net::URLFetcher* fetcher = GetURLFetcherForWarmup(); | 536 net::URLFetcher* fetcher = GetURLFetcherForWarmup(); |
| 539 if (!fetcher) | 537 if (!fetcher) |
| 540 return; | 538 return; |
| 541 warmup_fetcher_.reset(fetcher); | 539 warmup_fetcher_.reset(fetcher); |
| 542 warmup_fetcher_->Start(); | 540 warmup_fetcher_->Start(); |
| 543 } | 541 } |
| 544 | 542 |
| 545 } // namespace data_reduction_proxy | 543 } // namespace data_reduction_proxy |
| OLD | NEW |