Chromium Code Reviews| Index: components/data_reduction_proxy/core/browser/data_reduction_proxy_compression_stats.h |
| diff --git a/components/data_reduction_proxy/core/browser/data_reduction_proxy_compression_stats.h b/components/data_reduction_proxy/core/browser/data_reduction_proxy_compression_stats.h |
| index 0ed7d1b386c3d349b91409ca857c29068d290f5c..983c84ae4b0c232746d97dfcf5b505a020ea7ae3 100644 |
| --- a/components/data_reduction_proxy/core/browser/data_reduction_proxy_compression_stats.h |
| +++ b/components/data_reduction_proxy/core/browser/data_reduction_proxy_compression_stats.h |
| @@ -26,6 +26,8 @@ class Value; |
| } |
| namespace data_reduction_proxy { |
| +class DataReductionProxyStore; |
| +class DataUsageStorageHelper; |
| // Data reduction proxy delayed pref service reduces the number calls to pref |
| // service by storing prefs in memory and writing to the given PrefService after |
| @@ -34,15 +36,21 @@ namespace data_reduction_proxy { |
| // prefs must be stored and read on the UI thread. |
| class DataReductionProxyCompressionStats { |
| public: |
| - // Constructs a data reduction proxy delayed pref service object using |
| - // |pref_service|. Writes prefs to |pref_service| after |delay| |
| - // and stores them in |pref_map_| and |list_pref_map| between writes. |
| + // Collects and store data usage and compression statistics. Basic data usage |
| + // stats are stored in browser preferences. More detailed stats broken down |
| + // by site and internet type are stored in |DataReductionProxyStore|. |
| + // |
| + // To store basic stats, it constructs a data reduction proxy delayed pref |
| + // service object using |pref_service|. Writes prefs to |pref_service| after |
| + // |delay| and stores them in |pref_map_| and |list_pref_map| between writes. |
| // If |delay| is zero, writes directly to the PrefService and does not store |
| // in the maps. |
| DataReductionProxyCompressionStats( |
| PrefService* pref_service, |
| - 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); |
|
jeremyim
2015/06/30 01:59:18
Don't need const keyword for delay
Not at Google. Contact bengr
2015/07/01 17:13:49
Done.
|
| ~DataReductionProxyCompressionStats(); |
| // Records daily data savings statistics to prefs and reports data savings |
| @@ -84,6 +92,9 @@ class DataReductionProxyCompressionStats { |
| typedef base::ScopedPtrHashMap<const char*, scoped_ptr<base::ListValue>> |
| DataReductionProxyListPrefMap; |
| + // Initializes data usage store. |
| + void InitOnDBThread(); |
|
jeremyim
2015/06/30 01:59:18
Does this method exist?
Not at Google. Contact bengr
2015/07/01 17:13:49
Removed.
|
| + |
| // Loads all data_reduction_proxy::prefs into the |pref_map_| and |
| // |list_pref_map_|. |
| void Init(); |
| @@ -138,7 +149,9 @@ class DataReductionProxyCompressionStats { |
| void RecordUserVisibleDataSavings(); |
| PrefService* pref_service_; |
| - scoped_refptr<base::SequencedTaskRunner> task_runner_; |
| + scoped_refptr<base::SequencedTaskRunner> ui_task_runner_; |
| + scoped_refptr<base::SequencedTaskRunner> db_task_runner_; |
| + scoped_ptr<DataUsageStorageHelper> data_usage_store_; |
| const base::TimeDelta delay_; |
| bool delayed_task_posted_; |
| DataReductionProxyPrefMap pref_map_; |
| @@ -147,7 +160,6 @@ class DataReductionProxyCompressionStats { |
| base::ThreadChecker thread_checker_; |
| base::WeakPtrFactory<DataReductionProxyCompressionStats> weak_factory_; |
| - |
| DISALLOW_COPY_AND_ASSIGN(DataReductionProxyCompressionStats); |
| }; |