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 d14ba61230f17213dc16157e97c0bcef217a365e..d468b3231d649b39b04409420e0dd59ab8da4d1a 100644 |
--- a/chrome/browser/metrics/chrome_metrics_service_client.cc |
+++ b/chrome/browser/metrics/chrome_metrics_service_client.cc |
@@ -26,8 +26,9 @@ |
#include "base/path_service.h" |
#include "base/rand_util.h" |
#include "base/strings/string16.h" |
+#include "base/task_scheduler/post_task.h" |
+#include "base/task_scheduler/task_traits.h" |
#include "base/threading/platform_thread.h" |
-#include "base/threading/sequenced_worker_pool.h" |
#include "base/threading/thread_task_runner_handle.h" |
#include "build/build_config.h" |
#include "chrome/browser/browser_process.h" |
@@ -178,7 +179,6 @@ void RegisterOrRemovePreviousRunMetricsFile( |
const base::FilePath& dir, |
base::StringPiece metrics_name, |
metrics::FileMetricsProvider::SourceAssociation association, |
- scoped_refptr<base::TaskRunner> task_runner, |
metrics::FileMetricsProvider* file_metrics_provider) { |
base::FilePath metrics_file; |
base::GlobalHistogramAllocator::ConstructFilePaths( |
@@ -193,25 +193,20 @@ void RegisterOrRemovePreviousRunMetricsFile( |
} else { |
// When metrics reporting is not enabled, any existing file should be |
// deleted in order to preserve user privacy. |
- task_runner->PostTask(FROM_HERE, |
- base::BindOnce(base::IgnoreResult(&base::DeleteFile), |
- metrics_file, /*recursive=*/false)); |
+ base::PostTaskWithTraits( |
+ FROM_HERE, |
+ {base::MayBlock(), base::TaskPriority::BACKGROUND, |
+ base::TaskShutdownBehavior::CONTINUE_ON_SHUTDOWN}, |
+ base::BindOnce(base::IgnoreResult(&base::DeleteFile), metrics_file, |
+ /*recursive=*/false)); |
} |
} |
std::unique_ptr<metrics::FileMetricsProvider> CreateFileMetricsProvider( |
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); |
- |
// Create an object to monitor files of metrics and include them in reports. |
std::unique_ptr<metrics::FileMetricsProvider> file_metrics_provider( |
- new metrics::FileMetricsProvider(task_runner, |
- g_browser_process->local_state())); |
+ new metrics::FileMetricsProvider(g_browser_process->local_state())); |
base::FilePath user_data_dir; |
if (base::PathService::Get(chrome::DIR_USER_DATA, &user_data_dir)) { |
@@ -225,7 +220,7 @@ std::unique_ptr<metrics::FileMetricsProvider> CreateFileMetricsProvider( |
RegisterOrRemovePreviousRunMetricsFile( |
report_previous_persistent_histograms, user_data_dir, |
ChromeMetricsServiceClient::kBrowserMetricsName, |
- metrics::FileMetricsProvider::ASSOCIATE_INTERNAL_PROFILE, task_runner, |
+ metrics::FileMetricsProvider::ASSOCIATE_INTERNAL_PROFILE, |
file_metrics_provider.get()); |
// Register the Crashpad metrics files. |
@@ -236,7 +231,7 @@ std::unique_ptr<metrics::FileMetricsProvider> CreateFileMetricsProvider( |
kCrashpadHistogramAllocatorName, |
metrics::FileMetricsProvider:: |
ASSOCIATE_INTERNAL_PROFILE_OR_PREVIOUS_RUN, |
- task_runner, file_metrics_provider.get()); |
+ file_metrics_provider.get()); |
if (metrics_reporting_enabled) { |
base::FilePath active_path; |
base::GlobalHistogramAllocator::ConstructFilePaths( |