| Index: components/domain_reliability/service.cc
|
| diff --git a/components/domain_reliability/service.cc b/components/domain_reliability/service.cc
|
| index eba9ddfaa81d31e7fe72c3b90c85ae6d1d873030..4d675733aaed5ae0ff5ba04fe79f8f5935ab2588 100644
|
| --- a/components/domain_reliability/service.cc
|
| +++ b/components/domain_reliability/service.cc
|
| @@ -7,11 +7,27 @@
|
| #include "base/bind.h"
|
| #include "base/callback.h"
|
| #include "base/single_thread_task_runner.h"
|
| +#include "base/task_runner_util.h"
|
| #include "components/domain_reliability/monitor.h"
|
| #include "net/url_request/url_request_context_getter.h"
|
|
|
| namespace domain_reliability {
|
|
|
| +namespace {
|
| +
|
| +scoped_ptr<base::Value> GetWebUIDataOnNetworkTaskRunner(
|
| + base::WeakPtr<DomainReliabilityMonitor> monitor) {
|
| + if (!monitor) {
|
| + base::DictionaryValue* dict = new base::DictionaryValue();
|
| + dict->SetString("error", "no_monitor");
|
| + return scoped_ptr<base::Value>(dict);
|
| + }
|
| +
|
| + return monitor->GetWebUIData();
|
| +}
|
| +
|
| +} // namespace
|
| +
|
| class DomainReliabilityServiceImpl : public DomainReliabilityService {
|
| public:
|
| explicit DomainReliabilityServiceImpl(
|
| @@ -47,6 +63,18 @@ class DomainReliabilityServiceImpl : public DomainReliabilityService {
|
| callback);
|
| }
|
|
|
| + virtual void GetWebUIData(
|
| + const base::Callback<void(scoped_ptr<base::Value>)>& callback)
|
| + const OVERRIDE {
|
| + DCHECK(network_task_runner_);
|
| +
|
| + PostTaskAndReplyWithResult(
|
| + network_task_runner_,
|
| + FROM_HERE,
|
| + base::Bind(&GetWebUIDataOnNetworkTaskRunner, monitor_),
|
| + callback);
|
| + }
|
| +
|
| private:
|
| std::string upload_reporter_string_;
|
| base::WeakPtr<DomainReliabilityMonitor> monitor_;
|
|
|