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

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 tests 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
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 int32_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(
91 response_head, base::Optional<net::SSLInfo>(), nullptr);
90 92
91 EXPECT_FALSE(request_peer_context_.received_response); 93 EXPECT_FALSE(request_peer_context_.received_response);
92 base::RunLoop().RunUntilIdle(); 94 base::RunLoop().RunUntilIdle();
93 EXPECT_TRUE(request_peer_context_.received_response); 95 EXPECT_TRUE(request_peer_context_.received_response);
94 } 96 }
95 97
96 TEST_F(URLLoaderClientImplTest, ResponseBody) { 98 TEST_F(URLLoaderClientImplTest, ResponseBody) {
97 ResourceResponseHead response_head; 99 ResourceResponseHead response_head;
98 100
99 url_loader_client_->OnReceiveResponse(response_head, nullptr); 101 url_loader_client_->OnReceiveResponse(
102 response_head, base::Optional<net::SSLInfo>(), nullptr);
100 103
101 EXPECT_FALSE(request_peer_context_.received_response); 104 EXPECT_FALSE(request_peer_context_.received_response);
102 base::RunLoop().RunUntilIdle(); 105 base::RunLoop().RunUntilIdle();
103 EXPECT_TRUE(request_peer_context_.received_response); 106 EXPECT_TRUE(request_peer_context_.received_response);
104 107
105 mojo::DataPipe data_pipe(DataPipeOptions()); 108 mojo::DataPipe data_pipe(DataPipeOptions());
106 url_loader_client_->OnStartLoadingResponseBody( 109 url_loader_client_->OnStartLoadingResponseBody(
107 std::move(data_pipe.consumer_handle)); 110 std::move(data_pipe.consumer_handle));
108 uint32_t size = 5; 111 uint32_t size = 5;
109 MojoResult result = 112 MojoResult result =
(...skipping 13 matching lines...) Expand all
123 url_loader_client_->OnReceiveRedirect(redirect_info, response_head); 126 url_loader_client_->OnReceiveRedirect(redirect_info, response_head);
124 127
125 EXPECT_EQ(0, request_peer_context_.seen_redirects); 128 EXPECT_EQ(0, request_peer_context_.seen_redirects);
126 base::RunLoop().RunUntilIdle(); 129 base::RunLoop().RunUntilIdle();
127 EXPECT_EQ(1, request_peer_context_.seen_redirects); 130 EXPECT_EQ(1, request_peer_context_.seen_redirects);
128 } 131 }
129 132
130 TEST_F(URLLoaderClientImplTest, OnDataDownloaded) { 133 TEST_F(URLLoaderClientImplTest, OnDataDownloaded) {
131 ResourceResponseHead response_head; 134 ResourceResponseHead response_head;
132 135
133 url_loader_client_->OnReceiveResponse(response_head, nullptr); 136 url_loader_client_->OnReceiveResponse(
137 response_head, base::Optional<net::SSLInfo>(), nullptr);
134 url_loader_client_->OnDataDownloaded(8, 13); 138 url_loader_client_->OnDataDownloaded(8, 13);
135 url_loader_client_->OnDataDownloaded(2, 1); 139 url_loader_client_->OnDataDownloaded(2, 1);
136 140
137 EXPECT_FALSE(request_peer_context_.received_response); 141 EXPECT_FALSE(request_peer_context_.received_response);
138 EXPECT_EQ(0, request_peer_context_.total_downloaded_data_length); 142 EXPECT_EQ(0, request_peer_context_.total_downloaded_data_length);
139 EXPECT_EQ(0, request_peer_context_.total_encoded_data_length); 143 EXPECT_EQ(0, request_peer_context_.total_encoded_data_length);
140 base::RunLoop().RunUntilIdle(); 144 base::RunLoop().RunUntilIdle();
141 EXPECT_TRUE(request_peer_context_.received_response); 145 EXPECT_TRUE(request_peer_context_.received_response);
142 EXPECT_EQ(10, request_peer_context_.total_downloaded_data_length); 146 EXPECT_EQ(10, request_peer_context_.total_downloaded_data_length);
143 EXPECT_EQ(14, request_peer_context_.total_encoded_data_length); 147 EXPECT_EQ(14, request_peer_context_.total_encoded_data_length);
144 } 148 }
145 149
146 TEST_F(URLLoaderClientImplTest, OnReceiveCachedMetadata) { 150 TEST_F(URLLoaderClientImplTest, OnReceiveCachedMetadata) {
147 ResourceResponseHead response_head; 151 ResourceResponseHead response_head;
148 std::vector<uint8_t> metadata; 152 std::vector<uint8_t> metadata;
149 metadata.push_back('a'); 153 metadata.push_back('a');
150 154
151 url_loader_client_->OnReceiveResponse(response_head, nullptr); 155 url_loader_client_->OnReceiveResponse(
156 response_head, base::Optional<net::SSLInfo>(), nullptr);
152 url_loader_client_->OnReceiveCachedMetadata(metadata); 157 url_loader_client_->OnReceiveCachedMetadata(metadata);
153 158
154 EXPECT_FALSE(request_peer_context_.received_response); 159 EXPECT_FALSE(request_peer_context_.received_response);
155 EXPECT_TRUE(request_peer_context_.cached_metadata.empty()); 160 EXPECT_TRUE(request_peer_context_.cached_metadata.empty());
156 base::RunLoop().RunUntilIdle(); 161 base::RunLoop().RunUntilIdle();
157 EXPECT_TRUE(request_peer_context_.received_response); 162 EXPECT_TRUE(request_peer_context_.received_response);
158 ASSERT_EQ(1u, request_peer_context_.cached_metadata.size()); 163 ASSERT_EQ(1u, request_peer_context_.cached_metadata.size());
159 EXPECT_EQ('a', request_peer_context_.cached_metadata[0]); 164 EXPECT_EQ('a', request_peer_context_.cached_metadata[0]);
160 } 165 }
161 166
162 TEST_F(URLLoaderClientImplTest, OnTransferSizeUpdated) { 167 TEST_F(URLLoaderClientImplTest, OnTransferSizeUpdated) {
163 ResourceResponseHead response_head; 168 ResourceResponseHead response_head;
164 169
165 url_loader_client_->OnReceiveResponse(response_head, nullptr); 170 url_loader_client_->OnReceiveResponse(
171 response_head, base::Optional<net::SSLInfo>(), nullptr);
166 url_loader_client_->OnTransferSizeUpdated(4); 172 url_loader_client_->OnTransferSizeUpdated(4);
167 url_loader_client_->OnTransferSizeUpdated(4); 173 url_loader_client_->OnTransferSizeUpdated(4);
168 174
169 EXPECT_FALSE(request_peer_context_.received_response); 175 EXPECT_FALSE(request_peer_context_.received_response);
170 EXPECT_EQ(0, request_peer_context_.total_encoded_data_length); 176 EXPECT_EQ(0, request_peer_context_.total_encoded_data_length);
171 base::RunLoop().RunUntilIdle(); 177 base::RunLoop().RunUntilIdle();
172 EXPECT_TRUE(request_peer_context_.received_response); 178 EXPECT_TRUE(request_peer_context_.received_response);
173 EXPECT_EQ(8, request_peer_context_.total_encoded_data_length); 179 EXPECT_EQ(8, request_peer_context_.total_encoded_data_length);
174 } 180 }
175 181
176 TEST_F(URLLoaderClientImplTest, OnCompleteWithoutResponseBody) { 182 TEST_F(URLLoaderClientImplTest, OnCompleteWithoutResponseBody) {
177 ResourceResponseHead response_head; 183 ResourceResponseHead response_head;
178 ResourceRequestCompletionStatus completion_status; 184 ResourceRequestCompletionStatus completion_status;
179 185
180 url_loader_client_->OnReceiveResponse(response_head, nullptr); 186 url_loader_client_->OnReceiveResponse(
187 response_head, base::Optional<net::SSLInfo>(), nullptr);
181 url_loader_client_->OnComplete(completion_status); 188 url_loader_client_->OnComplete(completion_status);
182 189
183 EXPECT_FALSE(request_peer_context_.received_response); 190 EXPECT_FALSE(request_peer_context_.received_response);
184 EXPECT_FALSE(request_peer_context_.complete); 191 EXPECT_FALSE(request_peer_context_.complete);
185 base::RunLoop().RunUntilIdle(); 192 base::RunLoop().RunUntilIdle();
186 EXPECT_TRUE(request_peer_context_.received_response); 193 EXPECT_TRUE(request_peer_context_.received_response);
187 EXPECT_TRUE(request_peer_context_.complete); 194 EXPECT_TRUE(request_peer_context_.complete);
188 } 195 }
189 196
190 TEST_F(URLLoaderClientImplTest, OnCompleteWithResponseBody) { 197 TEST_F(URLLoaderClientImplTest, OnCompleteWithResponseBody) {
191 ResourceResponseHead response_head; 198 ResourceResponseHead response_head;
192 ResourceRequestCompletionStatus completion_status; 199 ResourceRequestCompletionStatus completion_status;
193 200
194 url_loader_client_->OnReceiveResponse(response_head, nullptr); 201 url_loader_client_->OnReceiveResponse(
202 response_head, base::Optional<net::SSLInfo>(), nullptr);
195 mojo::DataPipe data_pipe(DataPipeOptions()); 203 mojo::DataPipe data_pipe(DataPipeOptions());
196 url_loader_client_->OnStartLoadingResponseBody( 204 url_loader_client_->OnStartLoadingResponseBody(
197 std::move(data_pipe.consumer_handle)); 205 std::move(data_pipe.consumer_handle));
198 uint32_t size = 5; 206 uint32_t size = 5;
199 MojoResult result = 207 MojoResult result =
200 mojo::WriteDataRaw(data_pipe.producer_handle.get(), "hello", &size, 208 mojo::WriteDataRaw(data_pipe.producer_handle.get(), "hello", &size,
201 MOJO_WRITE_DATA_FLAG_NONE); 209 MOJO_WRITE_DATA_FLAG_NONE);
202 ASSERT_EQ(MOJO_RESULT_OK, result); 210 ASSERT_EQ(MOJO_RESULT_OK, result);
203 EXPECT_EQ(5u, size); 211 EXPECT_EQ(5u, size);
204 data_pipe.producer_handle.reset(); 212 data_pipe.producer_handle.reset();
(...skipping 14 matching lines...) Expand all
219 EXPECT_TRUE(request_peer_context_.complete); 227 EXPECT_TRUE(request_peer_context_.complete);
220 } 228 }
221 229
222 // Due to the lack of ordering guarantee, it is possible that the response body 230 // Due to the lack of ordering guarantee, it is possible that the response body
223 // bytes arrives after the completion message. URLLoaderClientImpl should 231 // bytes arrives after the completion message. URLLoaderClientImpl should
224 // restore the order. 232 // restore the order.
225 TEST_F(URLLoaderClientImplTest, OnCompleteShouldBeTheLastMessage) { 233 TEST_F(URLLoaderClientImplTest, OnCompleteShouldBeTheLastMessage) {
226 ResourceResponseHead response_head; 234 ResourceResponseHead response_head;
227 ResourceRequestCompletionStatus completion_status; 235 ResourceRequestCompletionStatus completion_status;
228 236
229 url_loader_client_->OnReceiveResponse(response_head, nullptr); 237 url_loader_client_->OnReceiveResponse(
238 response_head, base::Optional<net::SSLInfo>(), nullptr);
230 mojo::DataPipe data_pipe(DataPipeOptions()); 239 mojo::DataPipe data_pipe(DataPipeOptions());
231 url_loader_client_->OnStartLoadingResponseBody( 240 url_loader_client_->OnStartLoadingResponseBody(
232 std::move(data_pipe.consumer_handle)); 241 std::move(data_pipe.consumer_handle));
233 url_loader_client_->OnComplete(completion_status); 242 url_loader_client_->OnComplete(completion_status);
234 243
235 base::RunLoop().RunUntilIdle(); 244 base::RunLoop().RunUntilIdle();
236 EXPECT_TRUE(request_peer_context_.received_response); 245 EXPECT_TRUE(request_peer_context_.received_response);
237 EXPECT_FALSE(request_peer_context_.complete); 246 EXPECT_FALSE(request_peer_context_.complete);
238 247
239 uint32_t size = 5; 248 uint32_t size = 5;
(...skipping 12 matching lines...) Expand all
252 EXPECT_EQ("hello", request_peer_context_.data); 261 EXPECT_EQ("hello", request_peer_context_.data);
253 EXPECT_TRUE(request_peer_context_.complete); 262 EXPECT_TRUE(request_peer_context_.complete);
254 } 263 }
255 264
256 TEST_F(URLLoaderClientImplTest, CancelOnReceiveResponse) { 265 TEST_F(URLLoaderClientImplTest, CancelOnReceiveResponse) {
257 request_peer_context_.cancel_on_receive_response = true; 266 request_peer_context_.cancel_on_receive_response = true;
258 267
259 ResourceResponseHead response_head; 268 ResourceResponseHead response_head;
260 ResourceRequestCompletionStatus completion_status; 269 ResourceRequestCompletionStatus completion_status;
261 270
262 url_loader_client_->OnReceiveResponse(response_head, nullptr); 271 url_loader_client_->OnReceiveResponse(
272 response_head, base::Optional<net::SSLInfo>(), nullptr);
263 mojo::DataPipe data_pipe(DataPipeOptions()); 273 mojo::DataPipe data_pipe(DataPipeOptions());
264 url_loader_client_->OnStartLoadingResponseBody( 274 url_loader_client_->OnStartLoadingResponseBody(
265 std::move(data_pipe.consumer_handle)); 275 std::move(data_pipe.consumer_handle));
266 url_loader_client_->OnComplete(completion_status); 276 url_loader_client_->OnComplete(completion_status);
267 277
268 EXPECT_FALSE(request_peer_context_.received_response); 278 EXPECT_FALSE(request_peer_context_.received_response);
269 EXPECT_FALSE(request_peer_context_.complete); 279 EXPECT_FALSE(request_peer_context_.complete);
270 EXPECT_FALSE(request_peer_context_.cancelled); 280 EXPECT_FALSE(request_peer_context_.cancelled);
271 281
272 base::RunLoop().RunUntilIdle(); 282 base::RunLoop().RunUntilIdle();
273 EXPECT_TRUE(request_peer_context_.received_response); 283 EXPECT_TRUE(request_peer_context_.received_response);
274 EXPECT_FALSE(request_peer_context_.complete); 284 EXPECT_FALSE(request_peer_context_.complete);
275 EXPECT_TRUE(request_peer_context_.cancelled); 285 EXPECT_TRUE(request_peer_context_.cancelled);
276 } 286 }
277 287
278 TEST_F(URLLoaderClientImplTest, CancelOnReceiveData) { 288 TEST_F(URLLoaderClientImplTest, CancelOnReceiveData) {
279 request_peer_context_.cancel_on_receive_data = true; 289 request_peer_context_.cancel_on_receive_data = true;
280 290
281 ResourceResponseHead response_head; 291 ResourceResponseHead response_head;
282 ResourceRequestCompletionStatus completion_status; 292 ResourceRequestCompletionStatus completion_status;
283 293
284 mojo::DataPipe data_pipe(DataPipeOptions()); 294 mojo::DataPipe data_pipe(DataPipeOptions());
285 uint32_t size = 5; 295 uint32_t size = 5;
286 MojoResult result = 296 MojoResult result =
287 mojo::WriteDataRaw(data_pipe.producer_handle.get(), "hello", &size, 297 mojo::WriteDataRaw(data_pipe.producer_handle.get(), "hello", &size,
288 MOJO_WRITE_DATA_FLAG_NONE); 298 MOJO_WRITE_DATA_FLAG_NONE);
289 ASSERT_EQ(MOJO_RESULT_OK, result); 299 ASSERT_EQ(MOJO_RESULT_OK, result);
290 EXPECT_EQ(5u, size); 300 EXPECT_EQ(5u, size);
291 301
292 url_loader_client_->OnReceiveResponse(response_head, nullptr); 302 url_loader_client_->OnReceiveResponse(
303 response_head, base::Optional<net::SSLInfo>(), nullptr);
293 url_loader_client_->OnStartLoadingResponseBody( 304 url_loader_client_->OnStartLoadingResponseBody(
294 std::move(data_pipe.consumer_handle)); 305 std::move(data_pipe.consumer_handle));
295 url_loader_client_->OnComplete(completion_status); 306 url_loader_client_->OnComplete(completion_status);
296 307
297 EXPECT_FALSE(request_peer_context_.received_response); 308 EXPECT_FALSE(request_peer_context_.received_response);
298 EXPECT_EQ("", request_peer_context_.data); 309 EXPECT_EQ("", request_peer_context_.data);
299 EXPECT_FALSE(request_peer_context_.complete); 310 EXPECT_FALSE(request_peer_context_.complete);
300 EXPECT_FALSE(request_peer_context_.cancelled); 311 EXPECT_FALSE(request_peer_context_.cancelled);
301 312
302 base::RunLoop().RunUntilIdle(); 313 base::RunLoop().RunUntilIdle();
303 EXPECT_TRUE(request_peer_context_.received_response); 314 EXPECT_TRUE(request_peer_context_.received_response);
304 EXPECT_EQ("hello", request_peer_context_.data); 315 EXPECT_EQ("hello", request_peer_context_.data);
305 EXPECT_FALSE(request_peer_context_.complete); 316 EXPECT_FALSE(request_peer_context_.complete);
306 EXPECT_TRUE(request_peer_context_.cancelled); 317 EXPECT_TRUE(request_peer_context_.cancelled);
307 } 318 }
308 319
309 TEST_F(URLLoaderClientImplTest, Defer) { 320 TEST_F(URLLoaderClientImplTest, Defer) {
310 ResourceResponseHead response_head; 321 ResourceResponseHead response_head;
311 ResourceRequestCompletionStatus completion_status; 322 ResourceRequestCompletionStatus completion_status;
312 323
313 url_loader_client_->OnReceiveResponse(response_head, nullptr); 324 url_loader_client_->OnReceiveResponse(
325 response_head, base::Optional<net::SSLInfo>(), nullptr);
314 url_loader_client_->OnComplete(completion_status); 326 url_loader_client_->OnComplete(completion_status);
315 327
316 EXPECT_FALSE(request_peer_context_.received_response); 328 EXPECT_FALSE(request_peer_context_.received_response);
317 EXPECT_FALSE(request_peer_context_.complete); 329 EXPECT_FALSE(request_peer_context_.complete);
318 330
319 dispatcher_->SetDefersLoading(request_id_, true); 331 dispatcher_->SetDefersLoading(request_id_, true);
320 332
321 base::RunLoop().RunUntilIdle(); 333 base::RunLoop().RunUntilIdle();
322 EXPECT_FALSE(request_peer_context_.received_response); 334 EXPECT_FALSE(request_peer_context_.received_response);
323 EXPECT_FALSE(request_peer_context_.complete); 335 EXPECT_FALSE(request_peer_context_.complete);
324 336
325 dispatcher_->SetDefersLoading(request_id_, false); 337 dispatcher_->SetDefersLoading(request_id_, false);
326 EXPECT_FALSE(request_peer_context_.received_response); 338 EXPECT_FALSE(request_peer_context_.received_response);
327 EXPECT_FALSE(request_peer_context_.complete); 339 EXPECT_FALSE(request_peer_context_.complete);
328 340
329 base::RunLoop().RunUntilIdle(); 341 base::RunLoop().RunUntilIdle();
330 EXPECT_TRUE(request_peer_context_.received_response); 342 EXPECT_TRUE(request_peer_context_.received_response);
331 EXPECT_TRUE(request_peer_context_.complete); 343 EXPECT_TRUE(request_peer_context_.complete);
332 } 344 }
333 345
334 TEST_F(URLLoaderClientImplTest, DeferWithResponseBody) { 346 TEST_F(URLLoaderClientImplTest, DeferWithResponseBody) {
335 ResourceResponseHead response_head; 347 ResourceResponseHead response_head;
336 ResourceRequestCompletionStatus completion_status; 348 ResourceRequestCompletionStatus completion_status;
337 349
338 url_loader_client_->OnReceiveResponse(response_head, nullptr); 350 url_loader_client_->OnReceiveResponse(
351 response_head, base::Optional<net::SSLInfo>(), nullptr);
339 mojo::DataPipe data_pipe(DataPipeOptions()); 352 mojo::DataPipe data_pipe(DataPipeOptions());
340 uint32_t size = 5; 353 uint32_t size = 5;
341 MojoResult result = 354 MojoResult result =
342 mojo::WriteDataRaw(data_pipe.producer_handle.get(), "hello", &size, 355 mojo::WriteDataRaw(data_pipe.producer_handle.get(), "hello", &size,
343 MOJO_WRITE_DATA_FLAG_NONE); 356 MOJO_WRITE_DATA_FLAG_NONE);
344 ASSERT_EQ(MOJO_RESULT_OK, result); 357 ASSERT_EQ(MOJO_RESULT_OK, result);
345 EXPECT_EQ(5u, size); 358 EXPECT_EQ(5u, size);
346 data_pipe.producer_handle.reset(); 359 data_pipe.producer_handle.reset();
347 360
348 url_loader_client_->OnStartLoadingResponseBody( 361 url_loader_client_->OnStartLoadingResponseBody(
(...skipping 21 matching lines...) Expand all
370 EXPECT_TRUE(request_peer_context_.complete); 383 EXPECT_TRUE(request_peer_context_.complete);
371 EXPECT_EQ("hello", request_peer_context_.data); 384 EXPECT_EQ("hello", request_peer_context_.data);
372 } 385 }
373 386
374 // As "transfer size update" message is handled specially in the implementation, 387 // As "transfer size update" message is handled specially in the implementation,
375 // we have a separate test. 388 // we have a separate test.
376 TEST_F(URLLoaderClientImplTest, DeferWithTransferSizeUpdated) { 389 TEST_F(URLLoaderClientImplTest, DeferWithTransferSizeUpdated) {
377 ResourceResponseHead response_head; 390 ResourceResponseHead response_head;
378 ResourceRequestCompletionStatus completion_status; 391 ResourceRequestCompletionStatus completion_status;
379 392
380 url_loader_client_->OnReceiveResponse(response_head, nullptr); 393 url_loader_client_->OnReceiveResponse(
394 response_head, base::Optional<net::SSLInfo>(), nullptr);
381 mojo::DataPipe data_pipe(DataPipeOptions()); 395 mojo::DataPipe data_pipe(DataPipeOptions());
382 uint32_t size = 5; 396 uint32_t size = 5;
383 MojoResult result = 397 MojoResult result =
384 mojo::WriteDataRaw(data_pipe.producer_handle.get(), "hello", &size, 398 mojo::WriteDataRaw(data_pipe.producer_handle.get(), "hello", &size,
385 MOJO_WRITE_DATA_FLAG_NONE); 399 MOJO_WRITE_DATA_FLAG_NONE);
386 ASSERT_EQ(MOJO_RESULT_OK, result); 400 ASSERT_EQ(MOJO_RESULT_OK, result);
387 EXPECT_EQ(5u, size); 401 EXPECT_EQ(5u, size);
388 data_pipe.producer_handle.reset(); 402 data_pipe.producer_handle.reset();
389 403
390 url_loader_client_->OnStartLoadingResponseBody( 404 url_loader_client_->OnStartLoadingResponseBody(
(...skipping 28 matching lines...) Expand all
419 } 433 }
420 434
421 TEST_F(URLLoaderClientImplTest, SetDeferredDuringFlushingDeferredMessage) { 435 TEST_F(URLLoaderClientImplTest, SetDeferredDuringFlushingDeferredMessage) {
422 request_peer_context_.defer_on_redirect = true; 436 request_peer_context_.defer_on_redirect = true;
423 437
424 net::RedirectInfo redirect_info; 438 net::RedirectInfo redirect_info;
425 ResourceResponseHead response_head; 439 ResourceResponseHead response_head;
426 ResourceRequestCompletionStatus completion_status; 440 ResourceRequestCompletionStatus completion_status;
427 441
428 url_loader_client_->OnReceiveRedirect(redirect_info, response_head); 442 url_loader_client_->OnReceiveRedirect(redirect_info, response_head);
429 url_loader_client_->OnReceiveResponse(response_head, nullptr); 443 url_loader_client_->OnReceiveResponse(
444 response_head, base::Optional<net::SSLInfo>(), nullptr);
430 mojo::DataPipe data_pipe(DataPipeOptions()); 445 mojo::DataPipe data_pipe(DataPipeOptions());
431 uint32_t size = 5; 446 uint32_t size = 5;
432 MojoResult result = 447 MojoResult result =
433 mojo::WriteDataRaw(data_pipe.producer_handle.get(), "hello", &size, 448 mojo::WriteDataRaw(data_pipe.producer_handle.get(), "hello", &size,
434 MOJO_WRITE_DATA_FLAG_NONE); 449 MOJO_WRITE_DATA_FLAG_NONE);
435 ASSERT_EQ(MOJO_RESULT_OK, result); 450 ASSERT_EQ(MOJO_RESULT_OK, result);
436 EXPECT_EQ(5u, size); 451 EXPECT_EQ(5u, size);
437 data_pipe.producer_handle.reset(); 452 data_pipe.producer_handle.reset();
438 453
439 url_loader_client_->OnStartLoadingResponseBody( 454 url_loader_client_->OnStartLoadingResponseBody(
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
481 EXPECT_FALSE(request_peer_context_.cancelled); 496 EXPECT_FALSE(request_peer_context_.cancelled);
482 } 497 }
483 498
484 TEST_F(URLLoaderClientImplTest, 499 TEST_F(URLLoaderClientImplTest,
485 SetDeferredDuringFlushingDeferredMessageOnTransferSizeUpdated) { 500 SetDeferredDuringFlushingDeferredMessageOnTransferSizeUpdated) {
486 request_peer_context_.defer_on_transfer_size_updated = true; 501 request_peer_context_.defer_on_transfer_size_updated = true;
487 502
488 ResourceResponseHead response_head; 503 ResourceResponseHead response_head;
489 ResourceRequestCompletionStatus completion_status; 504 ResourceRequestCompletionStatus completion_status;
490 505
491 url_loader_client_->OnReceiveResponse(response_head, nullptr); 506 url_loader_client_->OnReceiveResponse(
507 response_head, base::Optional<net::SSLInfo>(), nullptr);
492 508
493 url_loader_client_->OnTransferSizeUpdated(4); 509 url_loader_client_->OnTransferSizeUpdated(4);
494 url_loader_client_->OnComplete(completion_status); 510 url_loader_client_->OnComplete(completion_status);
495 511
496 EXPECT_FALSE(request_peer_context_.received_response); 512 EXPECT_FALSE(request_peer_context_.received_response);
497 EXPECT_FALSE(request_peer_context_.complete); 513 EXPECT_FALSE(request_peer_context_.complete);
498 EXPECT_EQ(0, request_peer_context_.total_encoded_data_length); 514 EXPECT_EQ(0, request_peer_context_.total_encoded_data_length);
499 515
500 dispatcher_->SetDefersLoading(request_id_, true); 516 dispatcher_->SetDefersLoading(request_id_, true);
501 517
(...skipping 15 matching lines...) Expand all
517 533
518 dispatcher_->SetDefersLoading(request_id_, false); 534 dispatcher_->SetDefersLoading(request_id_, false);
519 base::RunLoop().RunUntilIdle(); 535 base::RunLoop().RunUntilIdle();
520 EXPECT_TRUE(request_peer_context_.received_response); 536 EXPECT_TRUE(request_peer_context_.received_response);
521 EXPECT_TRUE(request_peer_context_.complete); 537 EXPECT_TRUE(request_peer_context_.complete);
522 EXPECT_EQ(4, request_peer_context_.total_encoded_data_length); 538 EXPECT_EQ(4, request_peer_context_.total_encoded_data_length);
523 EXPECT_FALSE(request_peer_context_.cancelled); 539 EXPECT_FALSE(request_peer_context_.cancelled);
524 } 540 }
525 541
526 } // namespace content 542 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698