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

Side by Side Diff: chrome/browser/android/data_usage/external_data_use_observer.cc

Issue 2165123002: Make ExternalDataUseReporter independent of other data use classes (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addressed nits Created 4 years, 5 months 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 "base/bind.h" 7 #include "base/bind.h"
8 #include "base/bind_helpers.h" 8 #include "base/bind_helpers.h"
9 #include "base/metrics/field_trial.h" 9 #include "base/metrics/field_trial.h"
10 #include "base/single_thread_task_runner.h" 10 #include "base/single_thread_task_runner.h"
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
56 // It is okay to use base::Unretained for the callbacks, since 56 // It is okay to use base::Unretained for the callbacks, since
57 // |external_data_use_observer_bridge_| is owned by |this|, and is 57 // |external_data_use_observer_bridge_| is owned by |this|, and is
58 // destroyed on UI thread after |this| and |data_use_tab_model_| are 58 // destroyed on UI thread after |this| and |data_use_tab_model_| are
59 // destroyed. 59 // destroyed.
60 data_use_tab_model_(new DataUseTabModel( 60 data_use_tab_model_(new DataUseTabModel(
61 base::Bind(&ExternalDataUseObserverBridge::FetchMatchingRules, 61 base::Bind(&ExternalDataUseObserverBridge::FetchMatchingRules,
62 base::Unretained(external_data_use_observer_bridge_)), 62 base::Unretained(external_data_use_observer_bridge_)),
63 base::Bind( 63 base::Bind(
64 &ExternalDataUseObserverBridge::ShouldRegisterAsDataUseObserver, 64 &ExternalDataUseObserverBridge::ShouldRegisterAsDataUseObserver,
65 base::Unretained(external_data_use_observer_bridge_)))), 65 base::Unretained(external_data_use_observer_bridge_)))),
66 external_data_use_reporter_( 66 // It is okay to use base::Unretained for the callbacks, since
67 new ExternalDataUseReporter(kExternalDataUseObserverFieldTrial, 67 // |external_data_use_observer_bridge_| and |data_use_tab_model_| are
68 data_use_tab_model_, 68 // owned by |this|, and are destroyed on UI thread after |this| and
69 external_data_use_observer_bridge_)), 69 // |external_data_use_reporter_| are destroyed.
70 external_data_use_reporter_(new ExternalDataUseReporter(
71 kExternalDataUseObserverFieldTrial,
72 base::Bind(&DataUseTabModel::GetTrackingInfoForTabAtTime,
73 base::Unretained(data_use_tab_model_)),
74 base::Bind(&ExternalDataUseObserverBridge::ReportDataUse,
75 base::Unretained(external_data_use_observer_bridge_)))),
70 io_task_runner_(io_task_runner), 76 io_task_runner_(io_task_runner),
71 ui_task_runner_(ui_task_runner), 77 ui_task_runner_(ui_task_runner),
72 last_matching_rules_fetch_time_(base::TimeTicks::Now()), 78 last_matching_rules_fetch_time_(base::TimeTicks::Now()),
73 fetch_matching_rules_duration_( 79 fetch_matching_rules_duration_(
74 base::TimeDelta::FromSeconds(GetFetchMatchingRulesDurationSeconds())), 80 base::TimeDelta::FromSeconds(GetFetchMatchingRulesDurationSeconds())),
75 registered_as_data_use_observer_(false), 81 registered_as_data_use_observer_(false),
76 weak_factory_(this) { 82 weak_factory_(this) {
77 DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::IO)); 83 DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::IO));
78 DCHECK(data_use_aggregator_); 84 DCHECK(data_use_aggregator_);
79 DCHECK(io_task_runner_); 85 DCHECK(io_task_runner_);
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after
207 } 213 }
208 214
209 DataUseTabModel* ExternalDataUseObserver::GetDataUseTabModel() const { 215 DataUseTabModel* ExternalDataUseObserver::GetDataUseTabModel() const {
210 DCHECK(thread_checker_.CalledOnValidThread()); 216 DCHECK(thread_checker_.CalledOnValidThread());
211 return data_use_tab_model_; 217 return data_use_tab_model_;
212 } 218 }
213 219
214 } // namespace android 220 } // namespace android
215 221
216 } // namespace chrome 222 } // namespace chrome
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698