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

Unified Diff: content/browser/loader/mime_sniffing_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/mime_sniffing_resource_handler_unittest.cc
diff --git a/content/browser/loader/mime_sniffing_resource_handler_unittest.cc b/content/browser/loader/mime_sniffing_resource_handler_unittest.cc
index 92a8a1fca76519caf57d34f99a5fb77efd5ef542..1400d584f93fa683ea4965badf5e15db4122aa4b 100644
--- a/content/browser/loader/mime_sniffing_resource_handler_unittest.cc
+++ b/content/browser/loader/mime_sniffing_resource_handler_unittest.cc
@@ -373,19 +373,21 @@ void MimeSniffingResourceHandlerTest::TestHandlerSniffing(
TestResourceController resource_controller;
mime_sniffing_handler->SetController(&resource_controller);
- bool defer = false;
- mime_sniffing_handler->OnWillStart(GURL(), &defer);
+ bool defer_or_cancel = false;
+ mime_sniffing_handler->OnWillStart(GURL(), &defer_or_cancel);
+ EXPECT_FALSE(defer_or_cancel);
+ EXPECT_EQ(0, resource_controller.cancel_call_count());
// The response should be sniffed.
scoped_refptr<ResourceResponse> response(new ResourceResponse);
response->head.mime_type.assign("text/plain");
// Simulate the response starting. The MimeSniffingHandler should start
- // buffering, so the return value should always be true.
- EXPECT_TRUE(mime_sniffing_handler->OnResponseStarted(response.get(), &defer));
+ // buffering, so should not defer.
+ mime_sniffing_handler->OnResponseStarted(response.get(), &defer_or_cancel);
EXPECT_EQ(0, resource_controller.cancel_call_count());
EXPECT_EQ(0, resource_controller.resume_call_count());
- EXPECT_FALSE(defer);
+ EXPECT_FALSE(defer_or_cancel);
// Read some data to sniff the mime type. This will ask the next
// ResourceHandler for a buffer.
@@ -412,16 +414,14 @@ void MimeSniffingResourceHandlerTest::TestHandlerSniffing(
char data[] = "!DOCTYPE html\n<head>\n<title>Foo</title>\n</head>";
memcpy(read_buffer->data(), data, sizeof(data));
- defer = false;
- bool return_value =
- mime_sniffing_handler->OnReadCompleted(sizeof(data), &defer);
+ defer_or_cancel = false;
+ mime_sniffing_handler->OnReadCompleted(sizeof(data), &defer_or_cancel);
// If the next handler cancels the response start, the caller of
// MimeSniffingHandler::OnReadCompleted should be notified immediately.
if (!response_started) {
- EXPECT_FALSE(defer);
- EXPECT_EQ(response_started, return_value);
- EXPECT_EQ(0, resource_controller.cancel_call_count());
+ EXPECT_TRUE(defer_or_cancel);
+ EXPECT_EQ(1, resource_controller.cancel_call_count());
EXPECT_EQ(1, test_handler->on_will_start_called());
EXPECT_EQ(0, test_handler->on_request_redirected_called());
@@ -434,12 +434,9 @@ void MimeSniffingResourceHandlerTest::TestHandlerSniffing(
return;
}
- // The replay can be deferred both at response started and read replay
- // stages.
- EXPECT_EQ(defer, defer_response_started || defer_read_completed);
if (defer_response_started) {
- EXPECT_TRUE(defer);
- EXPECT_TRUE(return_value);
+ EXPECT_TRUE(defer_or_cancel);
+ EXPECT_EQ(0, resource_controller.cancel_call_count());
EXPECT_EQ(MimeSniffingResourceHandler::STATE_REPLAYING_RESPONSE_RECEIVED,
mime_sniffing_handler->state_);
mime_sniffing_handler->Resume();
@@ -448,12 +445,8 @@ void MimeSniffingResourceHandlerTest::TestHandlerSniffing(
// The body that was sniffed should be transmitted to the next handler. This
// may cancel the request.
if (!read_completed) {
- if (defer_response_started) {
- EXPECT_EQ(1, resource_controller.cancel_call_count());
- } else {
- EXPECT_EQ(0, resource_controller.cancel_call_count());
- EXPECT_FALSE(return_value);
- }
+ EXPECT_TRUE(defer_or_cancel);
+ EXPECT_EQ(1, resource_controller.cancel_call_count());
// Process all messages to ensure proper test teardown.
content::RunAllPendingInMessageLoop();
return;
@@ -464,7 +457,7 @@ void MimeSniffingResourceHandlerTest::TestHandlerSniffing(
// The request may be deferred by the next handler once the read is done.
if (defer_read_completed) {
- EXPECT_TRUE(defer);
+ EXPECT_TRUE(defer_or_cancel);
mime_sniffing_handler->Resume();
}
@@ -540,21 +533,22 @@ void MimeSniffingResourceHandlerTest::TestHandlerNoSniffing(
int expected_resume_calls = 0;
- bool defer = false;
- mime_sniffing_handler->OnWillStart(GURL(), &defer);
+ bool defer_or_cancel = false;
+ mime_sniffing_handler->OnWillStart(GURL(), &defer_or_cancel);
+ EXPECT_EQ(0, resource_controller.cancel_call_count());
+ EXPECT_FALSE(defer_or_cancel);
// The response should not be sniffed.
scoped_refptr<ResourceResponse> response(new ResourceResponse);
response->head.mime_type.assign("text/html");
// Simulate the response starting. There should be no need for buffering, so
- // the return value should be that of the next handler.
- EXPECT_EQ(response_started,
- mime_sniffing_handler->OnResponseStarted(response.get(), &defer));
- EXPECT_EQ(0, resource_controller.cancel_call_count());
+ // should transparently pass calls on to the next handler.
+ mime_sniffing_handler->OnResponseStarted(response.get(), &defer_or_cancel);
if (!response_started) {
- EXPECT_FALSE(defer);
+ EXPECT_TRUE(defer_or_cancel);
+ EXPECT_EQ(1, resource_controller.cancel_call_count());
EXPECT_EQ(1, test_handler->on_will_start_called());
EXPECT_EQ(0, test_handler->on_request_redirected_called());
@@ -567,8 +561,9 @@ void MimeSniffingResourceHandlerTest::TestHandlerNoSniffing(
return;
}
- EXPECT_EQ(defer_response_started, defer);
- if (defer) {
+ EXPECT_EQ(0, resource_controller.cancel_call_count());
+ EXPECT_EQ(defer_response_started, defer_or_cancel);
+ if (defer_or_cancel) {
EXPECT_EQ(MimeSniffingResourceHandler::STATE_REPLAYING_RESPONSE_RECEIVED,
mime_sniffing_handler->state_);
expected_resume_calls++;
@@ -597,10 +592,8 @@ void MimeSniffingResourceHandlerTest::TestHandlerNoSniffing(
return;
}
- defer = false;
- EXPECT_EQ(read_completed,
- mime_sniffing_handler->OnReadCompleted(2000, &defer));
- EXPECT_EQ(0, resource_controller.cancel_call_count());
+ defer_or_cancel = false;
+ mime_sniffing_handler->OnReadCompleted(2000, &defer_or_cancel);
EXPECT_EQ(1, test_handler->on_will_start_called());
EXPECT_EQ(0, test_handler->on_request_redirected_called());
@@ -609,15 +602,17 @@ void MimeSniffingResourceHandlerTest::TestHandlerNoSniffing(
EXPECT_EQ(1, test_handler->on_read_completed_called());
if (!read_completed) {
- EXPECT_FALSE(defer);
+ EXPECT_EQ(1, resource_controller.cancel_call_count());
+ EXPECT_TRUE(defer_or_cancel);
// Process all messages to ensure proper test teardown.
content::RunAllPendingInMessageLoop();
return;
}
- EXPECT_EQ(defer_read_completed, defer);
- if (defer) {
+ EXPECT_EQ(0, resource_controller.cancel_call_count());
+ EXPECT_EQ(defer_read_completed, defer_or_cancel);
+ if (defer_or_cancel) {
expected_resume_calls++;
mime_sniffing_handler->Resume();
}
@@ -981,18 +976,20 @@ TEST_F(MimeSniffingResourceHandlerTest, FetchShouldDisableMimeSniffing) {
TestResourceController resource_controller;
mime_sniffing_handler->SetController(&resource_controller);
- bool defer = false;
- mime_sniffing_handler->OnWillStart(GURL(), &defer);
- ASSERT_FALSE(defer);
+ bool defer_or_cancel = false;
+ mime_sniffing_handler->OnWillStart(GURL(), &defer_or_cancel);
+ ASSERT_EQ(0, resource_controller.cancel_call_count());
+ ASSERT_FALSE(defer_or_cancel);
scoped_refptr<ResourceResponse> response(new ResourceResponse);
response->head.mime_type = "text/plain";
- // |mime_sniffing_handler->OnResponseStarted| should return false because
- // mime sniffing is disabled and the wrapped resource handler returns false
- // on OnResponseStarted.
- EXPECT_FALSE(
- mime_sniffing_handler->OnResponseStarted(response.get(), &defer));
+ // |mime_sniffing_handler->OnResponseStarted| should cancel the request
+ // because MIME sniffing is disabled and the wrapped resource handler cancels
+ // the request in OnResponseStarted.
+ mime_sniffing_handler->OnResponseStarted(response.get(), &defer_or_cancel);
+ EXPECT_EQ(1, resource_controller.cancel_call_count());
+ EXPECT_TRUE(defer_or_cancel);
// Process all messages to ensure proper test teardown.
content::RunAllPendingInMessageLoop();
« no previous file with comments | « content/browser/loader/mime_sniffing_resource_handler.cc ('k') | content/browser/loader/mojo_async_resource_handler.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698