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

Unified Diff: chrome/browser/android/data_usage/external_data_use_reporter.cc

Issue 2165123002: Make ExternalDataUseReporter independent of other data use classes (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 5 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: chrome/browser/android/data_usage/external_data_use_reporter.cc
diff --git a/chrome/browser/android/data_usage/external_data_use_reporter.cc b/chrome/browser/android/data_usage/external_data_use_reporter.cc
index 898a7cbe485388776e0531c15ae2837a965f9b03..a3cf4be46f5701c6c0a80fecc216c748a65be623 100644
--- a/chrome/browser/android/data_usage/external_data_use_reporter.cc
+++ b/chrome/browser/android/data_usage/external_data_use_reporter.cc
@@ -10,8 +10,6 @@
#include "base/metrics/histogram_base.h"
#include "base/metrics/histogram_macros.h"
#include "base/strings/string_number_conversions.h"
-#include "chrome/browser/android/data_usage/data_use_tab_model.h"
-#include "chrome/browser/android/data_usage/external_data_use_observer_bridge.h"
#include "components/data_usage/core/data_use.h"
#include "components/variations/variations_associated_data.h"
@@ -100,10 +98,20 @@ const size_t ExternalDataUseReporter::kMaxBufferSize = 100;
ExternalDataUseReporter::ExternalDataUseReporter(
const char* field_trial,
- DataUseTabModel* data_use_tab_model,
- ExternalDataUseObserverBridge* external_data_use_observer_bridge)
- : external_data_use_observer_bridge_(external_data_use_observer_bridge),
- data_use_tab_model_(data_use_tab_model),
+ const base::Callback<bool(SessionID::id_type,
tbansal1 2016/07/21 00:19:30 You can use typedef here too.
Raj 2016/07/21 04:09:16 Done.
+ const base::TimeTicks&,
+ DataUseTabModel::TrackingInfo*)>&
+ get_tracking_info_callback,
+ const base::Callback<void(const std::string&,
+ const std::string&,
+ net::NetworkChangeNotifier::ConnectionType,
+ const std::string&,
+ const base::Time&,
+ const base::Time&,
+ int64_t,
+ int64_t)>& report_data_use_callback)
+ : get_tracking_info_callback_(get_tracking_info_callback),
+ report_data_use_callback_(report_data_use_callback),
last_data_report_submitted_ticks_(base::TimeTicks()),
pending_report_bytes_(0),
previous_report_time_(base::Time::Now()),
@@ -111,6 +119,8 @@ ExternalDataUseReporter::ExternalDataUseReporter(
data_use_report_min_bytes_(GetMinBytes(field_trial)),
data_report_submit_timeout_(base::TimeDelta::FromMilliseconds(
GetDataReportSubmitTimeoutMsec(field_trial))) {
+ DCHECK(get_tracking_info_callback_);
+ DCHECK(report_data_use_callback_);
DCHECK(last_data_report_submitted_ticks_.is_null());
// Detach from current thread since rest of ExternalDataUseReporter lives on
// the UI thread and the current thread may not be UI thread..
@@ -136,8 +146,8 @@ void ExternalDataUseReporter::OnDataUse(const data_usage::DataUse& data_use) {
const base::Time now_time = base::Time::Now();
DataUseTabModel::TrackingInfo tracking_info;
- if (!data_use_tab_model_->GetTrackingInfoForTabAtTime(
- data_use.tab_id, data_use.request_start, &tracking_info)) {
+ if (!get_tracking_info_callback_.Run(data_use.tab_id, data_use.request_start,
+ &tracking_info)) {
return;
}
@@ -273,9 +283,9 @@ void ExternalDataUseReporter::SubmitBufferedDataUseReport(bool immediate) {
buffered_data_reports_.erase(it);
total_bytes_buffered_ -= (report.bytes_downloaded + report.bytes_uploaded);
- external_data_use_observer_bridge_->ReportDataUse(
- key.label, key.tag, key.connection_type, key.mcc_mnc, report.start_time,
- report.end_time, report.bytes_downloaded, report.bytes_uploaded);
+ report_data_use_callback_.Run(key.label, key.tag, key.connection_type,
+ key.mcc_mnc, report.start_time, report.end_time,
+ report.bytes_downloaded, report.bytes_uploaded);
}
ExternalDataUseReporter::DataUseReportKey::DataUseReportKey(

Powered by Google App Engine
This is Rietveld 408576698