Index: net/proxy/multi_threaded_proxy_resolver_unittest.cc |
diff --git a/net/proxy/multi_threaded_proxy_resolver_unittest.cc b/net/proxy/multi_threaded_proxy_resolver_unittest.cc |
index 481d5b5891a86a78642156a5e4ba14abff4b389d..59c33f415378a6e00d9f92a36b1dc10f71d128a2 100644 |
--- a/net/proxy/multi_threaded_proxy_resolver_unittest.cc |
+++ b/net/proxy/multi_threaded_proxy_resolver_unittest.cc |
@@ -35,10 +35,10 @@ class MockProxyResolver : public ProxyResolver { |
purge_count_(0), |
resolve_latency_ms_(0) {} |
- // ProxyResolver implementation: |
+ // ProxyResolver implementation. |
virtual int GetProxyForURL(const GURL& query_url, |
ProxyInfo* results, |
- OldCompletionCallback* callback, |
+ const CompletionCallback& callback, |
RequestHandle* request, |
const BoundNetLog& net_log) OVERRIDE { |
if (resolve_latency_ms_) |
@@ -46,7 +46,7 @@ class MockProxyResolver : public ProxyResolver { |
CheckIsOnWorkerThread(); |
- EXPECT_TRUE(callback == NULL); |
+ EXPECT_TRUE(callback.is_null()); |
EXPECT_TRUE(request == NULL); |
// Write something into |net_log| (doesn't really have any meaning.) |
@@ -79,7 +79,7 @@ class MockProxyResolver : public ProxyResolver { |
virtual int SetPacScript( |
const scoped_refptr<ProxyResolverScriptData>& script_data, |
- OldCompletionCallback* callback) OVERRIDE { |
+ const CompletionCallback& callback) OVERRIDE { |
CheckIsOnWorkerThread(); |
last_script_data_ = script_data; |
return OK; |
@@ -148,7 +148,7 @@ class BlockableProxyResolver : public MockProxyResolver { |
virtual int GetProxyForURL(const GURL& query_url, |
ProxyInfo* results, |
- OldCompletionCallback* callback, |
+ const CompletionCallback& callback, |
RequestHandle* request, |
const BoundNetLog& net_log) OVERRIDE { |
if (should_block_) { |
@@ -175,7 +175,7 @@ class ForwardingProxyResolver : public ProxyResolver { |
virtual int GetProxyForURL(const GURL& query_url, |
ProxyInfo* results, |
- OldCompletionCallback* callback, |
+ const CompletionCallback& callback, |
RequestHandle* request, |
const BoundNetLog& net_log) OVERRIDE { |
return impl_->GetProxyForURL( |
@@ -203,7 +203,7 @@ class ForwardingProxyResolver : public ProxyResolver { |
virtual int SetPacScript( |
const scoped_refptr<ProxyResolverScriptData>& script_data, |
- OldCompletionCallback* callback) OVERRIDE { |
+ const CompletionCallback& callback) OVERRIDE { |
return impl_->SetPacScript(script_data, callback); |
} |
@@ -266,21 +266,21 @@ TEST(MultiThreadedProxyResolverTest, SingleThread_Basic) { |
// Call SetPacScriptByData() -- verify that it reaches the synchronous |
// resolver. |
- TestOldCompletionCallback set_script_callback; |
+ TestCompletionCallback set_script_callback; |
rv = resolver.SetPacScript( |
ProxyResolverScriptData::FromUTF8("pac script bytes"), |
- &set_script_callback); |
+ set_script_callback.callback()); |
EXPECT_EQ(ERR_IO_PENDING, rv); |
EXPECT_EQ(OK, set_script_callback.WaitForResult()); |
EXPECT_EQ(ASCIIToUTF16("pac script bytes"), |
mock->last_script_data()->utf16()); |
// Start request 0. |
- TestOldCompletionCallback callback0; |
+ TestCompletionCallback callback0; |
CapturingBoundNetLog log0(CapturingNetLog::kUnbounded); |
ProxyInfo results0; |
- rv = resolver.GetProxyForURL( |
- GURL("http://request0"), &results0, &callback0, NULL, log0.bound()); |
+ rv = resolver.GetProxyForURL(GURL("http://request0"), &results0, |
+ callback0.callback(), NULL, log0.bound()); |
EXPECT_EQ(ERR_IO_PENDING, rv); |
// Wait for request 0 to finish. |
@@ -300,22 +300,22 @@ TEST(MultiThreadedProxyResolverTest, SingleThread_Basic) { |
// Start 3 more requests (request1 to request3). |
- TestOldCompletionCallback callback1; |
+ TestCompletionCallback callback1; |
ProxyInfo results1; |
- rv = resolver.GetProxyForURL( |
- GURL("http://request1"), &results1, &callback1, NULL, BoundNetLog()); |
+ rv = resolver.GetProxyForURL(GURL("http://request1"), &results1, |
+ callback1.callback(), NULL, BoundNetLog()); |
EXPECT_EQ(ERR_IO_PENDING, rv); |
- TestOldCompletionCallback callback2; |
+ TestCompletionCallback callback2; |
ProxyInfo results2; |
- rv = resolver.GetProxyForURL( |
- GURL("http://request2"), &results2, &callback2, NULL, BoundNetLog()); |
+ rv = resolver.GetProxyForURL(GURL("http://request2"), &results2, |
+ callback2.callback(), NULL, BoundNetLog()); |
EXPECT_EQ(ERR_IO_PENDING, rv); |
- TestOldCompletionCallback callback3; |
+ TestCompletionCallback callback3; |
ProxyInfo results3; |
- rv = resolver.GetProxyForURL( |
- GURL("http://request3"), &results3, &callback3, NULL, BoundNetLog()); |
+ rv = resolver.GetProxyForURL(GURL("http://request3"), &results3, |
+ callback3.callback(), NULL, BoundNetLog()); |
EXPECT_EQ(ERR_IO_PENDING, rv); |
// Wait for the requests to finish (they must finish in the order they were |
@@ -340,9 +340,9 @@ TEST(MultiThreadedProxyResolverTest, SingleThread_Basic) { |
// There is no way to get a callback directly when PurgeMemory() completes, so |
// we queue up a dummy request after the PurgeMemory() call and wait until it |
// finishes to ensure PurgeMemory() has had a chance to run. |
- TestOldCompletionCallback dummy_callback; |
+ TestCompletionCallback dummy_callback; |
rv = resolver.SetPacScript(ProxyResolverScriptData::FromUTF8("dummy"), |
- &dummy_callback); |
+ dummy_callback.callback()); |
EXPECT_EQ(OK, dummy_callback.WaitForResult()); |
EXPECT_EQ(1, mock->purge_count()); |
} |
@@ -359,9 +359,9 @@ TEST(MultiThreadedProxyResolverTest, |
int rv; |
// Initialize the resolver. |
- TestOldCompletionCallback init_callback; |
+ TestCompletionCallback init_callback; |
rv = resolver.SetPacScript(ProxyResolverScriptData::FromUTF8("foo"), |
- &init_callback); |
+ init_callback.callback()); |
EXPECT_EQ(OK, init_callback.WaitForResult()); |
// Block the proxy resolver, so no request can complete. |
@@ -369,28 +369,28 @@ TEST(MultiThreadedProxyResolverTest, |
// Start request 0. |
ProxyResolver::RequestHandle request0; |
- TestOldCompletionCallback callback0; |
+ TestCompletionCallback callback0; |
ProxyInfo results0; |
CapturingBoundNetLog log0(CapturingNetLog::kUnbounded); |
- rv = resolver.GetProxyForURL( |
- GURL("http://request0"), &results0, &callback0, &request0, log0.bound()); |
+ rv = resolver.GetProxyForURL(GURL("http://request0"), &results0, |
+ callback0.callback(), &request0, log0.bound()); |
EXPECT_EQ(ERR_IO_PENDING, rv); |
// Start 2 more requests (request1 and request2). |
- TestOldCompletionCallback callback1; |
+ TestCompletionCallback callback1; |
ProxyInfo results1; |
CapturingBoundNetLog log1(CapturingNetLog::kUnbounded); |
- rv = resolver.GetProxyForURL( |
- GURL("http://request1"), &results1, &callback1, NULL, log1.bound()); |
+ rv = resolver.GetProxyForURL(GURL("http://request1"), &results1, |
+ callback1.callback(), NULL, log1.bound()); |
EXPECT_EQ(ERR_IO_PENDING, rv); |
ProxyResolver::RequestHandle request2; |
- TestOldCompletionCallback callback2; |
+ TestCompletionCallback callback2; |
ProxyInfo results2; |
CapturingBoundNetLog log2(CapturingNetLog::kUnbounded); |
- rv = resolver.GetProxyForURL( |
- GURL("http://request2"), &results2, &callback2, &request2, log2.bound()); |
+ rv = resolver.GetProxyForURL(GURL("http://request2"), &results2, |
+ callback2.callback(), &request2, log2.bound()); |
EXPECT_EQ(ERR_IO_PENDING, rv); |
// Unblock the worker thread so the requests can continue running. |
@@ -453,9 +453,9 @@ TEST(MultiThreadedProxyResolverTest, SingleThread_CancelRequest) { |
int rv; |
// Initialize the resolver. |
- TestOldCompletionCallback init_callback; |
+ TestCompletionCallback init_callback; |
rv = resolver.SetPacScript(ProxyResolverScriptData::FromUTF8("foo"), |
- &init_callback); |
+ init_callback.callback()); |
EXPECT_EQ(OK, init_callback.WaitForResult()); |
// Block the proxy resolver, so no request can complete. |
@@ -463,10 +463,10 @@ TEST(MultiThreadedProxyResolverTest, SingleThread_CancelRequest) { |
// Start request 0. |
ProxyResolver::RequestHandle request0; |
- TestOldCompletionCallback callback0; |
+ TestCompletionCallback callback0; |
ProxyInfo results0; |
- rv = resolver.GetProxyForURL( |
- GURL("http://request0"), &results0, &callback0, &request0, BoundNetLog()); |
+ rv = resolver.GetProxyForURL(GURL("http://request0"), &results0, |
+ callback0.callback(), &request0, BoundNetLog()); |
EXPECT_EQ(ERR_IO_PENDING, rv); |
// Wait until requests 0 reaches the worker thread. |
@@ -474,23 +474,23 @@ TEST(MultiThreadedProxyResolverTest, SingleThread_CancelRequest) { |
// Start 3 more requests (request1 : request3). |
- TestOldCompletionCallback callback1; |
+ TestCompletionCallback callback1; |
ProxyInfo results1; |
- rv = resolver.GetProxyForURL( |
- GURL("http://request1"), &results1, &callback1, NULL, BoundNetLog()); |
+ rv = resolver.GetProxyForURL(GURL("http://request1"), &results1, |
+ callback1.callback(), NULL, BoundNetLog()); |
EXPECT_EQ(ERR_IO_PENDING, rv); |
ProxyResolver::RequestHandle request2; |
- TestOldCompletionCallback callback2; |
+ TestCompletionCallback callback2; |
ProxyInfo results2; |
- rv = resolver.GetProxyForURL( |
- GURL("http://request2"), &results2, &callback2, &request2, BoundNetLog()); |
+ rv = resolver.GetProxyForURL(GURL("http://request2"), &results2, |
+ callback2.callback(), &request2, BoundNetLog()); |
EXPECT_EQ(ERR_IO_PENDING, rv); |
- TestOldCompletionCallback callback3; |
+ TestCompletionCallback callback3; |
ProxyInfo results3; |
- rv = resolver.GetProxyForURL( |
- GURL("http://request3"), &results3, &callback3, NULL, BoundNetLog()); |
+ rv = resolver.GetProxyForURL(GURL("http://request3"), &results3, |
+ callback3.callback(), NULL, BoundNetLog()); |
EXPECT_EQ(ERR_IO_PENDING, rv); |
// Cancel request0 (inprogress) and request2 (pending). |
@@ -530,9 +530,9 @@ TEST(MultiThreadedProxyResolverTest, SingleThread_CancelRequestByDeleting) { |
int rv; |
// Initialize the resolver. |
- TestOldCompletionCallback init_callback; |
+ TestCompletionCallback init_callback; |
rv = resolver->SetPacScript(ProxyResolverScriptData::FromUTF8("foo"), |
- &init_callback); |
+ init_callback.callback()); |
EXPECT_EQ(OK, init_callback.WaitForResult()); |
// Block the proxy resolver, so no request can complete. |
@@ -540,22 +540,22 @@ TEST(MultiThreadedProxyResolverTest, SingleThread_CancelRequestByDeleting) { |
// Start 3 requests. |
- TestOldCompletionCallback callback0; |
+ TestCompletionCallback callback0; |
ProxyInfo results0; |
- rv = resolver->GetProxyForURL( |
- GURL("http://request0"), &results0, &callback0, NULL, BoundNetLog()); |
+ rv = resolver->GetProxyForURL(GURL("http://request0"), &results0, |
+ callback0.callback(), NULL, BoundNetLog()); |
EXPECT_EQ(ERR_IO_PENDING, rv); |
- TestOldCompletionCallback callback1; |
+ TestCompletionCallback callback1; |
ProxyInfo results1; |
- rv = resolver->GetProxyForURL( |
- GURL("http://request1"), &results1, &callback1, NULL, BoundNetLog()); |
+ rv = resolver->GetProxyForURL(GURL("http://request1"), &results1, |
+ callback1.callback(), NULL, BoundNetLog()); |
EXPECT_EQ(ERR_IO_PENDING, rv); |
- TestOldCompletionCallback callback2; |
+ TestCompletionCallback callback2; |
ProxyInfo results2; |
- rv = resolver->GetProxyForURL( |
- GURL("http://request2"), &results2, &callback2, NULL, BoundNetLog()); |
+ rv = resolver->GetProxyForURL(GURL("http://request2"), &results2, |
+ callback2.callback(), NULL, BoundNetLog()); |
EXPECT_EQ(ERR_IO_PENDING, rv); |
// Wait until request 0 reaches the worker thread. |
@@ -591,18 +591,18 @@ TEST(MultiThreadedProxyResolverTest, SingleThread_CancelSetPacScript) { |
int rv; |
- TestOldCompletionCallback set_pac_script_callback; |
+ TestCompletionCallback set_pac_script_callback; |
rv = resolver.SetPacScript(ProxyResolverScriptData::FromUTF8("data"), |
- &set_pac_script_callback); |
+ set_pac_script_callback.callback()); |
EXPECT_EQ(ERR_IO_PENDING, rv); |
// Cancel the SetPacScriptByData request. |
resolver.CancelSetPacScript(); |
// Start another SetPacScript request |
- TestOldCompletionCallback set_pac_script_callback2; |
+ TestCompletionCallback set_pac_script_callback2; |
rv = resolver.SetPacScript(ProxyResolverScriptData::FromUTF8("data2"), |
- &set_pac_script_callback2); |
+ set_pac_script_callback2.callback()); |
EXPECT_EQ(ERR_IO_PENDING, rv); |
// Wait for the initialization to complete. |
@@ -628,10 +628,10 @@ TEST(MultiThreadedProxyResolverTest, ThreeThreads_Basic) { |
// Call SetPacScriptByData() -- verify that it reaches the synchronous |
// resolver. |
- TestOldCompletionCallback set_script_callback; |
+ TestCompletionCallback set_script_callback; |
rv = resolver.SetPacScript( |
ProxyResolverScriptData::FromUTF8("pac script bytes"), |
- &set_script_callback); |
+ set_script_callback.callback()); |
EXPECT_EQ(ERR_IO_PENDING, rv); |
EXPECT_EQ(OK, set_script_callback.WaitForResult()); |
// One thread has been provisioned (i.e. one ProxyResolver was created). |
@@ -640,14 +640,14 @@ TEST(MultiThreadedProxyResolverTest, ThreeThreads_Basic) { |
factory->resolvers()[0]->last_script_data()->utf16()); |
const int kNumRequests = 9; |
- TestOldCompletionCallback callback[kNumRequests]; |
+ TestCompletionCallback callback[kNumRequests]; |
ProxyInfo results[kNumRequests]; |
ProxyResolver::RequestHandle request[kNumRequests]; |
// Start request 0 -- this should run on thread 0 as there is nothing else |
// going on right now. |
rv = resolver.GetProxyForURL( |
- GURL("http://request0"), &results[0], &callback[0], &request[0], |
+ GURL("http://request0"), &results[0], callback[0].callback(), &request[0], |
BoundNetLog()); |
EXPECT_EQ(ERR_IO_PENDING, rv); |
@@ -667,7 +667,7 @@ TEST(MultiThreadedProxyResolverTest, ThreeThreads_Basic) { |
for (int i = 1; i < kNumRequests; ++i) { |
rv = resolver.GetProxyForURL( |
GURL(base::StringPrintf("http://request%d", i)), &results[i], |
- &callback[i], &request[i], BoundNetLog()); |
+ callback[i].callback(), &request[i], BoundNetLog()); |
EXPECT_EQ(ERR_IO_PENDING, rv); |
} |
@@ -697,9 +697,9 @@ TEST(MultiThreadedProxyResolverTest, ThreeThreads_Basic) { |
// We call SetPacScript again, solely to stop the current worker threads. |
// (That way we can test to see the values observed by the synchronous |
// resolvers in a non-racy manner). |
- TestOldCompletionCallback set_script_callback2; |
+ TestCompletionCallback set_script_callback2; |
rv = resolver.SetPacScript(ProxyResolverScriptData::FromUTF8("xyz"), |
- &set_script_callback2); |
+ set_script_callback2.callback()); |
EXPECT_EQ(ERR_IO_PENDING, rv); |
EXPECT_EQ(OK, set_script_callback2.WaitForResult()); |
ASSERT_EQ(4u, factory->resolvers().size()); |
@@ -740,10 +740,10 @@ TEST(MultiThreadedProxyResolverTest, OneThreadBlocked) { |
EXPECT_TRUE(resolver.expects_pac_bytes()); |
// Initialize the resolver. |
- TestOldCompletionCallback set_script_callback; |
+ TestCompletionCallback set_script_callback; |
rv = resolver.SetPacScript( |
ProxyResolverScriptData::FromUTF8("pac script bytes"), |
- &set_script_callback); |
+ set_script_callback.callback()); |
EXPECT_EQ(ERR_IO_PENDING, rv); |
EXPECT_EQ(OK, set_script_callback.WaitForResult()); |
// One thread has been provisioned (i.e. one ProxyResolver was created). |
@@ -752,7 +752,7 @@ TEST(MultiThreadedProxyResolverTest, OneThreadBlocked) { |
factory->resolvers()[0]->last_script_data()->utf16()); |
const int kNumRequests = 4; |
- TestOldCompletionCallback callback[kNumRequests]; |
+ TestCompletionCallback callback[kNumRequests]; |
ProxyInfo results[kNumRequests]; |
ProxyResolver::RequestHandle request[kNumRequests]; |
@@ -761,7 +761,7 @@ TEST(MultiThreadedProxyResolverTest, OneThreadBlocked) { |
factory->resolvers()[0]->Block(); |
rv = resolver.GetProxyForURL( |
- GURL("http://request0"), &results[0], &callback[0], &request[0], |
+ GURL("http://request0"), &results[0], callback[0].callback(), &request[0], |
BoundNetLog()); |
EXPECT_EQ(ERR_IO_PENDING, rv); |
@@ -773,7 +773,7 @@ TEST(MultiThreadedProxyResolverTest, OneThreadBlocked) { |
for (int i = 1; i < kNumRequests; ++i) { |
rv = resolver.GetProxyForURL( |
GURL(base::StringPrintf("http://request%d", i)), |
- &results[i], &callback[i], &request[i], BoundNetLog()); |
+ &results[i], callback[i].callback(), &request[i], BoundNetLog()); |
EXPECT_EQ(ERR_IO_PENDING, rv); |
} |