Revert "Refactor host_resolver_impl.h to use NetworkChangeObserver"

This reverts commit 0b89497ac30beb8de0f4fcfe37ff4f63fc4441de.

Reason for revert: This is a very sensitive network change observer and I don't think the conversion to OnNetworkChanged was done properly.  OnNetworkChanged isn't a simple conversion, please see the doc in the linked bug or the comment above OnNetworkChanged.  Observers need to be edge triggered.

Original change's description:
> Refactor host_resolver_impl.h to use NetworkChangeObserver
> 
> Combine the IPAddressChanged and  ConnectionTypeChanged signals
> 
> Bug: 754695
> 
> Signed-off-by: Wang Hui <[email protected]>
> Change-Id: I942eed13c59aa4f1bc021f766f8664abd5920f1b
> Reviewed-on: https://chromium-review.googlesource.com/1206550
> Reviewed-by: Bence Béky <[email protected]>
> Commit-Queue: Bence Béky <[email protected]>
> Cr-Commit-Position: refs/heads/master@{#591081}

[email protected],[email protected]

Change-Id: Iaee4f0b5967da4d9be6efc25611ef3b02d9c22e4
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 754695
Reviewed-on: https://chromium-review.googlesource.com/1226304
Reviewed-by: Paul Jensen <[email protected]>
Commit-Queue: Paul Jensen <[email protected]>
Cr-Commit-Position: refs/heads/master@{#591369}
diff --git a/net/dns/host_resolver_impl.cc b/net/dns/host_resolver_impl.cc
index 2b1bfad..1a9366be 100644
--- a/net/dns/host_resolver_impl.cc
+++ b/net/dns/host_resolver_impl.cc
@@ -2069,14 +2069,15 @@
     defined(OS_FUCHSIA)
   RunLoopbackProbeJob();
 #endif
-  NetworkChangeNotifier::AddNetworkChangeObserver(this);
+  NetworkChangeNotifier::AddIPAddressObserver(this);
+  NetworkChangeNotifier::AddConnectionTypeObserver(this);
   NetworkChangeNotifier::AddDNSObserver(this);
 #if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_OPENBSD) && \
     !defined(OS_ANDROID)
   EnsureDnsReloaderInit();
 #endif
 
-  UpdateProcParams(NetworkChangeNotifier::GetConnectionType());
+  OnConnectionTypeChanged(NetworkChangeNotifier::GetConnectionType());
 
   {
     DnsConfig dns_config;
@@ -2097,7 +2098,8 @@
   // OnJobComplete will not start any new jobs.
   jobs_.clear();
 
-  NetworkChangeNotifier::RemoveNetworkChangeObserver(this);
+  NetworkChangeNotifier::RemoveIPAddressObserver(this);
+  NetworkChangeNotifier::RemoveConnectionTypeObserver(this);
   NetworkChangeNotifier::RemoveDNSObserver(this);
 }
 
@@ -2753,9 +2755,7 @@
   }
 }
 
-void HostResolverImpl::OnNetworkChanged(
-    NetworkChangeNotifier::ConnectionType type) {
-  UpdateProcParams(type);
+void HostResolverImpl::OnIPAddressChanged() {
   last_ipv6_probe_time_ = base::TimeTicks();
   // Abandon all ProbeJobs.
   probe_weak_ptr_factory_.InvalidateWeakPtrs();
@@ -2769,7 +2769,7 @@
   // |this| may be deleted inside AbortAllInProgressJobs().
 }
 
-void HostResolverImpl::UpdateProcParams(
+void HostResolverImpl::OnConnectionTypeChanged(
     NetworkChangeNotifier::ConnectionType type) {
   proc_params_.unresponsive_delay =
       GetTimeDeltaForConnectionTypeFromFieldTrialOrDefault(