| Index: net/http/http_transaction_test_util.cc
|
| diff --git a/net/http/http_transaction_test_util.cc b/net/http/http_transaction_test_util.cc
|
| index a5b57461df5a2e49568fa045bc285f9d01e006bc..fa42dd78f5a0c19cce3d4a0c0329ce8f08742cb5 100644
|
| --- a/net/http/http_transaction_test_util.cc
|
| +++ b/net/http/http_transaction_test_util.cc
|
| @@ -409,13 +409,6 @@ int MockNetworkTransaction::StartInternal(const HttpRequestInfo* request,
|
| if (!t)
|
| return ERR_FAILED;
|
|
|
| - if (!before_network_start_callback_.is_null()) {
|
| - bool defer = false;
|
| - before_network_start_callback_.Run(&defer);
|
| - if (defer)
|
| - return net::ERR_IO_PENDING;
|
| - }
|
| -
|
| test_mode_ = t->test_mode;
|
|
|
| // Return immediately if we're returning an error.
|
| @@ -466,6 +459,16 @@ int MockNetworkTransaction::StartInternal(const HttpRequestInfo* request,
|
| if (request_->load_flags & LOAD_PREFETCH)
|
| response_.unused_since_prefetch = true;
|
|
|
| + // Pause and resume.
|
| + if (!before_network_start_callback_.is_null()) {
|
| + bool defer = false;
|
| + before_network_start_callback_.Run(&defer);
|
| + if (defer) {
|
| + callback_ = callback;
|
| + return net::ERR_IO_PENDING;
|
| + }
|
| + }
|
| +
|
| if (test_mode_ & TEST_MODE_SYNC_NET_START)
|
| return OK;
|
|
|
| @@ -482,8 +485,9 @@ void MockNetworkTransaction::SetBeforeHeadersSentCallback(
|
| const BeforeHeadersSentCallback& callback) {}
|
|
|
| int MockNetworkTransaction::ResumeNetworkStart() {
|
| - // Should not get here.
|
| - return ERR_FAILED;
|
| + DCHECK(!callback_.is_null());
|
| + CallbackLater(callback_, OK);
|
| + return ERR_IO_PENDING;
|
| }
|
|
|
| void MockNetworkTransaction::GetConnectionAttempts(
|
|
|