| 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 721b052dcd85c83fbe18cda9b188f57584a82080..5224097fd967e6abe957ff08c9c7f6cf95167d42 100644
|
| --- a/chrome/browser/metrics/chrome_metrics_service_client.cc
|
| +++ b/chrome/browser/metrics/chrome_metrics_service_client.cc
|
| @@ -27,8 +27,8 @@
|
| #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"
|
| @@ -179,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(
|
| @@ -194,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)) {
|
| @@ -224,7 +218,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());
|
|
|
| base::FilePath browser_metrics_upload_dir = user_data_dir.AppendASCII(
|
| ChromeMetricsServiceClient::kBrowserMetricsName);
|
|
|