Chromium Code Reviews| Index: chrome/browser/android/data_usage/data_use_matcher.cc |
| diff --git a/chrome/browser/android/data_usage/data_use_matcher.cc b/chrome/browser/android/data_usage/data_use_matcher.cc |
| index 21e435ca11f038c4cc0f4e07d29cf061082e54a1..2abeebdeeeeba3866026a235e418837b2eaa7719 100644 |
| --- a/chrome/browser/android/data_usage/data_use_matcher.cc |
| +++ b/chrome/browser/android/data_usage/data_use_matcher.cc |
| @@ -15,7 +15,7 @@ |
| #include "base/time/default_tick_clock.h" |
| #include "base/time/tick_clock.h" |
| #include "base/time/time.h" |
| -#include "chrome/browser/android/data_usage/external_data_use_observer.h" |
| +#include "chrome/browser/android/data_usage/external_data_use_observer_bridge.h" |
| #include "third_party/re2/src/re2/re2.h" |
| #include "url/gurl.h" |
| @@ -25,16 +25,14 @@ namespace android { |
| DataUseMatcher::DataUseMatcher( |
| const base::WeakPtr<DataUseTabModel>& data_use_tab_model, |
| - const scoped_refptr<base::SingleThreadTaskRunner>& io_task_runner, |
| - const base::WeakPtr<ExternalDataUseObserver>& external_data_use_observer, |
| + const ExternalDataUseObserverBridge* external_data_use_observer_bridge, |
|
Raj
2016/03/08 06:33:07
ExternalDataUseObserverBridge lives in UI thread,
tbansal1
2016/03/08 18:15:00
I am confused. Is this related to the buffering of
Raj
2016/03/09 02:27:35
Sorry. Will split into 3 CLs.
|
| const base::TimeDelta& default_matching_rule_expiration_duration) |
| : data_use_tab_model_(data_use_tab_model), |
| default_matching_rule_expiration_duration_( |
| default_matching_rule_expiration_duration), |
| tick_clock_(new base::DefaultTickClock()), |
| - io_task_runner_(io_task_runner), |
| - external_data_use_observer_(external_data_use_observer) { |
| - DCHECK(io_task_runner_); |
| + external_data_use_observer_bridge_(external_data_use_observer_bridge) { |
| + DCHECK(external_data_use_observer_bridge_); |
| } |
| DataUseMatcher::~DataUseMatcher() {} |
| @@ -92,14 +90,9 @@ void DataUseMatcher::RegisterURLRegexes( |
| UMA_HISTOGRAM_COUNTS_100("DataUsage.MatchingRulesCount.Invalid", |
| invalid_rules); |
| - DCHECK(io_task_runner_); |
| - |
| - // Notify |external_data_use_observer_| if it should register as a data use |
| - // observer. |
| - io_task_runner_->PostTask( |
| - FROM_HERE, |
| - base::Bind(&ExternalDataUseObserver::ShouldRegisterAsDataUseObserver, |
| - external_data_use_observer_, !matching_rules_.empty())); |
| + DCHECK(external_data_use_observer_bridge_); |
| + external_data_use_observer_bridge_->ShouldRegisterAsDataUseObserver( |
| + !matching_rules_.empty()); |
| } |
| bool DataUseMatcher::MatchesURL(const GURL& url, std::string* label) const { |
| @@ -149,12 +142,8 @@ bool DataUseMatcher::MatchesAppPackageName(const std::string& app_package_name, |
| void DataUseMatcher::FetchMatchingRules() { |
| DCHECK(thread_checker_.CalledOnValidThread()); |
| - DCHECK(io_task_runner_); |
| - |
| - // Notify |external_data_use_observer_| to fetch the rules. |
| - io_task_runner_->PostTask( |
| - FROM_HERE, base::Bind(&ExternalDataUseObserver::FetchMatchingRules, |
| - external_data_use_observer_)); |
| + DCHECK(external_data_use_observer_bridge_); |
| + external_data_use_observer_bridge_->FetchMatchingRules(); |
| } |
| bool DataUseMatcher::HasValidRules() const { |