| Index: components/metrics/drive_metrics_provider.cc
|
| diff --git a/components/metrics/drive_metrics_provider.cc b/components/metrics/drive_metrics_provider.cc
|
| index 22ad08919194b2376b0061560f2c051f8fbbcc37..b067337a9636bb656c959b623b6134e1134a8ef9 100644
|
| --- a/components/metrics/drive_metrics_provider.cc
|
| +++ b/components/metrics/drive_metrics_provider.cc
|
| @@ -12,17 +12,15 @@
|
| #include "base/logging.h"
|
| #include "base/metrics/histogram_macros.h"
|
| #include "base/path_service.h"
|
| -#include "base/task_runner_util.h"
|
| +#include "base/task_scheduler/post_task.h"
|
| +#include "base/task_scheduler/task_traits.h"
|
| +#include "base/threading/thread_restrictions.h"
|
| #include "base/time/time.h"
|
|
|
| namespace metrics {
|
|
|
| -DriveMetricsProvider::DriveMetricsProvider(
|
| - scoped_refptr<base::SequencedTaskRunner> file_thread,
|
| - int local_state_path_key)
|
| - : file_thread_(file_thread),
|
| - local_state_path_key_(local_state_path_key),
|
| - weak_ptr_factory_(this) {}
|
| +DriveMetricsProvider::DriveMetricsProvider(int local_state_path_key)
|
| + : local_state_path_key_(local_state_path_key), weak_ptr_factory_(this) {}
|
|
|
| DriveMetricsProvider::~DriveMetricsProvider() {}
|
|
|
| @@ -35,9 +33,11 @@ void DriveMetricsProvider::ProvideSystemProfileMetrics(
|
| }
|
|
|
| void DriveMetricsProvider::GetDriveMetrics(const base::Closure& done_callback) {
|
| - base::PostTaskAndReplyWithResult(
|
| - file_thread_.get(), FROM_HERE,
|
| - base::Bind(&DriveMetricsProvider::GetDriveMetricsOnFileThread,
|
| + base::PostTaskWithTraitsAndReplyWithResult(
|
| + FROM_HERE,
|
| + {base::MayBlock(), base::TaskPriority::BACKGROUND,
|
| + base::TaskShutdownBehavior::SKIP_ON_SHUTDOWN},
|
| + base::Bind(&DriveMetricsProvider::GetDriveMetricsOnBackgroundThread,
|
| local_state_path_key_),
|
| base::Bind(&DriveMetricsProvider::GotDriveMetrics,
|
| weak_ptr_factory_.GetWeakPtr(), done_callback));
|
| @@ -48,7 +48,10 @@ DriveMetricsProvider::SeekPenaltyResponse::SeekPenaltyResponse()
|
|
|
| // static
|
| DriveMetricsProvider::DriveMetrics
|
| -DriveMetricsProvider::GetDriveMetricsOnFileThread(int local_state_path_key) {
|
| +DriveMetricsProvider::GetDriveMetricsOnBackgroundThread(
|
| + int local_state_path_key) {
|
| + base::ThreadRestrictions::AssertIOAllowed();
|
| +
|
| DriveMetricsProvider::DriveMetrics metrics;
|
| QuerySeekPenalty(base::FILE_EXE, &metrics.app_drive);
|
| QuerySeekPenalty(local_state_path_key, &metrics.user_data_drive);
|
| @@ -82,7 +85,7 @@ void DriveMetricsProvider::QuerySeekPenalty(
|
| void DriveMetricsProvider::GotDriveMetrics(
|
| const base::Closure& done_callback,
|
| const DriveMetricsProvider::DriveMetrics& metrics) {
|
| - DCHECK(thread_checker_.CalledOnValidThread());
|
| + DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
|
| metrics_ = metrics;
|
| done_callback.Run();
|
| }
|
|
|