Chromium Code Reviews| Index: chrome/browser/android/data_usage/external_data_use_observer.h |
| diff --git a/chrome/browser/android/data_usage/external_data_use_observer.h b/chrome/browser/android/data_usage/external_data_use_observer.h |
| index 1db5416a40cdb7b20bd6ed14c9f2933d43ea67cc..f0fdb6cbfbceac79991ad2a2089869238bf28987 100644 |
| --- a/chrome/browser/android/data_usage/external_data_use_observer.h |
| +++ b/chrome/browser/android/data_usage/external_data_use_observer.h |
| @@ -80,6 +80,9 @@ class ExternalDataUseObserver : public data_usage::DataUseAggregator::Observer { |
| // called on UI thread. |
| void OnReportDataUseDone(JNIEnv* env, jobject obj, bool success); |
| + // Returns the external data use observer field trial name. |
| + const std::string GetExternalDataUseObserverFieldTrialName() const; |
|
sclittle
2015/11/06 23:42:50
Make this a static constant.
tbansal1
2015/11/07 01:32:43
This function would be used by Raj to control othe
sclittle
2015/11/07 02:05:32
Could it just be a publicly visible static constan
tbansal1
2015/11/07 02:33:02
Done.
|
| + |
| private: |
| FRIEND_TEST_ALL_PREFIXES(ExternalDataUseObserverTest, SingleRegex); |
| FRIEND_TEST_ALL_PREFIXES(ExternalDataUseObserverTest, TwoRegex); |
| @@ -93,6 +96,10 @@ class ExternalDataUseObserver : public data_usage::DataUseAggregator::Observer { |
| TimestampsMergedCorrectly); |
| FRIEND_TEST_ALL_PREFIXES(ExternalDataUseObserverTest, HashFunction); |
| FRIEND_TEST_ALL_PREFIXES(ExternalDataUseObserverTest, BufferSize); |
| + FRIEND_TEST_ALL_PREFIXES(ExternalDataUseObserverTest, |
| + PeriodicFetchMatchingRules); |
| + FRIEND_TEST_ALL_PREFIXES(ExternalDataUseObserverTest, BufferDataUseReports); |
| + FRIEND_TEST_ALL_PREFIXES(ExternalDataUseObserverTest, Variations); |
| // DataUseReportKey is a unique identifier for a data use report. |
| struct DataUseReportKey { |
| @@ -214,6 +221,9 @@ class ExternalDataUseObserver : public data_usage::DataUseAggregator::Observer { |
| // size |kMaxBufferSize|, then the oldest entry will be removed. |
| static const size_t kMaxBufferSize = 100; |
| + // Populates various parameters from the values specified in the field trial. |
| + void PopulateFieldTrialParams(); |
|
sclittle
2015/11/06 23:42:50
Could this just be a few anonymous functions in th
tbansal1
2015/11/07 01:32:43
Done.
|
| + |
| // Creates Java object. Must be called on the UI thread. |
| void CreateJavaObjectOnUIThread(); |
| @@ -312,6 +322,20 @@ class ExternalDataUseObserver : public data_usage::DataUseAggregator::Observer { |
| // Time when the data use reports were last received from DataUseAggregator. |
| base::Time previous_report_time_; |
| + // Time when the matching rules were last fetched. |
| + base::TimeTicks last_matching_rules_fetch_time_; |
| + |
| + // Total number of bytes transmitted or received across all the buffered |
| + // reports. |
| + int64_t total_bytes_buffered_; |
| + |
| + // Duration after which matching rules are periodically fetched. |
| + base::TimeDelta fetch_matching_rules_duration_; |
| + |
| + // Minimum number of bytes that should be buffered before a data use report is |
| + // submitted. |
| + int64_t data_use_report_min_bytes_; |
| + |
| base::ThreadChecker thread_checker_; |
| // |io_weak_factory_| and |ui_weak_factory_| are used for posting tasks on the |