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

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

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.h
diff --git a/chrome/browser/android/data_usage/external_data_use_reporter.h b/chrome/browser/android/data_usage/external_data_use_reporter.h
index 5999050c89dbc2dbb246fc72fa357eaecd98399c..14b06d74a5f9f1dcab413853ed9dbd2b4d7539dd 100644
--- a/chrome/browser/android/data_usage/external_data_use_reporter.h
+++ b/chrome/browser/android/data_usage/external_data_use_reporter.h
@@ -11,11 +11,13 @@
#include <memory>
#include <string>
+#include "base/callback.h"
#include "base/containers/hash_tables.h"
#include "base/gtest_prod_util.h"
#include "base/macros.h"
#include "base/threading/thread_checker.h"
#include "base/time/time.h"
+#include "chrome/browser/android/data_usage/data_use_tab_model.h"
#include "net/base/network_change_notifier.h"
#if defined(OS_ANDROID)
@@ -30,7 +32,6 @@ namespace chrome {
namespace android {
-class DataUseTabModel;
class ExternalDataUseObserverBridge;
// This class receives data use observations from ExternalDataUseObserver,
@@ -61,8 +62,19 @@ class ExternalDataUseReporter {
// paramenters from.
ExternalDataUseReporter(
const char* field_trial,
- DataUseTabModel* data_use_tab_model,
- ExternalDataUseObserverBridge* external_data_use_observer_bridge);
+ const base::Callback<bool(SessionID::id_type,
+ 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&,
tbansal1 2016/07/21 00:19:30 Pass by value.
Raj 2016/07/21 04:09:16 Done.
+ int64_t,
+ int64_t)>& report_data_use_callback);
+
virtual ~ExternalDataUseReporter();
void InitOnUIThread();
@@ -189,12 +201,22 @@ class ExternalDataUseReporter {
void OnApplicationStateChange(base::android::ApplicationState new_state);
#endif
- // Pointer to the ExternalDataUseObserverBridge in UI thread. Not owned by
- // |this|.
- ExternalDataUseObserverBridge* external_data_use_observer_bridge_;
-
- // Pointer to the DataUseTabModel in UI thread, Not owned by |this|.
- DataUseTabModel* data_use_tab_model_;
+ // Callback to be run to get the tracking info for a tab at a particular time.
+ const base::Callback<bool(SessionID::id_type,
tbansal1 2016/07/21 00:19:30 Can this be typedef'ed so there is no need to type
Raj 2016/07/21 04:09:17 Done.
+ const base::TimeTicks&,
+ DataUseTabModel::TrackingInfo*)>
+ get_tracking_info_callback_;
+
+ // Callback to be run to report the data usage to the underlying platform.
+ const base::Callback<void(const std::string&,
tbansal1 2016/07/21 00:19:30 Same here, typedefing may make it more readable.
Raj 2016/07/21 04:09:16 Done.
+ const std::string&,
+ net::NetworkChangeNotifier::ConnectionType,
+ const std::string&,
+ const base::Time&,
+ const base::Time&,
+ int64_t,
+ int64_t)>
+ report_data_use_callback_;
#if defined(OS_ANDROID)
// Listens to when Chromium gets backgrounded and submits buffered data use

Powered by Google App Engine
This is Rietveld 408576698