OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 CHROME_BROWSER_METRICS_CHROME_METRICS_SERVICE_CLIENT_H_ | 5 #ifndef CHROME_BROWSER_METRICS_CHROME_METRICS_SERVICE_CLIENT_H_ |
6 #define CHROME_BROWSER_METRICS_CHROME_METRICS_SERVICE_CLIENT_H_ | 6 #define CHROME_BROWSER_METRICS_CHROME_METRICS_SERVICE_CLIENT_H_ |
7 | 7 |
8 #include <string> | 8 #include <string> |
9 | 9 |
10 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
11 #include "base/callback.h" | 11 #include "base/callback.h" |
12 #include "base/memory/scoped_ptr.h" | 12 #include "base/memory/scoped_ptr.h" |
13 #include "base/memory/weak_ptr.h" | 13 #include "base/memory/weak_ptr.h" |
14 #include "base/threading/thread_checker.h" | 14 #include "base/threading/thread_checker.h" |
15 #include "chrome/browser/metrics/metrics_memory_details.h" | 15 #include "chrome/browser/metrics/metrics_memory_details.h" |
16 #include "chrome/browser/metrics/network_stats_uploader.h" | |
17 #include "components/metrics/metrics_service_client.h" | 16 #include "components/metrics/metrics_service_client.h" |
18 #include "components/metrics/profiler/tracking_synchronizer_observer.h" | 17 #include "components/metrics/profiler/tracking_synchronizer_observer.h" |
19 #include "content/public/browser/notification_observer.h" | 18 #include "content/public/browser/notification_observer.h" |
20 #include "content/public/browser/notification_registrar.h" | 19 #include "content/public/browser/notification_registrar.h" |
21 | 20 |
22 class ChromeOSMetricsProvider; | 21 class ChromeOSMetricsProvider; |
23 class DriveMetricsProvider; | 22 class DriveMetricsProvider; |
24 class GoogleUpdateMetricsProviderWin; | 23 class GoogleUpdateMetricsProviderWin; |
25 class PluginMetricsProvider; | 24 class PluginMetricsProvider; |
26 class PrefRegistrySimple; | 25 class PrefRegistrySimple; |
| 26 class PrefService; |
27 | 27 |
28 #if !defined(OS_CHROMEOS) && !defined(OS_IOS) | 28 #if !defined(OS_CHROMEOS) && !defined(OS_IOS) |
29 class SigninStatusMetricsProvider; | 29 class SigninStatusMetricsProvider; |
30 #endif | 30 #endif |
31 | 31 |
32 namespace base { | 32 namespace base { |
33 class FilePath; | 33 class FilePath; |
34 } // namespace base | 34 } // namespace base |
35 | 35 |
36 namespace metrics { | 36 namespace metrics { |
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
133 | 133 |
134 // The MetricsService that |this| is a client of. | 134 // The MetricsService that |this| is a client of. |
135 scoped_ptr<metrics::MetricsService> metrics_service_; | 135 scoped_ptr<metrics::MetricsService> metrics_service_; |
136 | 136 |
137 content::NotificationRegistrar registrar_; | 137 content::NotificationRegistrar registrar_; |
138 | 138 |
139 // On ChromeOS, holds a weak pointer to the ChromeOSMetricsProvider instance | 139 // On ChromeOS, holds a weak pointer to the ChromeOSMetricsProvider instance |
140 // that has been registered with MetricsService. On other platforms, is NULL. | 140 // that has been registered with MetricsService. On other platforms, is NULL. |
141 ChromeOSMetricsProvider* chromeos_metrics_provider_; | 141 ChromeOSMetricsProvider* chromeos_metrics_provider_; |
142 | 142 |
143 NetworkStatsUploader network_stats_uploader_; | |
144 | |
145 // Saved callback received from CollectFinalMetrics(). | 143 // Saved callback received from CollectFinalMetrics(). |
146 base::Closure collect_final_metrics_done_callback_; | 144 base::Closure collect_final_metrics_done_callback_; |
147 | 145 |
148 // Indicates that collect final metrics step is running. | 146 // Indicates that collect final metrics step is running. |
149 bool waiting_for_collect_final_metrics_step_; | 147 bool waiting_for_collect_final_metrics_step_; |
150 | 148 |
151 // Number of async histogram fetch requests in progress. | 149 // Number of async histogram fetch requests in progress. |
152 int num_async_histogram_fetches_in_progress_; | 150 int num_async_histogram_fetches_in_progress_; |
153 | 151 |
154 // The ProfilerMetricsProvider instance that was registered with | 152 // The ProfilerMetricsProvider instance that was registered with |
(...skipping 26 matching lines...) Expand all Loading... |
181 // Callback to determine whether or not a cellular network is currently being | 179 // Callback to determine whether or not a cellular network is currently being |
182 // used. | 180 // used. |
183 base::Callback<void(bool*)> cellular_callback_; | 181 base::Callback<void(bool*)> cellular_callback_; |
184 | 182 |
185 base::WeakPtrFactory<ChromeMetricsServiceClient> weak_ptr_factory_; | 183 base::WeakPtrFactory<ChromeMetricsServiceClient> weak_ptr_factory_; |
186 | 184 |
187 DISALLOW_COPY_AND_ASSIGN(ChromeMetricsServiceClient); | 185 DISALLOW_COPY_AND_ASSIGN(ChromeMetricsServiceClient); |
188 }; | 186 }; |
189 | 187 |
190 #endif // CHROME_BROWSER_METRICS_CHROME_METRICS_SERVICE_CLIENT_H_ | 188 #endif // CHROME_BROWSER_METRICS_CHROME_METRICS_SERVICE_CLIENT_H_ |
OLD | NEW |