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

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

Issue 2817033002: Plumb the net::SSLInfo to the browser process when it's using the network service. (Closed)
Patch Set: add net::SSLInfo test Created 3 years, 8 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 unified diff | Download patch
« no previous file with comments | « content/child/url_loader_client_impl.cc ('k') | content/common/common_param_traits_unittest.cc » ('j') | 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_loader_client_impl.h" 5 #include "content/child/url_loader_client_impl.h"
6 6
7 #include <vector> 7 #include <vector>
8 #include "base/memory/ptr_util.h" 8 #include "base/memory/ptr_util.h"
9 #include "base/message_loop/message_loop.h" 9 #include "base/message_loop/message_loop.h"
10 #include "base/run_loop.h" 10 #include "base/run_loop.h"
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
46 } 46 }
47 47
48 bool Send(IPC::Message* message) override { 48 bool Send(IPC::Message* message) override {
49 ADD_FAILURE() << "IPC::Sender::Send should not be called."; 49 ADD_FAILURE() << "IPC::Sender::Send should not be called.";
50 return false; 50 return false;
51 } 51 }
52 52
53 void CreateLoaderAndStart(mojom::URLLoaderAssociatedRequest request, 53 void CreateLoaderAndStart(mojom::URLLoaderAssociatedRequest request,
54 int32_t routing_id, 54 int32_t routing_id,
55 int32_t request_id, 55 int32_t request_id,
56 uint32_t options,
56 const ResourceRequest& url_request, 57 const ResourceRequest& url_request,
57 mojom::URLLoaderClientPtr client) override { 58 mojom::URLLoaderClientPtr client) override {
58 url_loader_client_ = std::move(client); 59 url_loader_client_ = std::move(client);
59 } 60 }
60 61
61 void SyncLoad(int32_t routing_id, 62 void SyncLoad(int32_t routing_id,
62 int32_t request_id, 63 int32_t request_id,
63 const ResourceRequest& request, 64 const ResourceRequest& request,
64 const SyncLoadCallback& callback) override { 65 const SyncLoadCallback& callback) override {
65 NOTREACHED(); 66 NOTREACHED();
(...skipping 13 matching lines...) Expand all
79 TestRequestPeer::Context request_peer_context_; 80 TestRequestPeer::Context request_peer_context_;
80 int request_id_ = 0; 81 int request_id_ = 0;
81 mojom::URLLoaderClientPtr url_loader_client_; 82 mojom::URLLoaderClientPtr url_loader_client_;
82 mojom::URLLoaderFactoryPtr url_loader_factory_proxy_; 83 mojom::URLLoaderFactoryPtr url_loader_factory_proxy_;
83 mojo::Binding<mojom::URLLoaderFactory> mojo_binding_; 84 mojo::Binding<mojom::URLLoaderFactory> mojo_binding_;
84 }; 85 };
85 86
86 TEST_F(URLLoaderClientImplTest, OnReceiveResponse) { 87 TEST_F(URLLoaderClientImplTest, OnReceiveResponse) {
87 ResourceResponseHead response_head; 88 ResourceResponseHead response_head;
88 89
89 url_loader_client_->OnReceiveResponse(response_head, nullptr); 90 url_loader_client_->OnReceiveResponse(response_head, base::nullopt, nullptr);
90 91
91 EXPECT_FALSE(request_peer_context_.received_response); 92 EXPECT_FALSE(request_peer_context_.received_response);
92 base::RunLoop().RunUntilIdle(); 93 base::RunLoop().RunUntilIdle();
93 EXPECT_TRUE(request_peer_context_.received_response); 94 EXPECT_TRUE(request_peer_context_.received_response);
94 } 95 }
95 96
96 TEST_F(URLLoaderClientImplTest, ResponseBody) { 97 TEST_F(URLLoaderClientImplTest, ResponseBody) {
97 ResourceResponseHead response_head; 98 ResourceResponseHead response_head;
98 99
99 url_loader_client_->OnReceiveResponse(response_head, nullptr); 100 url_loader_client_->OnReceiveResponse(response_head, base::nullopt, nullptr);
100 101
101 EXPECT_FALSE(request_peer_context_.received_response); 102 EXPECT_FALSE(request_peer_context_.received_response);
102 base::RunLoop().RunUntilIdle(); 103 base::RunLoop().RunUntilIdle();
103 EXPECT_TRUE(request_peer_context_.received_response); 104 EXPECT_TRUE(request_peer_context_.received_response);
104 105
105 mojo::DataPipe data_pipe(DataPipeOptions()); 106 mojo::DataPipe data_pipe(DataPipeOptions());
106 url_loader_client_->OnStartLoadingResponseBody( 107 url_loader_client_->OnStartLoadingResponseBody(
107 std::move(data_pipe.consumer_handle)); 108 std::move(data_pipe.consumer_handle));
108 uint32_t size = 5; 109 uint32_t size = 5;
109 MojoResult result = 110 MojoResult result =
(...skipping 13 matching lines...) Expand all
123 url_loader_client_->OnReceiveRedirect(redirect_info, response_head); 124 url_loader_client_->OnReceiveRedirect(redirect_info, response_head);
124 125
125 EXPECT_EQ(0, request_peer_context_.seen_redirects); 126 EXPECT_EQ(0, request_peer_context_.seen_redirects);
126 base::RunLoop().RunUntilIdle(); 127 base::RunLoop().RunUntilIdle();
127 EXPECT_EQ(1, request_peer_context_.seen_redirects); 128 EXPECT_EQ(1, request_peer_context_.seen_redirects);
128 } 129 }
129 130
130 TEST_F(URLLoaderClientImplTest, OnDataDownloaded) { 131 TEST_F(URLLoaderClientImplTest, OnDataDownloaded) {
131 ResourceResponseHead response_head; 132 ResourceResponseHead response_head;
132 133
133 url_loader_client_->OnReceiveResponse(response_head, nullptr); 134 url_loader_client_->OnReceiveResponse(response_head, base::nullopt, nullptr);
134 url_loader_client_->OnDataDownloaded(8, 13); 135 url_loader_client_->OnDataDownloaded(8, 13);
135 url_loader_client_->OnDataDownloaded(2, 1); 136 url_loader_client_->OnDataDownloaded(2, 1);
136 137
137 EXPECT_FALSE(request_peer_context_.received_response); 138 EXPECT_FALSE(request_peer_context_.received_response);
138 EXPECT_EQ(0, request_peer_context_.total_downloaded_data_length); 139 EXPECT_EQ(0, request_peer_context_.total_downloaded_data_length);
139 EXPECT_EQ(0, request_peer_context_.total_encoded_data_length); 140 EXPECT_EQ(0, request_peer_context_.total_encoded_data_length);
140 base::RunLoop().RunUntilIdle(); 141 base::RunLoop().RunUntilIdle();
141 EXPECT_TRUE(request_peer_context_.received_response); 142 EXPECT_TRUE(request_peer_context_.received_response);
142 EXPECT_EQ(10, request_peer_context_.total_downloaded_data_length); 143 EXPECT_EQ(10, request_peer_context_.total_downloaded_data_length);
143 EXPECT_EQ(14, request_peer_context_.total_encoded_data_length); 144 EXPECT_EQ(14, request_peer_context_.total_encoded_data_length);
144 } 145 }
145 146
146 TEST_F(URLLoaderClientImplTest, OnReceiveCachedMetadata) { 147 TEST_F(URLLoaderClientImplTest, OnReceiveCachedMetadata) {
147 ResourceResponseHead response_head; 148 ResourceResponseHead response_head;
148 std::vector<uint8_t> metadata; 149 std::vector<uint8_t> metadata;
149 metadata.push_back('a'); 150 metadata.push_back('a');
150 151
151 url_loader_client_->OnReceiveResponse(response_head, nullptr); 152 url_loader_client_->OnReceiveResponse(response_head, base::nullopt, nullptr);
152 url_loader_client_->OnReceiveCachedMetadata(metadata); 153 url_loader_client_->OnReceiveCachedMetadata(metadata);
153 154
154 EXPECT_FALSE(request_peer_context_.received_response); 155 EXPECT_FALSE(request_peer_context_.received_response);
155 EXPECT_TRUE(request_peer_context_.cached_metadata.empty()); 156 EXPECT_TRUE(request_peer_context_.cached_metadata.empty());
156 base::RunLoop().RunUntilIdle(); 157 base::RunLoop().RunUntilIdle();
157 EXPECT_TRUE(request_peer_context_.received_response); 158 EXPECT_TRUE(request_peer_context_.received_response);
158 ASSERT_EQ(1u, request_peer_context_.cached_metadata.size()); 159 ASSERT_EQ(1u, request_peer_context_.cached_metadata.size());
159 EXPECT_EQ('a', request_peer_context_.cached_metadata[0]); 160 EXPECT_EQ('a', request_peer_context_.cached_metadata[0]);
160 } 161 }
161 162
162 TEST_F(URLLoaderClientImplTest, OnTransferSizeUpdated) { 163 TEST_F(URLLoaderClientImplTest, OnTransferSizeUpdated) {
163 ResourceResponseHead response_head; 164 ResourceResponseHead response_head;
164 165
165 url_loader_client_->OnReceiveResponse(response_head, nullptr); 166 url_loader_client_->OnReceiveResponse(response_head, base::nullopt, nullptr);
166 url_loader_client_->OnTransferSizeUpdated(4); 167 url_loader_client_->OnTransferSizeUpdated(4);
167 url_loader_client_->OnTransferSizeUpdated(4); 168 url_loader_client_->OnTransferSizeUpdated(4);
168 169
169 EXPECT_FALSE(request_peer_context_.received_response); 170 EXPECT_FALSE(request_peer_context_.received_response);
170 EXPECT_EQ(0, request_peer_context_.total_encoded_data_length); 171 EXPECT_EQ(0, request_peer_context_.total_encoded_data_length);
171 base::RunLoop().RunUntilIdle(); 172 base::RunLoop().RunUntilIdle();
172 EXPECT_TRUE(request_peer_context_.received_response); 173 EXPECT_TRUE(request_peer_context_.received_response);
173 EXPECT_EQ(8, request_peer_context_.total_encoded_data_length); 174 EXPECT_EQ(8, request_peer_context_.total_encoded_data_length);
174 } 175 }
175 176
176 TEST_F(URLLoaderClientImplTest, OnCompleteWithoutResponseBody) { 177 TEST_F(URLLoaderClientImplTest, OnCompleteWithoutResponseBody) {
177 ResourceResponseHead response_head; 178 ResourceResponseHead response_head;
178 ResourceRequestCompletionStatus completion_status; 179 ResourceRequestCompletionStatus completion_status;
179 180
180 url_loader_client_->OnReceiveResponse(response_head, nullptr); 181 url_loader_client_->OnReceiveResponse(response_head, base::nullopt, nullptr);
181 url_loader_client_->OnComplete(completion_status); 182 url_loader_client_->OnComplete(completion_status);
182 183
183 EXPECT_FALSE(request_peer_context_.received_response); 184 EXPECT_FALSE(request_peer_context_.received_response);
184 EXPECT_FALSE(request_peer_context_.complete); 185 EXPECT_FALSE(request_peer_context_.complete);
185 base::RunLoop().RunUntilIdle(); 186 base::RunLoop().RunUntilIdle();
186 EXPECT_TRUE(request_peer_context_.received_response); 187 EXPECT_TRUE(request_peer_context_.received_response);
187 EXPECT_TRUE(request_peer_context_.complete); 188 EXPECT_TRUE(request_peer_context_.complete);
188 } 189 }
189 190
190 TEST_F(URLLoaderClientImplTest, OnCompleteWithResponseBody) { 191 TEST_F(URLLoaderClientImplTest, OnCompleteWithResponseBody) {
191 ResourceResponseHead response_head; 192 ResourceResponseHead response_head;
192 ResourceRequestCompletionStatus completion_status; 193 ResourceRequestCompletionStatus completion_status;
193 194
194 url_loader_client_->OnReceiveResponse(response_head, nullptr); 195 url_loader_client_->OnReceiveResponse(response_head, base::nullopt, nullptr);
195 mojo::DataPipe data_pipe(DataPipeOptions()); 196 mojo::DataPipe data_pipe(DataPipeOptions());
196 url_loader_client_->OnStartLoadingResponseBody( 197 url_loader_client_->OnStartLoadingResponseBody(
197 std::move(data_pipe.consumer_handle)); 198 std::move(data_pipe.consumer_handle));
198 uint32_t size = 5; 199 uint32_t size = 5;
199 MojoResult result = 200 MojoResult result =
200 mojo::WriteDataRaw(data_pipe.producer_handle.get(), "hello", &size, 201 mojo::WriteDataRaw(data_pipe.producer_handle.get(), "hello", &size,
201 MOJO_WRITE_DATA_FLAG_NONE); 202 MOJO_WRITE_DATA_FLAG_NONE);
202 ASSERT_EQ(MOJO_RESULT_OK, result); 203 ASSERT_EQ(MOJO_RESULT_OK, result);
203 EXPECT_EQ(5u, size); 204 EXPECT_EQ(5u, size);
204 data_pipe.producer_handle.reset(); 205 data_pipe.producer_handle.reset();
(...skipping 14 matching lines...) Expand all
219 EXPECT_TRUE(request_peer_context_.complete); 220 EXPECT_TRUE(request_peer_context_.complete);
220 } 221 }
221 222
222 // Due to the lack of ordering guarantee, it is possible that the response body 223 // Due to the lack of ordering guarantee, it is possible that the response body
223 // bytes arrives after the completion message. URLLoaderClientImpl should 224 // bytes arrives after the completion message. URLLoaderClientImpl should
224 // restore the order. 225 // restore the order.
225 TEST_F(URLLoaderClientImplTest, OnCompleteShouldBeTheLastMessage) { 226 TEST_F(URLLoaderClientImplTest, OnCompleteShouldBeTheLastMessage) {
226 ResourceResponseHead response_head; 227 ResourceResponseHead response_head;
227 ResourceRequestCompletionStatus completion_status; 228 ResourceRequestCompletionStatus completion_status;
228 229
229 url_loader_client_->OnReceiveResponse(response_head, nullptr); 230 url_loader_client_->OnReceiveResponse(response_head, base::nullopt, nullptr);
230 mojo::DataPipe data_pipe(DataPipeOptions()); 231 mojo::DataPipe data_pipe(DataPipeOptions());
231 url_loader_client_->OnStartLoadingResponseBody( 232 url_loader_client_->OnStartLoadingResponseBody(
232 std::move(data_pipe.consumer_handle)); 233 std::move(data_pipe.consumer_handle));
233 url_loader_client_->OnComplete(completion_status); 234 url_loader_client_->OnComplete(completion_status);
234 235
235 base::RunLoop().RunUntilIdle(); 236 base::RunLoop().RunUntilIdle();
236 EXPECT_TRUE(request_peer_context_.received_response); 237 EXPECT_TRUE(request_peer_context_.received_response);
237 EXPECT_FALSE(request_peer_context_.complete); 238 EXPECT_FALSE(request_peer_context_.complete);
238 239
239 uint32_t size = 5; 240 uint32_t size = 5;
(...skipping 12 matching lines...) Expand all
252 EXPECT_EQ("hello", request_peer_context_.data); 253 EXPECT_EQ("hello", request_peer_context_.data);
253 EXPECT_TRUE(request_peer_context_.complete); 254 EXPECT_TRUE(request_peer_context_.complete);
254 } 255 }
255 256
256 TEST_F(URLLoaderClientImplTest, CancelOnReceiveResponse) { 257 TEST_F(URLLoaderClientImplTest, CancelOnReceiveResponse) {
257 request_peer_context_.cancel_on_receive_response = true; 258 request_peer_context_.cancel_on_receive_response = true;
258 259
259 ResourceResponseHead response_head; 260 ResourceResponseHead response_head;
260 ResourceRequestCompletionStatus completion_status; 261 ResourceRequestCompletionStatus completion_status;
261 262
262 url_loader_client_->OnReceiveResponse(response_head, nullptr); 263 url_loader_client_->OnReceiveResponse(response_head, base::nullopt, nullptr);
263 mojo::DataPipe data_pipe(DataPipeOptions()); 264 mojo::DataPipe data_pipe(DataPipeOptions());
264 url_loader_client_->OnStartLoadingResponseBody( 265 url_loader_client_->OnStartLoadingResponseBody(
265 std::move(data_pipe.consumer_handle)); 266 std::move(data_pipe.consumer_handle));
266 url_loader_client_->OnComplete(completion_status); 267 url_loader_client_->OnComplete(completion_status);
267 268
268 EXPECT_FALSE(request_peer_context_.received_response); 269 EXPECT_FALSE(request_peer_context_.received_response);
269 EXPECT_FALSE(request_peer_context_.complete); 270 EXPECT_FALSE(request_peer_context_.complete);
270 EXPECT_FALSE(request_peer_context_.cancelled); 271 EXPECT_FALSE(request_peer_context_.cancelled);
271 272
272 base::RunLoop().RunUntilIdle(); 273 base::RunLoop().RunUntilIdle();
273 EXPECT_TRUE(request_peer_context_.received_response); 274 EXPECT_TRUE(request_peer_context_.received_response);
274 EXPECT_FALSE(request_peer_context_.complete); 275 EXPECT_FALSE(request_peer_context_.complete);
275 EXPECT_TRUE(request_peer_context_.cancelled); 276 EXPECT_TRUE(request_peer_context_.cancelled);
276 } 277 }
277 278
278 TEST_F(URLLoaderClientImplTest, CancelOnReceiveData) { 279 TEST_F(URLLoaderClientImplTest, CancelOnReceiveData) {
279 request_peer_context_.cancel_on_receive_data = true; 280 request_peer_context_.cancel_on_receive_data = true;
280 281
281 ResourceResponseHead response_head; 282 ResourceResponseHead response_head;
282 ResourceRequestCompletionStatus completion_status; 283 ResourceRequestCompletionStatus completion_status;
283 284
284 mojo::DataPipe data_pipe(DataPipeOptions()); 285 mojo::DataPipe data_pipe(DataPipeOptions());
285 uint32_t size = 5; 286 uint32_t size = 5;
286 MojoResult result = 287 MojoResult result =
287 mojo::WriteDataRaw(data_pipe.producer_handle.get(), "hello", &size, 288 mojo::WriteDataRaw(data_pipe.producer_handle.get(), "hello", &size,
288 MOJO_WRITE_DATA_FLAG_NONE); 289 MOJO_WRITE_DATA_FLAG_NONE);
289 ASSERT_EQ(MOJO_RESULT_OK, result); 290 ASSERT_EQ(MOJO_RESULT_OK, result);
290 EXPECT_EQ(5u, size); 291 EXPECT_EQ(5u, size);
291 292
292 url_loader_client_->OnReceiveResponse(response_head, nullptr); 293 url_loader_client_->OnReceiveResponse(response_head, base::nullopt, nullptr);
293 url_loader_client_->OnStartLoadingResponseBody( 294 url_loader_client_->OnStartLoadingResponseBody(
294 std::move(data_pipe.consumer_handle)); 295 std::move(data_pipe.consumer_handle));
295 url_loader_client_->OnComplete(completion_status); 296 url_loader_client_->OnComplete(completion_status);
296 297
297 EXPECT_FALSE(request_peer_context_.received_response); 298 EXPECT_FALSE(request_peer_context_.received_response);
298 EXPECT_EQ("", request_peer_context_.data); 299 EXPECT_EQ("", request_peer_context_.data);
299 EXPECT_FALSE(request_peer_context_.complete); 300 EXPECT_FALSE(request_peer_context_.complete);
300 EXPECT_FALSE(request_peer_context_.cancelled); 301 EXPECT_FALSE(request_peer_context_.cancelled);
301 302
302 base::RunLoop().RunUntilIdle(); 303 base::RunLoop().RunUntilIdle();
303 EXPECT_TRUE(request_peer_context_.received_response); 304 EXPECT_TRUE(request_peer_context_.received_response);
304 EXPECT_EQ("hello", request_peer_context_.data); 305 EXPECT_EQ("hello", request_peer_context_.data);
305 EXPECT_FALSE(request_peer_context_.complete); 306 EXPECT_FALSE(request_peer_context_.complete);
306 EXPECT_TRUE(request_peer_context_.cancelled); 307 EXPECT_TRUE(request_peer_context_.cancelled);
307 } 308 }
308 309
309 TEST_F(URLLoaderClientImplTest, Defer) { 310 TEST_F(URLLoaderClientImplTest, Defer) {
310 ResourceResponseHead response_head; 311 ResourceResponseHead response_head;
311 ResourceRequestCompletionStatus completion_status; 312 ResourceRequestCompletionStatus completion_status;
312 313
313 url_loader_client_->OnReceiveResponse(response_head, nullptr); 314 url_loader_client_->OnReceiveResponse(response_head, base::nullopt, nullptr);
314 url_loader_client_->OnComplete(completion_status); 315 url_loader_client_->OnComplete(completion_status);
315 316
316 EXPECT_FALSE(request_peer_context_.received_response); 317 EXPECT_FALSE(request_peer_context_.received_response);
317 EXPECT_FALSE(request_peer_context_.complete); 318 EXPECT_FALSE(request_peer_context_.complete);
318 319
319 dispatcher_->SetDefersLoading(request_id_, true); 320 dispatcher_->SetDefersLoading(request_id_, true);
320 321
321 base::RunLoop().RunUntilIdle(); 322 base::RunLoop().RunUntilIdle();
322 EXPECT_FALSE(request_peer_context_.received_response); 323 EXPECT_FALSE(request_peer_context_.received_response);
323 EXPECT_FALSE(request_peer_context_.complete); 324 EXPECT_FALSE(request_peer_context_.complete);
324 325
325 dispatcher_->SetDefersLoading(request_id_, false); 326 dispatcher_->SetDefersLoading(request_id_, false);
326 EXPECT_FALSE(request_peer_context_.received_response); 327 EXPECT_FALSE(request_peer_context_.received_response);
327 EXPECT_FALSE(request_peer_context_.complete); 328 EXPECT_FALSE(request_peer_context_.complete);
328 329
329 base::RunLoop().RunUntilIdle(); 330 base::RunLoop().RunUntilIdle();
330 EXPECT_TRUE(request_peer_context_.received_response); 331 EXPECT_TRUE(request_peer_context_.received_response);
331 EXPECT_TRUE(request_peer_context_.complete); 332 EXPECT_TRUE(request_peer_context_.complete);
332 } 333 }
333 334
334 TEST_F(URLLoaderClientImplTest, DeferWithResponseBody) { 335 TEST_F(URLLoaderClientImplTest, DeferWithResponseBody) {
335 ResourceResponseHead response_head; 336 ResourceResponseHead response_head;
336 ResourceRequestCompletionStatus completion_status; 337 ResourceRequestCompletionStatus completion_status;
337 338
338 url_loader_client_->OnReceiveResponse(response_head, nullptr); 339 url_loader_client_->OnReceiveResponse(response_head, base::nullopt, nullptr);
339 mojo::DataPipe data_pipe(DataPipeOptions()); 340 mojo::DataPipe data_pipe(DataPipeOptions());
340 uint32_t size = 5; 341 uint32_t size = 5;
341 MojoResult result = 342 MojoResult result =
342 mojo::WriteDataRaw(data_pipe.producer_handle.get(), "hello", &size, 343 mojo::WriteDataRaw(data_pipe.producer_handle.get(), "hello", &size,
343 MOJO_WRITE_DATA_FLAG_NONE); 344 MOJO_WRITE_DATA_FLAG_NONE);
344 ASSERT_EQ(MOJO_RESULT_OK, result); 345 ASSERT_EQ(MOJO_RESULT_OK, result);
345 EXPECT_EQ(5u, size); 346 EXPECT_EQ(5u, size);
346 data_pipe.producer_handle.reset(); 347 data_pipe.producer_handle.reset();
347 348
348 url_loader_client_->OnStartLoadingResponseBody( 349 url_loader_client_->OnStartLoadingResponseBody(
(...skipping 21 matching lines...) Expand all
370 EXPECT_TRUE(request_peer_context_.complete); 371 EXPECT_TRUE(request_peer_context_.complete);
371 EXPECT_EQ("hello", request_peer_context_.data); 372 EXPECT_EQ("hello", request_peer_context_.data);
372 } 373 }
373 374
374 // As "transfer size update" message is handled specially in the implementation, 375 // As "transfer size update" message is handled specially in the implementation,
375 // we have a separate test. 376 // we have a separate test.
376 TEST_F(URLLoaderClientImplTest, DeferWithTransferSizeUpdated) { 377 TEST_F(URLLoaderClientImplTest, DeferWithTransferSizeUpdated) {
377 ResourceResponseHead response_head; 378 ResourceResponseHead response_head;
378 ResourceRequestCompletionStatus completion_status; 379 ResourceRequestCompletionStatus completion_status;
379 380
380 url_loader_client_->OnReceiveResponse(response_head, nullptr); 381 url_loader_client_->OnReceiveResponse(response_head, base::nullopt, nullptr);
381 mojo::DataPipe data_pipe(DataPipeOptions()); 382 mojo::DataPipe data_pipe(DataPipeOptions());
382 uint32_t size = 5; 383 uint32_t size = 5;
383 MojoResult result = 384 MojoResult result =
384 mojo::WriteDataRaw(data_pipe.producer_handle.get(), "hello", &size, 385 mojo::WriteDataRaw(data_pipe.producer_handle.get(), "hello", &size,
385 MOJO_WRITE_DATA_FLAG_NONE); 386 MOJO_WRITE_DATA_FLAG_NONE);
386 ASSERT_EQ(MOJO_RESULT_OK, result); 387 ASSERT_EQ(MOJO_RESULT_OK, result);
387 EXPECT_EQ(5u, size); 388 EXPECT_EQ(5u, size);
388 data_pipe.producer_handle.reset(); 389 data_pipe.producer_handle.reset();
389 390
390 url_loader_client_->OnStartLoadingResponseBody( 391 url_loader_client_->OnStartLoadingResponseBody(
(...skipping 28 matching lines...) Expand all
419 } 420 }
420 421
421 TEST_F(URLLoaderClientImplTest, SetDeferredDuringFlushingDeferredMessage) { 422 TEST_F(URLLoaderClientImplTest, SetDeferredDuringFlushingDeferredMessage) {
422 request_peer_context_.defer_on_redirect = true; 423 request_peer_context_.defer_on_redirect = true;
423 424
424 net::RedirectInfo redirect_info; 425 net::RedirectInfo redirect_info;
425 ResourceResponseHead response_head; 426 ResourceResponseHead response_head;
426 ResourceRequestCompletionStatus completion_status; 427 ResourceRequestCompletionStatus completion_status;
427 428
428 url_loader_client_->OnReceiveRedirect(redirect_info, response_head); 429 url_loader_client_->OnReceiveRedirect(redirect_info, response_head);
429 url_loader_client_->OnReceiveResponse(response_head, nullptr); 430 url_loader_client_->OnReceiveResponse(response_head, base::nullopt, nullptr);
430 mojo::DataPipe data_pipe(DataPipeOptions()); 431 mojo::DataPipe data_pipe(DataPipeOptions());
431 uint32_t size = 5; 432 uint32_t size = 5;
432 MojoResult result = 433 MojoResult result =
433 mojo::WriteDataRaw(data_pipe.producer_handle.get(), "hello", &size, 434 mojo::WriteDataRaw(data_pipe.producer_handle.get(), "hello", &size,
434 MOJO_WRITE_DATA_FLAG_NONE); 435 MOJO_WRITE_DATA_FLAG_NONE);
435 ASSERT_EQ(MOJO_RESULT_OK, result); 436 ASSERT_EQ(MOJO_RESULT_OK, result);
436 EXPECT_EQ(5u, size); 437 EXPECT_EQ(5u, size);
437 data_pipe.producer_handle.reset(); 438 data_pipe.producer_handle.reset();
438 439
439 url_loader_client_->OnStartLoadingResponseBody( 440 url_loader_client_->OnStartLoadingResponseBody(
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
481 EXPECT_FALSE(request_peer_context_.cancelled); 482 EXPECT_FALSE(request_peer_context_.cancelled);
482 } 483 }
483 484
484 TEST_F(URLLoaderClientImplTest, 485 TEST_F(URLLoaderClientImplTest,
485 SetDeferredDuringFlushingDeferredMessageOnTransferSizeUpdated) { 486 SetDeferredDuringFlushingDeferredMessageOnTransferSizeUpdated) {
486 request_peer_context_.defer_on_transfer_size_updated = true; 487 request_peer_context_.defer_on_transfer_size_updated = true;
487 488
488 ResourceResponseHead response_head; 489 ResourceResponseHead response_head;
489 ResourceRequestCompletionStatus completion_status; 490 ResourceRequestCompletionStatus completion_status;
490 491
491 url_loader_client_->OnReceiveResponse(response_head, nullptr); 492 url_loader_client_->OnReceiveResponse(response_head, base::nullopt, nullptr);
492 493
493 url_loader_client_->OnTransferSizeUpdated(4); 494 url_loader_client_->OnTransferSizeUpdated(4);
494 url_loader_client_->OnComplete(completion_status); 495 url_loader_client_->OnComplete(completion_status);
495 496
496 EXPECT_FALSE(request_peer_context_.received_response); 497 EXPECT_FALSE(request_peer_context_.received_response);
497 EXPECT_FALSE(request_peer_context_.complete); 498 EXPECT_FALSE(request_peer_context_.complete);
498 EXPECT_EQ(0, request_peer_context_.total_encoded_data_length); 499 EXPECT_EQ(0, request_peer_context_.total_encoded_data_length);
499 500
500 dispatcher_->SetDefersLoading(request_id_, true); 501 dispatcher_->SetDefersLoading(request_id_, true);
501 502
(...skipping 15 matching lines...) Expand all
517 518
518 dispatcher_->SetDefersLoading(request_id_, false); 519 dispatcher_->SetDefersLoading(request_id_, false);
519 base::RunLoop().RunUntilIdle(); 520 base::RunLoop().RunUntilIdle();
520 EXPECT_TRUE(request_peer_context_.received_response); 521 EXPECT_TRUE(request_peer_context_.received_response);
521 EXPECT_TRUE(request_peer_context_.complete); 522 EXPECT_TRUE(request_peer_context_.complete);
522 EXPECT_EQ(4, request_peer_context_.total_encoded_data_length); 523 EXPECT_EQ(4, request_peer_context_.total_encoded_data_length);
523 EXPECT_FALSE(request_peer_context_.cancelled); 524 EXPECT_FALSE(request_peer_context_.cancelled);
524 } 525 }
525 526
526 } // namespace content 527 } // namespace content
OLDNEW
« no previous file with comments | « content/child/url_loader_client_impl.cc ('k') | content/common/common_param_traits_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698