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

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

Issue 1422973004: Change the function name to match downstream (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: gyp mod 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.cc
diff --git a/chrome/browser/android/data_usage/external_data_use_observer.cc b/chrome/browser/android/data_usage/external_data_use_observer.cc
index 07fbe9d416ade9048ae154f808bd5df4a48fab15..954629696578af10bfe2d746b6a12e13c29762fd 100644
--- a/chrome/browser/android/data_usage/external_data_use_observer.cc
+++ b/chrome/browser/android/data_usage/external_data_use_observer.cc
@@ -139,7 +139,7 @@ void ExternalDataUseObserver::FetchMatchingRulesOnUIThread() const {
env, j_external_data_use_observer_.obj());
}
-void ExternalDataUseObserver::FetchMatchingRulesCallback(
+void ExternalDataUseObserver::FetchMatchingRulesDone(
JNIEnv* env,
jobject obj,
const base::android::JavaParamRef<jobjectArray>& app_package_name,
@@ -162,12 +162,12 @@ void ExternalDataUseObserver::FetchMatchingRulesCallback(
io_task_runner_->PostTask(
FROM_HERE,
- base::Bind(&ExternalDataUseObserver::FetchMatchingRulesCallbackOnIOThread,
+ base::Bind(&ExternalDataUseObserver::FetchMatchingRulesDoneOnIOThread,
GetIOWeakPtr(), app_package_name_native,
domain_path_regex_native, label_native));
}
-void ExternalDataUseObserver::FetchMatchingRulesCallbackOnIOThread(
+void ExternalDataUseObserver::FetchMatchingRulesDoneOnIOThread(
const std::vector<std::string>& app_package_name,
const std::vector<std::string>& domain_path_regex,
const std::vector<std::string>& label) {
@@ -386,6 +386,45 @@ bool ExternalDataUseObserver::Matches(const GURL& gurl,
return false;
}
+ExternalDataUseObserver::DataUseReportKey::DataUseReportKey(
+ const std::string& label,
+ net::NetworkChangeNotifier::ConnectionType connection_type,
+ const std::string& mcc_mnc)
+ : label(label), connection_type(connection_type), mcc_mnc(mcc_mnc) {}
+
+bool ExternalDataUseObserver::DataUseReportKey::operator==(
+ const DataUseReportKey& other) const {
+ return label == other.label && connection_type == other.connection_type &&
+ mcc_mnc == other.mcc_mnc;
+}
+
+ExternalDataUseObserver::DataUseReport::DataUseReport(
+ const base::Time& start_time,
+ const base::Time& end_time,
+ int64_t bytes_downloaded,
+ int64_t bytes_uploaded)
+ : start_time(start_time),
+ end_time(end_time),
+ bytes_downloaded(bytes_downloaded),
+ bytes_uploaded(bytes_uploaded) {}
+
+size_t ExternalDataUseObserver::DataUseReportKeyHash::operator()(
+ const DataUseReportKey& k) const {
+ // The hash is computed by hashing individual variables and combining them
+ // using prime numbers. Prime numbers are used for multiplication because the
+ // number of buckets used by map is always an even number. Using a prime
+ // number ensures that for two different DataUseReportKey objects (say |j|
+ // and |k|), if the hash value of |k.label| is equal to hash value of
+ // |j.mcc_mnc|, then |j| and |k| map to different buckets. Large prime
+ // numbers are used so that hash value is spread over a larger range.
+ std::hash<std::string> hash_function;
+ size_t hash = 1;
+ hash = hash * 23 + hash_function(k.label);
+ hash = hash * 43 + k.connection_type;
+ hash = hash * 83 + hash_function(k.mcc_mnc);
+ return hash;
+}
+
ExternalDataUseObserver::MatchingRule::MatchingRule(
const std::string& app_package_name,
scoped_ptr<re2::RE2> pattern,

Powered by Google App Engine
This is Rietveld 408576698