| 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_;
|
|
|