Index: components/metrics/drive_metrics_provider.cc |
diff --git a/chrome/browser/metrics/drive_metrics_provider.cc b/components/metrics/drive_metrics_provider.cc |
similarity index 79% |
rename from chrome/browser/metrics/drive_metrics_provider.cc |
rename to components/metrics/drive_metrics_provider.cc |
index 4b888498131f8deaec956fc3501660c2118b98df..2df320d3bb9c1ef30c17439138c8f8d5d5fdcb3f 100644 |
--- a/chrome/browser/metrics/drive_metrics_provider.cc |
+++ b/components/metrics/drive_metrics_provider.cc |
@@ -2,7 +2,7 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
-#include "chrome/browser/metrics/drive_metrics_provider.h" |
+#include "components/metrics/drive_metrics_provider.h" |
#include "base/base_paths.h" |
#include "base/bind.h" |
@@ -11,11 +11,17 @@ |
#include "base/logging.h" |
#include "base/metrics/histogram_macros.h" |
#include "base/path_service.h" |
+#include "base/task_runner_util.h" |
#include "base/time/time.h" |
-#include "chrome/common/chrome_paths.h" |
-#include "content/public/browser/browser_thread.h" |
-DriveMetricsProvider::DriveMetricsProvider() : weak_ptr_factory_(this) {} |
+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() {} |
@@ -30,9 +36,10 @@ void DriveMetricsProvider::ProvideSystemProfileMetrics( |
void DriveMetricsProvider::GetDriveMetrics(const base::Closure& done) { |
got_metrics_callback_ = done; |
- content::BrowserThread::PostTaskAndReplyWithResult( |
- content::BrowserThread::FILE, FROM_HERE, |
- base::Bind(&DriveMetricsProvider::GetDriveMetricsOnFileThread), |
+ base::PostTaskAndReplyWithResult( |
+ file_thread_.get(), FROM_HERE, |
+ base::Bind(&DriveMetricsProvider::GetDriveMetricsOnFileThread, |
+ local_state_path_key_), |
base::Bind(&DriveMetricsProvider::GotDriveMetrics, |
weak_ptr_factory_.GetWeakPtr())); |
} |
@@ -42,12 +49,10 @@ DriveMetricsProvider::SeekPenaltyResponse::SeekPenaltyResponse() |
// static |
DriveMetricsProvider::DriveMetrics |
-DriveMetricsProvider::GetDriveMetricsOnFileThread() { |
- DCHECK_CURRENTLY_ON(content::BrowserThread::FILE); |
- |
+DriveMetricsProvider::GetDriveMetricsOnFileThread(int local_state_path_key) { |
DriveMetricsProvider::DriveMetrics metrics; |
QuerySeekPenalty(base::FILE_EXE, &metrics.app_drive); |
- QuerySeekPenalty(chrome::FILE_LOCAL_STATE, &metrics.user_data_drive); |
+ QuerySeekPenalty(local_state_path_key, &metrics.user_data_drive); |
return metrics; |
} |
@@ -88,3 +93,5 @@ void DriveMetricsProvider::FillDriveMetrics( |
if (response.success) |
drive->set_has_seek_penalty(response.has_seek_penalty); |
} |
+ |
+} // namespace metrics |