| Index: components/domain_reliability/monitor.cc
|
| diff --git a/components/domain_reliability/monitor.cc b/components/domain_reliability/monitor.cc
|
| index 9c56882ecb4de1e6571e6e0b5eaf97cf999215c3..d5a437fba0997fa631b63a2c60fc26958dafedb7 100644
|
| --- a/components/domain_reliability/monitor.cc
|
| +++ b/components/domain_reliability/monitor.cc
|
| @@ -6,6 +6,7 @@
|
|
|
| #include <utility>
|
|
|
| +#include "base/bind.h"
|
| #include "base/command_line.h"
|
| #include "base/logging.h"
|
| #include "base/memory/ptr_util.h"
|
| @@ -90,7 +91,6 @@ DomainReliabilityMonitor::DomainReliabilityMonitor(
|
| discard_uploads_set_(false),
|
| weak_factory_(this) {
|
| DCHECK(OnPrefThread());
|
| - net::NetworkChangeNotifier::AddNetworkChangeObserver(this);
|
| }
|
|
|
| DomainReliabilityMonitor::DomainReliabilityMonitor(
|
| @@ -110,22 +110,25 @@ DomainReliabilityMonitor::DomainReliabilityMonitor(
|
| discard_uploads_set_(false),
|
| weak_factory_(this) {
|
| DCHECK(OnPrefThread());
|
| - net::NetworkChangeNotifier::AddNetworkChangeObserver(this);
|
| }
|
|
|
| DomainReliabilityMonitor::~DomainReliabilityMonitor() {
|
| - if (moved_to_network_thread_)
|
| + if (moved_to_network_thread_) {
|
| + net::NetworkChangeNotifier::RemoveNetworkChangeObserver(this);
|
| DCHECK(OnNetworkThread());
|
| - else
|
| + } else {
|
| DCHECK(OnPrefThread());
|
| -
|
| - net::NetworkChangeNotifier::RemoveNetworkChangeObserver(this);
|
| + }
|
| }
|
|
|
| void DomainReliabilityMonitor::MoveToNetworkThread() {
|
| DCHECK(OnPrefThread());
|
| DCHECK(!moved_to_network_thread_);
|
|
|
| + network_task_runner_->PostTask(
|
| + FROM_HERE,
|
| + base::Bind(&net::NetworkChangeNotifier::AddNetworkChangeObserver,
|
| + base::Unretained(this)));
|
| moved_to_network_thread_ = true;
|
| }
|
|
|
|
|