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

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

Issue 1443683002: Notify DataUseTabModel of navigations and tab closures (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addressed sclittle comments 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 1a2b5b29d9749dd0f05428877b5b31839a99f8f9..470e033df462b4b76400b5190215f0a5cfa1b948 100644
--- a/chrome/browser/android/data_usage/external_data_use_observer.h
+++ b/chrome/browser/android/data_usage/external_data_use_observer.h
@@ -96,29 +96,30 @@ class ExternalDataUseObserver : public data_usage::DataUseAggregator::Observer {
bool MatchesAppPackageName(const std::string& app_package_name,
std::string* label) const;
- DataUseTabModel* data_use_tab_model() const {
- return data_use_tab_model_.get();
+ const base::WeakPtr<DataUseTabModel>& data_use_tab_model_weak_ptr() const {
+ return data_use_tab_model_weak_ptr_;
}
private:
friend class DataUseTabModelTest;
friend class ExternalDataUseObserverTest;
- FRIEND_TEST_ALL_PREFIXES(ExternalDataUseObserverTest, SingleRegex);
- FRIEND_TEST_ALL_PREFIXES(ExternalDataUseObserverTest, TwoRegex);
- FRIEND_TEST_ALL_PREFIXES(ExternalDataUseObserverTest, MultipleRegex);
- FRIEND_TEST_ALL_PREFIXES(ExternalDataUseObserverTest, ChangeRegex);
- FRIEND_TEST_ALL_PREFIXES(ExternalDataUseObserverTest, LabelRemoved);
FRIEND_TEST_ALL_PREFIXES(ExternalDataUseObserverTest,
AtMostOneDataUseSubmitRequest);
+ FRIEND_TEST_ALL_PREFIXES(ExternalDataUseObserverTest, BufferDataUseReports);
+ FRIEND_TEST_ALL_PREFIXES(ExternalDataUseObserverTest, BufferSize);
+ FRIEND_TEST_ALL_PREFIXES(ExternalDataUseObserverTest, ChangeRegex);
+ FRIEND_TEST_ALL_PREFIXES(ExternalDataUseObserverTest, HashFunction);
+ FRIEND_TEST_ALL_PREFIXES(ExternalDataUseObserverTest, LabelRemoved);
FRIEND_TEST_ALL_PREFIXES(ExternalDataUseObserverTest, MultipleMatchingRules);
+ FRIEND_TEST_ALL_PREFIXES(ExternalDataUseObserverTest, MultipleRegex);
+ FRIEND_TEST_ALL_PREFIXES(ExternalDataUseObserverTest,
+ PeriodicFetchMatchingRules);
FRIEND_TEST_ALL_PREFIXES(ExternalDataUseObserverTest, ReportsMergedCorrectly);
+ FRIEND_TEST_ALL_PREFIXES(DataUseUITabModelTest, ReportTabEventsTest);
+ FRIEND_TEST_ALL_PREFIXES(ExternalDataUseObserverTest, SingleRegex);
FRIEND_TEST_ALL_PREFIXES(ExternalDataUseObserverTest,
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, TwoRegex);
FRIEND_TEST_ALL_PREFIXES(ExternalDataUseObserverTest, Variations);
// DataUseReportKey is a unique identifier for a data use report.
@@ -277,6 +278,7 @@ class ExternalDataUseObserver : public data_usage::DataUseAggregator::Observer {
// Maintains tab sessions.
scoped_ptr<DataUseTabModel> data_use_tab_model_;
+ base::WeakPtr<DataUseTabModel> data_use_tab_model_weak_ptr_;
// True if callback from |FetchMatchingRulesDone| is currently pending.
bool matching_rules_fetch_pending_;

Powered by Google App Engine
This is Rietveld 408576698