Chromium Code Reviews| Index: components/domain_reliability/monitor.h |
| diff --git a/components/domain_reliability/monitor.h b/components/domain_reliability/monitor.h |
| index 7886f89e8721c55b3e59414b102198981fc3c21c..7245c7890e57d6af80786ed9bb6ec8eb4e43f8a4 100644 |
| --- a/components/domain_reliability/monitor.h |
| +++ b/components/domain_reliability/monitor.h |
| @@ -10,6 +10,7 @@ |
| #include "base/memory/ref_counted.h" |
| #include "base/memory/scoped_ptr.h" |
| #include "base/memory/weak_ptr.h" |
| +#include "base/prefs/pref_member.h" |
| #include "base/time/time.h" |
| #include "components/domain_reliability/beacon.h" |
| #include "components/domain_reliability/clear_mode.h" |
| @@ -24,6 +25,8 @@ |
| #include "net/http/http_response_info.h" |
| #include "net/url_request/url_request_status.h" |
| +class PrefService; |
| + |
| namespace base { |
| class SingleThreadTaskRunner; |
| class ThreadChecker; |
| @@ -42,18 +45,25 @@ namespace domain_reliability { |
| // to the proper |DomainReliabilityContext|. |
| class DOMAIN_RELIABILITY_EXPORT DomainReliabilityMonitor { |
| public: |
| - explicit DomainReliabilityMonitor(const std::string& upload_reporter_string); |
| + DomainReliabilityMonitor(const std::string& upload_reporter_string); |
| DomainReliabilityMonitor(const std::string& upload_reporter_string, |
| scoped_ptr<MockableTime> time); |
| ~DomainReliabilityMonitor(); |
| - // Initializes the Monitor. |
| - void Init( |
| + // Initializes the Monitor's pref member that monitors the reporting pref. |
|
davidben
2014/08/20 21:49:03
Could you document the threading requirements of a
Deprecated (see juliatuttle)
2014/08/21 18:35:28
Done.
|
| + void InitReportingPref( |
| + PrefService* local_state_pref_service, |
| + const char* reporting_pref_name, |
| + const scoped_refptr<base::SingleThreadTaskRunner>& |
| + network_message_loop_proxy); |
|
davidben
2014/08/20 21:49:03
s/message_loop_proxy/task_runner/?
Deprecated (see juliatuttle)
2014/08/21 18:35:28
Done.
|
| + |
| + // Initializes the Monitor's URLRequestContextGetter. |
| + void InitURLRequestContext( |
| net::URLRequestContext* url_request_context, |
| const scoped_refptr<base::SingleThreadTaskRunner>& task_runner); |
| // Same, but for unittests where the Getter is readily available. |
| - void Init( |
| + void InitURLRequestContext( |
| scoped_refptr<net::URLRequestContextGetter> url_request_context_getter); |
| // Populates the monitor with contexts that were configured at compile time. |
| @@ -112,6 +122,8 @@ class DOMAIN_RELIABILITY_EXPORT DomainReliabilityMonitor { |
| void ClearContexts(); |
| void OnRequestLegComplete(const RequestInfo& info); |
| + void OnReportingPrefChanged(); |
| + |
| DomainReliabilityContext* GetContextForHost(const std::string& host) const; |
| base::WeakPtr<DomainReliabilityMonitor> MakeWeakPtr(); |
| @@ -124,6 +136,10 @@ class DOMAIN_RELIABILITY_EXPORT DomainReliabilityMonitor { |
| scoped_ptr<DomainReliabilityUploader> uploader_; |
| ContextMap contexts_; |
| + const char* reporting_pref_name_; |
| + BooleanPrefMember reporting_pref_; |
| + bool reporting_pref_initialized_; |
| + |
| base::WeakPtrFactory<DomainReliabilityMonitor> weak_factory_; |
| DISALLOW_COPY_AND_ASSIGN(DomainReliabilityMonitor); |