#include "base/bind.h"
#include "base/callback.h"
+#include "base/message_loop/message_loop_proxy.h"
#include "base/single_thread_task_runner.h"
#include "base/task_runner_util.h"
#include "components/domain_reliability/monitor.h"
// DomainReliabilityService implementation:
virtual scoped_ptr<DomainReliabilityMonitor> CreateMonitor(
- scoped_refptr<base::SequencedTaskRunner> network_task_runner) OVERRIDE {
- DCHECK(!network_task_runner_);
+ scoped_refptr<base::SingleThreadTaskRunner> network_task_runner,
+ PrefService* local_state_pref_service,
+ const char* reporting_pref_name) OVERRIDE {
+ DCHECK(!network_task_runner_.get());
scoped_ptr<DomainReliabilityMonitor> monitor(
- new DomainReliabilityMonitor(upload_reporter_string_));
+ new DomainReliabilityMonitor(upload_reporter_string_,
+ base::MessageLoopProxy::current(),
+ network_task_runner,
+ local_state_pref_service,
+ reporting_pref_name));
monitor_ = monitor->MakeWeakPtr();
network_task_runner_ = network_task_runner;
virtual void ClearBrowsingData(DomainReliabilityClearMode clear_mode,
const base::Closure& callback) OVERRIDE {
- DCHECK(network_task_runner_);
+ DCHECK(network_task_runner_.get());
network_task_runner_->PostTaskAndReply(
FROM_HERE,
virtual void GetWebUIData(
const base::Callback<void(scoped_ptr<base::Value>)>& callback)
const OVERRIDE {
- DCHECK(network_task_runner_);
+ DCHECK(network_task_runner_.get());
PostTaskAndReplyWithResult(
- network_task_runner_,
+ network_task_runner_.get(),
FROM_HERE,
base::Bind(&GetWebUIDataOnNetworkTaskRunner, monitor_),
callback);
private:
std::string upload_reporter_string_;
base::WeakPtr<DomainReliabilityMonitor> monitor_;
- scoped_refptr<base::SequencedTaskRunner> network_task_runner_;
+ scoped_refptr<base::SingleThreadTaskRunner> network_task_runner_;
};
// static