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

Unified Diff: content/browser/loader/mojo_async_resource_handler_unittest.cc

Issue 2476163003: Refactor ResourceHandler API. (Closed)
Patch Set: Minor cleanups, one real fix Created 4 years, 1 month 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: content/browser/loader/mojo_async_resource_handler_unittest.cc
diff --git a/content/browser/loader/mojo_async_resource_handler_unittest.cc b/content/browser/loader/mojo_async_resource_handler_unittest.cc
index 4ad1ba638feee4d4cf1e26c56b1bddcb22ef3832..d0150105c73b22bb876e2f35915ffc0b086680eb 100644
--- a/content/browser/loader/mojo_async_resource_handler_unittest.cc
+++ b/content/browser/loader/mojo_async_resource_handler_unittest.cc
@@ -178,7 +178,7 @@ class TestResourceController : public ResourceController {
TestResourceController() {}
~TestResourceController() override {}
- void Cancel() override { ADD_FAILURE() << "Cancel should not be called."; }
+ void Cancel() override { CancelWithError(net::ERR_ABORTED); }
void CancelAndIgnore() override {
ADD_FAILURE() << "CancelAndIgnore should not be called.";
@@ -371,13 +371,14 @@ class MojoAsyncResourceHandlerTestBase {
// Returns false if something bad happens.
bool CallOnWillStart() {
- bool defer = false;
- if (!handler_->OnWillStart(request_->url(), &defer)) {
- ADD_FAILURE() << "OnWillStart returns false.";
+ bool defer_or_cancel = false;
+ handler_->OnWillStart(request_->url(), &defer_or_cancel);
+ if (resource_controller_.is_cancel_with_error_called()) {
+ ADD_FAILURE() << "OnWillStart canceled the request.";
return false;
}
- if (defer) {
- ADD_FAILURE() << "OnWillStart sets |defer| true.";
+ if (defer_or_cancel) {
+ ADD_FAILURE() << "OnResponseStarted set |defer_or_cancel| to true.";
return false;
}
return true;
@@ -390,17 +391,18 @@ class MojoAsyncResourceHandlerTestBase {
return false;
scoped_refptr<ResourceResponse> response = new ResourceResponse();
- bool defer = false;
- if (!handler_->OnResponseStarted(response.get(), &defer)) {
- ADD_FAILURE() << "OnResponseStarted returns false.";
+ bool defer_or_cancel = false;
+ handler_->OnResponseStarted(response.get(), &defer_or_cancel);
+ if (resource_controller_.is_cancel_with_error_called()) {
+ ADD_FAILURE() << "OnResponseStarted canceled the request.";
return false;
}
- if (defer) {
- ADD_FAILURE() << "OnResponseStarted sets |defer| true.";
+ if (defer_or_cancel) {
+ ADD_FAILURE() << "OnResponseStarted set |defer_or_cancel| to true.";
return false;
}
if (url_loader_client_.has_received_response()) {
- ADD_FAILURE() << "URLLoaderClient unexpectedly gets a response.";
+ ADD_FAILURE() << "URLLoaderClient unexpectedly received a response.";
return false;
}
url_loader_client_.RunUntilResponseReceived();
@@ -444,9 +446,10 @@ TEST_F(MojoAsyncResourceHandlerTest, InFlightRequests) {
}
TEST_F(MojoAsyncResourceHandlerTest, OnWillStart) {
- bool defer = false;
- EXPECT_TRUE(handler_->OnWillStart(request_->url(), &defer));
- EXPECT_FALSE(defer);
+ bool defer_or_cancel = false;
+ handler_->OnWillStart(request_->url(), &defer_or_cancel);
+ EXPECT_FALSE(resource_controller_.is_cancel_with_error_called());
+ EXPECT_FALSE(defer_or_cancel);
}
TEST_F(MojoAsyncResourceHandlerTest, OnResponseStarted) {
@@ -460,14 +463,15 @@ TEST_F(MojoAsyncResourceHandlerTest, OnResponseStarted) {
response->head.response_start =
base::TimeTicks::UnixEpoch() + base::TimeDelta::FromDays(28);
- bool defer = false;
+ bool defer_or_cancel = false;
EXPECT_EQ(0, rdh_delegate_.num_on_response_started_calls());
base::TimeTicks now1 = base::TimeTicks::Now();
- ASSERT_TRUE(handler_->OnResponseStarted(response.get(), &defer));
+ handler_->OnResponseStarted(response.get(), &defer_or_cancel);
base::TimeTicks now2 = base::TimeTicks::Now();
- EXPECT_FALSE(defer);
+ EXPECT_FALSE(resource_controller_.is_cancel_with_error_called());
+ EXPECT_FALSE(defer_or_cancel);
EXPECT_EQ(request_->creation_time(), response->head.request_start);
EXPECT_LE(now1, response->head.response_start);
EXPECT_LE(response->head.response_start, now2);
@@ -509,7 +513,7 @@ TEST_F(MojoAsyncResourceHandlerTest, OnWillReadWithInsufficientResource) {
}
TEST_F(MojoAsyncResourceHandlerTest, OnWillReadAndOnReadCompleted) {
- bool defer = false;
+ bool defer_or_cancel = false;
scoped_refptr<net::IOBuffer> io_buffer;
int io_buffer_size = 0;
@@ -524,8 +528,9 @@ TEST_F(MojoAsyncResourceHandlerTest, OnWillReadAndOnReadCompleted) {
io_buffer->data()[0] = 'A';
io_buffer->data()[1] = 'B';
- ASSERT_TRUE(handler_->OnReadCompleted(2, &defer));
- EXPECT_FALSE(defer);
+ handler_->OnReadCompleted(2, &defer_or_cancel);
+ EXPECT_FALSE(resource_controller_.is_cancel_with_error_called());
+ EXPECT_FALSE(defer_or_cancel);
std::string contents;
while (contents.size() < 2) {
@@ -547,7 +552,7 @@ TEST_F(MojoAsyncResourceHandlerTest,
OnWillReadAndOnReadCompletedWithInsufficientInitialCapacity) {
MojoAsyncResourceHandler::SetAllocationSizeForTesting(2);
- bool defer = false;
+ bool defer_or_cancel = false;
scoped_refptr<net::IOBuffer> io_buffer;
int io_buffer_size = 0;
@@ -562,8 +567,9 @@ TEST_F(MojoAsyncResourceHandlerTest,
const std::string data("abcdefgh");
strcpy(io_buffer->data(), data.c_str());
- ASSERT_TRUE(handler_->OnReadCompleted(data.size(), &defer));
- EXPECT_TRUE(defer);
+ handler_->OnReadCompleted(data.size(), &defer_or_cancel);
+ EXPECT_FALSE(resource_controller_.is_cancel_with_error_called());
+ EXPECT_TRUE(defer_or_cancel);
std::string contents;
while (contents.size() < data.size()) {
@@ -603,7 +609,7 @@ TEST_F(MojoAsyncResourceHandlerTest,
}
TEST_F(MojoAsyncResourceHandlerTest, OnResponseCompleted) {
- bool defer = false;
+ bool defer_or_cancel = false;
ASSERT_TRUE(CallOnWillStartAndOnResponseStarted());
ResourceRequestInfoImpl::ForRequest(request_.get())
@@ -611,9 +617,10 @@ TEST_F(MojoAsyncResourceHandlerTest, OnResponseCompleted) {
net::URLRequestStatus status(net::URLRequestStatus::SUCCESS, net::OK);
base::TimeTicks now1 = base::TimeTicks::Now();
- handler_->OnResponseCompleted(status, &defer);
+ handler_->OnResponseCompleted(status, &defer_or_cancel);
base::TimeTicks now2 = base::TimeTicks::Now();
- EXPECT_FALSE(defer);
+ EXPECT_FALSE(resource_controller_.is_cancel_with_error_called());
+ EXPECT_FALSE(defer_or_cancel);
url_loader_client_.RunUntilComplete();
EXPECT_TRUE(url_loader_client_.has_received_completion());
@@ -628,13 +635,14 @@ TEST_F(MojoAsyncResourceHandlerTest, OnResponseCompleted) {
// This test case sets different status values from OnResponseCompleted.
TEST_F(MojoAsyncResourceHandlerTest, OnResponseCompleted2) {
rdh_.SetDelegate(nullptr);
- bool defer = false;
+ bool defer_or_cancel = false;
// Don't use CallOnWillStartAndOnResponseStarted as this test case manually
// sets the null delegate.
ASSERT_TRUE(CallOnWillStart());
scoped_refptr<ResourceResponse> response = new ResourceResponse();
- ASSERT_TRUE(handler_->OnResponseStarted(response.get(), &defer));
- ASSERT_FALSE(defer);
+ handler_->OnResponseStarted(response.get(), &defer_or_cancel);
+ ASSERT_FALSE(resource_controller_.is_cancel_with_error_called());
+ ASSERT_FALSE(defer_or_cancel);
ASSERT_FALSE(url_loader_client_.has_received_response());
url_loader_client_.RunUntilResponseReceived();
@@ -644,9 +652,10 @@ TEST_F(MojoAsyncResourceHandlerTest, OnResponseCompleted2) {
net::ERR_ABORTED);
base::TimeTicks now1 = base::TimeTicks::Now();
- handler_->OnResponseCompleted(status, &defer);
+ handler_->OnResponseCompleted(status, &defer_or_cancel);
base::TimeTicks now2 = base::TimeTicks::Now();
- EXPECT_FALSE(defer);
+ EXPECT_FALSE(resource_controller_.is_cancel_with_error_called());
+ EXPECT_FALSE(defer_or_cancel);
url_loader_client_.RunUntilComplete();
EXPECT_TRUE(url_loader_client_.has_received_completion());
@@ -662,11 +671,12 @@ TEST_F(MojoAsyncResourceHandlerTest, OnResponseCompleted2) {
TEST_F(MojoAsyncResourceHandlerTest, OnResponseCompletedWithCanceledTimedOut) {
net::URLRequestStatus status(net::URLRequestStatus::CANCELED,
net::ERR_TIMED_OUT);
- bool defer = false;
+ bool defer_or_cancel = false;
ASSERT_TRUE(CallOnWillStartAndOnResponseStarted());
- handler_->OnResponseCompleted(status, &defer);
- EXPECT_FALSE(defer);
+ handler_->OnResponseCompleted(status, &defer_or_cancel);
+ EXPECT_FALSE(resource_controller_.is_cancel_with_error_called());
+ EXPECT_FALSE(defer_or_cancel);
url_loader_client_.RunUntilComplete();
EXPECT_TRUE(url_loader_client_.has_received_completion());
@@ -677,11 +687,12 @@ TEST_F(MojoAsyncResourceHandlerTest, OnResponseCompletedWithCanceledTimedOut) {
TEST_F(MojoAsyncResourceHandlerTest, OnResponseCompletedWithFailedTimedOut) {
net::URLRequestStatus status(net::URLRequestStatus::FAILED,
net::ERR_TIMED_OUT);
- bool defer = false;
+ bool defer_or_cancel = false;
ASSERT_TRUE(CallOnWillStartAndOnResponseStarted());
- handler_->OnResponseCompleted(status, &defer);
- EXPECT_FALSE(defer);
+ handler_->OnResponseCompleted(status, &defer_or_cancel);
+ EXPECT_FALSE(resource_controller_.is_cancel_with_error_called());
+ EXPECT_FALSE(defer_or_cancel);
url_loader_client_.RunUntilComplete();
EXPECT_TRUE(url_loader_client_.has_received_completion());
@@ -694,16 +705,18 @@ TEST_F(MojoAsyncResourceHandlerTest, ResponseCompletionShouldCloseDataPipe) {
scoped_refptr<net::IOBuffer> io_buffer;
int io_buffer_size = 0;
- bool defer = false;
+ bool defer_or_cancel = false;
ASSERT_TRUE(handler_->OnWillRead(&io_buffer, &io_buffer_size, -1));
url_loader_client_.RunUntilResponseBodyArrived();
ASSERT_TRUE(url_loader_client_.response_body().is_valid());
- ASSERT_TRUE(handler_->OnReadCompleted(0, &defer));
- EXPECT_FALSE(defer);
+ handler_->OnReadCompleted(0, &defer_or_cancel);
+ EXPECT_FALSE(resource_controller_.is_cancel_with_error_called());
+ EXPECT_FALSE(defer_or_cancel);
net::URLRequestStatus status(net::URLRequestStatus::SUCCESS, net::OK);
- handler_->OnResponseCompleted(status, &defer);
- EXPECT_FALSE(defer);
+ handler_->OnResponseCompleted(status, &defer_or_cancel);
+ EXPECT_FALSE(resource_controller_.is_cancel_with_error_called());
+ EXPECT_FALSE(defer_or_cancel);
url_loader_client_.RunUntilComplete();
EXPECT_TRUE(url_loader_client_.has_received_completion());
@@ -734,14 +747,16 @@ TEST_F(MojoAsyncResourceHandlerTest, ResponseErrorDuringBodyTransmission) {
ASSERT_TRUE(url_loader_client_.response_body().is_valid());
ASSERT_GT(io_buffer_size, 0);
memset(io_buffer->data(), 'a', io_buffer_size);
- bool defer = false;
- ASSERT_TRUE(handler_->OnReadCompleted(io_buffer_size, &defer));
- // We don't care |defer|'s value here.
+ bool defer_or_cancel = false;
+ handler_->OnReadCompleted(io_buffer_size, &defer_or_cancel);
+ EXPECT_FALSE(resource_controller_.is_cancel_with_error_called());
- defer = false;
+ // Don't care about |defer_or_cancel|'s value here.
+ defer_or_cancel = false;
net::URLRequestStatus status(net::URLRequestStatus::FAILED, net::ERR_FAILED);
- handler_->OnResponseCompleted(status, &defer);
- EXPECT_FALSE(defer);
+ handler_->OnResponseCompleted(status, &defer_or_cancel);
+ EXPECT_FALSE(resource_controller_.is_cancel_with_error_called());
+ EXPECT_FALSE(defer_or_cancel);
url_loader_client_.RunUntilComplete();
EXPECT_TRUE(url_loader_client_.has_received_completion());
@@ -778,10 +793,11 @@ TEST_F(MojoAsyncResourceHandlerTest, ResponseErrorDuringBodyTransmission2) {
ASSERT_TRUE(handler_->OnWillRead(&io_buffer, &io_buffer_size, -1));
url_loader_client_.RunUntilResponseBodyArrived();
ASSERT_TRUE(url_loader_client_.response_body().is_valid());
- bool defer = false;
+ bool defer_or_cancel = false;
net::URLRequestStatus status(net::URLRequestStatus::FAILED, net::ERR_FAILED);
- handler_->OnResponseCompleted(status, &defer);
- EXPECT_FALSE(defer);
+ handler_->OnResponseCompleted(status, &defer_or_cancel);
+ EXPECT_FALSE(resource_controller_.is_cancel_with_error_called());
+ EXPECT_FALSE(defer_or_cancel);
url_loader_client_.RunUntilComplete();
EXPECT_TRUE(url_loader_client_.has_received_completion());
@@ -835,9 +851,10 @@ TEST_F(MojoAsyncResourceHandlerTest,
EXPECT_GT(io_buffer_size, 0);
memset(io_buffer->data(), 'X', io_buffer_size);
written += io_buffer_size;
- bool defer = false;
- ASSERT_TRUE(handler_->OnReadCompleted(io_buffer_size, &defer));
- if (defer)
+ bool defer_or_cancel = false;
+ handler_->OnReadCompleted(io_buffer_size, &defer_or_cancel);
+ EXPECT_FALSE(resource_controller_.is_cancel_with_error_called());
+ if (defer_or_cancel)
break;
}
@@ -876,12 +893,15 @@ TEST_F(MojoAsyncResourceHandlerTest,
TEST_F(MojoAsyncResourceHandlerTest, EndWriteFailsOnReadCompleted) {
scoped_refptr<net::IOBuffer> io_buffer;
int io_buffer_size = 0;
- bool defer = false;
+ bool defer_or_cancel = false;
ASSERT_TRUE(CallOnWillStartAndOnResponseStarted());
ASSERT_TRUE(handler_->OnWillRead(&io_buffer, &io_buffer_size, -1));
handler_->set_end_write_expectation(MOJO_RESULT_SHOULD_WAIT);
- ASSERT_FALSE(handler_->OnReadCompleted(io_buffer_size, &defer));
+ handler_->OnReadCompleted(io_buffer_size, &defer_or_cancel);
+ EXPECT_TRUE(resource_controller_.is_cancel_with_error_called());
+ EXPECT_EQ(net::ERR_ABORTED, resource_controller_.error());
+ EXPECT_TRUE(defer_or_cancel);
}
TEST_F(MojoAsyncResourceHandlerTest,
@@ -889,12 +909,15 @@ TEST_F(MojoAsyncResourceHandlerTest,
MojoAsyncResourceHandler::SetAllocationSizeForTesting(2);
scoped_refptr<net::IOBuffer> io_buffer;
int io_buffer_size = 0;
- bool defer = false;
+ bool defer_or_cancel = false;
ASSERT_TRUE(CallOnWillStartAndOnResponseStarted());
ASSERT_TRUE(handler_->OnWillRead(&io_buffer, &io_buffer_size, -1));
handler_->set_end_write_expectation(MOJO_RESULT_SHOULD_WAIT);
- ASSERT_FALSE(handler_->OnReadCompleted(io_buffer_size, &defer));
+ handler_->OnReadCompleted(io_buffer_size, &defer_or_cancel);
+ EXPECT_TRUE(resource_controller_.is_cancel_with_error_called());
+ EXPECT_EQ(net::ERR_ABORTED, resource_controller_.error());
+ EXPECT_TRUE(defer_or_cancel);
}
TEST_F(MojoAsyncResourceHandlerTest,
@@ -908,10 +931,11 @@ TEST_F(MojoAsyncResourceHandlerTest,
ASSERT_TRUE(url_loader_client_.response_body().is_valid());
while (true) {
- bool defer = false;
- ASSERT_TRUE(handler_->OnReadCompleted(io_buffer_size, &defer));
+ bool defer_or_cancel = false;
+ handler_->OnReadCompleted(io_buffer_size, &defer_or_cancel);
+ EXPECT_FALSE(resource_controller_.is_cancel_with_error_called());
ASSERT_GE(io_buffer_size, 0);
- if (defer)
+ if (defer_or_cancel)
break;
ASSERT_TRUE(handler_->OnWillRead(&io_buffer, &io_buffer_size, -1));
}
@@ -936,7 +960,7 @@ TEST_F(MojoAsyncResourceHandlerTest,
TEST_P(MojoAsyncResourceHandlerWithAllocationSizeTest,
OnWillReadWithLongContents) {
- bool defer = false;
+ bool defer_or_cancel = false;
scoped_refptr<net::IOBuffer> io_buffer;
int io_buffer_size = 0;
@@ -949,8 +973,9 @@ TEST_P(MojoAsyncResourceHandlerWithAllocationSizeTest,
for (int i = 0; i < 3 * io_buffer_size + 2; ++i)
expected += ('A' + i % 26);
- ASSERT_TRUE(handler_->OnReadCompleted(0, &defer));
- ASSERT_FALSE(defer);
+ handler_->OnReadCompleted(0, &defer_or_cancel);
+ ASSERT_FALSE(resource_controller_.is_cancel_with_error_called());
+ ASSERT_FALSE(defer_or_cancel);
url_loader_client_.RunUntilResponseBodyArrived();
ASSERT_TRUE(url_loader_client_.response_body().is_valid());
@@ -958,12 +983,13 @@ TEST_P(MojoAsyncResourceHandlerWithAllocationSizeTest,
size_t written = 0;
std::string actual;
while (actual.size() < expected.size()) {
- while (written < expected.size() && !defer) {
+ while (written < expected.size() && !defer_or_cancel) {
ASSERT_TRUE(handler_->OnWillRead(&io_buffer, &io_buffer_size, -1));
const size_t to_be_written = std::min(static_cast<size_t>(io_buffer_size),
expected.size() - written);
memcpy(io_buffer->data(), &expected[written], to_be_written);
- ASSERT_TRUE(handler_->OnReadCompleted(to_be_written, &defer));
+ handler_->OnReadCompleted(to_be_written, &defer_or_cancel);
+ ASSERT_FALSE(resource_controller_.is_cancel_with_error_called());
written += to_be_written;
}
@@ -979,7 +1005,7 @@ TEST_P(MojoAsyncResourceHandlerWithAllocationSizeTest,
int resume_count = resource_controller_.num_resume_calls();
base::RunLoop().RunUntilIdle();
// Continue writing if controller->Resume() is called.
- defer = (resume_count == resource_controller_.num_resume_calls());
+ defer_or_cancel = (resume_count == resource_controller_.num_resume_calls());
}
EXPECT_EQ(expected, actual);
}
@@ -988,43 +1014,49 @@ TEST_P(MojoAsyncResourceHandlerWithAllocationSizeTest,
BeginWriteFailsOnReadCompleted) {
scoped_refptr<net::IOBuffer> io_buffer;
int io_buffer_size = 0;
- bool defer = false;
+ bool defer_or_cancel = false;
ASSERT_TRUE(CallOnWillStartAndOnResponseStarted());
ASSERT_TRUE(handler_->OnWillRead(&io_buffer, &io_buffer_size, -1));
handler_->set_begin_write_expectation(MOJO_RESULT_UNKNOWN);
- ASSERT_FALSE(handler_->OnReadCompleted(io_buffer_size, &defer));
+ handler_->OnReadCompleted(io_buffer_size, &defer_or_cancel);
+ EXPECT_TRUE(resource_controller_.is_cancel_with_error_called());
+ EXPECT_EQ(net::ERR_ABORTED, resource_controller_.error());
+ EXPECT_TRUE(defer_or_cancel);
}
TEST_P(MojoAsyncResourceHandlerWithAllocationSizeTest,
BeginWriteReturnsShouldWaitOnReadCompleted) {
scoped_refptr<net::IOBuffer> io_buffer;
int io_buffer_size = 0;
- bool defer = false;
+ bool defer_or_cancel = false;
ASSERT_TRUE(CallOnWillStartAndOnResponseStarted());
ASSERT_TRUE(handler_->OnWillRead(&io_buffer, &io_buffer_size, -1));
handler_->set_begin_write_expectation(MOJO_RESULT_SHOULD_WAIT);
- ASSERT_TRUE(handler_->OnReadCompleted(io_buffer_size, &defer));
- EXPECT_TRUE(defer);
+ handler_->OnReadCompleted(io_buffer_size, &defer_or_cancel);
+ EXPECT_FALSE(resource_controller_.is_cancel_with_error_called());
+ EXPECT_TRUE(defer_or_cancel);
}
TEST_P(MojoAsyncResourceHandlerWithAllocationSizeTest,
BeginWriteFailsOnResume) {
- bool defer = false;
+ bool defer_or_cancel = false;
int io_buffer_size = 0;
scoped_refptr<net::IOBuffer> io_buffer;
ASSERT_TRUE(CallOnWillStartAndOnResponseStarted());
ASSERT_TRUE(handler_->OnWillRead(&io_buffer, &io_buffer_size, -1));
- ASSERT_TRUE(handler_->OnReadCompleted(0, &defer));
- ASSERT_FALSE(defer);
+ handler_->OnReadCompleted(0, &defer_or_cancel);
+ ASSERT_FALSE(resource_controller_.is_cancel_with_error_called());
+ ASSERT_FALSE(defer_or_cancel);
url_loader_client_.RunUntilResponseBodyArrived();
+ ASSERT_FALSE(resource_controller_.is_cancel_with_error_called());
ASSERT_TRUE(url_loader_client_.response_body().is_valid());
- while (!defer) {
+ while (!defer_or_cancel) {
ASSERT_TRUE(handler_->OnWillRead(&io_buffer, &io_buffer_size, -1));
- ASSERT_TRUE(handler_->OnReadCompleted(io_buffer_size, &defer));
+ handler_->OnReadCompleted(io_buffer_size, &defer_or_cancel);
}
handler_->set_begin_write_expectation(MOJO_RESULT_UNKNOWN);
@@ -1044,23 +1076,25 @@ TEST_P(MojoAsyncResourceHandlerWithAllocationSizeTest,
}
TEST_P(MojoAsyncResourceHandlerWithAllocationSizeTest, CancelWhileWaiting) {
- bool defer = false;
+ bool defer_or_cancel = false;
ASSERT_TRUE(CallOnWillStartAndOnResponseStarted());
- while (!defer) {
+ while (!defer_or_cancel) {
scoped_refptr<net::IOBuffer> io_buffer;
int io_buffer_size = 0;
ASSERT_TRUE(handler_->OnWillRead(&io_buffer, &io_buffer_size, -1));
- ASSERT_TRUE(handler_->OnReadCompleted(io_buffer_size, &defer));
+ handler_->OnReadCompleted(io_buffer_size, &defer_or_cancel);
+ ASSERT_FALSE(resource_controller_.is_cancel_with_error_called());
}
url_loader_client_.RunUntilResponseBodyArrived();
ASSERT_TRUE(url_loader_client_.response_body().is_valid());
- defer = false;
+ defer_or_cancel = false;
net::URLRequestStatus status(net::URLRequestStatus::CANCELED,
net::ERR_ABORTED);
- handler_->OnResponseCompleted(status, &defer);
+ handler_->OnResponseCompleted(status, &defer_or_cancel);
+ ASSERT_FALSE(resource_controller_.is_cancel_with_error_called());
ASSERT_FALSE(url_loader_client_.has_received_completion());
url_loader_client_.RunUntilComplete();
@@ -1085,16 +1119,18 @@ TEST_P(MojoAsyncResourceHandlerWithAllocationSizeTest, CancelWhileWaiting) {
TEST_P(MojoAsyncResourceHandlerWithAllocationSizeTest, RedirectHandling) {
rdh_delegate_.set_num_on_response_started_calls_expectation(1);
- bool defer = false;
+ bool defer_or_cancel = false;
- ASSERT_TRUE(handler_->OnWillStart(request_->url(), &defer));
- ASSERT_FALSE(defer);
+ handler_->OnWillStart(request_->url(), &defer_or_cancel);
+ ASSERT_FALSE(resource_controller_.is_cancel_with_error_called());
+ ASSERT_FALSE(defer_or_cancel);
scoped_refptr<ResourceResponse> response = new ResourceResponse();
net::RedirectInfo redirect_info;
redirect_info.status_code = 301;
- ASSERT_TRUE(
- handler_->OnRequestRedirected(redirect_info, response.get(), &defer));
- ASSERT_TRUE(defer);
+ handler_->OnRequestRedirected(redirect_info, response.get(),
+ &defer_or_cancel);
+ ASSERT_FALSE(resource_controller_.is_cancel_with_error_called());
+ ASSERT_TRUE(defer_or_cancel);
ASSERT_FALSE(url_loader_client_.has_received_response());
ASSERT_FALSE(url_loader_client_.has_received_redirect());
@@ -1110,11 +1146,12 @@ TEST_P(MojoAsyncResourceHandlerWithAllocationSizeTest, RedirectHandling) {
url_loader_client_.ClearHasReceivedRedirect();
// Redirect once more.
- defer = false;
+ defer_or_cancel = false;
redirect_info.status_code = 302;
- ASSERT_TRUE(
- handler_->OnRequestRedirected(redirect_info, response.get(), &defer));
- ASSERT_TRUE(defer);
+ handler_->OnRequestRedirected(redirect_info, response.get(),
+ &defer_or_cancel);
+ ASSERT_FALSE(resource_controller_.is_cancel_with_error_called());
+ ASSERT_TRUE(defer_or_cancel);
ASSERT_FALSE(url_loader_client_.has_received_response());
ASSERT_FALSE(url_loader_client_.has_received_redirect());
@@ -1129,13 +1166,15 @@ TEST_P(MojoAsyncResourceHandlerWithAllocationSizeTest, RedirectHandling) {
EXPECT_EQ(2, resource_controller_.num_resume_calls());
// Give the final response.
- defer = false;
- ASSERT_TRUE(handler_->OnResponseStarted(response.get(), &defer));
- ASSERT_FALSE(defer);
+ defer_or_cancel = false;
+ handler_->OnResponseStarted(response.get(), &defer_or_cancel);
+ ASSERT_FALSE(resource_controller_.is_cancel_with_error_called());
+ ASSERT_FALSE(defer_or_cancel);
net::URLRequestStatus status(net::URLRequestStatus::SUCCESS, net::OK);
- handler_->OnResponseCompleted(status, &defer);
- ASSERT_FALSE(defer);
+ handler_->OnResponseCompleted(status, &defer_or_cancel);
+ ASSERT_FALSE(resource_controller_.is_cancel_with_error_called());
+ ASSERT_FALSE(defer_or_cancel);
ASSERT_FALSE(url_loader_client_.has_received_completion());
url_loader_client_.RunUntilComplete();
@@ -1158,13 +1197,15 @@ TEST_P(
MojoAsyncResourceHandlerWithAllocationSizeTest,
OnWillStartThenOnResponseStartedThenOnWillReadThenOnReadCompletedThenOnResponseCompleted) {
rdh_delegate_.set_num_on_response_started_calls_expectation(1);
- bool defer = false;
+ bool defer_or_cancel = false;
- ASSERT_TRUE(handler_->OnWillStart(request_->url(), &defer));
- ASSERT_FALSE(defer);
+ handler_->OnWillStart(request_->url(), &defer_or_cancel);
+ ASSERT_FALSE(resource_controller_.is_cancel_with_error_called());
+ ASSERT_FALSE(defer_or_cancel);
scoped_refptr<ResourceResponse> response = new ResourceResponse();
- ASSERT_TRUE(handler_->OnResponseStarted(response.get(), &defer));
- ASSERT_FALSE(defer);
+ handler_->OnResponseStarted(response.get(), &defer_or_cancel);
+ ASSERT_FALSE(resource_controller_.is_cancel_with_error_called());
+ ASSERT_FALSE(defer_or_cancel);
ASSERT_FALSE(url_loader_client_.has_received_response());
url_loader_client_.RunUntilResponseReceived();
@@ -1180,11 +1221,13 @@ TEST_P(
url_loader_client_.RunUntilResponseBodyArrived();
ASSERT_TRUE(url_loader_client_.response_body().is_valid());
- ASSERT_TRUE(handler_->OnReadCompleted(1, &defer));
- ASSERT_FALSE(defer);
+ handler_->OnReadCompleted(1, &defer_or_cancel);
+ ASSERT_FALSE(resource_controller_.is_cancel_with_error_called());
+ ASSERT_FALSE(defer_or_cancel);
net::URLRequestStatus status(net::URLRequestStatus::SUCCESS, net::OK);
- handler_->OnResponseCompleted(status, &defer);
- ASSERT_FALSE(defer);
+ handler_->OnResponseCompleted(status, &defer_or_cancel);
+ ASSERT_FALSE(resource_controller_.is_cancel_with_error_called());
+ ASSERT_FALSE(defer_or_cancel);
ASSERT_FALSE(url_loader_client_.has_received_completion());
url_loader_client_.RunUntilComplete();
@@ -1217,10 +1260,11 @@ TEST_P(
MojoAsyncResourceHandlerWithAllocationSizeTest,
OnWillStartThenOnWillReadThenOnResponseStartedThenOnReadCompletedThenOnResponseCompleted) {
rdh_delegate_.set_num_on_response_started_calls_expectation(1);
- bool defer = false;
+ bool defer_or_cancel = false;
- ASSERT_TRUE(handler_->OnWillStart(request_->url(), &defer));
- ASSERT_FALSE(defer);
+ handler_->OnWillStart(request_->url(), &defer_or_cancel);
+ ASSERT_FALSE(resource_controller_.is_cancel_with_error_called());
+ ASSERT_FALSE(defer_or_cancel);
int io_buffer_size = 0;
scoped_refptr<net::IOBuffer> io_buffer;
@@ -1234,17 +1278,20 @@ TEST_P(
ASSERT_TRUE(url_loader_client_.response_body().is_valid());
scoped_refptr<ResourceResponse> response = new ResourceResponse();
- ASSERT_TRUE(handler_->OnResponseStarted(response.get(), &defer));
- ASSERT_FALSE(defer);
+ handler_->OnResponseStarted(response.get(), &defer_or_cancel);
+ ASSERT_FALSE(resource_controller_.is_cancel_with_error_called());
+ ASSERT_FALSE(defer_or_cancel);
ASSERT_FALSE(url_loader_client_.has_received_response());
url_loader_client_.RunUntilResponseReceived();
- ASSERT_TRUE(handler_->OnReadCompleted(1, &defer));
- ASSERT_FALSE(defer);
+ handler_->OnReadCompleted(1, &defer_or_cancel);
+ ASSERT_FALSE(resource_controller_.is_cancel_with_error_called());
+ ASSERT_FALSE(defer_or_cancel);
net::URLRequestStatus status(net::URLRequestStatus::SUCCESS, net::OK);
- handler_->OnResponseCompleted(status, &defer);
- ASSERT_FALSE(defer);
+ handler_->OnResponseCompleted(status, &defer_or_cancel);
+ ASSERT_FALSE(resource_controller_.is_cancel_with_error_called());
+ ASSERT_FALSE(defer_or_cancel);
ASSERT_FALSE(url_loader_client_.has_received_completion());
url_loader_client_.RunUntilComplete();
« no previous file with comments | « content/browser/loader/mojo_async_resource_handler.cc ('k') | content/browser/loader/navigation_resource_handler.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698