Chromium Code Reviews| Index: chrome/browser/metrics/chrome_metrics_service_client.cc |
| diff --git a/chrome/browser/metrics/chrome_metrics_service_client.cc b/chrome/browser/metrics/chrome_metrics_service_client.cc |
| index da34086e4d4f1db29e5757b68223a22ba1a5188d..c94f55f7887c412b7b639c590b081521a69693e5 100644 |
| --- a/chrome/browser/metrics/chrome_metrics_service_client.cc |
| +++ b/chrome/browser/metrics/chrome_metrics_service_client.cc |
| @@ -22,6 +22,7 @@ |
| #include "base/strings/string16.h" |
| #include "base/threading/platform_thread.h" |
| #include "build/build_config.h" |
| +#include "chrome/browser/after_startup_task_utils.h" |
| #include "chrome/browser/browser_process.h" |
| #include "chrome/browser/chrome_notification_types.h" |
| #include "chrome/browser/google/google_brand.h" |
| @@ -138,9 +139,10 @@ CreateInstallerFileMetricsProvider(bool metrics_reporting_enabled) { |
| // Fetch a worker-pool for performing I/O tasks that are not allowed on |
| // the main UI thread. |
| scoped_refptr<base::TaskRunner> task_runner = |
| - content::BrowserThread::GetBlockingPool() |
| - ->GetTaskRunnerWithShutdownBehavior( |
| - base::SequencedWorkerPool::CONTINUE_ON_SHUTDOWN); |
| + new AfterStartupTaskUtils::Runner( |
| + content::BrowserThread::GetBlockingPool() |
| + ->GetTaskRunnerWithShutdownBehavior( |
| + base::SequencedWorkerPool::CONTINUE_ON_SHUTDOWN)); |
| // Create an object to monitor files of metrics and include them in reports. |
| std::unique_ptr<metrics::FileMetricsProvider> file_metrics_provider( |
| @@ -419,8 +421,8 @@ void ChromeMetricsServiceClient::Initialize() { |
| #endif |
| metrics_service_->RegisterMetricsProvider( |
| std::unique_ptr<metrics::MetricsProvider>( |
| - new metrics::NetworkMetricsProvider( |
| - content::BrowserThread::GetBlockingPool()))); |
| + new metrics::NetworkMetricsProvider(new AfterStartupTaskUtils::Runner( |
| + content::BrowserThread::GetBlockingPool())))); |
|
Alexei Svitkine (slow)
2016/08/12 18:28:18
Similar to AntiVirusMetricsProvider, this could de
|
| // Currently, we configure OmniboxMetricsProvider to not log events to UMA |
| // if there is a single incognito session visible. In the future, it may |
| @@ -480,12 +482,14 @@ void ChromeMetricsServiceClient::Initialize() { |
| std::unique_ptr<metrics::MetricsProvider>( |
| new browser_watcher::WatcherMetricsProviderWin( |
| chrome::GetBrowserExitCodesRegistryPath(), |
| - content::BrowserThread::GetBlockingPool()))); |
| - |
| - antivirus_metrics_provider_ = new AntiVirusMetricsProvider( |
| - content::BrowserThread::GetBlockingPool() |
| - ->GetTaskRunnerWithShutdownBehavior( |
| - base::SequencedWorkerPool::CONTINUE_ON_SHUTDOWN)); |
| + new AfterStartupTaskUtils::Runner( |
| + content::BrowserThread::GetBlockingPool())))); |
|
Alexei Svitkine (slow)
2016/08/12 18:28:18
This seems fine. Used to clean up registry data wh
|
| + |
| + antivirus_metrics_provider_ = |
| + new AntiVirusMetricsProvider(new AfterStartupTaskUtils::Runner( |
|
Alexei Svitkine (slow)
2016/08/12 18:28:18
This will delay running GetAntiVirusProductsOnFile
gab
2016/08/15 19:39:56
For startup's sake on slow machines (forgetting th
|
| + content::BrowserThread::GetBlockingPool() |
| + ->GetTaskRunnerWithShutdownBehavior( |
| + base::SequencedWorkerPool::CONTINUE_ON_SHUTDOWN))); |
| metrics_service_->RegisterMetricsProvider( |
| std::unique_ptr<metrics::MetricsProvider>(antivirus_metrics_provider_)); |