summaryrefslogtreecommitdiffstats
path: root/net/http
diff options
context:
space:
mode:
authorjhawkins@chromium.org <jhawkins@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-11-16 18:58:29 +0000
committerjhawkins@chromium.org <jhawkins@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-11-16 18:58:29 +0000
commitaa22b24e681201499f9dc82c3d62d66e682bf118 (patch)
tree0760db471972868a35219a2fd28a0a733cfac2d8 /net/http
parent66ad7faacf401592f814b73ec8d670a552f4c61e (diff)
downloadchromium_src-aa22b24e681201499f9dc82c3d62d66e682bf118.zip
chromium_src-aa22b24e681201499f9dc82c3d62d66e682bf118.tar.gz
chromium_src-aa22b24e681201499f9dc82c3d62d66e682bf118.tar.bz2
base::Bind: Convert HostResolver::Resolve.
BUG=none TEST=none R=willchan@chromium.org Review URL: http://codereview.chromium.org/8549004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@110333 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/http')
-rw-r--r--net/http/http_auth_handler_negotiate.cc11
-rw-r--r--net/http/http_auth_handler_negotiate.h1
-rw-r--r--net/http/http_network_transaction_unittest.cc43
3 files changed, 30 insertions, 25 deletions
diff --git a/net/http/http_auth_handler_negotiate.cc b/net/http/http_auth_handler_negotiate.cc
index 05604bd..814cecd 100644
--- a/net/http/http_auth_handler_negotiate.cc
+++ b/net/http/http_auth_handler_negotiate.cc
@@ -4,6 +4,8 @@
#include "net/http/http_auth_handler_negotiate.h"
+#include "base/bind.h"
+#include "base/bind_helpers.h"
#include "base/logging.h"
#include "base/string_util.h"
#include "base/stringprintf.h"
@@ -101,8 +103,6 @@ HttpAuthHandlerNegotiate::HttpAuthHandlerNegotiate(
#endif
disable_cname_lookup_(disable_cname_lookup),
use_port_(use_port),
- ALLOW_THIS_IN_INITIALIZER_LIST(io_callback_(
- this, &HttpAuthHandlerNegotiate::OnIOComplete)),
resolver_(resolver),
already_called_(false),
has_credentials_(false),
@@ -293,8 +293,11 @@ int HttpAuthHandlerNegotiate::DoResolveCanonicalName() {
HostResolver::RequestInfo info(HostPortPair(origin_.host(), 0));
info.set_host_resolver_flags(HOST_RESOLVER_CANONNAME);
single_resolve_.reset(new SingleRequestHostResolver(resolver_));
- return single_resolve_->Resolve(info, &address_list_, &io_callback_,
- net_log_);
+ return single_resolve_->Resolve(
+ info, &address_list_,
+ base::Bind(&HttpAuthHandlerNegotiate::OnIOComplete,
+ base::Unretained(this)),
+ net_log_);
}
int HttpAuthHandlerNegotiate::DoResolveCanonicalNameComplete(int rv) {
diff --git a/net/http/http_auth_handler_negotiate.h b/net/http/http_auth_handler_negotiate.h
index 2731f5f..868d88a 100644
--- a/net/http/http_auth_handler_negotiate.h
+++ b/net/http/http_auth_handler_negotiate.h
@@ -143,7 +143,6 @@ class NET_EXPORT_PRIVATE HttpAuthHandlerNegotiate : public HttpAuthHandler {
AuthSystem auth_system_;
bool disable_cname_lookup_;
bool use_port_;
- OldCompletionCallbackImpl<HttpAuthHandlerNegotiate> io_callback_;
HostResolver* const resolver_;
// Members which are needed for DNS lookup + SPN.
diff --git a/net/http/http_network_transaction_unittest.cc b/net/http/http_network_transaction_unittest.cc
index f5afd74..2af99c2 100644
--- a/net/http/http_network_transaction_unittest.cc
+++ b/net/http/http_network_transaction_unittest.cc
@@ -5813,10 +5813,11 @@ void BypassHostCacheOnRefreshHelper(int load_flags) {
// Warm up the host cache so it has an entry for "www.google.com".
AddressList addrlist;
- TestOldCompletionCallback callback;
+ TestCompletionCallback callback;
+ TestOldCompletionCallback old_callback;
int rv = session_deps.host_resolver->Resolve(
HostResolver::RequestInfo(HostPortPair("www.google.com", 80)), &addrlist,
- &callback, NULL, BoundNetLog());
+ callback.callback(), NULL, BoundNetLog());
EXPECT_EQ(ERR_IO_PENDING, rv);
rv = callback.WaitForResult();
EXPECT_EQ(OK, rv);
@@ -5825,7 +5826,7 @@ void BypassHostCacheOnRefreshHelper(int load_flags) {
// and confirming it completes synchronously.
rv = session_deps.host_resolver->Resolve(
HostResolver::RequestInfo(HostPortPair("www.google.com", 80)), &addrlist,
- &callback, NULL, BoundNetLog());
+ callback.callback(), NULL, BoundNetLog());
ASSERT_EQ(OK, rv);
// Inject a failure the next time that "www.google.com" is resolved. This way
@@ -5840,9 +5841,9 @@ void BypassHostCacheOnRefreshHelper(int load_flags) {
session_deps.socket_factory.AddSocketDataProvider(&data);
// Run the request.
- rv = trans->Start(&request, &callback, BoundNetLog());
+ rv = trans->Start(&request, &old_callback, BoundNetLog());
ASSERT_EQ(ERR_IO_PENDING, rv);
- rv = callback.WaitForResult();
+ rv = old_callback.WaitForResult();
// If we bypassed the cache, we would have gotten a failure while resolving
// "www.google.com".
@@ -8901,8 +8902,8 @@ void IPPoolingAddAlias(MockCachingHostResolver* host_resolver,
// Resolve the host and port.
AddressList addresses;
HostResolver::RequestInfo info(host_port_pair);
- TestOldCompletionCallback callback;
- int rv = host_resolver->Resolve(info, &addresses, &callback, NULL,
+ TestCompletionCallback callback;
+ int rv = host_resolver->Resolve(info, &addresses, callback.callback(), NULL,
BoundNetLog());
if (rv == ERR_IO_PENDING)
rv = callback.WaitForResult();
@@ -8970,16 +8971,17 @@ TEST_F(HttpNetworkTransactionTest, UseIPConnectionPooling) {
spdy_writes, arraysize(spdy_writes)));
session_deps.socket_factory.AddSocketDataProvider(spdy_data);
- TestOldCompletionCallback callback;
+ TestCompletionCallback callback;
+ TestOldCompletionCallback old_callback;
HttpRequestInfo request1;
request1.method = "GET";
request1.url = GURL("https://www.google.com/");
request1.load_flags = 0;
HttpNetworkTransaction trans1(session);
- int rv = trans1.Start(&request1, &callback, BoundNetLog());
+ int rv = trans1.Start(&request1, &old_callback, BoundNetLog());
EXPECT_EQ(ERR_IO_PENDING, rv);
- EXPECT_EQ(OK, callback.WaitForResult());
+ EXPECT_EQ(OK, old_callback.WaitForResult());
const HttpResponseInfo* response = trans1.GetResponseInfo();
ASSERT_TRUE(response != NULL);
@@ -8994,7 +8996,7 @@ TEST_F(HttpNetworkTransactionTest, UseIPConnectionPooling) {
HostPortPair host_port("www.gmail.com", 443);
HostResolver::RequestInfo resolve_info(host_port);
AddressList ignored;
- rv = host_resolver.Resolve(resolve_info, &ignored, &callback, NULL,
+ rv = host_resolver.Resolve(resolve_info, &ignored, callback.callback(), NULL,
BoundNetLog());
EXPECT_EQ(ERR_IO_PENDING, rv);
rv = callback.WaitForResult();
@@ -9012,9 +9014,9 @@ TEST_F(HttpNetworkTransactionTest, UseIPConnectionPooling) {
request2.load_flags = 0;
HttpNetworkTransaction trans2(session);
- rv = trans2.Start(&request2, &callback, BoundNetLog());
+ rv = trans2.Start(&request2, &old_callback, BoundNetLog());
EXPECT_EQ(ERR_IO_PENDING, rv);
- EXPECT_EQ(OK, callback.WaitForResult());
+ EXPECT_EQ(OK, old_callback.WaitForResult());
response = trans2.GetResponseInfo();
ASSERT_TRUE(response != NULL);
@@ -9040,7 +9042,7 @@ class OneTimeCachingHostResolver : public net::HostResolver {
// HostResolver methods:
virtual int Resolve(const RequestInfo& info,
AddressList* addresses,
- OldCompletionCallback* callback,
+ const CompletionCallback& callback,
RequestHandle* out_req,
const BoundNetLog& net_log) OVERRIDE {
return host_resolver_.Resolve(
@@ -9123,16 +9125,17 @@ TEST_F(HttpNetworkTransactionTest,
spdy_writes, arraysize(spdy_writes)));
session_deps.socket_factory.AddSocketDataProvider(spdy_data);
- TestOldCompletionCallback callback;
+ TestCompletionCallback callback;
HttpRequestInfo request1;
request1.method = "GET";
request1.url = GURL("https://www.google.com/");
request1.load_flags = 0;
HttpNetworkTransaction trans1(session);
- int rv = trans1.Start(&request1, &callback, BoundNetLog());
+ TestOldCompletionCallback old_callback;
+ int rv = trans1.Start(&request1, &old_callback, BoundNetLog());
EXPECT_EQ(ERR_IO_PENDING, rv);
- EXPECT_EQ(OK, callback.WaitForResult());
+ EXPECT_EQ(OK, old_callback.WaitForResult());
const HttpResponseInfo* response = trans1.GetResponseInfo();
ASSERT_TRUE(response != NULL);
@@ -9146,7 +9149,7 @@ TEST_F(HttpNetworkTransactionTest,
// Preload cache entries into HostCache.
HostResolver::RequestInfo resolve_info(HostPortPair("www.gmail.com", 443));
AddressList ignored;
- rv = host_resolver.Resolve(resolve_info, &ignored, &callback, NULL,
+ rv = host_resolver.Resolve(resolve_info, &ignored, callback.callback(), NULL,
BoundNetLog());
EXPECT_EQ(ERR_IO_PENDING, rv);
rv = callback.WaitForResult();
@@ -9164,9 +9167,9 @@ TEST_F(HttpNetworkTransactionTest,
IPPoolingAddAlias(host_resolver.GetMockHostResolver(), &pool_peer,
"www.google.com", 443, "127.0.0.1");
- rv = trans2.Start(&request2, &callback, BoundNetLog());
+ rv = trans2.Start(&request2, &old_callback, BoundNetLog());
EXPECT_EQ(ERR_IO_PENDING, rv);
- EXPECT_EQ(OK, callback.WaitForResult());
+ EXPECT_EQ(OK, old_callback.WaitForResult());
response = trans2.GetResponseInfo();
ASSERT_TRUE(response != NULL);