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

Side by Side 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: 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 unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/android/data_usage/external_data_use_observer.h" 5 #include "chrome/browser/android/data_usage/external_data_use_observer.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/android/jni_string.h" 9 #include "base/android/jni_string.h"
10 #include "base/message_loop/message_loop.h" 10 #include "base/message_loop/message_loop.h"
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
128 } 128 }
129 129
130 void ExternalDataUseObserver::FetchMatchingRulesOnUIThread() const { 130 void ExternalDataUseObserver::FetchMatchingRulesOnUIThread() const {
131 DCHECK(ui_task_runner_->BelongsToCurrentThread()); 131 DCHECK(ui_task_runner_->BelongsToCurrentThread());
132 DCHECK(!j_external_data_use_observer_.is_null()); 132 DCHECK(!j_external_data_use_observer_.is_null());
133 JNIEnv* env = base::android::AttachCurrentThread(); 133 JNIEnv* env = base::android::AttachCurrentThread();
134 Java_ExternalDataUseObserver_fetchMatchingRules( 134 Java_ExternalDataUseObserver_fetchMatchingRules(
135 env, j_external_data_use_observer_.obj()); 135 env, j_external_data_use_observer_.obj());
136 } 136 }
137 137
138 void ExternalDataUseObserver::FetchMatchingRulesCallback( 138 void ExternalDataUseObserver::FetchMatchingRulesDone(
139 JNIEnv* env, 139 JNIEnv* env,
140 jobject obj, 140 jobject obj,
141 const base::android::JavaParamRef<jobjectArray>& app_package_name, 141 const base::android::JavaParamRef<jobjectArray>& app_package_name,
142 const base::android::JavaParamRef<jobjectArray>& domain_path_regex, 142 const base::android::JavaParamRef<jobjectArray>& domain_path_regex,
143 const base::android::JavaParamRef<jobjectArray>& label) { 143 const base::android::JavaParamRef<jobjectArray>& label) {
144 DCHECK(ui_task_runner_->BelongsToCurrentThread()); 144 DCHECK(ui_task_runner_->BelongsToCurrentThread());
145 // Convert to native objects. 145 // Convert to native objects.
146 std::vector<std::string> app_package_name_native; 146 std::vector<std::string> app_package_name_native;
147 std::vector<std::string> domain_path_regex_native; 147 std::vector<std::string> domain_path_regex_native;
148 std::vector<std::string> label_native; 148 std::vector<std::string> label_native;
149 149
150 if (app_package_name && domain_path_regex && label) { 150 if (app_package_name && domain_path_regex && label) {
151 base::android::AppendJavaStringArrayToStringVector( 151 base::android::AppendJavaStringArrayToStringVector(
152 env, app_package_name, &app_package_name_native); 152 env, app_package_name, &app_package_name_native);
153 base::android::AppendJavaStringArrayToStringVector( 153 base::android::AppendJavaStringArrayToStringVector(
154 env, domain_path_regex, &domain_path_regex_native); 154 env, domain_path_regex, &domain_path_regex_native);
155 base::android::AppendJavaStringArrayToStringVector(env, label, 155 base::android::AppendJavaStringArrayToStringVector(env, label,
156 &label_native); 156 &label_native);
157 } 157 }
158 158
159 io_task_runner_->PostTask( 159 io_task_runner_->PostTask(
160 FROM_HERE, 160 FROM_HERE,
161 base::Bind(&ExternalDataUseObserver::FetchMatchingRulesCallbackOnIOThread, 161 base::Bind(&ExternalDataUseObserver::FetchMatchingRulesDoneOnIOThread,
162 GetIOWeakPtr(), app_package_name_native, 162 GetIOWeakPtr(), app_package_name_native,
163 domain_path_regex_native, label_native)); 163 domain_path_regex_native, label_native));
164 } 164 }
165 165
166 void ExternalDataUseObserver::FetchMatchingRulesCallbackOnIOThread( 166 void ExternalDataUseObserver::FetchMatchingRulesDoneOnIOThread(
167 const std::vector<std::string>& app_package_name, 167 const std::vector<std::string>& app_package_name,
168 const std::vector<std::string>& domain_path_regex, 168 const std::vector<std::string>& domain_path_regex,
169 const std::vector<std::string>& label) { 169 const std::vector<std::string>& label) {
170 DCHECK(thread_checker_.CalledOnValidThread()); 170 DCHECK(thread_checker_.CalledOnValidThread());
171 171
172 RegisterURLRegexes(app_package_name, domain_path_regex, label); 172 RegisterURLRegexes(app_package_name, domain_path_regex, label);
173 matching_rules_fetch_pending_ = false; 173 matching_rules_fetch_pending_ = false;
174 // Process buffered reports. 174 // Process buffered reports.
175 } 175 }
176 176
(...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after
375 const re2::RE2* pattern = matching_rules_[i]->pattern(); 375 const re2::RE2* pattern = matching_rules_[i]->pattern();
376 if (re2::RE2::FullMatch(gurl.spec(), *pattern)) { 376 if (re2::RE2::FullMatch(gurl.spec(), *pattern)) {
377 *label = matching_rules_[i]->label(); 377 *label = matching_rules_[i]->label();
378 return true; 378 return true;
379 } 379 }
380 } 380 }
381 381
382 return false; 382 return false;
383 } 383 }
384 384
385 ExternalDataUseObserver::DataUseReportKey::DataUseReportKey(
386 const std::string& label,
387 net::NetworkChangeNotifier::ConnectionType connection_type,
388 const std::string& mcc_mnc)
389 : label(label), connection_type(connection_type), mcc_mnc(mcc_mnc) {}
390
391 ExternalDataUseObserver::DataUseReportKey::~DataUseReportKey() {}
392
393 bool ExternalDataUseObserver::DataUseReportKey::operator==(
394 const DataUseReportKey& other) const {
395 return (label == other.label && connection_type == other.connection_type &&
sclittle 2015/11/10 19:21:57 optional nit: parentheses aren't necessary here.
tbansal1 2015/11/11 21:18:38 Done.
396 mcc_mnc == other.mcc_mnc);
397 }
398
399 ExternalDataUseObserver::DataUseReport::DataUseReport(
400 const base::Time& start_time,
401 const base::Time& end_time,
402 int64_t bytes_downloaded,
403 int64_t bytes_uploaded)
404 : start_time(start_time),
405 end_time(end_time),
406 bytes_downloaded(bytes_downloaded),
407 bytes_uploaded(bytes_uploaded) {}
408
409 ExternalDataUseObserver::DataUseReport::~DataUseReport() {}
410
411 size_t ExternalDataUseObserver::DataUseReportKeyHash::operator()(
412 const DataUseReportKey& k) const {
413 std::hash<std::string> hash_function;
414 size_t hash = 1;
415 hash = hash * 23 + hash_function(k.label);
416 hash = hash * 43 + k.connection_type;
417 hash = hash * 83 + hash_function(k.mcc_mnc);
418 return hash;
419 }
420
385 ExternalDataUseObserver::MatchingRule::MatchingRule( 421 ExternalDataUseObserver::MatchingRule::MatchingRule(
386 const std::string& app_package_name, 422 const std::string& app_package_name,
387 scoped_ptr<re2::RE2> pattern, 423 scoped_ptr<re2::RE2> pattern,
388 const std::string& label) 424 const std::string& label)
389 : app_package_name_(app_package_name), 425 : app_package_name_(app_package_name),
390 pattern_(pattern.Pass()), 426 pattern_(pattern.Pass()),
391 label_(label) {} 427 label_(label) {}
392 428
393 ExternalDataUseObserver::MatchingRule::~MatchingRule() {} 429 ExternalDataUseObserver::MatchingRule::~MatchingRule() {}
394 430
395 const re2::RE2* ExternalDataUseObserver::MatchingRule::pattern() const { 431 const re2::RE2* ExternalDataUseObserver::MatchingRule::pattern() const {
396 return pattern_.get(); 432 return pattern_.get();
397 } 433 }
398 434
399 const std::string& ExternalDataUseObserver::MatchingRule::label() const { 435 const std::string& ExternalDataUseObserver::MatchingRule::label() const {
400 return label_; 436 return label_;
401 } 437 }
402 438
403 bool RegisterExternalDataUseObserver(JNIEnv* env) { 439 bool RegisterExternalDataUseObserver(JNIEnv* env) {
404 return RegisterNativesImpl(env); 440 return RegisterNativesImpl(env);
405 } 441 }
406 442
407 } // namespace android 443 } // namespace android
408 444
409 } // namespace chrome 445 } // namespace chrome
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698