OLD | NEW |
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 253 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
264 | 264 |
265 // MainResource_Miss -------------------------------------------------- | 265 // MainResource_Miss -------------------------------------------------- |
266 | 266 |
267 void MainResource_Miss() { | 267 void MainResource_Miss() { |
268 PushNextTask( | 268 PushNextTask( |
269 base::Bind(&AppCacheRequestHandlerTest::Verify_MainResource_Miss, | 269 base::Bind(&AppCacheRequestHandlerTest::Verify_MainResource_Miss, |
270 base::Unretained(this))); | 270 base::Unretained(this))); |
271 | 271 |
272 request_ = empty_context_->CreateRequest(GURL("http://blah/"), | 272 request_ = empty_context_->CreateRequest(GURL("http://blah/"), |
273 net::DEFAULT_PRIORITY, &delegate_); | 273 net::DEFAULT_PRIORITY, &delegate_); |
274 handler_.reset(host_->CreateRequestHandler(request_.get(), | 274 handler_ = host_->CreateRequestHandler(request_.get(), |
275 RESOURCE_TYPE_MAIN_FRAME, | 275 RESOURCE_TYPE_MAIN_FRAME, false); |
276 false)); | |
277 EXPECT_TRUE(handler_.get()); | 276 EXPECT_TRUE(handler_.get()); |
278 | 277 |
279 job_.reset(handler_->MaybeLoadResource( | 278 job_.reset(handler_->MaybeLoadResource( |
280 request_.get(), request_->context()->network_delegate())); | 279 request_.get(), request_->context()->network_delegate())); |
281 EXPECT_TRUE(job_.get()); | 280 EXPECT_TRUE(job_.get()); |
282 EXPECT_TRUE(job_->is_waiting()); | 281 EXPECT_TRUE(job_->is_waiting()); |
283 | 282 |
284 // We have to wait for completion of storage->FindResponseForMainRequest. | 283 // We have to wait for completion of storage->FindResponseForMainRequest. |
285 ScheduleNextTask(); | 284 ScheduleNextTask(); |
286 } | 285 } |
(...skipping 25 matching lines...) Expand all Loading... |
312 | 311 |
313 // MainResource_Hit -------------------------------------------------- | 312 // MainResource_Hit -------------------------------------------------- |
314 | 313 |
315 void MainResource_Hit() { | 314 void MainResource_Hit() { |
316 PushNextTask( | 315 PushNextTask( |
317 base::Bind(&AppCacheRequestHandlerTest::Verify_MainResource_Hit, | 316 base::Bind(&AppCacheRequestHandlerTest::Verify_MainResource_Hit, |
318 base::Unretained(this))); | 317 base::Unretained(this))); |
319 | 318 |
320 request_ = empty_context_->CreateRequest(GURL("http://blah/"), | 319 request_ = empty_context_->CreateRequest(GURL("http://blah/"), |
321 net::DEFAULT_PRIORITY, &delegate_); | 320 net::DEFAULT_PRIORITY, &delegate_); |
322 handler_.reset(host_->CreateRequestHandler(request_.get(), | 321 handler_ = host_->CreateRequestHandler(request_.get(), |
323 RESOURCE_TYPE_MAIN_FRAME, | 322 RESOURCE_TYPE_MAIN_FRAME, false); |
324 false)); | |
325 EXPECT_TRUE(handler_.get()); | 323 EXPECT_TRUE(handler_.get()); |
326 | 324 |
327 mock_storage()->SimulateFindMainResource( | 325 mock_storage()->SimulateFindMainResource( |
328 AppCacheEntry(AppCacheEntry::EXPLICIT, 1), | 326 AppCacheEntry(AppCacheEntry::EXPLICIT, 1), |
329 GURL(), AppCacheEntry(), | 327 GURL(), AppCacheEntry(), |
330 1, 2, GURL("http://blah/manifest/")); | 328 1, 2, GURL("http://blah/manifest/")); |
331 | 329 |
332 job_.reset(handler_->MaybeLoadResource( | 330 job_.reset(handler_->MaybeLoadResource( |
333 request_.get(), request_->context()->network_delegate())); | 331 request_.get(), request_->context()->network_delegate())); |
334 EXPECT_TRUE(job_.get()); | 332 EXPECT_TRUE(job_.get()); |
(...skipping 27 matching lines...) Expand all Loading... |
362 | 360 |
363 // MainResource_Fallback -------------------------------------------------- | 361 // MainResource_Fallback -------------------------------------------------- |
364 | 362 |
365 void MainResource_Fallback() { | 363 void MainResource_Fallback() { |
366 PushNextTask( | 364 PushNextTask( |
367 base::Bind(&AppCacheRequestHandlerTest::Verify_MainResource_Fallback, | 365 base::Bind(&AppCacheRequestHandlerTest::Verify_MainResource_Fallback, |
368 base::Unretained(this))); | 366 base::Unretained(this))); |
369 | 367 |
370 request_ = empty_context_->CreateRequest(GURL("http://blah/"), | 368 request_ = empty_context_->CreateRequest(GURL("http://blah/"), |
371 net::DEFAULT_PRIORITY, &delegate_); | 369 net::DEFAULT_PRIORITY, &delegate_); |
372 handler_.reset(host_->CreateRequestHandler(request_.get(), | 370 handler_ = host_->CreateRequestHandler(request_.get(), |
373 RESOURCE_TYPE_MAIN_FRAME, | 371 RESOURCE_TYPE_MAIN_FRAME, false); |
374 false)); | |
375 EXPECT_TRUE(handler_.get()); | 372 EXPECT_TRUE(handler_.get()); |
376 | 373 |
377 mock_storage()->SimulateFindMainResource( | 374 mock_storage()->SimulateFindMainResource( |
378 AppCacheEntry(), | 375 AppCacheEntry(), |
379 GURL("http://blah/fallbackurl"), | 376 GURL("http://blah/fallbackurl"), |
380 AppCacheEntry(AppCacheEntry::EXPLICIT, 1), | 377 AppCacheEntry(AppCacheEntry::EXPLICIT, 1), |
381 1, 2, GURL("http://blah/manifest/")); | 378 1, 2, GURL("http://blah/manifest/")); |
382 | 379 |
383 job_.reset(handler_->MaybeLoadResource( | 380 job_.reset(handler_->MaybeLoadResource( |
384 request_.get(), request_->context()->network_delegate())); | 381 request_.get(), request_->context()->network_delegate())); |
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
450 // MainResource_FallbackOverride -------------------------------------------- | 447 // MainResource_FallbackOverride -------------------------------------------- |
451 | 448 |
452 void MainResource_FallbackOverride() { | 449 void MainResource_FallbackOverride() { |
453 PushNextTask(base::Bind( | 450 PushNextTask(base::Bind( |
454 &AppCacheRequestHandlerTest::Verify_MainResource_FallbackOverride, | 451 &AppCacheRequestHandlerTest::Verify_MainResource_FallbackOverride, |
455 base::Unretained(this))); | 452 base::Unretained(this))); |
456 | 453 |
457 request_ = | 454 request_ = |
458 empty_context_->CreateRequest(GURL("http://blah/fallback-override"), | 455 empty_context_->CreateRequest(GURL("http://blah/fallback-override"), |
459 net::DEFAULT_PRIORITY, &delegate_); | 456 net::DEFAULT_PRIORITY, &delegate_); |
460 handler_.reset(host_->CreateRequestHandler(request_.get(), | 457 handler_ = host_->CreateRequestHandler(request_.get(), |
461 RESOURCE_TYPE_MAIN_FRAME, | 458 RESOURCE_TYPE_MAIN_FRAME, false); |
462 false)); | |
463 EXPECT_TRUE(handler_.get()); | 459 EXPECT_TRUE(handler_.get()); |
464 | 460 |
465 mock_storage()->SimulateFindMainResource( | 461 mock_storage()->SimulateFindMainResource( |
466 AppCacheEntry(), | 462 AppCacheEntry(), |
467 GURL("http://blah/fallbackurl"), | 463 GURL("http://blah/fallbackurl"), |
468 AppCacheEntry(AppCacheEntry::EXPLICIT, 1), | 464 AppCacheEntry(AppCacheEntry::EXPLICIT, 1), |
469 1, 2, GURL("http://blah/manifest/")); | 465 1, 2, GURL("http://blah/manifest/")); |
470 | 466 |
471 job_.reset(handler_->MaybeLoadResource( | 467 job_.reset(handler_->MaybeLoadResource( |
472 request_.get(), request_->context()->network_delegate())); | 468 request_.get(), request_->context()->network_delegate())); |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
515 EXPECT_TRUE(manifest_url.is_empty()); | 511 EXPECT_TRUE(manifest_url.is_empty()); |
516 | 512 |
517 TestFinished(); | 513 TestFinished(); |
518 } | 514 } |
519 | 515 |
520 // SubResource_Miss_WithNoCacheSelected ---------------------------------- | 516 // SubResource_Miss_WithNoCacheSelected ---------------------------------- |
521 | 517 |
522 void SubResource_Miss_WithNoCacheSelected() { | 518 void SubResource_Miss_WithNoCacheSelected() { |
523 request_ = empty_context_->CreateRequest(GURL("http://blah/"), | 519 request_ = empty_context_->CreateRequest(GURL("http://blah/"), |
524 net::DEFAULT_PRIORITY, &delegate_); | 520 net::DEFAULT_PRIORITY, &delegate_); |
525 handler_.reset(host_->CreateRequestHandler(request_.get(), | 521 handler_ = host_->CreateRequestHandler(request_.get(), |
526 RESOURCE_TYPE_SUB_RESOURCE, | 522 RESOURCE_TYPE_SUB_RESOURCE, false); |
527 false)); | |
528 | 523 |
529 // We avoid creating handler when possible, sub-resource requests are not | 524 // We avoid creating handler when possible, sub-resource requests are not |
530 // subject to retrieval from an appcache when there's no associated cache. | 525 // subject to retrieval from an appcache when there's no associated cache. |
531 EXPECT_FALSE(handler_.get()); | 526 EXPECT_FALSE(handler_.get()); |
532 | 527 |
533 TestFinished(); | 528 TestFinished(); |
534 } | 529 } |
535 | 530 |
536 // SubResource_Miss_WithCacheSelected ---------------------------------- | 531 // SubResource_Miss_WithCacheSelected ---------------------------------- |
537 | 532 |
538 void SubResource_Miss_WithCacheSelected() { | 533 void SubResource_Miss_WithCacheSelected() { |
539 // A sub-resource load where the resource is not in an appcache, or | 534 // A sub-resource load where the resource is not in an appcache, or |
540 // in a network or fallback namespace, should result in a failed request. | 535 // in a network or fallback namespace, should result in a failed request. |
541 host_->AssociateCompleteCache(MakeNewCache()); | 536 host_->AssociateCompleteCache(MakeNewCache()); |
542 | 537 |
543 request_ = empty_context_->CreateRequest(GURL("http://blah/"), | 538 request_ = empty_context_->CreateRequest(GURL("http://blah/"), |
544 net::DEFAULT_PRIORITY, &delegate_); | 539 net::DEFAULT_PRIORITY, &delegate_); |
545 handler_.reset(host_->CreateRequestHandler(request_.get(), | 540 handler_ = host_->CreateRequestHandler(request_.get(), |
546 RESOURCE_TYPE_SUB_RESOURCE, | 541 RESOURCE_TYPE_SUB_RESOURCE, false); |
547 false)); | |
548 EXPECT_TRUE(handler_.get()); | 542 EXPECT_TRUE(handler_.get()); |
549 | 543 |
550 job_.reset(handler_->MaybeLoadResource( | 544 job_.reset(handler_->MaybeLoadResource( |
551 request_.get(), request_->context()->network_delegate())); | 545 request_.get(), request_->context()->network_delegate())); |
552 EXPECT_TRUE(job_.get()); | 546 EXPECT_TRUE(job_.get()); |
553 EXPECT_TRUE(job_->is_delivering_error_response()); | 547 EXPECT_TRUE(job_->is_delivering_error_response()); |
554 | 548 |
555 std::unique_ptr<AppCacheURLRequestJob> fallback_job( | 549 std::unique_ptr<AppCacheURLRequestJob> fallback_job( |
556 handler_->MaybeLoadFallbackForRedirect( | 550 handler_->MaybeLoadFallbackForRedirect( |
557 request_.get(), request_->context()->network_delegate(), | 551 request_.get(), request_->context()->network_delegate(), |
558 GURL("http://blah/redirect"))); | 552 GURL("http://blah/redirect"))); |
559 EXPECT_FALSE(fallback_job); | 553 EXPECT_FALSE(fallback_job); |
560 fallback_job.reset(handler_->MaybeLoadFallbackForResponse( | 554 fallback_job.reset(handler_->MaybeLoadFallbackForResponse( |
561 request_.get(), request_->context()->network_delegate())); | 555 request_.get(), request_->context()->network_delegate())); |
562 EXPECT_FALSE(fallback_job); | 556 EXPECT_FALSE(fallback_job); |
563 | 557 |
564 TestFinished(); | 558 TestFinished(); |
565 } | 559 } |
566 | 560 |
567 // SubResource_Miss_WithWaitForCacheSelection ----------------------------- | 561 // SubResource_Miss_WithWaitForCacheSelection ----------------------------- |
568 | 562 |
569 void SubResource_Miss_WithWaitForCacheSelection() { | 563 void SubResource_Miss_WithWaitForCacheSelection() { |
570 // Precondition, the host is waiting on cache selection. | 564 // Precondition, the host is waiting on cache selection. |
571 scoped_refptr<AppCache> cache(MakeNewCache()); | 565 scoped_refptr<AppCache> cache(MakeNewCache()); |
572 host_->pending_selected_cache_id_ = cache->cache_id(); | 566 host_->pending_selected_cache_id_ = cache->cache_id(); |
573 host_->set_preferred_manifest_url(cache->owning_group()->manifest_url()); | 567 host_->set_preferred_manifest_url(cache->owning_group()->manifest_url()); |
574 | 568 |
575 request_ = empty_context_->CreateRequest(GURL("http://blah/"), | 569 request_ = empty_context_->CreateRequest(GURL("http://blah/"), |
576 net::DEFAULT_PRIORITY, &delegate_); | 570 net::DEFAULT_PRIORITY, &delegate_); |
577 handler_.reset(host_->CreateRequestHandler(request_.get(), | 571 handler_ = host_->CreateRequestHandler(request_.get(), |
578 RESOURCE_TYPE_SUB_RESOURCE, | 572 RESOURCE_TYPE_SUB_RESOURCE, false); |
579 false)); | |
580 EXPECT_TRUE(handler_.get()); | 573 EXPECT_TRUE(handler_.get()); |
581 job_.reset(handler_->MaybeLoadResource( | 574 job_.reset(handler_->MaybeLoadResource( |
582 request_.get(), request_->context()->network_delegate())); | 575 request_.get(), request_->context()->network_delegate())); |
583 EXPECT_TRUE(job_.get()); | 576 EXPECT_TRUE(job_.get()); |
584 EXPECT_TRUE(job_->is_waiting()); | 577 EXPECT_TRUE(job_->is_waiting()); |
585 | 578 |
586 host_->FinishCacheSelection(cache.get(), NULL); | 579 host_->FinishCacheSelection(cache.get(), NULL); |
587 EXPECT_FALSE(job_->is_waiting()); | 580 EXPECT_FALSE(job_->is_waiting()); |
588 EXPECT_TRUE(job_->is_delivering_error_response()); | 581 EXPECT_TRUE(job_->is_delivering_error_response()); |
589 | 582 |
(...skipping 12 matching lines...) Expand all Loading... |
602 // SubResource_Hit ----------------------------- | 595 // SubResource_Hit ----------------------------- |
603 | 596 |
604 void SubResource_Hit() { | 597 void SubResource_Hit() { |
605 host_->AssociateCompleteCache(MakeNewCache()); | 598 host_->AssociateCompleteCache(MakeNewCache()); |
606 | 599 |
607 mock_storage()->SimulateFindSubResource( | 600 mock_storage()->SimulateFindSubResource( |
608 AppCacheEntry(AppCacheEntry::EXPLICIT, 1), AppCacheEntry(), false); | 601 AppCacheEntry(AppCacheEntry::EXPLICIT, 1), AppCacheEntry(), false); |
609 | 602 |
610 request_ = empty_context_->CreateRequest(GURL("http://blah/"), | 603 request_ = empty_context_->CreateRequest(GURL("http://blah/"), |
611 net::DEFAULT_PRIORITY, &delegate_); | 604 net::DEFAULT_PRIORITY, &delegate_); |
612 handler_.reset(host_->CreateRequestHandler(request_.get(), | 605 handler_ = host_->CreateRequestHandler(request_.get(), |
613 RESOURCE_TYPE_SUB_RESOURCE, | 606 RESOURCE_TYPE_SUB_RESOURCE, false); |
614 false)); | |
615 EXPECT_TRUE(handler_.get()); | 607 EXPECT_TRUE(handler_.get()); |
616 job_.reset(handler_->MaybeLoadResource( | 608 job_.reset(handler_->MaybeLoadResource( |
617 request_.get(), request_->context()->network_delegate())); | 609 request_.get(), request_->context()->network_delegate())); |
618 EXPECT_TRUE(job_.get()); | 610 EXPECT_TRUE(job_.get()); |
619 EXPECT_TRUE(job_->is_delivering_appcache_response()); | 611 EXPECT_TRUE(job_->is_delivering_appcache_response()); |
620 | 612 |
621 std::unique_ptr<AppCacheURLRequestJob> fallback_job( | 613 std::unique_ptr<AppCacheURLRequestJob> fallback_job( |
622 handler_->MaybeLoadFallbackForRedirect( | 614 handler_->MaybeLoadFallbackForRedirect( |
623 request_.get(), request_->context()->network_delegate(), | 615 request_.get(), request_->context()->network_delegate(), |
624 GURL("http://blah/redirect"))); | 616 GURL("http://blah/redirect"))); |
(...skipping 10 matching lines...) Expand all Loading... |
635 void SubResource_RedirectFallback() { | 627 void SubResource_RedirectFallback() { |
636 // Redirects to resources in the a different origin are subject to | 628 // Redirects to resources in the a different origin are subject to |
637 // fallback namespaces. | 629 // fallback namespaces. |
638 host_->AssociateCompleteCache(MakeNewCache()); | 630 host_->AssociateCompleteCache(MakeNewCache()); |
639 | 631 |
640 mock_storage()->SimulateFindSubResource( | 632 mock_storage()->SimulateFindSubResource( |
641 AppCacheEntry(), AppCacheEntry(AppCacheEntry::EXPLICIT, 1), false); | 633 AppCacheEntry(), AppCacheEntry(AppCacheEntry::EXPLICIT, 1), false); |
642 | 634 |
643 request_ = empty_context_->CreateRequest(GURL("http://blah/"), | 635 request_ = empty_context_->CreateRequest(GURL("http://blah/"), |
644 net::DEFAULT_PRIORITY, &delegate_); | 636 net::DEFAULT_PRIORITY, &delegate_); |
645 handler_.reset(host_->CreateRequestHandler(request_.get(), | 637 handler_ = host_->CreateRequestHandler(request_.get(), |
646 RESOURCE_TYPE_SUB_RESOURCE, | 638 RESOURCE_TYPE_SUB_RESOURCE, false); |
647 false)); | |
648 EXPECT_TRUE(handler_.get()); | 639 EXPECT_TRUE(handler_.get()); |
649 job_.reset(handler_->MaybeLoadResource( | 640 job_.reset(handler_->MaybeLoadResource( |
650 request_.get(), request_->context()->network_delegate())); | 641 request_.get(), request_->context()->network_delegate())); |
651 EXPECT_FALSE(job_.get()); | 642 EXPECT_FALSE(job_.get()); |
652 | 643 |
653 job_.reset(handler_->MaybeLoadFallbackForRedirect( | 644 job_.reset(handler_->MaybeLoadFallbackForRedirect( |
654 request_.get(), request_->context()->network_delegate(), | 645 request_.get(), request_->context()->network_delegate(), |
655 GURL("http://not_blah/redirect"))); | 646 GURL("http://not_blah/redirect"))); |
656 EXPECT_TRUE(job_.get()); | 647 EXPECT_TRUE(job_.get()); |
657 EXPECT_TRUE(job_->is_delivering_appcache_response()); | 648 EXPECT_TRUE(job_->is_delivering_appcache_response()); |
(...skipping 11 matching lines...) Expand all Loading... |
669 void SubResource_NoRedirectFallback() { | 660 void SubResource_NoRedirectFallback() { |
670 // Redirects to resources in the same-origin are not subject to | 661 // Redirects to resources in the same-origin are not subject to |
671 // fallback namespaces. | 662 // fallback namespaces. |
672 host_->AssociateCompleteCache(MakeNewCache()); | 663 host_->AssociateCompleteCache(MakeNewCache()); |
673 | 664 |
674 mock_storage()->SimulateFindSubResource( | 665 mock_storage()->SimulateFindSubResource( |
675 AppCacheEntry(), AppCacheEntry(AppCacheEntry::EXPLICIT, 1), false); | 666 AppCacheEntry(), AppCacheEntry(AppCacheEntry::EXPLICIT, 1), false); |
676 | 667 |
677 request_ = empty_context_->CreateRequest(GURL("http://blah/"), | 668 request_ = empty_context_->CreateRequest(GURL("http://blah/"), |
678 net::DEFAULT_PRIORITY, &delegate_); | 669 net::DEFAULT_PRIORITY, &delegate_); |
679 handler_.reset(host_->CreateRequestHandler(request_.get(), | 670 handler_ = host_->CreateRequestHandler(request_.get(), |
680 RESOURCE_TYPE_SUB_RESOURCE, | 671 RESOURCE_TYPE_SUB_RESOURCE, false); |
681 false)); | |
682 EXPECT_TRUE(handler_.get()); | 672 EXPECT_TRUE(handler_.get()); |
683 job_.reset(handler_->MaybeLoadResource( | 673 job_.reset(handler_->MaybeLoadResource( |
684 request_.get(), request_->context()->network_delegate())); | 674 request_.get(), request_->context()->network_delegate())); |
685 EXPECT_FALSE(job_.get()); | 675 EXPECT_FALSE(job_.get()); |
686 | 676 |
687 std::unique_ptr<AppCacheURLRequestJob> fallback_job( | 677 std::unique_ptr<AppCacheURLRequestJob> fallback_job( |
688 handler_->MaybeLoadFallbackForRedirect( | 678 handler_->MaybeLoadFallbackForRedirect( |
689 request_.get(), request_->context()->network_delegate(), | 679 request_.get(), request_->context()->network_delegate(), |
690 GURL("http://blah/redirect"))); | 680 GURL("http://blah/redirect"))); |
691 EXPECT_FALSE(fallback_job); | 681 EXPECT_FALSE(fallback_job); |
(...skipping 12 matching lines...) Expand all Loading... |
704 // A sub-resource load where the resource is in a network namespace, | 694 // A sub-resource load where the resource is in a network namespace, |
705 // should result in the system using a 'real' job to do the network | 695 // should result in the system using a 'real' job to do the network |
706 // retrieval. | 696 // retrieval. |
707 host_->AssociateCompleteCache(MakeNewCache()); | 697 host_->AssociateCompleteCache(MakeNewCache()); |
708 | 698 |
709 mock_storage()->SimulateFindSubResource( | 699 mock_storage()->SimulateFindSubResource( |
710 AppCacheEntry(), AppCacheEntry(), true); | 700 AppCacheEntry(), AppCacheEntry(), true); |
711 | 701 |
712 request_ = empty_context_->CreateRequest(GURL("http://blah/"), | 702 request_ = empty_context_->CreateRequest(GURL("http://blah/"), |
713 net::DEFAULT_PRIORITY, &delegate_); | 703 net::DEFAULT_PRIORITY, &delegate_); |
714 handler_.reset(host_->CreateRequestHandler(request_.get(), | 704 handler_ = host_->CreateRequestHandler(request_.get(), |
715 RESOURCE_TYPE_SUB_RESOURCE, | 705 RESOURCE_TYPE_SUB_RESOURCE, false); |
716 false)); | |
717 EXPECT_TRUE(handler_.get()); | 706 EXPECT_TRUE(handler_.get()); |
718 job_.reset(handler_->MaybeLoadResource( | 707 job_.reset(handler_->MaybeLoadResource( |
719 request_.get(), request_->context()->network_delegate())); | 708 request_.get(), request_->context()->network_delegate())); |
720 EXPECT_FALSE(job_.get()); | 709 EXPECT_FALSE(job_.get()); |
721 | 710 |
722 std::unique_ptr<AppCacheURLRequestJob> fallback_job( | 711 std::unique_ptr<AppCacheURLRequestJob> fallback_job( |
723 handler_->MaybeLoadFallbackForRedirect( | 712 handler_->MaybeLoadFallbackForRedirect( |
724 request_.get(), request_->context()->network_delegate(), | 713 request_.get(), request_->context()->network_delegate(), |
725 GURL("http://blah/redirect"))); | 714 GURL("http://blah/redirect"))); |
726 EXPECT_FALSE(fallback_job); | 715 EXPECT_FALSE(fallback_job); |
727 fallback_job.reset(handler_->MaybeLoadFallbackForResponse( | 716 fallback_job.reset(handler_->MaybeLoadFallbackForResponse( |
728 request_.get(), request_->context()->network_delegate())); | 717 request_.get(), request_->context()->network_delegate())); |
729 EXPECT_FALSE(fallback_job); | 718 EXPECT_FALSE(fallback_job); |
730 | 719 |
731 TestFinished(); | 720 TestFinished(); |
732 } | 721 } |
733 | 722 |
734 // DestroyedHost ----------------------------- | 723 // DestroyedHost ----------------------------- |
735 | 724 |
736 void DestroyedHost() { | 725 void DestroyedHost() { |
737 host_->AssociateCompleteCache(MakeNewCache()); | 726 host_->AssociateCompleteCache(MakeNewCache()); |
738 | 727 |
739 mock_storage()->SimulateFindSubResource( | 728 mock_storage()->SimulateFindSubResource( |
740 AppCacheEntry(AppCacheEntry::EXPLICIT, 1), AppCacheEntry(), false); | 729 AppCacheEntry(AppCacheEntry::EXPLICIT, 1), AppCacheEntry(), false); |
741 | 730 |
742 request_ = empty_context_->CreateRequest(GURL("http://blah/"), | 731 request_ = empty_context_->CreateRequest(GURL("http://blah/"), |
743 net::DEFAULT_PRIORITY, &delegate_); | 732 net::DEFAULT_PRIORITY, &delegate_); |
744 handler_.reset(host_->CreateRequestHandler(request_.get(), | 733 handler_ = host_->CreateRequestHandler(request_.get(), |
745 RESOURCE_TYPE_SUB_RESOURCE, | 734 RESOURCE_TYPE_SUB_RESOURCE, false); |
746 false)); | |
747 EXPECT_TRUE(handler_.get()); | 735 EXPECT_TRUE(handler_.get()); |
748 | 736 |
749 backend_impl_->UnregisterHost(1); | 737 backend_impl_->UnregisterHost(1); |
750 host_ = NULL; | 738 host_ = NULL; |
751 | 739 |
752 EXPECT_FALSE(handler_->MaybeLoadResource( | 740 EXPECT_FALSE(handler_->MaybeLoadResource( |
753 request_.get(), request_->context()->network_delegate())); | 741 request_.get(), request_->context()->network_delegate())); |
754 EXPECT_FALSE(handler_->MaybeLoadFallbackForRedirect( | 742 EXPECT_FALSE(handler_->MaybeLoadFallbackForRedirect( |
755 request_.get(), | 743 request_.get(), |
756 request_->context()->network_delegate(), | 744 request_->context()->network_delegate(), |
757 GURL("http://blah/redirect"))); | 745 GURL("http://blah/redirect"))); |
758 EXPECT_FALSE(handler_->MaybeLoadFallbackForResponse( | 746 EXPECT_FALSE(handler_->MaybeLoadFallbackForResponse( |
759 request_.get(), request_->context()->network_delegate())); | 747 request_.get(), request_->context()->network_delegate())); |
760 | 748 |
761 TestFinished(); | 749 TestFinished(); |
762 } | 750 } |
763 | 751 |
764 // DestroyedHostWithWaitingJob ----------------------------- | 752 // DestroyedHostWithWaitingJob ----------------------------- |
765 | 753 |
766 void DestroyedHostWithWaitingJob() { | 754 void DestroyedHostWithWaitingJob() { |
767 // Precondition, the host is waiting on cache selection. | 755 // Precondition, the host is waiting on cache selection. |
768 host_->pending_selected_cache_id_ = 1; | 756 host_->pending_selected_cache_id_ = 1; |
769 | 757 |
770 request_ = empty_context_->CreateRequest(GURL("http://blah/"), | 758 request_ = empty_context_->CreateRequest(GURL("http://blah/"), |
771 net::DEFAULT_PRIORITY, &delegate_); | 759 net::DEFAULT_PRIORITY, &delegate_); |
772 handler_.reset(host_->CreateRequestHandler(request_.get(), | 760 handler_ = host_->CreateRequestHandler(request_.get(), |
773 RESOURCE_TYPE_SUB_RESOURCE, | 761 RESOURCE_TYPE_SUB_RESOURCE, false); |
774 false)); | |
775 EXPECT_TRUE(handler_.get()); | 762 EXPECT_TRUE(handler_.get()); |
776 | 763 |
777 job_.reset(handler_->MaybeLoadResource( | 764 job_.reset(handler_->MaybeLoadResource( |
778 request_.get(), request_->context()->network_delegate())); | 765 request_.get(), request_->context()->network_delegate())); |
779 EXPECT_TRUE(job_.get()); | 766 EXPECT_TRUE(job_.get()); |
780 EXPECT_TRUE(job_->is_waiting()); | 767 EXPECT_TRUE(job_->is_waiting()); |
781 | 768 |
782 backend_impl_->UnregisterHost(1); | 769 backend_impl_->UnregisterHost(1); |
783 host_ = NULL; | 770 host_ = NULL; |
784 EXPECT_TRUE(job_->has_been_killed()); | 771 EXPECT_TRUE(job_->has_been_killed()); |
(...skipping 13 matching lines...) Expand all Loading... |
798 // DestroyedService ----------------------------- | 785 // DestroyedService ----------------------------- |
799 | 786 |
800 void DestroyedService() { | 787 void DestroyedService() { |
801 host_->AssociateCompleteCache(MakeNewCache()); | 788 host_->AssociateCompleteCache(MakeNewCache()); |
802 | 789 |
803 mock_storage()->SimulateFindSubResource( | 790 mock_storage()->SimulateFindSubResource( |
804 AppCacheEntry(AppCacheEntry::EXPLICIT, 1), AppCacheEntry(), false); | 791 AppCacheEntry(AppCacheEntry::EXPLICIT, 1), AppCacheEntry(), false); |
805 | 792 |
806 request_ = empty_context_->CreateRequest(GURL("http://blah/"), | 793 request_ = empty_context_->CreateRequest(GURL("http://blah/"), |
807 net::DEFAULT_PRIORITY, &delegate_); | 794 net::DEFAULT_PRIORITY, &delegate_); |
808 handler_.reset(host_->CreateRequestHandler(request_.get(), | 795 handler_ = host_->CreateRequestHandler(request_.get(), |
809 RESOURCE_TYPE_SUB_RESOURCE, | 796 RESOURCE_TYPE_SUB_RESOURCE, false); |
810 false)); | |
811 EXPECT_TRUE(handler_.get()); | 797 EXPECT_TRUE(handler_.get()); |
812 job_.reset(handler_->MaybeLoadResource( | 798 job_.reset(handler_->MaybeLoadResource( |
813 request_.get(), request_->context()->network_delegate())); | 799 request_.get(), request_->context()->network_delegate())); |
814 EXPECT_TRUE(job_.get()); | 800 EXPECT_TRUE(job_.get()); |
815 | 801 |
816 backend_impl_.reset(); | 802 backend_impl_.reset(); |
817 mock_frontend_.reset(); | 803 mock_frontend_.reset(); |
818 mock_service_.reset(); | 804 mock_service_.reset(); |
819 mock_policy_.reset(); | 805 mock_policy_.reset(); |
820 host_ = NULL; | 806 host_ = NULL; |
821 | 807 |
822 EXPECT_TRUE(job_->has_been_killed()); | 808 EXPECT_TRUE(job_->has_been_killed()); |
823 EXPECT_FALSE(handler_->MaybeLoadResource( | 809 EXPECT_FALSE(handler_->MaybeLoadResource( |
824 request_.get(), request_->context()->network_delegate())); | 810 request_.get(), request_->context()->network_delegate())); |
825 EXPECT_FALSE(handler_->MaybeLoadFallbackForRedirect( | 811 EXPECT_FALSE(handler_->MaybeLoadFallbackForRedirect( |
826 request_.get(), | 812 request_.get(), |
827 request_->context()->network_delegate(), | 813 request_->context()->network_delegate(), |
828 GURL("http://blah/redirect"))); | 814 GURL("http://blah/redirect"))); |
829 EXPECT_FALSE(handler_->MaybeLoadFallbackForResponse( | 815 EXPECT_FALSE(handler_->MaybeLoadFallbackForResponse( |
830 request_.get(), request_->context()->network_delegate())); | 816 request_.get(), request_->context()->network_delegate())); |
831 | 817 |
832 TestFinished(); | 818 TestFinished(); |
833 } | 819 } |
834 | 820 |
835 void DestroyedServiceWithCrossSiteNav() { | 821 void DestroyedServiceWithCrossSiteNav() { |
836 request_ = empty_context_->CreateRequest(GURL("http://blah/"), | 822 request_ = empty_context_->CreateRequest(GURL("http://blah/"), |
837 net::DEFAULT_PRIORITY, &delegate_); | 823 net::DEFAULT_PRIORITY, &delegate_); |
838 handler_.reset(host_->CreateRequestHandler(request_.get(), | 824 handler_ = host_->CreateRequestHandler(request_.get(), |
839 RESOURCE_TYPE_MAIN_FRAME, | 825 RESOURCE_TYPE_MAIN_FRAME, false); |
840 false)); | |
841 EXPECT_TRUE(handler_.get()); | 826 EXPECT_TRUE(handler_.get()); |
842 handler_->PrepareForCrossSiteTransfer(backend_impl_->process_id()); | 827 handler_->PrepareForCrossSiteTransfer(backend_impl_->process_id()); |
843 EXPECT_TRUE(handler_->host_for_cross_site_transfer_.get()); | 828 EXPECT_TRUE(handler_->host_for_cross_site_transfer_.get()); |
844 | 829 |
845 backend_impl_.reset(); | 830 backend_impl_.reset(); |
846 mock_frontend_.reset(); | 831 mock_frontend_.reset(); |
847 mock_service_.reset(); | 832 mock_service_.reset(); |
848 mock_policy_.reset(); | 833 mock_policy_.reset(); |
849 host_ = NULL; | 834 host_ = NULL; |
850 | 835 |
(...skipping 11 matching lines...) Expand all Loading... |
862 } | 847 } |
863 | 848 |
864 // UnsupportedScheme ----------------------------- | 849 // UnsupportedScheme ----------------------------- |
865 | 850 |
866 void UnsupportedScheme() { | 851 void UnsupportedScheme() { |
867 // Precondition, the host is waiting on cache selection. | 852 // Precondition, the host is waiting on cache selection. |
868 host_->pending_selected_cache_id_ = 1; | 853 host_->pending_selected_cache_id_ = 1; |
869 | 854 |
870 request_ = empty_context_->CreateRequest(GURL("ftp://blah/"), | 855 request_ = empty_context_->CreateRequest(GURL("ftp://blah/"), |
871 net::DEFAULT_PRIORITY, &delegate_); | 856 net::DEFAULT_PRIORITY, &delegate_); |
872 handler_.reset(host_->CreateRequestHandler(request_.get(), | 857 handler_ = host_->CreateRequestHandler(request_.get(), |
873 RESOURCE_TYPE_SUB_RESOURCE, | 858 RESOURCE_TYPE_SUB_RESOURCE, false); |
874 false)); | |
875 EXPECT_TRUE(handler_.get()); // we could redirect to http (conceivably) | 859 EXPECT_TRUE(handler_.get()); // we could redirect to http (conceivably) |
876 | 860 |
877 EXPECT_FALSE(handler_->MaybeLoadResource( | 861 EXPECT_FALSE(handler_->MaybeLoadResource( |
878 request_.get(), request_->context()->network_delegate())); | 862 request_.get(), request_->context()->network_delegate())); |
879 EXPECT_FALSE(handler_->MaybeLoadFallbackForRedirect( | 863 EXPECT_FALSE(handler_->MaybeLoadFallbackForRedirect( |
880 request_.get(), | 864 request_.get(), |
881 request_->context()->network_delegate(), | 865 request_->context()->network_delegate(), |
882 GURL("ftp://blah/redirect"))); | 866 GURL("ftp://blah/redirect"))); |
883 EXPECT_FALSE(handler_->MaybeLoadFallbackForResponse( | 867 EXPECT_FALSE(handler_->MaybeLoadFallbackForResponse( |
884 request_.get(), request_->context()->network_delegate())); | 868 request_.get(), request_->context()->network_delegate())); |
885 | 869 |
886 TestFinished(); | 870 TestFinished(); |
887 } | 871 } |
888 | 872 |
889 // CanceledRequest ----------------------------- | 873 // CanceledRequest ----------------------------- |
890 | 874 |
891 void CanceledRequest() { | 875 void CanceledRequest() { |
892 request_ = empty_context_->CreateRequest(GURL("http://blah/"), | 876 request_ = empty_context_->CreateRequest(GURL("http://blah/"), |
893 net::DEFAULT_PRIORITY, &delegate_); | 877 net::DEFAULT_PRIORITY, &delegate_); |
894 handler_.reset(host_->CreateRequestHandler(request_.get(), | 878 handler_ = host_->CreateRequestHandler(request_.get(), |
895 RESOURCE_TYPE_MAIN_FRAME, | 879 RESOURCE_TYPE_MAIN_FRAME, false); |
896 false)); | |
897 EXPECT_TRUE(handler_.get()); | 880 EXPECT_TRUE(handler_.get()); |
898 | 881 |
899 job_.reset(handler_->MaybeLoadResource( | 882 job_.reset(handler_->MaybeLoadResource( |
900 request_.get(), request_->context()->network_delegate())); | 883 request_.get(), request_->context()->network_delegate())); |
901 EXPECT_TRUE(job_.get()); | 884 EXPECT_TRUE(job_.get()); |
902 EXPECT_TRUE(job_->is_waiting()); | 885 EXPECT_TRUE(job_->is_waiting()); |
903 EXPECT_FALSE(job_->has_been_started()); | 886 EXPECT_FALSE(job_->has_been_started()); |
904 | 887 |
905 base::WeakPtr<AppCacheURLRequestJob> weak_job = job_->GetWeakPtr(); | 888 base::WeakPtr<AppCacheURLRequestJob> weak_job = job_->GetWeakPtr(); |
906 | 889 |
(...skipping 27 matching lines...) Expand all Loading... |
934 net::DEFAULT_PRIORITY, &delegate_); | 917 net::DEFAULT_PRIORITY, &delegate_); |
935 | 918 |
936 const int kParentHostId = host_->host_id(); | 919 const int kParentHostId = host_->host_id(); |
937 const int kWorkerHostId = 2; | 920 const int kWorkerHostId = 2; |
938 const int kAbandonedWorkerHostId = 3; | 921 const int kAbandonedWorkerHostId = 3; |
939 const int kNonExsitingHostId = 700; | 922 const int kNonExsitingHostId = 700; |
940 | 923 |
941 backend_impl_->RegisterHost(kWorkerHostId); | 924 backend_impl_->RegisterHost(kWorkerHostId); |
942 AppCacheHost* worker_host = backend_impl_->GetHost(kWorkerHostId); | 925 AppCacheHost* worker_host = backend_impl_->GetHost(kWorkerHostId); |
943 worker_host->SelectCacheForWorker(kParentHostId, kMockProcessId); | 926 worker_host->SelectCacheForWorker(kParentHostId, kMockProcessId); |
944 handler_.reset(worker_host->CreateRequestHandler( | 927 handler_ = worker_host->CreateRequestHandler( |
945 request_.get(), RESOURCE_TYPE_SHARED_WORKER, false)); | 928 request_.get(), RESOURCE_TYPE_SHARED_WORKER, false); |
946 EXPECT_TRUE(handler_.get()); | 929 EXPECT_TRUE(handler_.get()); |
947 // Verify that the handler is associated with the parent host. | 930 // Verify that the handler is associated with the parent host. |
948 EXPECT_EQ(host_, handler_->host_); | 931 EXPECT_EQ(host_, handler_->host_); |
949 | 932 |
950 // Create a new worker host, but associate it with a parent host that | 933 // Create a new worker host, but associate it with a parent host that |
951 // does not exists to simulate the host having been torn down. | 934 // does not exists to simulate the host having been torn down. |
952 backend_impl_->UnregisterHost(kWorkerHostId); | 935 backend_impl_->UnregisterHost(kWorkerHostId); |
953 backend_impl_->RegisterHost(kAbandonedWorkerHostId); | 936 backend_impl_->RegisterHost(kAbandonedWorkerHostId); |
954 worker_host = backend_impl_->GetHost(kAbandonedWorkerHostId); | 937 worker_host = backend_impl_->GetHost(kAbandonedWorkerHostId); |
955 EXPECT_EQ(NULL, backend_impl_->GetHost(kNonExsitingHostId)); | 938 EXPECT_EQ(NULL, backend_impl_->GetHost(kNonExsitingHostId)); |
956 worker_host->SelectCacheForWorker(kNonExsitingHostId, kMockProcessId); | 939 worker_host->SelectCacheForWorker(kNonExsitingHostId, kMockProcessId); |
957 handler_.reset(worker_host->CreateRequestHandler( | 940 handler_ = worker_host->CreateRequestHandler( |
958 request_.get(), RESOURCE_TYPE_SHARED_WORKER, false)); | 941 request_.get(), RESOURCE_TYPE_SHARED_WORKER, false); |
959 EXPECT_FALSE(handler_.get()); | 942 EXPECT_FALSE(handler_.get()); |
960 | 943 |
961 TestFinished(); | 944 TestFinished(); |
962 } | 945 } |
963 | 946 |
964 // MainResource_Blocked -------------------------------------------------- | 947 // MainResource_Blocked -------------------------------------------------- |
965 | 948 |
966 void MainResource_Blocked() { | 949 void MainResource_Blocked() { |
967 PushNextTask( | 950 PushNextTask( |
968 base::Bind(&AppCacheRequestHandlerTest::Verify_MainResource_Blocked, | 951 base::Bind(&AppCacheRequestHandlerTest::Verify_MainResource_Blocked, |
969 base::Unretained(this))); | 952 base::Unretained(this))); |
970 | 953 |
971 request_ = empty_context_->CreateRequest(GURL("http://blah/"), | 954 request_ = empty_context_->CreateRequest(GURL("http://blah/"), |
972 net::DEFAULT_PRIORITY, &delegate_); | 955 net::DEFAULT_PRIORITY, &delegate_); |
973 handler_.reset(host_->CreateRequestHandler(request_.get(), | 956 handler_ = host_->CreateRequestHandler(request_.get(), |
974 RESOURCE_TYPE_MAIN_FRAME, | 957 RESOURCE_TYPE_MAIN_FRAME, false); |
975 false)); | |
976 EXPECT_TRUE(handler_.get()); | 958 EXPECT_TRUE(handler_.get()); |
977 | 959 |
978 mock_policy_->can_load_return_value_ = false; | 960 mock_policy_->can_load_return_value_ = false; |
979 mock_storage()->SimulateFindMainResource( | 961 mock_storage()->SimulateFindMainResource( |
980 AppCacheEntry(AppCacheEntry::EXPLICIT, 1), | 962 AppCacheEntry(AppCacheEntry::EXPLICIT, 1), |
981 GURL(), AppCacheEntry(), | 963 GURL(), AppCacheEntry(), |
982 1, 2, GURL("http://blah/manifest/")); | 964 1, 2, GURL("http://blah/manifest/")); |
983 | 965 |
984 job_.reset(handler_->MaybeLoadResource( | 966 job_.reset(handler_->MaybeLoadResource( |
985 request_.get(), request_->context()->network_delegate())); | 967 request_.get(), request_->context()->network_delegate())); |
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1120 | 1102 |
1121 TEST_F(AppCacheRequestHandlerTest, WorkerRequest) { | 1103 TEST_F(AppCacheRequestHandlerTest, WorkerRequest) { |
1122 RunTestOnIOThread(&AppCacheRequestHandlerTest::WorkerRequest); | 1104 RunTestOnIOThread(&AppCacheRequestHandlerTest::WorkerRequest); |
1123 } | 1105 } |
1124 | 1106 |
1125 TEST_F(AppCacheRequestHandlerTest, MainResource_Blocked) { | 1107 TEST_F(AppCacheRequestHandlerTest, MainResource_Blocked) { |
1126 RunTestOnIOThread(&AppCacheRequestHandlerTest::MainResource_Blocked); | 1108 RunTestOnIOThread(&AppCacheRequestHandlerTest::MainResource_Blocked); |
1127 } | 1109 } |
1128 | 1110 |
1129 } // namespace content | 1111 } // namespace content |
OLD | NEW |