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

Side by Side Diff: content/browser/appcache/appcache_request_handler_unittest.cc

Issue 2525743002: Make URLRequestContext a MemoryDumpProvider (Abandoned) (Closed)
Patch Set: rebased to 7f3d142161b15869f6bea58ac43c5f52ce5834ac Created 4 years 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/browser/appcache/appcache_request_handler.h" 5 #include "content/browser/appcache/appcache_request_handler.h"
6 6
7 #include <stdint.h> 7 #include <stdint.h>
8 8
9 #include <stack> 9 #include <stack>
10 #include <string> 10 #include <string>
(...skipping 197 matching lines...) Expand 10 before | Expand all | Expand 10 after
208 io_thread_->task_runner()->PostTask( 208 io_thread_->task_runner()->PostTask(
209 FROM_HERE, 209 FROM_HERE,
210 base::Bind(&AppCacheRequestHandlerTest::MethodWrapper<Method>, 210 base::Bind(&AppCacheRequestHandlerTest::MethodWrapper<Method>,
211 base::Unretained(this), method)); 211 base::Unretained(this), method));
212 test_finished_event_->Wait(); 212 test_finished_event_->Wait();
213 } 213 }
214 214
215 void SetUpTest() { 215 void SetUpTest() {
216 DCHECK(io_thread_->task_runner()->BelongsToCurrentThread()); 216 DCHECK(io_thread_->task_runner()->BelongsToCurrentThread());
217 mock_service_.reset(new MockAppCacheService); 217 mock_service_.reset(new MockAppCacheService);
218 mock_service_->set_request_context(&empty_context_); 218 empty_context_.reset(new net::URLRequestContext);
219 mock_service_->set_request_context(empty_context_.get());
219 mock_policy_.reset(new MockAppCachePolicy); 220 mock_policy_.reset(new MockAppCachePolicy);
220 mock_service_->set_appcache_policy(mock_policy_.get()); 221 mock_service_->set_appcache_policy(mock_policy_.get());
221 mock_frontend_.reset(new MockFrontend); 222 mock_frontend_.reset(new MockFrontend);
222 backend_impl_.reset(new AppCacheBackendImpl); 223 backend_impl_.reset(new AppCacheBackendImpl);
223 backend_impl_->Initialize(mock_service_.get(), mock_frontend_.get(), 224 backend_impl_->Initialize(mock_service_.get(), mock_frontend_.get(),
224 kMockProcessId); 225 kMockProcessId);
225 const int kHostId = 1; 226 const int kHostId = 1;
226 backend_impl_->RegisterHost(kHostId); 227 backend_impl_->RegisterHost(kHostId);
227 host_ = backend_impl_->GetHost(kHostId); 228 host_ = backend_impl_->GetHost(kHostId);
228 job_factory_.reset(new MockURLRequestJobFactory()); 229 job_factory_.reset(new MockURLRequestJobFactory());
229 empty_context_.set_job_factory(job_factory_.get()); 230 empty_context_->set_job_factory(job_factory_.get());
230 } 231 }
231 232
232 void TearDownTest() { 233 void TearDownTest() {
233 DCHECK(io_thread_->task_runner()->BelongsToCurrentThread()); 234 DCHECK(io_thread_->task_runner()->BelongsToCurrentThread());
234 job_ = NULL; 235 job_ = NULL;
235 handler_.reset(); 236 handler_.reset();
236 request_.reset(); 237 request_.reset();
237 backend_impl_.reset(); 238 backend_impl_.reset();
238 mock_frontend_.reset(); 239 mock_frontend_.reset();
239 mock_service_.reset(); 240 mock_service_.reset();
240 mock_policy_.reset(); 241 mock_policy_.reset();
241 job_factory_.reset(); 242 job_factory_.reset();
243 empty_context_.reset();
242 host_ = NULL; 244 host_ = NULL;
243 } 245 }
244 246
245 void TestFinished() { 247 void TestFinished() {
246 // We unwind the stack prior to finishing up to let stack 248 // We unwind the stack prior to finishing up to let stack
247 // based objects get deleted. 249 // based objects get deleted.
248 DCHECK(io_thread_->task_runner()->BelongsToCurrentThread()); 250 DCHECK(io_thread_->task_runner()->BelongsToCurrentThread());
249 base::ThreadTaskRunnerHandle::Get()->PostTask( 251 base::ThreadTaskRunnerHandle::Get()->PostTask(
250 FROM_HERE, base::Bind(&AppCacheRequestHandlerTest::TestFinishedUnwound, 252 FROM_HERE, base::Bind(&AppCacheRequestHandlerTest::TestFinishedUnwound,
251 base::Unretained(this))); 253 base::Unretained(this)));
(...skipping 18 matching lines...) Expand all
270 task_stack_.pop(); 272 task_stack_.pop();
271 } 273 }
272 274
273 // MainResource_Miss -------------------------------------------------- 275 // MainResource_Miss --------------------------------------------------
274 276
275 void MainResource_Miss() { 277 void MainResource_Miss() {
276 PushNextTask( 278 PushNextTask(
277 base::Bind(&AppCacheRequestHandlerTest::Verify_MainResource_Miss, 279 base::Bind(&AppCacheRequestHandlerTest::Verify_MainResource_Miss,
278 base::Unretained(this))); 280 base::Unretained(this)));
279 281
280 request_ = empty_context_.CreateRequest( 282 request_ = empty_context_->CreateRequest(GURL("http://blah/"),
281 GURL("http://blah/"), net::DEFAULT_PRIORITY, &delegate_); 283 net::DEFAULT_PRIORITY, &delegate_);
282 handler_.reset(host_->CreateRequestHandler(request_.get(), 284 handler_.reset(host_->CreateRequestHandler(request_.get(),
283 RESOURCE_TYPE_MAIN_FRAME, 285 RESOURCE_TYPE_MAIN_FRAME,
284 false)); 286 false));
285 EXPECT_TRUE(handler_.get()); 287 EXPECT_TRUE(handler_.get());
286 288
287 job_.reset(handler_->MaybeLoadResource( 289 job_.reset(handler_->MaybeLoadResource(
288 request_.get(), request_->context()->network_delegate())); 290 request_.get(), request_->context()->network_delegate()));
289 EXPECT_TRUE(job_.get()); 291 EXPECT_TRUE(job_.get());
290 EXPECT_TRUE(job_->is_waiting()); 292 EXPECT_TRUE(job_->is_waiting());
291 293
(...skipping 26 matching lines...) Expand all
318 TestFinished(); 320 TestFinished();
319 } 321 }
320 322
321 // MainResource_Hit -------------------------------------------------- 323 // MainResource_Hit --------------------------------------------------
322 324
323 void MainResource_Hit() { 325 void MainResource_Hit() {
324 PushNextTask( 326 PushNextTask(
325 base::Bind(&AppCacheRequestHandlerTest::Verify_MainResource_Hit, 327 base::Bind(&AppCacheRequestHandlerTest::Verify_MainResource_Hit,
326 base::Unretained(this))); 328 base::Unretained(this)));
327 329
328 request_ = empty_context_.CreateRequest( 330 request_ = empty_context_->CreateRequest(GURL("http://blah/"),
329 GURL("http://blah/"), net::DEFAULT_PRIORITY, &delegate_); 331 net::DEFAULT_PRIORITY, &delegate_);
330 handler_.reset(host_->CreateRequestHandler(request_.get(), 332 handler_.reset(host_->CreateRequestHandler(request_.get(),
331 RESOURCE_TYPE_MAIN_FRAME, 333 RESOURCE_TYPE_MAIN_FRAME,
332 false)); 334 false));
333 EXPECT_TRUE(handler_.get()); 335 EXPECT_TRUE(handler_.get());
334 336
335 mock_storage()->SimulateFindMainResource( 337 mock_storage()->SimulateFindMainResource(
336 AppCacheEntry(AppCacheEntry::EXPLICIT, 1), 338 AppCacheEntry(AppCacheEntry::EXPLICIT, 1),
337 GURL(), AppCacheEntry(), 339 GURL(), AppCacheEntry(),
338 1, 2, GURL("http://blah/manifest/")); 340 1, 2, GURL("http://blah/manifest/"));
339 341
(...skipping 28 matching lines...) Expand all
368 TestFinished(); 370 TestFinished();
369 } 371 }
370 372
371 // MainResource_Fallback -------------------------------------------------- 373 // MainResource_Fallback --------------------------------------------------
372 374
373 void MainResource_Fallback() { 375 void MainResource_Fallback() {
374 PushNextTask( 376 PushNextTask(
375 base::Bind(&AppCacheRequestHandlerTest::Verify_MainResource_Fallback, 377 base::Bind(&AppCacheRequestHandlerTest::Verify_MainResource_Fallback,
376 base::Unretained(this))); 378 base::Unretained(this)));
377 379
378 request_ = empty_context_.CreateRequest( 380 request_ = empty_context_->CreateRequest(GURL("http://blah/"),
379 GURL("http://blah/"), net::DEFAULT_PRIORITY, &delegate_); 381 net::DEFAULT_PRIORITY, &delegate_);
380 handler_.reset(host_->CreateRequestHandler(request_.get(), 382 handler_.reset(host_->CreateRequestHandler(request_.get(),
381 RESOURCE_TYPE_MAIN_FRAME, 383 RESOURCE_TYPE_MAIN_FRAME,
382 false)); 384 false));
383 EXPECT_TRUE(handler_.get()); 385 EXPECT_TRUE(handler_.get());
384 386
385 mock_storage()->SimulateFindMainResource( 387 mock_storage()->SimulateFindMainResource(
386 AppCacheEntry(), 388 AppCacheEntry(),
387 GURL("http://blah/fallbackurl"), 389 GURL("http://blah/fallbackurl"),
388 AppCacheEntry(AppCacheEntry::EXPLICIT, 1), 390 AppCacheEntry(AppCacheEntry::EXPLICIT, 1),
389 1, 2, GURL("http://blah/manifest/")); 391 1, 2, GURL("http://blah/manifest/"));
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
450 TestFinished(); 452 TestFinished();
451 } 453 }
452 454
453 // MainResource_FallbackOverride -------------------------------------------- 455 // MainResource_FallbackOverride --------------------------------------------
454 456
455 void MainResource_FallbackOverride() { 457 void MainResource_FallbackOverride() {
456 PushNextTask(base::Bind( 458 PushNextTask(base::Bind(
457 &AppCacheRequestHandlerTest::Verify_MainResource_FallbackOverride, 459 &AppCacheRequestHandlerTest::Verify_MainResource_FallbackOverride,
458 base::Unretained(this))); 460 base::Unretained(this)));
459 461
460 request_ = empty_context_.CreateRequest( 462 request_ =
461 GURL("http://blah/fallback-override"), net::DEFAULT_PRIORITY, 463 empty_context_->CreateRequest(GURL("http://blah/fallback-override"),
462 &delegate_); 464 net::DEFAULT_PRIORITY, &delegate_);
463 handler_.reset(host_->CreateRequestHandler(request_.get(), 465 handler_.reset(host_->CreateRequestHandler(request_.get(),
464 RESOURCE_TYPE_MAIN_FRAME, 466 RESOURCE_TYPE_MAIN_FRAME,
465 false)); 467 false));
466 EXPECT_TRUE(handler_.get()); 468 EXPECT_TRUE(handler_.get());
467 469
468 mock_storage()->SimulateFindMainResource( 470 mock_storage()->SimulateFindMainResource(
469 AppCacheEntry(), 471 AppCacheEntry(),
470 GURL("http://blah/fallbackurl"), 472 GURL("http://blah/fallbackurl"),
471 AppCacheEntry(AppCacheEntry::EXPLICIT, 1), 473 AppCacheEntry(AppCacheEntry::EXPLICIT, 1),
472 1, 2, GURL("http://blah/manifest/")); 474 1, 2, GURL("http://blah/manifest/"));
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
516 handler_->GetExtraResponseInfo(&cache_id, &manifest_url); 518 handler_->GetExtraResponseInfo(&cache_id, &manifest_url);
517 EXPECT_EQ(kAppCacheNoCacheId, cache_id); 519 EXPECT_EQ(kAppCacheNoCacheId, cache_id);
518 EXPECT_TRUE(manifest_url.is_empty()); 520 EXPECT_TRUE(manifest_url.is_empty());
519 521
520 TestFinished(); 522 TestFinished();
521 } 523 }
522 524
523 // SubResource_Miss_WithNoCacheSelected ---------------------------------- 525 // SubResource_Miss_WithNoCacheSelected ----------------------------------
524 526
525 void SubResource_Miss_WithNoCacheSelected() { 527 void SubResource_Miss_WithNoCacheSelected() {
526 request_ = empty_context_.CreateRequest( 528 request_ = empty_context_->CreateRequest(GURL("http://blah/"),
527 GURL("http://blah/"), net::DEFAULT_PRIORITY, &delegate_); 529 net::DEFAULT_PRIORITY, &delegate_);
528 handler_.reset(host_->CreateRequestHandler(request_.get(), 530 handler_.reset(host_->CreateRequestHandler(request_.get(),
529 RESOURCE_TYPE_SUB_RESOURCE, 531 RESOURCE_TYPE_SUB_RESOURCE,
530 false)); 532 false));
531 533
532 // We avoid creating handler when possible, sub-resource requests are not 534 // We avoid creating handler when possible, sub-resource requests are not
533 // subject to retrieval from an appcache when there's no associated cache. 535 // subject to retrieval from an appcache when there's no associated cache.
534 EXPECT_FALSE(handler_.get()); 536 EXPECT_FALSE(handler_.get());
535 537
536 TestFinished(); 538 TestFinished();
537 } 539 }
538 540
539 // SubResource_Miss_WithCacheSelected ---------------------------------- 541 // SubResource_Miss_WithCacheSelected ----------------------------------
540 542
541 void SubResource_Miss_WithCacheSelected() { 543 void SubResource_Miss_WithCacheSelected() {
542 // A sub-resource load where the resource is not in an appcache, or 544 // A sub-resource load where the resource is not in an appcache, or
543 // in a network or fallback namespace, should result in a failed request. 545 // in a network or fallback namespace, should result in a failed request.
544 host_->AssociateCompleteCache(MakeNewCache()); 546 host_->AssociateCompleteCache(MakeNewCache());
545 547
546 request_ = empty_context_.CreateRequest( 548 request_ = empty_context_->CreateRequest(GURL("http://blah/"),
547 GURL("http://blah/"), net::DEFAULT_PRIORITY, &delegate_); 549 net::DEFAULT_PRIORITY, &delegate_);
548 handler_.reset(host_->CreateRequestHandler(request_.get(), 550 handler_.reset(host_->CreateRequestHandler(request_.get(),
549 RESOURCE_TYPE_SUB_RESOURCE, 551 RESOURCE_TYPE_SUB_RESOURCE,
550 false)); 552 false));
551 EXPECT_TRUE(handler_.get()); 553 EXPECT_TRUE(handler_.get());
552 554
553 job_.reset(handler_->MaybeLoadResource( 555 job_.reset(handler_->MaybeLoadResource(
554 request_.get(), request_->context()->network_delegate())); 556 request_.get(), request_->context()->network_delegate()));
555 EXPECT_TRUE(job_.get()); 557 EXPECT_TRUE(job_.get());
556 EXPECT_TRUE(job_->is_delivering_error_response()); 558 EXPECT_TRUE(job_->is_delivering_error_response());
557 559
(...skipping 10 matching lines...) Expand all
568 } 570 }
569 571
570 // SubResource_Miss_WithWaitForCacheSelection ----------------------------- 572 // SubResource_Miss_WithWaitForCacheSelection -----------------------------
571 573
572 void SubResource_Miss_WithWaitForCacheSelection() { 574 void SubResource_Miss_WithWaitForCacheSelection() {
573 // Precondition, the host is waiting on cache selection. 575 // Precondition, the host is waiting on cache selection.
574 scoped_refptr<AppCache> cache(MakeNewCache()); 576 scoped_refptr<AppCache> cache(MakeNewCache());
575 host_->pending_selected_cache_id_ = cache->cache_id(); 577 host_->pending_selected_cache_id_ = cache->cache_id();
576 host_->set_preferred_manifest_url(cache->owning_group()->manifest_url()); 578 host_->set_preferred_manifest_url(cache->owning_group()->manifest_url());
577 579
578 request_ = empty_context_.CreateRequest( 580 request_ = empty_context_->CreateRequest(GURL("http://blah/"),
579 GURL("http://blah/"), net::DEFAULT_PRIORITY, &delegate_); 581 net::DEFAULT_PRIORITY, &delegate_);
580 handler_.reset(host_->CreateRequestHandler(request_.get(), 582 handler_.reset(host_->CreateRequestHandler(request_.get(),
581 RESOURCE_TYPE_SUB_RESOURCE, 583 RESOURCE_TYPE_SUB_RESOURCE,
582 false)); 584 false));
583 EXPECT_TRUE(handler_.get()); 585 EXPECT_TRUE(handler_.get());
584 job_.reset(handler_->MaybeLoadResource( 586 job_.reset(handler_->MaybeLoadResource(
585 request_.get(), request_->context()->network_delegate())); 587 request_.get(), request_->context()->network_delegate()));
586 EXPECT_TRUE(job_.get()); 588 EXPECT_TRUE(job_.get());
587 EXPECT_TRUE(job_->is_waiting()); 589 EXPECT_TRUE(job_->is_waiting());
588 590
589 host_->FinishCacheSelection(cache.get(), NULL); 591 host_->FinishCacheSelection(cache.get(), NULL);
(...skipping 13 matching lines...) Expand all
603 } 605 }
604 606
605 // SubResource_Hit ----------------------------- 607 // SubResource_Hit -----------------------------
606 608
607 void SubResource_Hit() { 609 void SubResource_Hit() {
608 host_->AssociateCompleteCache(MakeNewCache()); 610 host_->AssociateCompleteCache(MakeNewCache());
609 611
610 mock_storage()->SimulateFindSubResource( 612 mock_storage()->SimulateFindSubResource(
611 AppCacheEntry(AppCacheEntry::EXPLICIT, 1), AppCacheEntry(), false); 613 AppCacheEntry(AppCacheEntry::EXPLICIT, 1), AppCacheEntry(), false);
612 614
613 request_ = empty_context_.CreateRequest( 615 request_ = empty_context_->CreateRequest(GURL("http://blah/"),
614 GURL("http://blah/"), net::DEFAULT_PRIORITY, &delegate_); 616 net::DEFAULT_PRIORITY, &delegate_);
615 handler_.reset(host_->CreateRequestHandler(request_.get(), 617 handler_.reset(host_->CreateRequestHandler(request_.get(),
616 RESOURCE_TYPE_SUB_RESOURCE, 618 RESOURCE_TYPE_SUB_RESOURCE,
617 false)); 619 false));
618 EXPECT_TRUE(handler_.get()); 620 EXPECT_TRUE(handler_.get());
619 job_.reset(handler_->MaybeLoadResource( 621 job_.reset(handler_->MaybeLoadResource(
620 request_.get(), request_->context()->network_delegate())); 622 request_.get(), request_->context()->network_delegate()));
621 EXPECT_TRUE(job_.get()); 623 EXPECT_TRUE(job_.get());
622 EXPECT_TRUE(job_->is_delivering_appcache_response()); 624 EXPECT_TRUE(job_->is_delivering_appcache_response());
623 625
624 std::unique_ptr<AppCacheURLRequestJob> fallback_job( 626 std::unique_ptr<AppCacheURLRequestJob> fallback_job(
(...skipping 11 matching lines...) Expand all
636 // SubResource_RedirectFallback ----------------------------- 638 // SubResource_RedirectFallback -----------------------------
637 639
638 void SubResource_RedirectFallback() { 640 void SubResource_RedirectFallback() {
639 // Redirects to resources in the a different origin are subject to 641 // Redirects to resources in the a different origin are subject to
640 // fallback namespaces. 642 // fallback namespaces.
641 host_->AssociateCompleteCache(MakeNewCache()); 643 host_->AssociateCompleteCache(MakeNewCache());
642 644
643 mock_storage()->SimulateFindSubResource( 645 mock_storage()->SimulateFindSubResource(
644 AppCacheEntry(), AppCacheEntry(AppCacheEntry::EXPLICIT, 1), false); 646 AppCacheEntry(), AppCacheEntry(AppCacheEntry::EXPLICIT, 1), false);
645 647
646 request_ = empty_context_.CreateRequest( 648 request_ = empty_context_->CreateRequest(GURL("http://blah/"),
647 GURL("http://blah/"), net::DEFAULT_PRIORITY, &delegate_); 649 net::DEFAULT_PRIORITY, &delegate_);
648 handler_.reset(host_->CreateRequestHandler(request_.get(), 650 handler_.reset(host_->CreateRequestHandler(request_.get(),
649 RESOURCE_TYPE_SUB_RESOURCE, 651 RESOURCE_TYPE_SUB_RESOURCE,
650 false)); 652 false));
651 EXPECT_TRUE(handler_.get()); 653 EXPECT_TRUE(handler_.get());
652 job_.reset(handler_->MaybeLoadResource( 654 job_.reset(handler_->MaybeLoadResource(
653 request_.get(), request_->context()->network_delegate())); 655 request_.get(), request_->context()->network_delegate()));
654 EXPECT_FALSE(job_.get()); 656 EXPECT_FALSE(job_.get());
655 657
656 job_.reset(handler_->MaybeLoadFallbackForRedirect( 658 job_.reset(handler_->MaybeLoadFallbackForRedirect(
657 request_.get(), request_->context()->network_delegate(), 659 request_.get(), request_->context()->network_delegate(),
(...skipping 12 matching lines...) Expand all
670 // SubResource_NoRedirectFallback ----------------------------- 672 // SubResource_NoRedirectFallback -----------------------------
671 673
672 void SubResource_NoRedirectFallback() { 674 void SubResource_NoRedirectFallback() {
673 // Redirects to resources in the same-origin are not subject to 675 // Redirects to resources in the same-origin are not subject to
674 // fallback namespaces. 676 // fallback namespaces.
675 host_->AssociateCompleteCache(MakeNewCache()); 677 host_->AssociateCompleteCache(MakeNewCache());
676 678
677 mock_storage()->SimulateFindSubResource( 679 mock_storage()->SimulateFindSubResource(
678 AppCacheEntry(), AppCacheEntry(AppCacheEntry::EXPLICIT, 1), false); 680 AppCacheEntry(), AppCacheEntry(AppCacheEntry::EXPLICIT, 1), false);
679 681
680 request_ = empty_context_.CreateRequest( 682 request_ = empty_context_->CreateRequest(GURL("http://blah/"),
681 GURL("http://blah/"), net::DEFAULT_PRIORITY, &delegate_); 683 net::DEFAULT_PRIORITY, &delegate_);
682 handler_.reset(host_->CreateRequestHandler(request_.get(), 684 handler_.reset(host_->CreateRequestHandler(request_.get(),
683 RESOURCE_TYPE_SUB_RESOURCE, 685 RESOURCE_TYPE_SUB_RESOURCE,
684 false)); 686 false));
685 EXPECT_TRUE(handler_.get()); 687 EXPECT_TRUE(handler_.get());
686 job_.reset(handler_->MaybeLoadResource( 688 job_.reset(handler_->MaybeLoadResource(
687 request_.get(), request_->context()->network_delegate())); 689 request_.get(), request_->context()->network_delegate()));
688 EXPECT_FALSE(job_.get()); 690 EXPECT_FALSE(job_.get());
689 691
690 std::unique_ptr<AppCacheURLRequestJob> fallback_job( 692 std::unique_ptr<AppCacheURLRequestJob> fallback_job(
691 handler_->MaybeLoadFallbackForRedirect( 693 handler_->MaybeLoadFallbackForRedirect(
(...skipping 13 matching lines...) Expand all
705 707
706 void SubResource_Network() { 708 void SubResource_Network() {
707 // A sub-resource load where the resource is in a network namespace, 709 // A sub-resource load where the resource is in a network namespace,
708 // should result in the system using a 'real' job to do the network 710 // should result in the system using a 'real' job to do the network
709 // retrieval. 711 // retrieval.
710 host_->AssociateCompleteCache(MakeNewCache()); 712 host_->AssociateCompleteCache(MakeNewCache());
711 713
712 mock_storage()->SimulateFindSubResource( 714 mock_storage()->SimulateFindSubResource(
713 AppCacheEntry(), AppCacheEntry(), true); 715 AppCacheEntry(), AppCacheEntry(), true);
714 716
715 request_ = empty_context_.CreateRequest( 717 request_ = empty_context_->CreateRequest(GURL("http://blah/"),
716 GURL("http://blah/"), net::DEFAULT_PRIORITY, &delegate_); 718 net::DEFAULT_PRIORITY, &delegate_);
717 handler_.reset(host_->CreateRequestHandler(request_.get(), 719 handler_.reset(host_->CreateRequestHandler(request_.get(),
718 RESOURCE_TYPE_SUB_RESOURCE, 720 RESOURCE_TYPE_SUB_RESOURCE,
719 false)); 721 false));
720 EXPECT_TRUE(handler_.get()); 722 EXPECT_TRUE(handler_.get());
721 job_.reset(handler_->MaybeLoadResource( 723 job_.reset(handler_->MaybeLoadResource(
722 request_.get(), request_->context()->network_delegate())); 724 request_.get(), request_->context()->network_delegate()));
723 EXPECT_FALSE(job_.get()); 725 EXPECT_FALSE(job_.get());
724 726
725 std::unique_ptr<AppCacheURLRequestJob> fallback_job( 727 std::unique_ptr<AppCacheURLRequestJob> fallback_job(
726 handler_->MaybeLoadFallbackForRedirect( 728 handler_->MaybeLoadFallbackForRedirect(
727 request_.get(), request_->context()->network_delegate(), 729 request_.get(), request_->context()->network_delegate(),
728 GURL("http://blah/redirect"))); 730 GURL("http://blah/redirect")));
729 EXPECT_FALSE(fallback_job); 731 EXPECT_FALSE(fallback_job);
730 fallback_job.reset(handler_->MaybeLoadFallbackForResponse( 732 fallback_job.reset(handler_->MaybeLoadFallbackForResponse(
731 request_.get(), request_->context()->network_delegate())); 733 request_.get(), request_->context()->network_delegate()));
732 EXPECT_FALSE(fallback_job); 734 EXPECT_FALSE(fallback_job);
733 735
734 TestFinished(); 736 TestFinished();
735 } 737 }
736 738
737 // DestroyedHost ----------------------------- 739 // DestroyedHost -----------------------------
738 740
739 void DestroyedHost() { 741 void DestroyedHost() {
740 host_->AssociateCompleteCache(MakeNewCache()); 742 host_->AssociateCompleteCache(MakeNewCache());
741 743
742 mock_storage()->SimulateFindSubResource( 744 mock_storage()->SimulateFindSubResource(
743 AppCacheEntry(AppCacheEntry::EXPLICIT, 1), AppCacheEntry(), false); 745 AppCacheEntry(AppCacheEntry::EXPLICIT, 1), AppCacheEntry(), false);
744 746
745 request_ = empty_context_.CreateRequest( 747 request_ = empty_context_->CreateRequest(GURL("http://blah/"),
746 GURL("http://blah/"), net::DEFAULT_PRIORITY, &delegate_); 748 net::DEFAULT_PRIORITY, &delegate_);
747 handler_.reset(host_->CreateRequestHandler(request_.get(), 749 handler_.reset(host_->CreateRequestHandler(request_.get(),
748 RESOURCE_TYPE_SUB_RESOURCE, 750 RESOURCE_TYPE_SUB_RESOURCE,
749 false)); 751 false));
750 EXPECT_TRUE(handler_.get()); 752 EXPECT_TRUE(handler_.get());
751 753
752 backend_impl_->UnregisterHost(1); 754 backend_impl_->UnregisterHost(1);
753 host_ = NULL; 755 host_ = NULL;
754 756
755 EXPECT_FALSE(handler_->MaybeLoadResource( 757 EXPECT_FALSE(handler_->MaybeLoadResource(
756 request_.get(), request_->context()->network_delegate())); 758 request_.get(), request_->context()->network_delegate()));
757 EXPECT_FALSE(handler_->MaybeLoadFallbackForRedirect( 759 EXPECT_FALSE(handler_->MaybeLoadFallbackForRedirect(
758 request_.get(), 760 request_.get(),
759 request_->context()->network_delegate(), 761 request_->context()->network_delegate(),
760 GURL("http://blah/redirect"))); 762 GURL("http://blah/redirect")));
761 EXPECT_FALSE(handler_->MaybeLoadFallbackForResponse( 763 EXPECT_FALSE(handler_->MaybeLoadFallbackForResponse(
762 request_.get(), request_->context()->network_delegate())); 764 request_.get(), request_->context()->network_delegate()));
763 765
764 TestFinished(); 766 TestFinished();
765 } 767 }
766 768
767 // DestroyedHostWithWaitingJob ----------------------------- 769 // DestroyedHostWithWaitingJob -----------------------------
768 770
769 void DestroyedHostWithWaitingJob() { 771 void DestroyedHostWithWaitingJob() {
770 // Precondition, the host is waiting on cache selection. 772 // Precondition, the host is waiting on cache selection.
771 host_->pending_selected_cache_id_ = 1; 773 host_->pending_selected_cache_id_ = 1;
772 774
773 request_ = empty_context_.CreateRequest( 775 request_ = empty_context_->CreateRequest(GURL("http://blah/"),
774 GURL("http://blah/"), net::DEFAULT_PRIORITY, &delegate_); 776 net::DEFAULT_PRIORITY, &delegate_);
775 handler_.reset(host_->CreateRequestHandler(request_.get(), 777 handler_.reset(host_->CreateRequestHandler(request_.get(),
776 RESOURCE_TYPE_SUB_RESOURCE, 778 RESOURCE_TYPE_SUB_RESOURCE,
777 false)); 779 false));
778 EXPECT_TRUE(handler_.get()); 780 EXPECT_TRUE(handler_.get());
779 781
780 job_.reset(handler_->MaybeLoadResource( 782 job_.reset(handler_->MaybeLoadResource(
781 request_.get(), request_->context()->network_delegate())); 783 request_.get(), request_->context()->network_delegate()));
782 EXPECT_TRUE(job_.get()); 784 EXPECT_TRUE(job_.get());
783 EXPECT_TRUE(job_->is_waiting()); 785 EXPECT_TRUE(job_->is_waiting());
784 786
(...skipping 14 matching lines...) Expand all
799 } 801 }
800 802
801 // DestroyedService ----------------------------- 803 // DestroyedService -----------------------------
802 804
803 void DestroyedService() { 805 void DestroyedService() {
804 host_->AssociateCompleteCache(MakeNewCache()); 806 host_->AssociateCompleteCache(MakeNewCache());
805 807
806 mock_storage()->SimulateFindSubResource( 808 mock_storage()->SimulateFindSubResource(
807 AppCacheEntry(AppCacheEntry::EXPLICIT, 1), AppCacheEntry(), false); 809 AppCacheEntry(AppCacheEntry::EXPLICIT, 1), AppCacheEntry(), false);
808 810
809 request_ = empty_context_.CreateRequest( 811 request_ = empty_context_->CreateRequest(GURL("http://blah/"),
810 GURL("http://blah/"), net::DEFAULT_PRIORITY, &delegate_); 812 net::DEFAULT_PRIORITY, &delegate_);
811 handler_.reset(host_->CreateRequestHandler(request_.get(), 813 handler_.reset(host_->CreateRequestHandler(request_.get(),
812 RESOURCE_TYPE_SUB_RESOURCE, 814 RESOURCE_TYPE_SUB_RESOURCE,
813 false)); 815 false));
814 EXPECT_TRUE(handler_.get()); 816 EXPECT_TRUE(handler_.get());
815 job_.reset(handler_->MaybeLoadResource( 817 job_.reset(handler_->MaybeLoadResource(
816 request_.get(), request_->context()->network_delegate())); 818 request_.get(), request_->context()->network_delegate()));
817 EXPECT_TRUE(job_.get()); 819 EXPECT_TRUE(job_.get());
818 820
819 backend_impl_.reset(); 821 backend_impl_.reset();
820 mock_frontend_.reset(); 822 mock_frontend_.reset();
821 mock_service_.reset(); 823 mock_service_.reset();
822 mock_policy_.reset(); 824 mock_policy_.reset();
823 host_ = NULL; 825 host_ = NULL;
824 826
825 EXPECT_TRUE(job_->has_been_killed()); 827 EXPECT_TRUE(job_->has_been_killed());
826 EXPECT_FALSE(handler_->MaybeLoadResource( 828 EXPECT_FALSE(handler_->MaybeLoadResource(
827 request_.get(), request_->context()->network_delegate())); 829 request_.get(), request_->context()->network_delegate()));
828 EXPECT_FALSE(handler_->MaybeLoadFallbackForRedirect( 830 EXPECT_FALSE(handler_->MaybeLoadFallbackForRedirect(
829 request_.get(), 831 request_.get(),
830 request_->context()->network_delegate(), 832 request_->context()->network_delegate(),
831 GURL("http://blah/redirect"))); 833 GURL("http://blah/redirect")));
832 EXPECT_FALSE(handler_->MaybeLoadFallbackForResponse( 834 EXPECT_FALSE(handler_->MaybeLoadFallbackForResponse(
833 request_.get(), request_->context()->network_delegate())); 835 request_.get(), request_->context()->network_delegate()));
834 836
835 TestFinished(); 837 TestFinished();
836 } 838 }
837 839
838 void DestroyedServiceWithCrossSiteNav() { 840 void DestroyedServiceWithCrossSiteNav() {
839 request_ = empty_context_.CreateRequest( 841 request_ = empty_context_->CreateRequest(GURL("http://blah/"),
840 GURL("http://blah/"), net::DEFAULT_PRIORITY, &delegate_); 842 net::DEFAULT_PRIORITY, &delegate_);
841 handler_.reset(host_->CreateRequestHandler(request_.get(), 843 handler_.reset(host_->CreateRequestHandler(request_.get(),
842 RESOURCE_TYPE_MAIN_FRAME, 844 RESOURCE_TYPE_MAIN_FRAME,
843 false)); 845 false));
844 EXPECT_TRUE(handler_.get()); 846 EXPECT_TRUE(handler_.get());
845 handler_->PrepareForCrossSiteTransfer(backend_impl_->process_id()); 847 handler_->PrepareForCrossSiteTransfer(backend_impl_->process_id());
846 EXPECT_TRUE(handler_->host_for_cross_site_transfer_.get()); 848 EXPECT_TRUE(handler_->host_for_cross_site_transfer_.get());
847 849
848 backend_impl_.reset(); 850 backend_impl_.reset();
849 mock_frontend_.reset(); 851 mock_frontend_.reset();
850 mock_service_.reset(); 852 mock_service_.reset();
(...skipping 12 matching lines...) Expand all
863 865
864 TestFinished(); 866 TestFinished();
865 } 867 }
866 868
867 // UnsupportedScheme ----------------------------- 869 // UnsupportedScheme -----------------------------
868 870
869 void UnsupportedScheme() { 871 void UnsupportedScheme() {
870 // Precondition, the host is waiting on cache selection. 872 // Precondition, the host is waiting on cache selection.
871 host_->pending_selected_cache_id_ = 1; 873 host_->pending_selected_cache_id_ = 1;
872 874
873 request_ = empty_context_.CreateRequest( 875 request_ = empty_context_->CreateRequest(GURL("ftp://blah/"),
874 GURL("ftp://blah/"), net::DEFAULT_PRIORITY, &delegate_); 876 net::DEFAULT_PRIORITY, &delegate_);
875 handler_.reset(host_->CreateRequestHandler(request_.get(), 877 handler_.reset(host_->CreateRequestHandler(request_.get(),
876 RESOURCE_TYPE_SUB_RESOURCE, 878 RESOURCE_TYPE_SUB_RESOURCE,
877 false)); 879 false));
878 EXPECT_TRUE(handler_.get()); // we could redirect to http (conceivably) 880 EXPECT_TRUE(handler_.get()); // we could redirect to http (conceivably)
879 881
880 EXPECT_FALSE(handler_->MaybeLoadResource( 882 EXPECT_FALSE(handler_->MaybeLoadResource(
881 request_.get(), request_->context()->network_delegate())); 883 request_.get(), request_->context()->network_delegate()));
882 EXPECT_FALSE(handler_->MaybeLoadFallbackForRedirect( 884 EXPECT_FALSE(handler_->MaybeLoadFallbackForRedirect(
883 request_.get(), 885 request_.get(),
884 request_->context()->network_delegate(), 886 request_->context()->network_delegate(),
885 GURL("ftp://blah/redirect"))); 887 GURL("ftp://blah/redirect")));
886 EXPECT_FALSE(handler_->MaybeLoadFallbackForResponse( 888 EXPECT_FALSE(handler_->MaybeLoadFallbackForResponse(
887 request_.get(), request_->context()->network_delegate())); 889 request_.get(), request_->context()->network_delegate()));
888 890
889 TestFinished(); 891 TestFinished();
890 } 892 }
891 893
892 // CanceledRequest ----------------------------- 894 // CanceledRequest -----------------------------
893 895
894 void CanceledRequest() { 896 void CanceledRequest() {
895 request_ = empty_context_.CreateRequest( 897 request_ = empty_context_->CreateRequest(GURL("http://blah/"),
896 GURL("http://blah/"), net::DEFAULT_PRIORITY, &delegate_); 898 net::DEFAULT_PRIORITY, &delegate_);
897 handler_.reset(host_->CreateRequestHandler(request_.get(), 899 handler_.reset(host_->CreateRequestHandler(request_.get(),
898 RESOURCE_TYPE_MAIN_FRAME, 900 RESOURCE_TYPE_MAIN_FRAME,
899 false)); 901 false));
900 EXPECT_TRUE(handler_.get()); 902 EXPECT_TRUE(handler_.get());
901 903
902 job_.reset(handler_->MaybeLoadResource( 904 job_.reset(handler_->MaybeLoadResource(
903 request_.get(), request_->context()->network_delegate())); 905 request_.get(), request_->context()->network_delegate()));
904 EXPECT_TRUE(job_.get()); 906 EXPECT_TRUE(job_.get());
905 EXPECT_TRUE(job_->is_waiting()); 907 EXPECT_TRUE(job_->is_waiting());
906 EXPECT_FALSE(job_->has_been_started()); 908 EXPECT_FALSE(job_->has_been_started());
(...skipping 19 matching lines...) Expand all
926 void WorkerRequest() { 928 void WorkerRequest() {
927 EXPECT_TRUE(AppCacheRequestHandler::IsMainResourceType( 929 EXPECT_TRUE(AppCacheRequestHandler::IsMainResourceType(
928 RESOURCE_TYPE_MAIN_FRAME)); 930 RESOURCE_TYPE_MAIN_FRAME));
929 EXPECT_TRUE(AppCacheRequestHandler::IsMainResourceType( 931 EXPECT_TRUE(AppCacheRequestHandler::IsMainResourceType(
930 RESOURCE_TYPE_SUB_FRAME)); 932 RESOURCE_TYPE_SUB_FRAME));
931 EXPECT_TRUE(AppCacheRequestHandler::IsMainResourceType( 933 EXPECT_TRUE(AppCacheRequestHandler::IsMainResourceType(
932 RESOURCE_TYPE_SHARED_WORKER)); 934 RESOURCE_TYPE_SHARED_WORKER));
933 EXPECT_FALSE(AppCacheRequestHandler::IsMainResourceType( 935 EXPECT_FALSE(AppCacheRequestHandler::IsMainResourceType(
934 RESOURCE_TYPE_WORKER)); 936 RESOURCE_TYPE_WORKER));
935 937
936 request_ = empty_context_.CreateRequest( 938 request_ = empty_context_->CreateRequest(GURL("http://blah/"),
937 GURL("http://blah/"), net::DEFAULT_PRIORITY, &delegate_); 939 net::DEFAULT_PRIORITY, &delegate_);
938 940
939 const int kParentHostId = host_->host_id(); 941 const int kParentHostId = host_->host_id();
940 const int kWorkerHostId = 2; 942 const int kWorkerHostId = 2;
941 const int kAbandonedWorkerHostId = 3; 943 const int kAbandonedWorkerHostId = 3;
942 const int kNonExsitingHostId = 700; 944 const int kNonExsitingHostId = 700;
943 945
944 backend_impl_->RegisterHost(kWorkerHostId); 946 backend_impl_->RegisterHost(kWorkerHostId);
945 AppCacheHost* worker_host = backend_impl_->GetHost(kWorkerHostId); 947 AppCacheHost* worker_host = backend_impl_->GetHost(kWorkerHostId);
946 worker_host->SelectCacheForWorker(kParentHostId, kMockProcessId); 948 worker_host->SelectCacheForWorker(kParentHostId, kMockProcessId);
947 handler_.reset(worker_host->CreateRequestHandler( 949 handler_.reset(worker_host->CreateRequestHandler(
(...skipping 16 matching lines...) Expand all
964 TestFinished(); 966 TestFinished();
965 } 967 }
966 968
967 // MainResource_Blocked -------------------------------------------------- 969 // MainResource_Blocked --------------------------------------------------
968 970
969 void MainResource_Blocked() { 971 void MainResource_Blocked() {
970 PushNextTask( 972 PushNextTask(
971 base::Bind(&AppCacheRequestHandlerTest::Verify_MainResource_Blocked, 973 base::Bind(&AppCacheRequestHandlerTest::Verify_MainResource_Blocked,
972 base::Unretained(this))); 974 base::Unretained(this)));
973 975
974 request_ = empty_context_.CreateRequest( 976 request_ = empty_context_->CreateRequest(GURL("http://blah/"),
975 GURL("http://blah/"), net::DEFAULT_PRIORITY, &delegate_); 977 net::DEFAULT_PRIORITY, &delegate_);
976 handler_.reset(host_->CreateRequestHandler(request_.get(), 978 handler_.reset(host_->CreateRequestHandler(request_.get(),
977 RESOURCE_TYPE_MAIN_FRAME, 979 RESOURCE_TYPE_MAIN_FRAME,
978 false)); 980 false));
979 EXPECT_TRUE(handler_.get()); 981 EXPECT_TRUE(handler_.get());
980 982
981 mock_policy_->can_load_return_value_ = false; 983 mock_policy_->can_load_return_value_ = false;
982 mock_storage()->SimulateFindMainResource( 984 mock_storage()->SimulateFindMainResource(
983 AppCacheEntry(AppCacheEntry::EXPLICIT, 1), 985 AppCacheEntry(AppCacheEntry::EXPLICIT, 1),
984 GURL(), AppCacheEntry(), 986 GURL(), AppCacheEntry(),
985 1, 2, GURL("http://blah/manifest/")); 987 1, 2, GURL("http://blah/manifest/"));
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
1026 1028
1027 // Data members -------------------------------------------------- 1029 // Data members --------------------------------------------------
1028 1030
1029 std::unique_ptr<base::WaitableEvent> test_finished_event_; 1031 std::unique_ptr<base::WaitableEvent> test_finished_event_;
1030 std::stack<base::Closure> task_stack_; 1032 std::stack<base::Closure> task_stack_;
1031 std::unique_ptr<MockAppCacheService> mock_service_; 1033 std::unique_ptr<MockAppCacheService> mock_service_;
1032 std::unique_ptr<AppCacheBackendImpl> backend_impl_; 1034 std::unique_ptr<AppCacheBackendImpl> backend_impl_;
1033 std::unique_ptr<MockFrontend> mock_frontend_; 1035 std::unique_ptr<MockFrontend> mock_frontend_;
1034 std::unique_ptr<MockAppCachePolicy> mock_policy_; 1036 std::unique_ptr<MockAppCachePolicy> mock_policy_;
1035 AppCacheHost* host_; 1037 AppCacheHost* host_;
1036 net::URLRequestContext empty_context_; 1038 std::unique_ptr<net::URLRequestContext> empty_context_;
1037 std::unique_ptr<MockURLRequestJobFactory> job_factory_; 1039 std::unique_ptr<MockURLRequestJobFactory> job_factory_;
1038 MockURLRequestDelegate delegate_; 1040 MockURLRequestDelegate delegate_;
1039 std::unique_ptr<net::URLRequest> request_; 1041 std::unique_ptr<net::URLRequest> request_;
1040 std::unique_ptr<AppCacheRequestHandler> handler_; 1042 std::unique_ptr<AppCacheRequestHandler> handler_;
1041 std::unique_ptr<AppCacheURLRequestJob> job_; 1043 std::unique_ptr<AppCacheURLRequestJob> job_;
1042 1044
1043 static std::unique_ptr<base::Thread> io_thread_; 1045 static std::unique_ptr<base::Thread> io_thread_;
1044 }; 1046 };
1045 1047
1046 // static 1048 // static
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
1123 1125
1124 TEST_F(AppCacheRequestHandlerTest, WorkerRequest) { 1126 TEST_F(AppCacheRequestHandlerTest, WorkerRequest) {
1125 RunTestOnIOThread(&AppCacheRequestHandlerTest::WorkerRequest); 1127 RunTestOnIOThread(&AppCacheRequestHandlerTest::WorkerRequest);
1126 } 1128 }
1127 1129
1128 TEST_F(AppCacheRequestHandlerTest, MainResource_Blocked) { 1130 TEST_F(AppCacheRequestHandlerTest, MainResource_Blocked) {
1129 RunTestOnIOThread(&AppCacheRequestHandlerTest::MainResource_Blocked); 1131 RunTestOnIOThread(&AppCacheRequestHandlerTest::MainResource_Blocked);
1130 } 1132 }
1131 1133
1132 } // namespace content 1134 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698