Index: net/url_request/url_request_test_job.cc |
diff --git a/net/url_request/url_request_test_job.cc b/net/url_request/url_request_test_job.cc |
index 4a0ba6e21291ca62a345ff57ca84526eefd59129..94a6bf5a757f53a362ddc9f96acce490fe999982 100644 |
--- a/net/url_request/url_request_test_job.cc |
+++ b/net/url_request/url_request_test_job.cc |
@@ -247,6 +247,11 @@ void URLRequestTestJob::ProcessNextOperation() { |
if (!ReadRawData(async_buf_, async_buf_size_, &bytes_read)) |
NOTREACHED() << "This should not return false in DATA_AVAILABLE."; |
SetStatus(URLRequestStatus()); // clear the io pending flag |
+ if (NextReadAsync()) { |
+ // Make all future reads return io pending until the next |
+ // ProcessNextOperation(). |
+ stage_ = WAITING; |
+ } |
NotifyReadComplete(bytes_read); |
} |
break; |
@@ -265,6 +270,10 @@ void URLRequestTestJob::ProcessNextOperation() { |
} |
} |
+bool URLRequestTestJob::NextReadAsync() { |
+ return false; |
+} |
+ |
void URLRequestTestJob::AdvanceJob() { |
if (auto_advance_) { |
MessageLoop::current()->PostTask( |