Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(578)

Unified Diff: net/dns/single_request_host_resolver.cc

Issue 2004453002: Add a Dns preresolve interface in //content (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@predictor_dns_browsertest
Patch Set: Fix error with base::Passed Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: net/dns/single_request_host_resolver.cc
diff --git a/net/dns/single_request_host_resolver.cc b/net/dns/single_request_host_resolver.cc
index 7974abafeef3518983a1d4604e3f5382c6f6d96c..2b05629b53135d93f2671541e3008d17839d6629 100644
--- a/net/dns/single_request_host_resolver.cc
+++ b/net/dns/single_request_host_resolver.cc
@@ -8,6 +8,8 @@
#include "base/bind_helpers.h"
#include "base/compiler_specific.h"
#include "base/logging.h"
+#include "base/memory/ptr_util.h"
+#include "net/base/address_list.h"
#include "net/base/net_errors.h"
namespace net {
@@ -15,9 +17,9 @@ namespace net {
SingleRequestHostResolver::SingleRequestHostResolver(HostResolver* resolver)
: resolver_(resolver),
cur_request_(NULL),
- callback_(
- base::Bind(&SingleRequestHostResolver::OnResolveCompletion,
- base::Unretained(this))) {
+ callback_(base::Bind(&SingleRequestHostResolver::OnResolveCompletion,
+ base::Unretained(this))),
+ default_addresses_(nullptr) {
DCHECK(resolver_ != NULL);
}
@@ -30,10 +32,14 @@ int SingleRequestHostResolver::Resolve(const HostResolver::RequestInfo& info,
AddressList* addresses,
const CompletionCallback& callback,
const BoundNetLog& net_log) {
- DCHECK(addresses);
DCHECK_EQ(false, callback.is_null());
DCHECK(cur_request_callback_.is_null()) << "resolver already in use";
+ if (!addresses) {
+ default_addresses_ = base::WrapUnique(new AddressList);
+ addresses = default_addresses_.get();
+ }
+
HostResolver::RequestHandle request = NULL;
// We need to be notified of completion before |callback| is called, so that
« content/browser/loader/resource_hints_impl.cc ('K') | « net/dns/single_request_host_resolver.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698