| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 // This file defines a service that collects information about the user | 5 // This file defines a service that collects information about the user |
| 6 // experience in order to help improve future versions of the app. | 6 // experience in order to help improve future versions of the app. |
| 7 | 7 |
| 8 #ifndef CHROME_BROWSER_METRICS_METRICS_SERVICE_H_ | 8 #ifndef CHROME_BROWSER_METRICS_METRICS_SERVICE_H_ |
| 9 #define CHROME_BROWSER_METRICS_METRICS_SERVICE_H_ | 9 #define CHROME_BROWSER_METRICS_METRICS_SERVICE_H_ |
| 10 #pragma once | 10 #pragma once |
| 11 | 11 |
| 12 #include <map> | 12 #include <map> |
| 13 #include <string> | 13 #include <string> |
| 14 #include <vector> | 14 #include <vector> |
| 15 | 15 |
| 16 #include "base/basictypes.h" | 16 #include "base/basictypes.h" |
| 17 #include "base/gtest_prod_util.h" | 17 #include "base/gtest_prod_util.h" |
| 18 #include "base/memory/scoped_ptr.h" | 18 #include "base/memory/scoped_ptr.h" |
| 19 #include "base/process_util.h" |
| 19 #include "chrome/browser/io_thread.h" | 20 #include "chrome/browser/io_thread.h" |
| 20 #include "chrome/common/metrics_helpers.h" | 21 #include "chrome/common/metrics_helpers.h" |
| 21 #include "content/common/notification_observer.h" | 22 #include "content/common/notification_observer.h" |
| 22 #include "content/common/notification_registrar.h" | 23 #include "content/common/notification_registrar.h" |
| 23 #include "content/common/net/url_fetcher.h" | 24 #include "content/common/net/url_fetcher.h" |
| 24 | 25 |
| 25 #if defined(OS_CHROMEOS) | 26 #if defined(OS_CHROMEOS) |
| 26 #include "chrome/browser/chromeos/external_metrics.h" | 27 #include "chrome/browser/chromeos/external_metrics.h" |
| 27 #endif | 28 #endif |
| 28 | 29 |
| 29 class BookmarkModel; | 30 class BookmarkModel; |
| 30 class BookmarkNode; | 31 class BookmarkNode; |
| 31 class HistogramSynchronizer; | 32 class HistogramSynchronizer; |
| 32 class MetricsLogBase; | 33 class MetricsLogBase; |
| 33 class MetricsReportingScheduler; | 34 class MetricsReportingScheduler; |
| 34 class PrefService; | 35 class PrefService; |
| 35 class Profile; | 36 class Profile; |
| 37 class RenderProcessHost; |
| 36 class TemplateURLService; | 38 class TemplateURLService; |
| 37 | 39 |
| 38 namespace base { | 40 namespace base { |
| 39 class DictionaryValue; | 41 class DictionaryValue; |
| 40 class MessageLoopProxy; | 42 class MessageLoopProxy; |
| 41 } | 43 } |
| 42 | 44 |
| 43 namespace prerender { | 45 namespace prerender { |
| 44 bool IsOmniboxEnabled(Profile* profile); | 46 bool IsOmniboxEnabled(Profile* profile); |
| 45 } | 47 } |
| (...skipping 200 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 246 const NotificationDetails& details); | 248 const NotificationDetails& details); |
| 247 | 249 |
| 248 // Reads, increments and then sets the specified integer preference. | 250 // Reads, increments and then sets the specified integer preference. |
| 249 void IncrementPrefValue(const char* path); | 251 void IncrementPrefValue(const char* path); |
| 250 | 252 |
| 251 // Reads, increments and then sets the specified long preference that is | 253 // Reads, increments and then sets the specified long preference that is |
| 252 // stored as a string. | 254 // stored as a string. |
| 253 void IncrementLongPrefsValue(const char* path); | 255 void IncrementLongPrefsValue(const char* path); |
| 254 | 256 |
| 255 // Records a renderer process crash. | 257 // Records a renderer process crash. |
| 256 void LogRendererCrash(); | 258 void LogRendererCrash(RenderProcessHost* host, |
| 257 | 259 base::TerminationStatus status, |
| 258 // Records an extension renderer process crash. | 260 bool was_alive); |
| 259 void LogExtensionRendererCrash(); | |
| 260 | 261 |
| 261 // Records a renderer process hang. | 262 // Records a renderer process hang. |
| 262 void LogRendererHang(); | 263 void LogRendererHang(); |
| 263 | 264 |
| 264 // Records that the browser was shut down cleanly. | 265 // Records that the browser was shut down cleanly. |
| 265 void LogCleanShutdown(); | 266 void LogCleanShutdown(); |
| 266 | 267 |
| 267 // Set the value in preferences for the number of bookmarks and folders | 268 // Set the value in preferences for the number of bookmarks and folders |
| 268 // in node. The pref key for the number of bookmarks in num_bookmarks_key and | 269 // in node. The pref key for the number of bookmarks in num_bookmarks_key and |
| 269 // the pref key for number of folders in num_folders_key. | 270 // the pref key for number of folders in num_folders_key. |
| (...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 404 friend class InstantFieldTrial; | 405 friend class InstantFieldTrial; |
| 405 friend bool prerender::IsOmniboxEnabled(Profile* profile); | 406 friend bool prerender::IsOmniboxEnabled(Profile* profile); |
| 406 | 407 |
| 407 // Returns true if prefs::kMetricsReportingEnabled is set. | 408 // Returns true if prefs::kMetricsReportingEnabled is set. |
| 408 static bool IsMetricsReportingEnabled(); | 409 static bool IsMetricsReportingEnabled(); |
| 409 | 410 |
| 410 DISALLOW_IMPLICIT_CONSTRUCTORS(MetricsServiceHelper); | 411 DISALLOW_IMPLICIT_CONSTRUCTORS(MetricsServiceHelper); |
| 411 }; | 412 }; |
| 412 | 413 |
| 413 #endif // CHROME_BROWSER_METRICS_METRICS_SERVICE_H_ | 414 #endif // CHROME_BROWSER_METRICS_METRICS_SERVICE_H_ |
| OLD | NEW |