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

Unified Diff: components/data_reduction_proxy/core/browser/data_reduction_proxy_settings.cc

Issue 1054363002: Update DataReductionProxyNetworkDelegate/BypassStats to post tasks safely. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: bengr CR comments Created 5 years, 8 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 side-by-side diff with in-line comments
Download patch
Index: components/data_reduction_proxy/core/browser/data_reduction_proxy_settings.cc
diff --git a/components/data_reduction_proxy/core/browser/data_reduction_proxy_settings.cc b/components/data_reduction_proxy/core/browser/data_reduction_proxy_settings.cc
index 838689ecc9b184ace8d3a325e7fb0e52cfb816ae..c9b2555b980bed354130f69b42f04238232daf52 100644
--- a/components/data_reduction_proxy/core/browser/data_reduction_proxy_settings.cc
+++ b/components/data_reduction_proxy/core/browser/data_reduction_proxy_settings.cc
@@ -9,13 +9,10 @@
#include "base/metrics/histogram.h"
#include "base/prefs/pref_member.h"
#include "base/prefs/pref_service.h"
-#include "base/strings/string_number_conversions.h"
-#include "base/values.h"
#include "components/data_reduction_proxy/core/browser/data_reduction_proxy_compression_stats.h"
#include "components/data_reduction_proxy/core/browser/data_reduction_proxy_config.h"
#include "components/data_reduction_proxy/core/browser/data_reduction_proxy_io_data.h"
#include "components/data_reduction_proxy/core/browser/data_reduction_proxy_service.h"
-#include "components/data_reduction_proxy/core/common/data_reduction_proxy_params.h"
#include "components/data_reduction_proxy/core/common/data_reduction_proxy_pref_names.h"
#include "components/data_reduction_proxy/core/common/data_reduction_proxy_switches.h"
@@ -24,18 +21,6 @@ namespace {
const char kUMAProxyStartupStateHistogram[] =
"DataReductionProxy.StartupState";
-int64 GetInt64PrefValue(const base::ListValue& list_value, size_t index) {
- int64 val = 0;
- std::string pref_value;
- bool rv = list_value.GetString(index, &pref_value);
- DCHECK(rv);
- if (rv) {
- rv = base::StringToInt64(pref_value, &val);
- DCHECK(rv);
- }
- return val;
-}
-
bool IsEnabledOnCommandLine() {
const base::CommandLine& command_line =
*base::CommandLine::ForCurrentProcess();
@@ -167,17 +152,8 @@ void DataReductionProxySettings::SetDataReductionProxyAlternativeEnabled(
int64 DataReductionProxySettings::GetDataReductionLastUpdateTime() {
DCHECK(thread_checker_.CalledOnValidThread());
DCHECK(data_reduction_proxy_service_->compression_stats());
- int64 last_update_internal =
- data_reduction_proxy_service_->compression_stats()->GetInt64(
- prefs::kDailyHttpContentLengthLastUpdateDate);
- base::Time last_update = base::Time::FromInternalValue(last_update_internal);
- return static_cast<int64>(last_update.ToJsTime());
-}
-
-DataReductionProxySettings::ContentLengthList
-DataReductionProxySettings::GetDailyOriginalContentLengths() {
- DCHECK(thread_checker_.CalledOnValidThread());
- return GetDailyContentLengths(prefs::kDailyHttpOriginalContentLength);
+ return
+ data_reduction_proxy_service_->compression_stats()->GetLastUpdateTime();
}
void DataReductionProxySettings::SetUnreachable(bool unreachable) {
@@ -189,12 +165,6 @@ bool DataReductionProxySettings::IsDataReductionProxyUnreachable() {
return unreachable_;
}
-DataReductionProxySettings::ContentLengthList
-DataReductionProxySettings::GetDailyReceivedContentLengths() {
- DCHECK(thread_checker_.CalledOnValidThread());
- return GetDailyContentLengths(prefs::kDailyHttpReceivedContentLength);
-}
-
PrefService* DataReductionProxySettings::GetOriginalProfilePrefs() {
DCHECK(thread_checker_.CalledOnValidThread());
return prefs_;
@@ -237,18 +207,7 @@ void DataReductionProxySettings::OnProxyAlternativeEnabledPrefChange() {
void DataReductionProxySettings::ResetDataReductionStatistics() {
DCHECK(thread_checker_.CalledOnValidThread());
DCHECK(data_reduction_proxy_service_->compression_stats());
- base::ListValue* original_update =
- data_reduction_proxy_service_->compression_stats()->GetList(
- prefs::kDailyHttpOriginalContentLength);
- base::ListValue* received_update =
- data_reduction_proxy_service_->compression_stats()->GetList(
- prefs::kDailyHttpReceivedContentLength);
- original_update->Clear();
- received_update->Clear();
- for (size_t i = 0; i < kNumDaysInHistory; ++i) {
- original_update->AppendString(base::Int64ToString(0));
- received_update->AppendString(base::Int64ToString(0));
- }
+ data_reduction_proxy_service_->compression_stats()->ResetStatistics();
}
void DataReductionProxySettings::MaybeActivateDataReductionProxy(
@@ -292,19 +251,12 @@ void DataReductionProxySettings::RecordStartupState(ProxyStartupState state) {
PROXY_STARTUP_STATE_COUNT);
}
-DataReductionProxySettings::ContentLengthList
+ContentLengthList
DataReductionProxySettings::GetDailyContentLengths(const char* pref_name) {
DCHECK(thread_checker_.CalledOnValidThread());
- DataReductionProxySettings::ContentLengthList content_lengths;
DCHECK(data_reduction_proxy_service_->compression_stats());
- const base::ListValue* list_value =
- data_reduction_proxy_service_->compression_stats()->GetList(pref_name);
- if (list_value->GetSize() == kNumDaysInHistory) {
- for (size_t i = 0; i < kNumDaysInHistory; ++i) {
- content_lengths.push_back(GetInt64PrefValue(*list_value, i));
- }
- }
- return content_lengths;
+ return data_reduction_proxy_service_->compression_stats()->
+ GetDailyContentLengths(pref_name);
}
void DataReductionProxySettings::GetContentLengths(
@@ -313,37 +265,10 @@ void DataReductionProxySettings::GetContentLengths(
int64* received_content_length,
int64* last_update_time) {
DCHECK(thread_checker_.CalledOnValidThread());
- DCHECK_LE(days, kNumDaysInHistory);
DCHECK(data_reduction_proxy_service_->compression_stats());
- const base::ListValue* original_list =
- data_reduction_proxy_service_->compression_stats()->GetList(
- prefs::kDailyHttpOriginalContentLength);
- const base::ListValue* received_list =
- data_reduction_proxy_service_->compression_stats()->GetList(
- prefs::kDailyHttpReceivedContentLength);
-
- if (original_list->GetSize() != kNumDaysInHistory ||
- received_list->GetSize() != kNumDaysInHistory) {
- *original_content_length = 0L;
- *received_content_length = 0L;
- *last_update_time = 0L;
- return;
- }
-
- int64 orig = 0L;
- int64 recv = 0L;
- // Include days from the end of the list going backwards.
- for (size_t i = kNumDaysInHistory - days;
- i < kNumDaysInHistory; ++i) {
- orig += GetInt64PrefValue(*original_list, i);
- recv += GetInt64PrefValue(*received_list, i);
- }
- *original_content_length = orig;
- *received_content_length = recv;
- *last_update_time =
- data_reduction_proxy_service_->compression_stats()->GetInt64(
- prefs::kDailyHttpContentLengthLastUpdateDate);
+ data_reduction_proxy_service_->compression_stats()->GetContentLengths(
+ days, original_content_length, received_content_length, last_update_time);
}
} // namespace data_reduction_proxy

Powered by Google App Engine
This is Rietveld 408576698