| 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 #include "chrome/browser/metrics/chrome_metrics_service_client.h" | 5 #include "chrome/browser/metrics/chrome_metrics_service_client.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| (...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 91 #include "chrome/browser/metrics/chromeos_metrics_provider.h" | 91 #include "chrome/browser/metrics/chromeos_metrics_provider.h" |
| 92 #include "chrome/browser/signin/signin_status_metrics_provider_chromeos.h" | 92 #include "chrome/browser/signin/signin_status_metrics_provider_chromeos.h" |
| 93 #endif | 93 #endif |
| 94 | 94 |
| 95 #if defined(OS_WIN) | 95 #if defined(OS_WIN) |
| 96 #include <windows.h> | 96 #include <windows.h> |
| 97 | 97 |
| 98 #include "chrome/browser/metrics/antivirus_metrics_provider_win.h" | 98 #include "chrome/browser/metrics/antivirus_metrics_provider_win.h" |
| 99 #include "chrome/browser/metrics/google_update_metrics_provider_win.h" | 99 #include "chrome/browser/metrics/google_update_metrics_provider_win.h" |
| 100 #include "chrome/common/metrics_constants_util_win.h" | 100 #include "chrome/common/metrics_constants_util_win.h" |
| 101 #include "chrome/install_static/install_util.h" |
| 101 #include "chrome/installer/util/browser_distribution.h" | 102 #include "chrome/installer/util/browser_distribution.h" |
| 102 #include "components/browser_watcher/watcher_metrics_provider_win.h" | 103 #include "components/browser_watcher/watcher_metrics_provider_win.h" |
| 103 #endif | 104 #endif |
| 104 | 105 |
| 105 #if !defined(OS_CHROMEOS) | 106 #if !defined(OS_CHROMEOS) |
| 106 #include "chrome/browser/signin/chrome_signin_status_metrics_provider_delegate.h
" | 107 #include "chrome/browser/signin/chrome_signin_status_metrics_provider_delegate.h
" |
| 107 #include "components/signin/core/browser/signin_status_metrics_provider.h" | 108 #include "components/signin/core/browser/signin_status_metrics_provider.h" |
| 108 #endif // !defined(OS_CHROMEOS) | 109 #endif // !defined(OS_CHROMEOS) |
| 109 | 110 |
| 110 namespace { | 111 namespace { |
| (...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 211 file_metrics_provider->RegisterSource( | 212 file_metrics_provider->RegisterSource( |
| 212 program_dir.AppendASCII(installer::kSetupHistogramAllocatorName), | 213 program_dir.AppendASCII(installer::kSetupHistogramAllocatorName), |
| 213 metrics::FileMetricsProvider::SOURCE_HISTOGRAMS_ATOMIC_DIR, | 214 metrics::FileMetricsProvider::SOURCE_HISTOGRAMS_ATOMIC_DIR, |
| 214 metrics::FileMetricsProvider::ASSOCIATE_CURRENT_RUN, | 215 metrics::FileMetricsProvider::ASSOCIATE_CURRENT_RUN, |
| 215 installer::kSetupHistogramAllocatorName); | 216 installer::kSetupHistogramAllocatorName); |
| 216 #endif | 217 #endif |
| 217 | 218 |
| 218 return file_metrics_provider; | 219 return file_metrics_provider; |
| 219 } | 220 } |
| 220 | 221 |
| 222 #if defined(OS_WIN) |
| 223 void GetExecutableVersionDetails(base::string16* product_name, |
| 224 base::string16* version_number, |
| 225 base::string16* channel_name) { |
| 226 DCHECK_NE(nullptr, product_name); |
| 227 DCHECK_NE(nullptr, version_number); |
| 228 DCHECK_NE(nullptr, channel_name); |
| 229 |
| 230 wchar_t exe_file[MAX_PATH] = {}; |
| 231 CHECK(::GetModuleFileName(nullptr, exe_file, arraysize(exe_file))); |
| 232 |
| 233 base::string16 unused_special_build; |
| 234 install_static::GetExecutableVersionDetails( |
| 235 exe_file, product_name, version_number, &unused_special_build, |
| 236 channel_name); |
| 237 } |
| 238 #endif // OS_WIN |
| 239 |
| 221 } // namespace | 240 } // namespace |
| 222 | 241 |
| 223 | 242 |
| 224 const char ChromeMetricsServiceClient::kBrowserMetricsName[] = "BrowserMetrics"; | 243 const char ChromeMetricsServiceClient::kBrowserMetricsName[] = "BrowserMetrics"; |
| 225 | 244 |
| 226 ChromeMetricsServiceClient::ChromeMetricsServiceClient( | 245 ChromeMetricsServiceClient::ChromeMetricsServiceClient( |
| 227 metrics::MetricsStateManager* state_manager) | 246 metrics::MetricsStateManager* state_manager) |
| 228 : metrics_state_manager_(state_manager), | 247 : metrics_state_manager_(state_manager), |
| 229 #if defined(OS_CHROMEOS) | 248 #if defined(OS_CHROMEOS) |
| 230 chromeos_metrics_provider_(nullptr), | 249 chromeos_metrics_provider_(nullptr), |
| (...skipping 262 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 493 base::FilePath user_data_dir; | 512 base::FilePath user_data_dir; |
| 494 base::FilePath crash_dir; | 513 base::FilePath crash_dir; |
| 495 if (!base::PathService::Get(chrome::DIR_USER_DATA, &user_data_dir) || | 514 if (!base::PathService::Get(chrome::DIR_USER_DATA, &user_data_dir) || |
| 496 !base::PathService::Get(chrome::DIR_CRASH_DUMPS, &crash_dir)) { | 515 !base::PathService::Get(chrome::DIR_CRASH_DUMPS, &crash_dir)) { |
| 497 // If either call fails, then clear both. | 516 // If either call fails, then clear both. |
| 498 user_data_dir = base::FilePath(); | 517 user_data_dir = base::FilePath(); |
| 499 crash_dir = base::FilePath(); | 518 crash_dir = base::FilePath(); |
| 500 } | 519 } |
| 501 watcher_metrics_provider_ = new browser_watcher::WatcherMetricsProviderWin( | 520 watcher_metrics_provider_ = new browser_watcher::WatcherMetricsProviderWin( |
| 502 chrome::GetBrowserExitCodesRegistryPath(), user_data_dir, crash_dir, | 521 chrome::GetBrowserExitCodesRegistryPath(), user_data_dir, crash_dir, |
| 522 base::Bind(&GetExecutableVersionDetails), |
| 503 content::BrowserThread::GetBlockingPool()); | 523 content::BrowserThread::GetBlockingPool()); |
| 504 metrics_service_->RegisterMetricsProvider( | 524 metrics_service_->RegisterMetricsProvider( |
| 505 std::unique_ptr<metrics::MetricsProvider>(watcher_metrics_provider_)); | 525 std::unique_ptr<metrics::MetricsProvider>(watcher_metrics_provider_)); |
| 506 | 526 |
| 507 antivirus_metrics_provider_ = new AntiVirusMetricsProvider( | 527 antivirus_metrics_provider_ = new AntiVirusMetricsProvider( |
| 508 content::BrowserThread::GetBlockingPool() | 528 content::BrowserThread::GetBlockingPool() |
| 509 ->GetTaskRunnerWithShutdownBehavior( | 529 ->GetTaskRunnerWithShutdownBehavior( |
| 510 base::SequencedWorkerPool::CONTINUE_ON_SHUTDOWN)); | 530 base::SequencedWorkerPool::CONTINUE_ON_SHUTDOWN)); |
| 511 | 531 |
| 512 metrics_service_->RegisterMetricsProvider( | 532 metrics_service_->RegisterMetricsProvider( |
| (...skipping 303 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 816 } | 836 } |
| 817 } | 837 } |
| 818 | 838 |
| 819 void ChromeMetricsServiceClient::OnURLOpenedFromOmnibox(OmniboxLog* log) { | 839 void ChromeMetricsServiceClient::OnURLOpenedFromOmnibox(OmniboxLog* log) { |
| 820 metrics_service_->OnApplicationNotIdle(); | 840 metrics_service_->OnApplicationNotIdle(); |
| 821 } | 841 } |
| 822 | 842 |
| 823 bool ChromeMetricsServiceClient::IsUMACellularUploadLogicEnabled() { | 843 bool ChromeMetricsServiceClient::IsUMACellularUploadLogicEnabled() { |
| 824 return metrics::IsCellularLogicEnabled(); | 844 return metrics::IsCellularLogicEnabled(); |
| 825 } | 845 } |
| OLD | NEW |