Cleanup HostResolverManager handling of DnsConfig
Various cleanups to simplify things in preparation to convert
config-change listening to SystemDnsConfigChangeNotifier:
*Now that we always have a DnsClient from the start, as long as
defined(ENABLE_BUILT_IN_DNS), moved a bunch of DnsClient-specific
properties including ownership of the DnsConfig and overrides into
DnsClient itself. Figure anything we can move out of the
overcomplicated HostResolverManager is an improvement.
*Removed assumptions that NetworkChangeNotifier would hold a base
config, mostly only reading from NCN on change notifications or on
init (essentially the times SystemDnsConfigChangeNotifier will give
the manager a config).
*Removed a bunch of unnecessary abstractions for updating and reading
configuration and secondary state based on the configuration. Most of
these have become less necessary and more overcomplicated in all the
recent code churn. More code now more directly updates or reads config
as necessary.
*Removed some test methods for reading/modifying config now that
testing code can always interact with a mocked DnsClient or soon
SystemDnsConfigChangeNotifier.
Bug: 971411
Change-Id: Ia74580c40c6b399da2ab848a4b05854f5f232e81
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1742305
Commit-Queue: Eric Orth <[email protected]>
Reviewed-by: Matt Menke <[email protected]>
Cr-Commit-Position: refs/heads/master@{#690856}
diff --git a/net/dns/BUILD.gn b/net/dns/BUILD.gn
index 514dbac..8c23dc94 100644
--- a/net/dns/BUILD.gn
+++ b/net/dns/BUILD.gn
@@ -396,7 +396,10 @@
}
if (enable_built_in_dns) {
- sources += [ "address_sorter_unittest.cc" ]
+ sources += [
+ "address_sorter_unittest.cc",
+ "dns_client_unittest.cc",
+ ]
if (is_posix || is_fuchsia) {
sources += [ "address_sorter_posix_unittest.cc" ]
}