Chromium Code Reviews| Index: chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc |
| diff --git a/chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc b/chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc |
| index 3800b973a166f222d7a8bf01ca346333cd0741f0..b44ca9c00bb966852861efb9707224511f6fea08 100644 |
| --- a/chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc |
| +++ b/chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc |
| @@ -113,8 +113,8 @@ enum UMATouchEventsState { |
| #if defined(OS_ANDROID) && defined(__arm__) |
| enum UMAAndroidArmFpu { |
| - UMA_ANDROID_ARM_FPU_VFPV3_D16, // The ARM CPU only supports vfpv3-d16. |
| - UMA_ANDROID_ARM_FPU_NEON, // The Arm CPU supports NEON. |
| + UMA_ANDROID_ARM_FPU_VFPV3_D16, // The ARM CPU only supports vfpv3-d16. |
|
Patrick Monette
2016/11/19 00:22:40
Fixing a lint error.
|
| + UMA_ANDROID_ARM_FPU_NEON, // The Arm CPU supports NEON. |
| UMA_ANDROID_ARM_FPU_COUNT |
| }; |
| #endif // defined(OS_ANDROID) && defined(__arm__) |
| @@ -314,6 +314,37 @@ void AsynchronousTouchEventStateRecorder::OnDeviceListsComplete() { |
| #endif // defined(USE_OZONE) || defined(USE_X11) |
| +#if defined(OS_WIN) |
| +void RecordPinnedToTaskbarProcessError(bool error) { |
| + UMA_HISTOGRAM_BOOLEAN("Windows.IsPinnedToTaskbar.ProcessError", error); |
| +} |
| + |
| +void OnShellHandlerConnectionError() { |
| + RecordPinnedToTaskbarProcessError(true); |
| +} |
| + |
| +// Record the UMA histogram when a response is received. |
| +void OnIsPinnedToTaskbarResult(bool succeeded, bool is_pinned_to_taskbar) { |
| + RecordPinnedToTaskbarProcessError(false); |
| + |
| + enum Result { NOT_PINNED, PINNED, FAILURE, NUM_RESULTS }; |
| + |
| + Result result = FAILURE; |
| + if (succeeded) |
| + result = is_pinned_to_taskbar ? PINNED : NOT_PINNED; |
| + UMA_HISTOGRAM_ENUMERATION("Windows.IsPinnedToTaskbar", result, NUM_RESULTS); |
| +} |
| + |
| +// Records the pinned state of the current executable into a histogram. Must be |
| +// called on the IO thread. |
| +void RecordIsPinnedToTaskbarHistogram() { |
| + DCHECK_CURRENTLY_ON(content::BrowserThread::IO); |
| + shell_integration::win::GetIsPinnedToTaskbarState( |
| + base::Bind(&OnShellHandlerConnectionError), |
| + base::Bind(&OnIsPinnedToTaskbarResult)); |
| +} |
| +#endif // defined(OS_WIN) |
| + |
| } // namespace |
| ChromeBrowserMainExtraPartsMetrics::ChromeBrowserMainExtraPartsMetrics() |
| @@ -369,7 +400,7 @@ void ChromeBrowserMainExtraPartsMetrics::PostBrowserStart() { |
| #if defined(OS_WIN) |
| content::BrowserThread::PostDelayedTask( |
| content::BrowserThread::IO, FROM_HERE, |
| - base::Bind(&shell_integration::win::RecordIsPinnedToTaskbarHistogram), |
| + base::Bind(&RecordIsPinnedToTaskbarHistogram), |
| kStartupMetricsGatheringDelay); |
| #endif // defined(OS_WIN) |