| Index: net/dns/host_resolver.cc
|
| diff --git a/net/dns/host_resolver.cc b/net/dns/host_resolver.cc
|
| index abe8e49e6578714bf5216398b3450135b4798da1..ecd3ff9c825908c1cddfc86dd960580337a1669f 100644
|
| --- a/net/dns/host_resolver.cc
|
| +++ b/net/dns/host_resolver.cc
|
| @@ -9,6 +9,7 @@
|
| #include "base/strings/string_number_conversions.h"
|
| #include "base/strings/string_split.h"
|
| #include "base/values.h"
|
| +#include "net/base/net_errors.h"
|
| #include "net/dns/dns_client.h"
|
| #include "net/dns/dns_config_service.h"
|
| #include "net/dns/host_cache.h"
|
| @@ -100,11 +101,44 @@ HostResolver::RequestInfo::RequestInfo(const HostPortPair& host_port_pair)
|
| HostResolver::~HostResolver() {
|
| }
|
|
|
| +int HostResolver::ResolveStaleFromCache(const RequestInfo& info,
|
| + AddressList* addresses,
|
| + HostCache::StaleEntryInfo* stale_info,
|
| + const BoundNetLog& net_log) {
|
| + // If a resolver doesn't know how to get potentially-stale results from the
|
| + // cache, just get fresh results instead.
|
| + return ResolveFromCache(info, addresses, net_log);
|
| +}
|
| +
|
| +int HostResolver::ResolveStale(const RequestInfo& info,
|
| + RequestPriority priority,
|
| + AddressList* addresses,
|
| + const CompletionCallback& callback,
|
| + RequestHandle* out_req,
|
| + int* stale_error,
|
| + AddressList* stale_addresses,
|
| + HostCache::StaleEntryInfo* stale_info,
|
| + const BoundNetLog& net_log) {
|
| + int rv = ResolveStaleFromCache(info, addresses, stale_info, net_log);
|
| + // If it's a fresh cache hit, return it synchronously.
|
| + if (rv != ERR_DNS_CACHE_MISS && !stale_info->is_stale()) {
|
| + *stale_error = ERR_UNEXPECTED;
|
| + stale_addresses->clear();
|
| + return rv;
|
| + }
|
| +
|
| + *stale_error = rv;
|
| + *stale_addresses = *addresses;
|
| + addresses->clear();
|
| +
|
| + return Resolve(info, priority, addresses, callback, out_req, net_log);
|
| +}
|
| +
|
| void HostResolver::SetDnsClientEnabled(bool enabled) {
|
| }
|
|
|
| HostCache* HostResolver::GetHostCache() {
|
| - return NULL;
|
| + return nullptr;
|
| }
|
|
|
| std::unique_ptr<base::Value> HostResolver::GetDnsConfigAsValue() const {
|
|
|