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

Unified Diff: components/metrics/data_use_tracker.cc

Issue 2517363002: Decouple Metrics Initialization from IO Thread Initialization (Closed)
Patch Set: CR Feedback Created 4 years 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
« no previous file with comments | « components/metrics/data_use_tracker.h ('k') | components/metrics/data_use_tracker_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: components/metrics/data_use_tracker.cc
diff --git a/components/metrics/data_use_tracker.cc b/components/metrics/data_use_tracker.cc
index d97462aa9181108a730d4264254d46a47bb2150b..b9b9bda08a96672a3ce32723b3e4e4e1f8fdbfe3 100644
--- a/components/metrics/data_use_tracker.cc
+++ b/components/metrics/data_use_tracker.cc
@@ -22,24 +22,10 @@ namespace {
const int kDefaultUMAWeeklyQuotaBytes = 204800;
const double kDefaultUMARatio = 0.05;
-// This function is for forwarding metrics usage pref changes to the appropriate
-// callback on the appropriate thread.
-// TODO(gayane): Reduce the frequency of posting tasks from IO to UI thread.
-void UpdateMetricsUsagePrefs(
- const UpdateUsagePrefCallbackType& update_on_ui_callback,
- scoped_refptr<base::SequencedTaskRunner> ui_task_runner,
- const std::string& service_name,
- int message_size,
- bool is_cellular) {
- ui_task_runner->PostTask(
- FROM_HERE, base::Bind(update_on_ui_callback, service_name, message_size,
- is_cellular));
-}
-
} // namespace
DataUseTracker::DataUseTracker(PrefService* local_state)
- : local_state_(local_state), weak_ptr_factory_(this) {}
+ : local_state_(local_state) {}
DataUseTracker::~DataUseTracker() {}
@@ -59,15 +45,17 @@ void DataUseTracker::RegisterPrefs(PrefRegistrySimple* registry) {
registry->RegisterDictionaryPref(metrics::prefs::kUmaCellDataUse);
}
-UpdateUsagePrefCallbackType DataUseTracker::GetDataUseForwardingCallback(
- scoped_refptr<base::SequencedTaskRunner> ui_task_runner) {
- DCHECK(ui_task_runner->RunsTasksOnCurrentThread());
+void DataUseTracker::UpdateMetricsUsagePrefs(const std::string& service_name,
+ int message_size,
+ bool is_cellular) {
+ DCHECK(thread_checker_.CalledOnValidThread());
+
+ if (!is_cellular)
+ return;
- return base::Bind(
- &UpdateMetricsUsagePrefs,
- base::Bind(&DataUseTracker::UpdateMetricsUsagePrefsOnUIThread,
- weak_ptr_factory_.GetWeakPtr()),
- ui_task_runner);
+ UpdateUsagePref(prefs::kUserCellDataUse, message_size);
+ if (service_name == "UMA")
+ UpdateUsagePref(prefs::kUmaCellDataUse, message_size);
}
bool DataUseTracker::ShouldUploadLogOnCellular(int log_bytes) {
@@ -98,20 +86,6 @@ bool DataUseTracker::ShouldUploadLogOnCellular(int log_bytes) {
uma_ratio;
}
-void DataUseTracker::UpdateMetricsUsagePrefsOnUIThread(
- const std::string& service_name,
- int message_size,
- bool is_celllular) {
- DCHECK(thread_checker_.CalledOnValidThread());
-
- if (!is_celllular)
- return;
-
- UpdateUsagePref(prefs::kUserCellDataUse, message_size);
- if (service_name == "UMA")
- UpdateUsagePref(prefs::kUmaCellDataUse, message_size);
-}
-
void DataUseTracker::UpdateUsagePref(const std::string& pref_name,
int message_size) {
DCHECK(thread_checker_.CalledOnValidThread());
« no previous file with comments | « components/metrics/data_use_tracker.h ('k') | components/metrics/data_use_tracker_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698