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

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

Issue 1173343009: LevelDB storage for data reduction proxy to store data usage stats. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Remove friend from impl Created 5 years, 6 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_compression_stats.cc
diff --git a/components/data_reduction_proxy/core/browser/data_reduction_proxy_compression_stats.cc b/components/data_reduction_proxy/core/browser/data_reduction_proxy_compression_stats.cc
index f272fd999af26c7f841be8920a2fd3135d417fb7..8514815997ff4b4457a5e6bd9b603449d757239b 100644
--- a/components/data_reduction_proxy/core/browser/data_reduction_proxy_compression_stats.cc
+++ b/components/data_reduction_proxy/core/browser/data_reduction_proxy_compression_stats.cc
@@ -4,6 +4,7 @@
#include "components/data_reduction_proxy/core/browser/data_reduction_proxy_compression_stats.h"
+#include <string>
#include <vector>
#include "base/basictypes.h"
@@ -20,7 +21,10 @@
#include "base/time/time.h"
#include "base/values.h"
#include "components/data_reduction_proxy/core/browser/data_reduction_proxy_metrics.h"
+#include "components/data_reduction_proxy/core/browser/data_reduction_proxy_store.h"
+#include "components/data_reduction_proxy/core/browser/data_usage_storage_helper.h"
#include "components/data_reduction_proxy/core/common/data_reduction_proxy_switches.h"
+#include "components/data_reduction_proxy/proto/store.pb.h"
namespace data_reduction_proxy {
@@ -302,10 +306,14 @@ class DailyDataSavingUpdate {
DataReductionProxyCompressionStats::DataReductionProxyCompressionStats(
PrefService* prefs,
- scoped_refptr<base::SequencedTaskRunner> task_runner,
- const base::TimeDelta& delay)
+ scoped_refptr<base::SequencedTaskRunner> ui_task_runner,
+ scoped_refptr<base::SequencedTaskRunner> db_task_runner,
+ scoped_refptr<DataReductionProxyStore> store,
+ const base::TimeDelta delay)
: pref_service_(prefs),
- task_runner_(task_runner),
+ ui_task_runner_(ui_task_runner),
+ db_task_runner_(db_task_runner),
+ data_usage_store_(new DataUsageStorageHelper(store)),
delay_(delay),
delayed_task_posted_(false),
pref_change_registrar_(new PrefChangeRegistrar()),
@@ -318,8 +326,8 @@ DataReductionProxyCompressionStats::DataReductionProxyCompressionStats(
DataReductionProxyCompressionStats::~DataReductionProxyCompressionStats() {
DCHECK(thread_checker_.CalledOnValidThread());
WritePrefs();
+ db_task_runner_->DeleteSoon(FROM_HERE, data_usage_store_.release());
pref_change_registrar_->RemoveAll();
- weak_factory_.InvalidateWeakPtrs();
}
void DataReductionProxyCompressionStats::Init() {
@@ -383,6 +391,8 @@ void DataReductionProxyCompressionStats::UpdateContentLengths(
SetInt64(data_reduction_proxy::prefs::kHttpOriginalContentLength,
total_original);
+ // TODO(kundaji): Collect data usage metrics broken down by site and store
+ // in |data_usage_store_|.
RecordContentLengthPrefs(
received_content_length,
original_content_length,
@@ -559,10 +569,9 @@ void DataReductionProxyCompressionStats::DelayedWritePrefs() {
if (delayed_task_posted_)
return;
- task_runner_->PostDelayedTask(
- FROM_HERE,
- base::Bind(&DataReductionProxyCompressionStats::WritePrefs,
- weak_factory_.GetWeakPtr()),
+ ui_task_runner_->PostDelayedTask(
+ FROM_HERE, base::Bind(&DataReductionProxyCompressionStats::WritePrefs,
+ weak_factory_.GetWeakPtr()),
delay_);
delayed_task_posted_ = true;

Powered by Google App Engine
This is Rietveld 408576698