Index: components/data_reduction_proxy/core/browser/data_reduction_proxy_usage_stats.h |
diff --git a/components/data_reduction_proxy/core/browser/data_reduction_proxy_usage_stats.h b/components/data_reduction_proxy/core/browser/data_reduction_proxy_usage_stats.h |
index 31159f0831fefef1a94dfb991748cd071195b1cf..e65fedbb6ef67b8f04a1294b8fcffdad1f6e0f2b 100644 |
--- a/components/data_reduction_proxy/core/browser/data_reduction_proxy_usage_stats.h |
+++ b/components/data_reduction_proxy/core/browser/data_reduction_proxy_usage_stats.h |
@@ -6,7 +6,6 @@ |
#define COMPONENTS_DATA_REDUCTION_PROXY_CORE_BROWSER_DATA_REDUCTION_PROXY_USAGE_STATS_H_ |
#include "base/callback.h" |
-#include "base/memory/weak_ptr.h" |
#include "base/prefs/pref_member.h" |
#include "base/single_thread_task_runner.h" |
#include "base/threading/thread_checker.h" |
@@ -24,12 +23,13 @@ class ProxyServer; |
namespace data_reduction_proxy { |
class DataReductionProxyConfig; |
-class DataReductionProxyService; |
// TODO(bengr): Rename as DataReductionProxyBypassStats. |
class DataReductionProxyUsageStats |
: public net::NetworkChangeNotifier::NetworkChangeObserver { |
public: |
+ typedef base::Callback<void(bool /* unreachable */)> UnreachableCallback; |
+ |
// Records a data reduction proxy bypass event as a "BlockType" if |
// |bypass_all| is true and as a "BypassType" otherwise. Records the event as |
// "Primary" if |is_primary| is true and "Fallback" otherwise. |
@@ -46,12 +46,13 @@ class DataReductionProxyUsageStats |
bool is_primary, |
const net::HttpResponseHeaders* headers); |
- // |params| outlives this class instance. |service| provides a hook to inform |
- // the user that the Data Reduction Proxy is unreachable, which occurs on the |
- // UI thread, hence the |ui_task_runner|. |config| must not be null. |
+ // |params| outlives this class instance. |unreachable_callback| provides a |
+ // hook to inform the user that the Data Reduction Proxy is unreachable, which |
+ // occurs on the UI thread, hence the |ui_task_runner|. |
+ // |config| must not be null. |
DataReductionProxyUsageStats( |
DataReductionProxyConfig* config, |
- base::WeakPtr<DataReductionProxyService> service, |
+ UnreachableCallback unreachable_callback, |
const scoped_refptr<base::SingleThreadTaskRunner>& ui_task_runner); |
~DataReductionProxyUsageStats() override; |
@@ -137,7 +138,7 @@ class DataReductionProxyUsageStats |
DataReductionProxyConfig* data_reduction_proxy_config_; |
- base::WeakPtr<DataReductionProxyService> service_; |
+ UnreachableCallback unreachable_callback_; |
// The last reason for bypass as determined by |
// MaybeBypassProxyAndPrepareToRetry |