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

Side by Side Diff: ios/chrome/browser/metrics/ios_chrome_metrics_service_client.h

Issue 1861593005: Convert //ios from scoped_ptr to std::unique_ptr. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase? Created 4 years, 8 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 #ifndef IOS_CHROME_BROWSER_METRICS_IOS_CHROME_METRICS_SERVICE_CLIENT_H_ 5 #ifndef IOS_CHROME_BROWSER_METRICS_IOS_CHROME_METRICS_SERVICE_CLIENT_H_
6 #define IOS_CHROME_BROWSER_METRICS_IOS_CHROME_METRICS_SERVICE_CLIENT_H_ 6 #define IOS_CHROME_BROWSER_METRICS_IOS_CHROME_METRICS_SERVICE_CLIENT_H_
7 7
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <memory>
10 #include <string> 11 #include <string>
11 12
12 #include "base/callback.h" 13 #include "base/callback.h"
13 #include "base/macros.h" 14 #include "base/macros.h"
14 #include "base/memory/scoped_ptr.h"
15 #include "base/memory/weak_ptr.h" 15 #include "base/memory/weak_ptr.h"
16 #include "base/threading/thread_checker.h" 16 #include "base/threading/thread_checker.h"
17 #include "components/metrics/metrics_service_client.h" 17 #include "components/metrics/metrics_service_client.h"
18 #include "components/metrics/profiler/tracking_synchronizer_observer.h" 18 #include "components/metrics/profiler/tracking_synchronizer_observer.h"
19 #include "components/omnibox/browser/omnibox_event_global_tracker.h" 19 #include "components/omnibox/browser/omnibox_event_global_tracker.h"
20 #include "ios/web/public/web_state/global_web_state_observer.h" 20 #include "ios/web/public/web_state/global_web_state_observer.h"
21 21
22 class IOSChromeStabilityMetricsProvider; 22 class IOSChromeStabilityMetricsProvider;
23 class PrefRegistrySimple; 23 class PrefRegistrySimple;
24 class PrefService; 24 class PrefService;
(...skipping 12 matching lines...) Expand all
37 // IOSChromeMetricsServiceClient provides an implementation of 37 // IOSChromeMetricsServiceClient provides an implementation of
38 // MetricsServiceClient that depends on //ios/chrome/. 38 // MetricsServiceClient that depends on //ios/chrome/.
39 class IOSChromeMetricsServiceClient 39 class IOSChromeMetricsServiceClient
40 : public metrics::MetricsServiceClient, 40 : public metrics::MetricsServiceClient,
41 public metrics::TrackingSynchronizerObserver, 41 public metrics::TrackingSynchronizerObserver,
42 public web::GlobalWebStateObserver { 42 public web::GlobalWebStateObserver {
43 public: 43 public:
44 ~IOSChromeMetricsServiceClient() override; 44 ~IOSChromeMetricsServiceClient() override;
45 45
46 // Factory function. 46 // Factory function.
47 static scoped_ptr<IOSChromeMetricsServiceClient> Create( 47 static std::unique_ptr<IOSChromeMetricsServiceClient> Create(
48 metrics::MetricsStateManager* state_manager, 48 metrics::MetricsStateManager* state_manager,
49 PrefService* local_state); 49 PrefService* local_state);
50 50
51 // Registers local state prefs used by this class. 51 // Registers local state prefs used by this class.
52 static void RegisterPrefs(PrefRegistrySimple* registry); 52 static void RegisterPrefs(PrefRegistrySimple* registry);
53 53
54 // metrics::MetricsServiceClient: 54 // metrics::MetricsServiceClient:
55 metrics::MetricsService* GetMetricsService() override; 55 metrics::MetricsService* GetMetricsService() override;
56 void SetMetricsClientId(const std::string& client_id) override; 56 void SetMetricsClientId(const std::string& client_id) override;
57 void OnRecordingDisabled() override; 57 void OnRecordingDisabled() override;
58 bool IsOffTheRecordSessionActive() override; 58 bool IsOffTheRecordSessionActive() override;
59 int32_t GetProduct() override; 59 int32_t GetProduct() override;
60 std::string GetApplicationLocale() override; 60 std::string GetApplicationLocale() override;
61 bool GetBrand(std::string* brand_code) override; 61 bool GetBrand(std::string* brand_code) override;
62 metrics::SystemProfileProto::Channel GetChannel() override; 62 metrics::SystemProfileProto::Channel GetChannel() override;
63 std::string GetVersionString() override; 63 std::string GetVersionString() override;
64 void OnLogUploadComplete() override; 64 void OnLogUploadComplete() override;
65 void InitializeSystemProfileMetrics( 65 void InitializeSystemProfileMetrics(
66 const base::Closure& done_callback) override; 66 const base::Closure& done_callback) override;
67 void CollectFinalMetricsForLog(const base::Closure& done_callback) override; 67 void CollectFinalMetricsForLog(const base::Closure& done_callback) override;
68 scoped_ptr<metrics::MetricsLogUploader> CreateUploader( 68 std::unique_ptr<metrics::MetricsLogUploader> CreateUploader(
69 const base::Callback<void(int)>& on_upload_complete) override; 69 const base::Callback<void(int)>& on_upload_complete) override;
70 base::TimeDelta GetStandardUploadInterval() override; 70 base::TimeDelta GetStandardUploadInterval() override;
71 base::string16 GetRegistryBackupKey() override; 71 base::string16 GetRegistryBackupKey() override;
72 void OnRendererProcessCrash() override; 72 void OnRendererProcessCrash() override;
73 73
74 // web::GlobalWebStateObserver: 74 // web::GlobalWebStateObserver:
75 void WebStateDidStartLoading(web::WebState* web_state) override; 75 void WebStateDidStartLoading(web::WebState* web_state) override;
76 void WebStateDidStopLoading(web::WebState* web_state) override; 76 void WebStateDidStopLoading(web::WebState* web_state) override;
77 77
78 private: 78 private:
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
113 113
114 // Called when a URL is opened from the Omnibox. 114 // Called when a URL is opened from the Omnibox.
115 void OnURLOpenedFromOmnibox(OmniboxLog* log); 115 void OnURLOpenedFromOmnibox(OmniboxLog* log);
116 116
117 base::ThreadChecker thread_checker_; 117 base::ThreadChecker thread_checker_;
118 118
119 // Weak pointer to the MetricsStateManager. 119 // Weak pointer to the MetricsStateManager.
120 metrics::MetricsStateManager* metrics_state_manager_; 120 metrics::MetricsStateManager* metrics_state_manager_;
121 121
122 // The MetricsService that |this| is a client of. 122 // The MetricsService that |this| is a client of.
123 scoped_ptr<metrics::MetricsService> metrics_service_; 123 std::unique_ptr<metrics::MetricsService> metrics_service_;
124 124
125 // The IOSChromeStabilityMetricsProvider instance that was registered with 125 // The IOSChromeStabilityMetricsProvider instance that was registered with
126 // MetricsService. Has the same lifetime as |metrics_service_|. 126 // MetricsService. Has the same lifetime as |metrics_service_|.
127 IOSChromeStabilityMetricsProvider* stability_metrics_provider_; 127 IOSChromeStabilityMetricsProvider* stability_metrics_provider_;
128 128
129 // Saved callback received from CollectFinalMetricsForLog(). 129 // Saved callback received from CollectFinalMetricsForLog().
130 base::Closure collect_final_metrics_done_callback_; 130 base::Closure collect_final_metrics_done_callback_;
131 131
132 // The ProfilerMetricsProvider instance that was registered with 132 // The ProfilerMetricsProvider instance that was registered with
133 // MetricsService. Has the same lifetime as |metrics_service_|. 133 // MetricsService. Has the same lifetime as |metrics_service_|.
134 metrics::ProfilerMetricsProvider* profiler_metrics_provider_; 134 metrics::ProfilerMetricsProvider* profiler_metrics_provider_;
135 135
136 // The DriveMetricsProvider instance that was registered with MetricsService. 136 // The DriveMetricsProvider instance that was registered with MetricsService.
137 // Has the same lifetime as |metrics_service_|. 137 // Has the same lifetime as |metrics_service_|.
138 metrics::DriveMetricsProvider* drive_metrics_provider_; 138 metrics::DriveMetricsProvider* drive_metrics_provider_;
139 139
140 // Callback that is called when initial metrics gathering is complete. 140 // Callback that is called when initial metrics gathering is complete.
141 base::Closure finished_init_task_callback_; 141 base::Closure finished_init_task_callback_;
142 142
143 // Time of this object's creation. 143 // Time of this object's creation.
144 const base::TimeTicks start_time_; 144 const base::TimeTicks start_time_;
145 145
146 // Subscription for receiving callbacks that a tab was parented. 146 // Subscription for receiving callbacks that a tab was parented.
147 scoped_ptr<base::CallbackList<void(web::WebState*)>::Subscription> 147 std::unique_ptr<base::CallbackList<void(web::WebState*)>::Subscription>
148 tab_parented_subscription_; 148 tab_parented_subscription_;
149 149
150 // Subscription for receiving callbacks that a URL was opened from the 150 // Subscription for receiving callbacks that a URL was opened from the
151 // omnibox. 151 // omnibox.
152 scoped_ptr<base::CallbackList<void(OmniboxLog*)>::Subscription> 152 std::unique_ptr<base::CallbackList<void(OmniboxLog*)>::Subscription>
153 omnibox_url_opened_subscription_; 153 omnibox_url_opened_subscription_;
154 154
155 // Whether this client has already uploaded profiler data during this session. 155 // Whether this client has already uploaded profiler data during this session.
156 // Profiler data is uploaded at most once per session. 156 // Profiler data is uploaded at most once per session.
157 bool has_uploaded_profiler_data_; 157 bool has_uploaded_profiler_data_;
158 158
159 base::WeakPtrFactory<IOSChromeMetricsServiceClient> weak_ptr_factory_; 159 base::WeakPtrFactory<IOSChromeMetricsServiceClient> weak_ptr_factory_;
160 160
161 DISALLOW_COPY_AND_ASSIGN(IOSChromeMetricsServiceClient); 161 DISALLOW_COPY_AND_ASSIGN(IOSChromeMetricsServiceClient);
162 }; 162 };
163 163
164 #endif // IOS_CHROME_BROWSER_METRICS_IOS_CHROME_METRICS_SERVICE_CLIENT_H_ 164 #endif // IOS_CHROME_BROWSER_METRICS_IOS_CHROME_METRICS_SERVICE_CLIENT_H_
OLDNEW
« no previous file with comments | « ios/chrome/browser/memory/memory_metrics.cc ('k') | ios/chrome/browser/metrics/ios_chrome_metrics_service_client.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698