| 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 f47d94ccc620516e1325ea22c71f5238fc5974f5..21a8b75e60e9ad1b061ff68a0234d52c693ea50c 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,10 @@ 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 GetTrackingInfoCallback& get_tracking_info_callback,
|
| + const ReportDataUseCallback& 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 +109,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..
|
| @@ -140,7 +140,7 @@ void ExternalDataUseReporter::OnDataUse(
|
| DataUseTabModel::TrackingInfo tracking_info;
|
|
|
| for (const auto& data_use : *data_use_list) {
|
| - if (!data_use_tab_model_->GetTrackingInfoForTabAtTime(
|
| + if (!get_tracking_info_callback_.Run(
|
| data_use.tab_id, data_use.request_start, &tracking_info)) {
|
| continue;
|
| }
|
| @@ -278,9 +278,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(
|
|
|