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

Unified Diff: chrome/browser/android/data_usage/external_data_use_observer.h

Issue 1412813007: ExternalDataUseObserver JNI integration (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: First patch set Created 5 years, 1 month 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: 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

Powered by Google App Engine
This is Rietveld 408576698