| Index: components/data_reduction_proxy/browser/data_reduction_proxy_settings.cc
|
| diff --git a/components/data_reduction_proxy/browser/data_reduction_proxy_settings.cc b/components/data_reduction_proxy/browser/data_reduction_proxy_settings.cc
|
| index 60ec9c1c321256cbdc25b92b8d4922a2dd8ba31d..21d6884067313ba8b2e1f8e41785a2dcf6e33d50 100644
|
| --- a/components/data_reduction_proxy/browser/data_reduction_proxy_settings.cc
|
| +++ b/components/data_reduction_proxy/browser/data_reduction_proxy_settings.cc
|
| @@ -93,7 +93,6 @@ DataReductionProxySettings::DataReductionProxySettings(
|
| disabled_on_vpn_(false),
|
| unreachable_(false),
|
| prefs_(NULL),
|
| - local_state_prefs_(NULL),
|
| url_request_context_getter_(NULL) {
|
| DCHECK(params);
|
| params_.reset(params);
|
| @@ -121,14 +120,11 @@ void DataReductionProxySettings::InitPrefMembers() {
|
|
|
| void DataReductionProxySettings::InitDataReductionProxySettings(
|
| PrefService* prefs,
|
| - PrefService* local_state_prefs,
|
| net::URLRequestContextGetter* url_request_context_getter) {
|
| DCHECK(thread_checker_.CalledOnValidThread());
|
| DCHECK(prefs);
|
| - DCHECK(local_state_prefs);
|
| DCHECK(url_request_context_getter);
|
| prefs_ = prefs;
|
| - local_state_prefs_ = local_state_prefs;
|
| url_request_context_getter_ = url_request_context_getter;
|
| InitPrefMembers();
|
| RecordDataReductionInit();
|
| @@ -146,15 +142,19 @@ void DataReductionProxySettings::InitDataReductionProxySettings(
|
|
|
| void DataReductionProxySettings::InitDataReductionProxySettings(
|
| PrefService* prefs,
|
| - PrefService* local_state_prefs,
|
| net::URLRequestContextGetter* url_request_context_getter,
|
| scoped_ptr<DataReductionProxyConfigurator> configurator) {
|
| InitDataReductionProxySettings(prefs,
|
| - local_state_prefs,
|
| url_request_context_getter);
|
| SetProxyConfigurator(configurator.Pass());
|
| }
|
|
|
| +
|
| +void DataReductionProxySettings::SetDataReductionProxyDelayedPrefService(
|
| + base::WeakPtr<DataReductionProxyDelayedPrefService> delayed_prefs) {
|
| + delayed_prefs_ = delayed_prefs;
|
| +}
|
| +
|
| void DataReductionProxySettings::SetOnDataReductionEnabledCallback(
|
| const base::Callback<void(bool)>& on_data_reduction_proxy_enabled) {
|
| on_data_reduction_proxy_enabled_ = on_data_reduction_proxy_enabled;
|
| @@ -206,9 +206,11 @@ void DataReductionProxySettings::SetDataReductionProxyAlternativeEnabled(
|
|
|
| int64 DataReductionProxySettings::GetDataReductionLastUpdateTime() {
|
| DCHECK(thread_checker_.CalledOnValidThread());
|
| - PrefService* local_state = GetLocalStatePrefs();
|
| + if (!delayed_prefs_) {
|
| + return 0;
|
| + }
|
| int64 last_update_internal =
|
| - local_state->GetInt64(prefs::kDailyHttpContentLengthLastUpdateDate);
|
| + delayed_prefs_->GetInt64(prefs::kDailyHttpContentLengthLastUpdateDate);
|
| base::Time last_update = base::Time::FromInternalValue(last_update_internal);
|
| return static_cast<int64>(last_update.ToJsTime());
|
| }
|
| @@ -303,11 +305,6 @@ PrefService* DataReductionProxySettings::GetOriginalProfilePrefs() {
|
| return prefs_;
|
| }
|
|
|
| -PrefService* DataReductionProxySettings::GetLocalStatePrefs() {
|
| - DCHECK(thread_checker_.CalledOnValidThread());
|
| - return local_state_prefs_;
|
| -}
|
| -
|
| void DataReductionProxySettings::AddDefaultProxyBypassRules() {
|
| // localhost
|
| DCHECK(configurator_);
|
| @@ -371,11 +368,12 @@ void DataReductionProxySettings::OnProxyAlternativeEnabledPrefChange() {
|
|
|
| void DataReductionProxySettings::ResetDataReductionStatistics() {
|
| DCHECK(thread_checker_.CalledOnValidThread());
|
| - PrefService* prefs = GetLocalStatePrefs();
|
| - if (!prefs)
|
| + if (!delayed_prefs_)
|
| return;
|
| - ListPrefUpdate original_update(prefs, prefs::kDailyHttpOriginalContentLength);
|
| - ListPrefUpdate received_update(prefs, prefs::kDailyHttpReceivedContentLength);
|
| + base::ListValue* original_update =
|
| + delayed_prefs_->GetList(prefs::kDailyHttpOriginalContentLength);
|
| + base::ListValue* received_update =
|
| + delayed_prefs_->GetList(prefs::kDailyHttpReceivedContentLength);
|
| original_update->Clear();
|
| received_update->Clear();
|
| for (size_t i = 0; i < kNumDaysInHistory; ++i) {
|
| @@ -480,7 +478,10 @@ DataReductionProxySettings::ContentLengthList
|
| DataReductionProxySettings::GetDailyContentLengths(const char* pref_name) {
|
| DCHECK(thread_checker_.CalledOnValidThread());
|
| DataReductionProxySettings::ContentLengthList content_lengths;
|
| - const base::ListValue* list_value = GetLocalStatePrefs()->GetList(pref_name);
|
| + if (!delayed_prefs_) {
|
| + return content_lengths;
|
| + }
|
| + const base::ListValue* list_value = delayed_prefs_->GetList(pref_name);
|
| if (list_value->GetSize() == kNumDaysInHistory) {
|
| for (size_t i = 0; i < kNumDaysInHistory; ++i) {
|
| content_lengths.push_back(GetInt64PrefValue(*list_value, i));
|
| @@ -496,8 +497,7 @@ void DataReductionProxySettings::GetContentLengths(
|
| int64* last_update_time) {
|
| DCHECK(thread_checker_.CalledOnValidThread());
|
| DCHECK_LE(days, kNumDaysInHistory);
|
| - PrefService* local_state = GetLocalStatePrefs();
|
| - if (!local_state) {
|
| + if (!delayed_prefs_) {
|
| *original_content_length = 0L;
|
| *received_content_length = 0L;
|
| *last_update_time = 0L;
|
| @@ -505,9 +505,9 @@ void DataReductionProxySettings::GetContentLengths(
|
| }
|
|
|
| const base::ListValue* original_list =
|
| - local_state->GetList(prefs::kDailyHttpOriginalContentLength);
|
| + delayed_prefs_->GetList(prefs::kDailyHttpOriginalContentLength);
|
| const base::ListValue* received_list =
|
| - local_state->GetList(prefs::kDailyHttpReceivedContentLength);
|
| + delayed_prefs_->GetList(prefs::kDailyHttpReceivedContentLength);
|
|
|
| if (original_list->GetSize() != kNumDaysInHistory ||
|
| received_list->GetSize() != kNumDaysInHistory) {
|
| @@ -528,7 +528,7 @@ void DataReductionProxySettings::GetContentLengths(
|
| *original_content_length = orig;
|
| *received_content_length = recv;
|
| *last_update_time =
|
| - local_state->GetInt64(prefs::kDailyHttpContentLengthLastUpdateDate);
|
| + delayed_prefs_->GetInt64(prefs::kDailyHttpContentLengthLastUpdateDate);
|
| }
|
|
|
| net::URLFetcher* DataReductionProxySettings::GetBaseURLFetcher(
|
|
|