Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(739)

Unified Diff: components/metrics/drive_metrics_provider.cc

Issue 2961013005: [Cleanup] Migrate the DriveMetricsProvider to use the Task Scheduler. (Closed)
Patch Set: explicit constructor Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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();
}
« no previous file with comments | « components/metrics/drive_metrics_provider.h ('k') | ios/chrome/browser/metrics/ios_chrome_metrics_service_client.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698