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

Unified Diff: content/child/url_loader_client_impl_unittest.cc

Issue 2633123002: [Mojo-Loading] OnStartLoadingResponseBody should be called after OnReceiveResponse (Closed)
Patch Set: fix Created 3 years, 11 months 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
« no previous file with comments | « content/child/url_loader_client_impl.cc ('k') | content/child/url_response_body_consumer.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/child/url_loader_client_impl_unittest.cc
diff --git a/content/child/url_loader_client_impl_unittest.cc b/content/child/url_loader_client_impl_unittest.cc
index 8b5d6ae5d04396fa3d8dc9b45e3f00b6798999a1..619efc08596a54a6bb42f0a3b14dc97c06046315 100644
--- a/content/child/url_loader_client_impl_unittest.cc
+++ b/content/child/url_loader_client_impl_unittest.cc
@@ -118,35 +118,6 @@ TEST_F(URLLoaderClientImplTest, ResponseBody) {
EXPECT_EQ("hello", request_peer_context_.data);
}
-// OnStartLoadingResponseBody can be called before OnReceiveResponse. Because
-// of the lack of the ordering guarantee between the message channel and the
-// data pipe, bytes can arrive before OnReceiveResponse. URLLoaderClientImpl
-// should restore the order.
-TEST_F(URLLoaderClientImplTest, ResponseBodyShouldComeAfterResponse) {
- ResourceResponseHead response_head;
-
- mojo::DataPipe data_pipe(DataPipeOptions());
- url_loader_client_->OnStartLoadingResponseBody(
- std::move(data_pipe.consumer_handle));
- uint32_t size = 5;
- MojoResult result =
- mojo::WriteDataRaw(data_pipe.producer_handle.get(), "hello", &size,
- MOJO_WRITE_DATA_FLAG_NONE);
- ASSERT_EQ(MOJO_RESULT_OK, result);
- EXPECT_EQ(5u, size);
-
- base::RunLoop().RunUntilIdle();
- EXPECT_EQ("", request_peer_context_.data);
-
- url_loader_client_->OnReceiveResponse(response_head, nullptr);
-
- EXPECT_FALSE(request_peer_context_.received_response);
- EXPECT_EQ("", request_peer_context_.data);
- base::RunLoop().RunUntilIdle();
- EXPECT_TRUE(request_peer_context_.received_response);
- EXPECT_EQ("hello", request_peer_context_.data);
-}
-
TEST_F(URLLoaderClientImplTest, OnReceiveRedirect) {
ResourceResponseHead response_head;
net::RedirectInfo redirect_info;
@@ -284,7 +255,7 @@ TEST_F(URLLoaderClientImplTest, OnCompleteShouldBeTheLastMessage) {
EXPECT_TRUE(request_peer_context_.complete);
}
-TEST_F(URLLoaderClientImplTest, CancelOnReceiveResponseWithoutResponseBody) {
+TEST_F(URLLoaderClientImplTest, CancelOnReceiveResponse) {
request_peer_context_.cancel_on_receive_response = true;
ResourceResponseHead response_head;
@@ -306,36 +277,6 @@ TEST_F(URLLoaderClientImplTest, CancelOnReceiveResponseWithoutResponseBody) {
EXPECT_TRUE(request_peer_context_.cancelled);
}
-TEST_F(URLLoaderClientImplTest, CancelOnReceiveResponseWithResponseBody) {
- request_peer_context_.cancel_on_receive_response = true;
-
- ResourceResponseHead response_head;
- ResourceRequestCompletionStatus completion_status;
-
- mojo::DataPipe data_pipe(DataPipeOptions());
- uint32_t size = 5;
- MojoResult result =
- mojo::WriteDataRaw(data_pipe.producer_handle.get(), "hello", &size,
- MOJO_WRITE_DATA_FLAG_NONE);
- ASSERT_EQ(MOJO_RESULT_OK, result);
- EXPECT_EQ(5u, size);
-
- url_loader_client_->OnStartLoadingResponseBody(
- std::move(data_pipe.consumer_handle));
- base::RunLoop().RunUntilIdle();
- url_loader_client_->OnReceiveResponse(response_head, nullptr);
- url_loader_client_->OnComplete(completion_status);
-
- EXPECT_FALSE(request_peer_context_.received_response);
- EXPECT_FALSE(request_peer_context_.complete);
- EXPECT_FALSE(request_peer_context_.cancelled);
-
- base::RunLoop().RunUntilIdle();
- EXPECT_TRUE(request_peer_context_.received_response);
- EXPECT_FALSE(request_peer_context_.complete);
- EXPECT_TRUE(request_peer_context_.cancelled);
-}
-
TEST_F(URLLoaderClientImplTest, CancelOnReceiveData) {
request_peer_context_.cancel_on_receive_data = true;
@@ -350,10 +291,9 @@ TEST_F(URLLoaderClientImplTest, CancelOnReceiveData) {
ASSERT_EQ(MOJO_RESULT_OK, result);
EXPECT_EQ(5u, size);
+ url_loader_client_->OnReceiveResponse(response_head, nullptr);
url_loader_client_->OnStartLoadingResponseBody(
std::move(data_pipe.consumer_handle));
- base::RunLoop().RunUntilIdle();
- url_loader_client_->OnReceiveResponse(response_head, nullptr);
url_loader_client_->OnComplete(completion_status);
EXPECT_FALSE(request_peer_context_.received_response);
« no previous file with comments | « content/child/url_loader_client_impl.cc ('k') | content/child/url_response_body_consumer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698