// Copyright 2012 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef CHROME_BROWSER_NET_DNS_PROBE_SERVICE_H_ #define CHROME_BROWSER_NET_DNS_PROBE_SERVICE_H_ #include "base/functional/callback.h" #include "components/error_page/common/net_error_info.h" #include "components/keyed_service/core/keyed_service.h" #include "net/dns/public/dns_config_overrides.h" namespace chrome_browser_net { // Probes the current DNS config servers and Google DNS servers to determine // the (probable) cause of a recent DNS-related page load error. Coalesces // multiple probe requests (perhaps from multiple tabs) and caches the results. // // Uses a single DNS attempt per config, and doesn't randomize source ports. // // Use DnsProbeServiceFactory to get a service handle. class DnsProbeService : public KeyedService { … }; } // namespace chrome_browser_net #endif // CHROME_BROWSER_NET_DNS_PROBE_SERVICE_H_