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

Side by Side Diff: content/child/url_response_body_consumer_unittest.cc

Issue 2466263008: Revert of [Mojo-Loading] Dispatch body data after response is received (Closed)
Patch Set: 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 unified diff | Download patch
« no previous file with comments | « content/child/url_response_body_consumer.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/child/url_response_body_consumer.h" 5 #include "content/child/url_response_body_consumer.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/callback_forward.h" 8 #include "base/callback_forward.h"
9 #include "base/macros.h" 9 #include "base/macros.h"
10 #include "base/memory/ptr_util.h" 10 #include "base/memory/ptr_util.h"
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after
143 143
144 TEST_F(URLResponseBodyConsumerTest, ReceiveData) { 144 TEST_F(URLResponseBodyConsumerTest, ReceiveData) {
145 TestRequestPeer::Context context; 145 TestRequestPeer::Context context;
146 std::unique_ptr<ResourceRequest> request(CreateResourceRequest()); 146 std::unique_ptr<ResourceRequest> request(CreateResourceRequest());
147 int request_id = SetUpRequestPeer(std::move(request), &context); 147 int request_id = SetUpRequestPeer(std::move(request), &context);
148 mojo::DataPipe data_pipe(CreateDataPipeOptions()); 148 mojo::DataPipe data_pipe(CreateDataPipeOptions());
149 149
150 scoped_refptr<URLResponseBodyConsumer> consumer(new URLResponseBodyConsumer( 150 scoped_refptr<URLResponseBodyConsumer> consumer(new URLResponseBodyConsumer(
151 request_id, dispatcher_.get(), std::move(data_pipe.consumer_handle), 151 request_id, dispatcher_.get(), std::move(data_pipe.consumer_handle),
152 message_loop_.task_runner())); 152 message_loop_.task_runner()));
153 consumer->Start(message_loop_.task_runner().get());
154 153
155 mojo::ScopedDataPipeProducerHandle writer = 154 mojo::ScopedDataPipeProducerHandle writer =
156 std::move(data_pipe.producer_handle); 155 std::move(data_pipe.producer_handle);
157 std::string buffer = "hello"; 156 std::string buffer = "hello";
158 uint32_t size = buffer.size(); 157 uint32_t size = buffer.size();
159 MojoResult result = 158 MojoResult result =
160 mojo::WriteDataRaw(writer.get(), buffer.c_str(), &size, kNone); 159 mojo::WriteDataRaw(writer.get(), buffer.c_str(), &size, kNone);
161 ASSERT_EQ(MOJO_RESULT_OK, result); 160 ASSERT_EQ(MOJO_RESULT_OK, result);
162 ASSERT_EQ(buffer.size(), size); 161 ASSERT_EQ(buffer.size(), size);
163 162
164 Run(&context); 163 Run(&context);
165 164
166 EXPECT_FALSE(context.complete); 165 EXPECT_FALSE(context.complete);
167 EXPECT_EQ("hello", context.data); 166 EXPECT_EQ("hello", context.data);
168 } 167 }
169 168
170 TEST_F(URLResponseBodyConsumerTest, OnCompleteThenClose) { 169 TEST_F(URLResponseBodyConsumerTest, OnCompleteThenClose) {
171 TestRequestPeer::Context context; 170 TestRequestPeer::Context context;
172 std::unique_ptr<ResourceRequest> request(CreateResourceRequest()); 171 std::unique_ptr<ResourceRequest> request(CreateResourceRequest());
173 int request_id = SetUpRequestPeer(std::move(request), &context); 172 int request_id = SetUpRequestPeer(std::move(request), &context);
174 mojo::DataPipe data_pipe(CreateDataPipeOptions()); 173 mojo::DataPipe data_pipe(CreateDataPipeOptions());
175 174
176 scoped_refptr<URLResponseBodyConsumer> consumer(new URLResponseBodyConsumer( 175 scoped_refptr<URLResponseBodyConsumer> consumer(new URLResponseBodyConsumer(
177 request_id, dispatcher_.get(), std::move(data_pipe.consumer_handle), 176 request_id, dispatcher_.get(), std::move(data_pipe.consumer_handle),
178 message_loop_.task_runner())); 177 message_loop_.task_runner()));
179 consumer->Start(message_loop_.task_runner().get());
180 178
181 consumer->OnComplete(ResourceRequestCompletionStatus()); 179 consumer->OnComplete(ResourceRequestCompletionStatus());
182 mojo::ScopedDataPipeProducerHandle writer = 180 mojo::ScopedDataPipeProducerHandle writer =
183 std::move(data_pipe.producer_handle); 181 std::move(data_pipe.producer_handle);
184 std::string buffer = "hello"; 182 std::string buffer = "hello";
185 uint32_t size = buffer.size(); 183 uint32_t size = buffer.size();
186 MojoResult result = 184 MojoResult result =
187 mojo::WriteDataRaw(writer.get(), buffer.c_str(), &size, kNone); 185 mojo::WriteDataRaw(writer.get(), buffer.c_str(), &size, kNone);
188 ASSERT_EQ(MOJO_RESULT_OK, result); 186 ASSERT_EQ(MOJO_RESULT_OK, result);
189 ASSERT_EQ(buffer.size(), size); 187 ASSERT_EQ(buffer.size(), size);
(...skipping 12 matching lines...) Expand all
202 200
203 TEST_F(URLResponseBodyConsumerTest, CloseThenOnComplete) { 201 TEST_F(URLResponseBodyConsumerTest, CloseThenOnComplete) {
204 TestRequestPeer::Context context; 202 TestRequestPeer::Context context;
205 std::unique_ptr<ResourceRequest> request(CreateResourceRequest()); 203 std::unique_ptr<ResourceRequest> request(CreateResourceRequest());
206 int request_id = SetUpRequestPeer(std::move(request), &context); 204 int request_id = SetUpRequestPeer(std::move(request), &context);
207 mojo::DataPipe data_pipe(CreateDataPipeOptions()); 205 mojo::DataPipe data_pipe(CreateDataPipeOptions());
208 206
209 scoped_refptr<URLResponseBodyConsumer> consumer(new URLResponseBodyConsumer( 207 scoped_refptr<URLResponseBodyConsumer> consumer(new URLResponseBodyConsumer(
210 request_id, dispatcher_.get(), std::move(data_pipe.consumer_handle), 208 request_id, dispatcher_.get(), std::move(data_pipe.consumer_handle),
211 message_loop_.task_runner())); 209 message_loop_.task_runner()));
212 consumer->Start(message_loop_.task_runner().get());
213 210
214 ResourceRequestCompletionStatus status; 211 ResourceRequestCompletionStatus status;
215 status.error_code = net::ERR_FAILED; 212 status.error_code = net::ERR_FAILED;
216 data_pipe.producer_handle.reset(); 213 data_pipe.producer_handle.reset();
217 consumer->OnComplete(status); 214 consumer->OnComplete(status);
218 215
219 Run(&context); 216 Run(&context);
220 217
221 EXPECT_TRUE(context.complete); 218 EXPECT_TRUE(context.complete);
222 EXPECT_EQ(net::ERR_FAILED, context.error_code); 219 EXPECT_EQ(net::ERR_FAILED, context.error_code);
223 EXPECT_EQ("", context.data); 220 EXPECT_EQ("", context.data);
224 } 221 }
225 222
226 } // namespace 223 } // namespace
227 224
228 } // namespace content 225 } // namespace content
OLDNEW
« no previous file with comments | « content/child/url_response_body_consumer.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698