| 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 <stack> | 5 #include <stack> |
| 6 #include <string> | 6 #include <string> |
| 7 #include <vector> | 7 #include <vector> |
| 8 | 8 |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/bind_helpers.h" | 10 #include "base/bind_helpers.h" |
| (...skipping 247 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 258 | 258 |
| 259 // MainResource_Miss -------------------------------------------------- | 259 // MainResource_Miss -------------------------------------------------- |
| 260 | 260 |
| 261 void MainResource_Miss() { | 261 void MainResource_Miss() { |
| 262 PushNextTask( | 262 PushNextTask( |
| 263 base::Bind(&AppCacheRequestHandlerTest::Verify_MainResource_Miss, | 263 base::Bind(&AppCacheRequestHandlerTest::Verify_MainResource_Miss, |
| 264 base::Unretained(this))); | 264 base::Unretained(this))); |
| 265 | 265 |
| 266 request_.reset(new MockURLRequest(GURL("http://blah/"), &empty_context_)); | 266 request_.reset(new MockURLRequest(GURL("http://blah/"), &empty_context_)); |
| 267 handler_.reset(host_->CreateRequestHandler(request_.get(), | 267 handler_.reset(host_->CreateRequestHandler(request_.get(), |
| 268 ResourceType::MAIN_FRAME)); | 268 RESOURCE_TYPE_MAIN_FRAME)); |
| 269 EXPECT_TRUE(handler_.get()); | 269 EXPECT_TRUE(handler_.get()); |
| 270 | 270 |
| 271 job_ = handler_->MaybeLoadResource(request_.get(), | 271 job_ = handler_->MaybeLoadResource(request_.get(), |
| 272 request_->context()->network_delegate()); | 272 request_->context()->network_delegate()); |
| 273 EXPECT_TRUE(job_.get()); | 273 EXPECT_TRUE(job_.get()); |
| 274 EXPECT_TRUE(job_->is_waiting()); | 274 EXPECT_TRUE(job_->is_waiting()); |
| 275 | 275 |
| 276 // We have to wait for completion of storage->FindResponseForMainRequest. | 276 // We have to wait for completion of storage->FindResponseForMainRequest. |
| 277 ScheduleNextTask(); | 277 ScheduleNextTask(); |
| 278 } | 278 } |
| (...skipping 26 matching lines...) Expand all Loading... |
| 305 | 305 |
| 306 // MainResource_Hit -------------------------------------------------- | 306 // MainResource_Hit -------------------------------------------------- |
| 307 | 307 |
| 308 void MainResource_Hit() { | 308 void MainResource_Hit() { |
| 309 PushNextTask( | 309 PushNextTask( |
| 310 base::Bind(&AppCacheRequestHandlerTest::Verify_MainResource_Hit, | 310 base::Bind(&AppCacheRequestHandlerTest::Verify_MainResource_Hit, |
| 311 base::Unretained(this))); | 311 base::Unretained(this))); |
| 312 | 312 |
| 313 request_.reset(new MockURLRequest(GURL("http://blah/"), &empty_context_)); | 313 request_.reset(new MockURLRequest(GURL("http://blah/"), &empty_context_)); |
| 314 handler_.reset(host_->CreateRequestHandler(request_.get(), | 314 handler_.reset(host_->CreateRequestHandler(request_.get(), |
| 315 ResourceType::MAIN_FRAME)); | 315 RESOURCE_TYPE_MAIN_FRAME)); |
| 316 EXPECT_TRUE(handler_.get()); | 316 EXPECT_TRUE(handler_.get()); |
| 317 | 317 |
| 318 mock_storage()->SimulateFindMainResource( | 318 mock_storage()->SimulateFindMainResource( |
| 319 AppCacheEntry(AppCacheEntry::EXPLICIT, 1), | 319 AppCacheEntry(AppCacheEntry::EXPLICIT, 1), |
| 320 GURL(), AppCacheEntry(), | 320 GURL(), AppCacheEntry(), |
| 321 1, 2, GURL("http://blah/manifest/")); | 321 1, 2, GURL("http://blah/manifest/")); |
| 322 | 322 |
| 323 job_ = handler_->MaybeLoadResource(request_.get(), | 323 job_ = handler_->MaybeLoadResource(request_.get(), |
| 324 request_->context()->network_delegate()); | 324 request_->context()->network_delegate()); |
| 325 EXPECT_TRUE(job_.get()); | 325 EXPECT_TRUE(job_.get()); |
| (...skipping 27 matching lines...) Expand all Loading... |
| 353 | 353 |
| 354 // MainResource_Fallback -------------------------------------------------- | 354 // MainResource_Fallback -------------------------------------------------- |
| 355 | 355 |
| 356 void MainResource_Fallback() { | 356 void MainResource_Fallback() { |
| 357 PushNextTask( | 357 PushNextTask( |
| 358 base::Bind(&AppCacheRequestHandlerTest::Verify_MainResource_Fallback, | 358 base::Bind(&AppCacheRequestHandlerTest::Verify_MainResource_Fallback, |
| 359 base::Unretained(this))); | 359 base::Unretained(this))); |
| 360 | 360 |
| 361 request_.reset(new MockURLRequest(GURL("http://blah/"), &empty_context_)); | 361 request_.reset(new MockURLRequest(GURL("http://blah/"), &empty_context_)); |
| 362 handler_.reset(host_->CreateRequestHandler(request_.get(), | 362 handler_.reset(host_->CreateRequestHandler(request_.get(), |
| 363 ResourceType::MAIN_FRAME)); | 363 RESOURCE_TYPE_MAIN_FRAME)); |
| 364 EXPECT_TRUE(handler_.get()); | 364 EXPECT_TRUE(handler_.get()); |
| 365 | 365 |
| 366 mock_storage()->SimulateFindMainResource( | 366 mock_storage()->SimulateFindMainResource( |
| 367 AppCacheEntry(), | 367 AppCacheEntry(), |
| 368 GURL("http://blah/fallbackurl"), | 368 GURL("http://blah/fallbackurl"), |
| 369 AppCacheEntry(AppCacheEntry::EXPLICIT, 1), | 369 AppCacheEntry(AppCacheEntry::EXPLICIT, 1), |
| 370 1, 2, GURL("http://blah/manifest/")); | 370 1, 2, GURL("http://blah/manifest/")); |
| 371 | 371 |
| 372 job_ = handler_->MaybeLoadResource(request_.get(), | 372 job_ = handler_->MaybeLoadResource(request_.get(), |
| 373 request_->context()->network_delegate()); | 373 request_->context()->network_delegate()); |
| (...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 435 // MainResource_FallbackOverride -------------------------------------------- | 435 // MainResource_FallbackOverride -------------------------------------------- |
| 436 | 436 |
| 437 void MainResource_FallbackOverride() { | 437 void MainResource_FallbackOverride() { |
| 438 PushNextTask(base::Bind( | 438 PushNextTask(base::Bind( |
| 439 &AppCacheRequestHandlerTest::Verify_MainResource_FallbackOverride, | 439 &AppCacheRequestHandlerTest::Verify_MainResource_FallbackOverride, |
| 440 base::Unretained(this))); | 440 base::Unretained(this))); |
| 441 | 441 |
| 442 request_.reset(new MockURLRequest(GURL("http://blah/fallback-override"), | 442 request_.reset(new MockURLRequest(GURL("http://blah/fallback-override"), |
| 443 &empty_context_)); | 443 &empty_context_)); |
| 444 handler_.reset(host_->CreateRequestHandler(request_.get(), | 444 handler_.reset(host_->CreateRequestHandler(request_.get(), |
| 445 ResourceType::MAIN_FRAME)); | 445 RESOURCE_TYPE_MAIN_FRAME)); |
| 446 EXPECT_TRUE(handler_.get()); | 446 EXPECT_TRUE(handler_.get()); |
| 447 | 447 |
| 448 mock_storage()->SimulateFindMainResource( | 448 mock_storage()->SimulateFindMainResource( |
| 449 AppCacheEntry(), | 449 AppCacheEntry(), |
| 450 GURL("http://blah/fallbackurl"), | 450 GURL("http://blah/fallbackurl"), |
| 451 AppCacheEntry(AppCacheEntry::EXPLICIT, 1), | 451 AppCacheEntry(AppCacheEntry::EXPLICIT, 1), |
| 452 1, 2, GURL("http://blah/manifest/")); | 452 1, 2, GURL("http://blah/manifest/")); |
| 453 | 453 |
| 454 job_ = handler_->MaybeLoadResource(request_.get(), | 454 job_ = handler_->MaybeLoadResource(request_.get(), |
| 455 request_->context()->network_delegate()); | 455 request_->context()->network_delegate()); |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 487 EXPECT_FALSE(job_.get()); | 487 EXPECT_FALSE(job_.get()); |
| 488 | 488 |
| 489 TestFinished(); | 489 TestFinished(); |
| 490 } | 490 } |
| 491 | 491 |
| 492 // SubResource_Miss_WithNoCacheSelected ---------------------------------- | 492 // SubResource_Miss_WithNoCacheSelected ---------------------------------- |
| 493 | 493 |
| 494 void SubResource_Miss_WithNoCacheSelected() { | 494 void SubResource_Miss_WithNoCacheSelected() { |
| 495 request_.reset(new MockURLRequest(GURL("http://blah/"), &empty_context_)); | 495 request_.reset(new MockURLRequest(GURL("http://blah/"), &empty_context_)); |
| 496 handler_.reset(host_->CreateRequestHandler(request_.get(), | 496 handler_.reset(host_->CreateRequestHandler(request_.get(), |
| 497 ResourceType::SUB_RESOURCE)); | 497 RESOURCE_TYPE_SUB_RESOURCE)); |
| 498 | 498 |
| 499 // We avoid creating handler when possible, sub-resource requests are not | 499 // We avoid creating handler when possible, sub-resource requests are not |
| 500 // subject to retrieval from an appcache when there's no associated cache. | 500 // subject to retrieval from an appcache when there's no associated cache. |
| 501 EXPECT_FALSE(handler_.get()); | 501 EXPECT_FALSE(handler_.get()); |
| 502 | 502 |
| 503 TestFinished(); | 503 TestFinished(); |
| 504 } | 504 } |
| 505 | 505 |
| 506 // SubResource_Miss_WithCacheSelected ---------------------------------- | 506 // SubResource_Miss_WithCacheSelected ---------------------------------- |
| 507 | 507 |
| 508 void SubResource_Miss_WithCacheSelected() { | 508 void SubResource_Miss_WithCacheSelected() { |
| 509 // A sub-resource load where the resource is not in an appcache, or | 509 // A sub-resource load where the resource is not in an appcache, or |
| 510 // in a network or fallback namespace, should result in a failed request. | 510 // in a network or fallback namespace, should result in a failed request. |
| 511 host_->AssociateCompleteCache(MakeNewCache()); | 511 host_->AssociateCompleteCache(MakeNewCache()); |
| 512 | 512 |
| 513 request_.reset(new MockURLRequest(GURL("http://blah/"), &empty_context_)); | 513 request_.reset(new MockURLRequest(GURL("http://blah/"), &empty_context_)); |
| 514 handler_.reset(host_->CreateRequestHandler(request_.get(), | 514 handler_.reset(host_->CreateRequestHandler(request_.get(), |
| 515 ResourceType::SUB_RESOURCE)); | 515 RESOURCE_TYPE_SUB_RESOURCE)); |
| 516 EXPECT_TRUE(handler_.get()); | 516 EXPECT_TRUE(handler_.get()); |
| 517 | 517 |
| 518 job_ = handler_->MaybeLoadResource(request_.get(), | 518 job_ = handler_->MaybeLoadResource(request_.get(), |
| 519 request_->context()->network_delegate()); | 519 request_->context()->network_delegate()); |
| 520 EXPECT_TRUE(job_.get()); | 520 EXPECT_TRUE(job_.get()); |
| 521 EXPECT_TRUE(job_->is_delivering_error_response()); | 521 EXPECT_TRUE(job_->is_delivering_error_response()); |
| 522 | 522 |
| 523 AppCacheURLRequestJob* fallback_job; | 523 AppCacheURLRequestJob* fallback_job; |
| 524 fallback_job = handler_->MaybeLoadFallbackForRedirect( | 524 fallback_job = handler_->MaybeLoadFallbackForRedirect( |
| 525 request_.get(), | 525 request_.get(), |
| (...skipping 10 matching lines...) Expand all Loading... |
| 536 // SubResource_Miss_WithWaitForCacheSelection ----------------------------- | 536 // SubResource_Miss_WithWaitForCacheSelection ----------------------------- |
| 537 | 537 |
| 538 void SubResource_Miss_WithWaitForCacheSelection() { | 538 void SubResource_Miss_WithWaitForCacheSelection() { |
| 539 // Precondition, the host is waiting on cache selection. | 539 // Precondition, the host is waiting on cache selection. |
| 540 scoped_refptr<AppCache> cache(MakeNewCache()); | 540 scoped_refptr<AppCache> cache(MakeNewCache()); |
| 541 host_->pending_selected_cache_id_ = cache->cache_id(); | 541 host_->pending_selected_cache_id_ = cache->cache_id(); |
| 542 host_->set_preferred_manifest_url(cache->owning_group()->manifest_url()); | 542 host_->set_preferred_manifest_url(cache->owning_group()->manifest_url()); |
| 543 | 543 |
| 544 request_.reset(new MockURLRequest(GURL("http://blah/"), &empty_context_)); | 544 request_.reset(new MockURLRequest(GURL("http://blah/"), &empty_context_)); |
| 545 handler_.reset(host_->CreateRequestHandler(request_.get(), | 545 handler_.reset(host_->CreateRequestHandler(request_.get(), |
| 546 ResourceType::SUB_RESOURCE)); | 546 RESOURCE_TYPE_SUB_RESOURCE)); |
| 547 EXPECT_TRUE(handler_.get()); | 547 EXPECT_TRUE(handler_.get()); |
| 548 job_ = handler_->MaybeLoadResource(request_.get(), | 548 job_ = handler_->MaybeLoadResource(request_.get(), |
| 549 request_->context()->network_delegate()); | 549 request_->context()->network_delegate()); |
| 550 EXPECT_TRUE(job_.get()); | 550 EXPECT_TRUE(job_.get()); |
| 551 EXPECT_TRUE(job_->is_waiting()); | 551 EXPECT_TRUE(job_->is_waiting()); |
| 552 | 552 |
| 553 host_->FinishCacheSelection(cache.get(), NULL); | 553 host_->FinishCacheSelection(cache.get(), NULL); |
| 554 EXPECT_FALSE(job_->is_waiting()); | 554 EXPECT_FALSE(job_->is_waiting()); |
| 555 EXPECT_TRUE(job_->is_delivering_error_response()); | 555 EXPECT_TRUE(job_->is_delivering_error_response()); |
| 556 | 556 |
| (...skipping 13 matching lines...) Expand all Loading... |
| 570 // SubResource_Hit ----------------------------- | 570 // SubResource_Hit ----------------------------- |
| 571 | 571 |
| 572 void SubResource_Hit() { | 572 void SubResource_Hit() { |
| 573 host_->AssociateCompleteCache(MakeNewCache()); | 573 host_->AssociateCompleteCache(MakeNewCache()); |
| 574 | 574 |
| 575 mock_storage()->SimulateFindSubResource( | 575 mock_storage()->SimulateFindSubResource( |
| 576 AppCacheEntry(AppCacheEntry::EXPLICIT, 1), AppCacheEntry(), false); | 576 AppCacheEntry(AppCacheEntry::EXPLICIT, 1), AppCacheEntry(), false); |
| 577 | 577 |
| 578 request_.reset(new MockURLRequest(GURL("http://blah/"), &empty_context_)); | 578 request_.reset(new MockURLRequest(GURL("http://blah/"), &empty_context_)); |
| 579 handler_.reset(host_->CreateRequestHandler(request_.get(), | 579 handler_.reset(host_->CreateRequestHandler(request_.get(), |
| 580 ResourceType::SUB_RESOURCE)); | 580 RESOURCE_TYPE_SUB_RESOURCE)); |
| 581 EXPECT_TRUE(handler_.get()); | 581 EXPECT_TRUE(handler_.get()); |
| 582 job_ = handler_->MaybeLoadResource(request_.get(), | 582 job_ = handler_->MaybeLoadResource(request_.get(), |
| 583 request_->context()->network_delegate()); | 583 request_->context()->network_delegate()); |
| 584 EXPECT_TRUE(job_.get()); | 584 EXPECT_TRUE(job_.get()); |
| 585 EXPECT_TRUE(job_->is_delivering_appcache_response()); | 585 EXPECT_TRUE(job_->is_delivering_appcache_response()); |
| 586 | 586 |
| 587 AppCacheURLRequestJob* fallback_job; | 587 AppCacheURLRequestJob* fallback_job; |
| 588 fallback_job = handler_->MaybeLoadFallbackForRedirect( | 588 fallback_job = handler_->MaybeLoadFallbackForRedirect( |
| 589 request_.get(), | 589 request_.get(), |
| 590 request_->context()->network_delegate(), | 590 request_->context()->network_delegate(), |
| (...skipping 11 matching lines...) Expand all Loading... |
| 602 void SubResource_RedirectFallback() { | 602 void SubResource_RedirectFallback() { |
| 603 // Redirects to resources in the a different origin are subject to | 603 // Redirects to resources in the a different origin are subject to |
| 604 // fallback namespaces. | 604 // fallback namespaces. |
| 605 host_->AssociateCompleteCache(MakeNewCache()); | 605 host_->AssociateCompleteCache(MakeNewCache()); |
| 606 | 606 |
| 607 mock_storage()->SimulateFindSubResource( | 607 mock_storage()->SimulateFindSubResource( |
| 608 AppCacheEntry(), AppCacheEntry(AppCacheEntry::EXPLICIT, 1), false); | 608 AppCacheEntry(), AppCacheEntry(AppCacheEntry::EXPLICIT, 1), false); |
| 609 | 609 |
| 610 request_.reset(new MockURLRequest(GURL("http://blah/"), &empty_context_)); | 610 request_.reset(new MockURLRequest(GURL("http://blah/"), &empty_context_)); |
| 611 handler_.reset(host_->CreateRequestHandler(request_.get(), | 611 handler_.reset(host_->CreateRequestHandler(request_.get(), |
| 612 ResourceType::SUB_RESOURCE)); | 612 RESOURCE_TYPE_SUB_RESOURCE)); |
| 613 EXPECT_TRUE(handler_.get()); | 613 EXPECT_TRUE(handler_.get()); |
| 614 job_ = handler_->MaybeLoadResource(request_.get(), | 614 job_ = handler_->MaybeLoadResource(request_.get(), |
| 615 request_->context()->network_delegate()); | 615 request_->context()->network_delegate()); |
| 616 EXPECT_FALSE(job_.get()); | 616 EXPECT_FALSE(job_.get()); |
| 617 | 617 |
| 618 job_ = handler_->MaybeLoadFallbackForRedirect( | 618 job_ = handler_->MaybeLoadFallbackForRedirect( |
| 619 request_.get(), | 619 request_.get(), |
| 620 request_->context()->network_delegate(), | 620 request_->context()->network_delegate(), |
| 621 GURL("http://not_blah/redirect")); | 621 GURL("http://not_blah/redirect")); |
| 622 EXPECT_TRUE(job_.get()); | 622 EXPECT_TRUE(job_.get()); |
| (...skipping 12 matching lines...) Expand all Loading... |
| 635 void SubResource_NoRedirectFallback() { | 635 void SubResource_NoRedirectFallback() { |
| 636 // Redirects to resources in the same-origin are not subject to | 636 // Redirects to resources in the same-origin are not subject to |
| 637 // fallback namespaces. | 637 // fallback namespaces. |
| 638 host_->AssociateCompleteCache(MakeNewCache()); | 638 host_->AssociateCompleteCache(MakeNewCache()); |
| 639 | 639 |
| 640 mock_storage()->SimulateFindSubResource( | 640 mock_storage()->SimulateFindSubResource( |
| 641 AppCacheEntry(), AppCacheEntry(AppCacheEntry::EXPLICIT, 1), false); | 641 AppCacheEntry(), AppCacheEntry(AppCacheEntry::EXPLICIT, 1), false); |
| 642 | 642 |
| 643 request_.reset(new MockURLRequest(GURL("http://blah/"), &empty_context_)); | 643 request_.reset(new MockURLRequest(GURL("http://blah/"), &empty_context_)); |
| 644 handler_.reset(host_->CreateRequestHandler(request_.get(), | 644 handler_.reset(host_->CreateRequestHandler(request_.get(), |
| 645 ResourceType::SUB_RESOURCE)); | 645 RESOURCE_TYPE_SUB_RESOURCE)); |
| 646 EXPECT_TRUE(handler_.get()); | 646 EXPECT_TRUE(handler_.get()); |
| 647 job_ = handler_->MaybeLoadResource(request_.get(), | 647 job_ = handler_->MaybeLoadResource(request_.get(), |
| 648 request_->context()->network_delegate()); | 648 request_->context()->network_delegate()); |
| 649 EXPECT_FALSE(job_.get()); | 649 EXPECT_FALSE(job_.get()); |
| 650 | 650 |
| 651 AppCacheURLRequestJob* fallback_job; | 651 AppCacheURLRequestJob* fallback_job; |
| 652 fallback_job = handler_->MaybeLoadFallbackForRedirect( | 652 fallback_job = handler_->MaybeLoadFallbackForRedirect( |
| 653 request_.get(), | 653 request_.get(), |
| 654 request_->context()->network_delegate(), | 654 request_->context()->network_delegate(), |
| 655 GURL("http://blah/redirect")); | 655 GURL("http://blah/redirect")); |
| (...skipping 13 matching lines...) Expand all Loading... |
| 669 // A sub-resource load where the resource is in a network namespace, | 669 // A sub-resource load where the resource is in a network namespace, |
| 670 // should result in the system using a 'real' job to do the network | 670 // should result in the system using a 'real' job to do the network |
| 671 // retrieval. | 671 // retrieval. |
| 672 host_->AssociateCompleteCache(MakeNewCache()); | 672 host_->AssociateCompleteCache(MakeNewCache()); |
| 673 | 673 |
| 674 mock_storage()->SimulateFindSubResource( | 674 mock_storage()->SimulateFindSubResource( |
| 675 AppCacheEntry(), AppCacheEntry(), true); | 675 AppCacheEntry(), AppCacheEntry(), true); |
| 676 | 676 |
| 677 request_.reset(new MockURLRequest(GURL("http://blah/"), &empty_context_)); | 677 request_.reset(new MockURLRequest(GURL("http://blah/"), &empty_context_)); |
| 678 handler_.reset(host_->CreateRequestHandler(request_.get(), | 678 handler_.reset(host_->CreateRequestHandler(request_.get(), |
| 679 ResourceType::SUB_RESOURCE)); | 679 RESOURCE_TYPE_SUB_RESOURCE)); |
| 680 EXPECT_TRUE(handler_.get()); | 680 EXPECT_TRUE(handler_.get()); |
| 681 job_ = handler_->MaybeLoadResource(request_.get(), | 681 job_ = handler_->MaybeLoadResource(request_.get(), |
| 682 request_->context()->network_delegate()); | 682 request_->context()->network_delegate()); |
| 683 EXPECT_FALSE(job_.get()); | 683 EXPECT_FALSE(job_.get()); |
| 684 | 684 |
| 685 AppCacheURLRequestJob* fallback_job; | 685 AppCacheURLRequestJob* fallback_job; |
| 686 fallback_job = handler_->MaybeLoadFallbackForRedirect( | 686 fallback_job = handler_->MaybeLoadFallbackForRedirect( |
| 687 request_.get(), | 687 request_.get(), |
| 688 request_->context()->network_delegate(), | 688 request_->context()->network_delegate(), |
| 689 GURL("http://blah/redirect")); | 689 GURL("http://blah/redirect")); |
| 690 EXPECT_FALSE(fallback_job); | 690 EXPECT_FALSE(fallback_job); |
| 691 fallback_job = handler_->MaybeLoadFallbackForResponse( | 691 fallback_job = handler_->MaybeLoadFallbackForResponse( |
| 692 request_.get(), request_->context()->network_delegate()); | 692 request_.get(), request_->context()->network_delegate()); |
| 693 EXPECT_FALSE(fallback_job); | 693 EXPECT_FALSE(fallback_job); |
| 694 | 694 |
| 695 TestFinished(); | 695 TestFinished(); |
| 696 } | 696 } |
| 697 | 697 |
| 698 // DestroyedHost ----------------------------- | 698 // DestroyedHost ----------------------------- |
| 699 | 699 |
| 700 void DestroyedHost() { | 700 void DestroyedHost() { |
| 701 host_->AssociateCompleteCache(MakeNewCache()); | 701 host_->AssociateCompleteCache(MakeNewCache()); |
| 702 | 702 |
| 703 mock_storage()->SimulateFindSubResource( | 703 mock_storage()->SimulateFindSubResource( |
| 704 AppCacheEntry(AppCacheEntry::EXPLICIT, 1), AppCacheEntry(), false); | 704 AppCacheEntry(AppCacheEntry::EXPLICIT, 1), AppCacheEntry(), false); |
| 705 | 705 |
| 706 request_.reset(new MockURLRequest(GURL("http://blah/"), &empty_context_)); | 706 request_.reset(new MockURLRequest(GURL("http://blah/"), &empty_context_)); |
| 707 handler_.reset(host_->CreateRequestHandler(request_.get(), | 707 handler_.reset(host_->CreateRequestHandler(request_.get(), |
| 708 ResourceType::SUB_RESOURCE)); | 708 RESOURCE_TYPE_SUB_RESOURCE)); |
| 709 EXPECT_TRUE(handler_.get()); | 709 EXPECT_TRUE(handler_.get()); |
| 710 | 710 |
| 711 backend_impl_->UnregisterHost(1); | 711 backend_impl_->UnregisterHost(1); |
| 712 host_ = NULL; | 712 host_ = NULL; |
| 713 | 713 |
| 714 EXPECT_FALSE(handler_->MaybeLoadResource( | 714 EXPECT_FALSE(handler_->MaybeLoadResource( |
| 715 request_.get(), request_->context()->network_delegate())); | 715 request_.get(), request_->context()->network_delegate())); |
| 716 EXPECT_FALSE(handler_->MaybeLoadFallbackForRedirect( | 716 EXPECT_FALSE(handler_->MaybeLoadFallbackForRedirect( |
| 717 request_.get(), | 717 request_.get(), |
| 718 request_->context()->network_delegate(), | 718 request_->context()->network_delegate(), |
| 719 GURL("http://blah/redirect"))); | 719 GURL("http://blah/redirect"))); |
| 720 EXPECT_FALSE(handler_->MaybeLoadFallbackForResponse( | 720 EXPECT_FALSE(handler_->MaybeLoadFallbackForResponse( |
| 721 request_.get(), request_->context()->network_delegate())); | 721 request_.get(), request_->context()->network_delegate())); |
| 722 | 722 |
| 723 TestFinished(); | 723 TestFinished(); |
| 724 } | 724 } |
| 725 | 725 |
| 726 // DestroyedHostWithWaitingJob ----------------------------- | 726 // DestroyedHostWithWaitingJob ----------------------------- |
| 727 | 727 |
| 728 void DestroyedHostWithWaitingJob() { | 728 void DestroyedHostWithWaitingJob() { |
| 729 // Precondition, the host is waiting on cache selection. | 729 // Precondition, the host is waiting on cache selection. |
| 730 host_->pending_selected_cache_id_ = 1; | 730 host_->pending_selected_cache_id_ = 1; |
| 731 | 731 |
| 732 request_.reset(new MockURLRequest(GURL("http://blah/"), &empty_context_)); | 732 request_.reset(new MockURLRequest(GURL("http://blah/"), &empty_context_)); |
| 733 handler_.reset(host_->CreateRequestHandler(request_.get(), | 733 handler_.reset(host_->CreateRequestHandler(request_.get(), |
| 734 ResourceType::SUB_RESOURCE)); | 734 RESOURCE_TYPE_SUB_RESOURCE)); |
| 735 EXPECT_TRUE(handler_.get()); | 735 EXPECT_TRUE(handler_.get()); |
| 736 | 736 |
| 737 job_ = handler_->MaybeLoadResource(request_.get(), | 737 job_ = handler_->MaybeLoadResource(request_.get(), |
| 738 request_->context()->network_delegate()); | 738 request_->context()->network_delegate()); |
| 739 EXPECT_TRUE(job_.get()); | 739 EXPECT_TRUE(job_.get()); |
| 740 EXPECT_TRUE(job_->is_waiting()); | 740 EXPECT_TRUE(job_->is_waiting()); |
| 741 | 741 |
| 742 backend_impl_->UnregisterHost(1); | 742 backend_impl_->UnregisterHost(1); |
| 743 host_ = NULL; | 743 host_ = NULL; |
| 744 EXPECT_TRUE(job_->has_been_killed()); | 744 EXPECT_TRUE(job_->has_been_killed()); |
| (...skipping 11 matching lines...) Expand all Loading... |
| 756 } | 756 } |
| 757 | 757 |
| 758 // UnsupportedScheme ----------------------------- | 758 // UnsupportedScheme ----------------------------- |
| 759 | 759 |
| 760 void UnsupportedScheme() { | 760 void UnsupportedScheme() { |
| 761 // Precondition, the host is waiting on cache selection. | 761 // Precondition, the host is waiting on cache selection. |
| 762 host_->pending_selected_cache_id_ = 1; | 762 host_->pending_selected_cache_id_ = 1; |
| 763 | 763 |
| 764 request_.reset(new MockURLRequest(GURL("ftp://blah/"), &empty_context_)); | 764 request_.reset(new MockURLRequest(GURL("ftp://blah/"), &empty_context_)); |
| 765 handler_.reset(host_->CreateRequestHandler(request_.get(), | 765 handler_.reset(host_->CreateRequestHandler(request_.get(), |
| 766 ResourceType::SUB_RESOURCE)); | 766 RESOURCE_TYPE_SUB_RESOURCE)); |
| 767 EXPECT_TRUE(handler_.get()); // we could redirect to http (conceivably) | 767 EXPECT_TRUE(handler_.get()); // we could redirect to http (conceivably) |
| 768 | 768 |
| 769 EXPECT_FALSE(handler_->MaybeLoadResource( | 769 EXPECT_FALSE(handler_->MaybeLoadResource( |
| 770 request_.get(), request_->context()->network_delegate())); | 770 request_.get(), request_->context()->network_delegate())); |
| 771 EXPECT_FALSE(handler_->MaybeLoadFallbackForRedirect( | 771 EXPECT_FALSE(handler_->MaybeLoadFallbackForRedirect( |
| 772 request_.get(), | 772 request_.get(), |
| 773 request_->context()->network_delegate(), | 773 request_->context()->network_delegate(), |
| 774 GURL("ftp://blah/redirect"))); | 774 GURL("ftp://blah/redirect"))); |
| 775 EXPECT_FALSE(handler_->MaybeLoadFallbackForResponse( | 775 EXPECT_FALSE(handler_->MaybeLoadFallbackForResponse( |
| 776 request_.get(), request_->context()->network_delegate())); | 776 request_.get(), request_->context()->network_delegate())); |
| 777 | 777 |
| 778 TestFinished(); | 778 TestFinished(); |
| 779 } | 779 } |
| 780 | 780 |
| 781 // CanceledRequest ----------------------------- | 781 // CanceledRequest ----------------------------- |
| 782 | 782 |
| 783 void CanceledRequest() { | 783 void CanceledRequest() { |
| 784 request_.reset(new MockURLRequest(GURL("http://blah/"), &empty_context_)); | 784 request_.reset(new MockURLRequest(GURL("http://blah/"), &empty_context_)); |
| 785 handler_.reset(host_->CreateRequestHandler(request_.get(), | 785 handler_.reset(host_->CreateRequestHandler(request_.get(), |
| 786 ResourceType::MAIN_FRAME)); | 786 RESOURCE_TYPE_MAIN_FRAME)); |
| 787 EXPECT_TRUE(handler_.get()); | 787 EXPECT_TRUE(handler_.get()); |
| 788 | 788 |
| 789 job_ = handler_->MaybeLoadResource(request_.get(), | 789 job_ = handler_->MaybeLoadResource(request_.get(), |
| 790 request_->context()->network_delegate()); | 790 request_->context()->network_delegate()); |
| 791 EXPECT_TRUE(job_.get()); | 791 EXPECT_TRUE(job_.get()); |
| 792 EXPECT_TRUE(job_->is_waiting()); | 792 EXPECT_TRUE(job_->is_waiting()); |
| 793 EXPECT_FALSE(job_->has_been_started()); | 793 EXPECT_FALSE(job_->has_been_started()); |
| 794 | 794 |
| 795 job_factory_->SetJob(job_); | 795 job_factory_->SetJob(job_); |
| 796 request_->Start(); | 796 request_->Start(); |
| 797 EXPECT_TRUE(job_->has_been_started()); | 797 EXPECT_TRUE(job_->has_been_started()); |
| 798 | 798 |
| 799 request_->Cancel(); | 799 request_->Cancel(); |
| 800 EXPECT_TRUE(job_->has_been_killed()); | 800 EXPECT_TRUE(job_->has_been_killed()); |
| 801 | 801 |
| 802 EXPECT_FALSE(handler_->MaybeLoadFallbackForResponse( | 802 EXPECT_FALSE(handler_->MaybeLoadFallbackForResponse( |
| 803 request_.get(), request_->context()->network_delegate())); | 803 request_.get(), request_->context()->network_delegate())); |
| 804 | 804 |
| 805 TestFinished(); | 805 TestFinished(); |
| 806 } | 806 } |
| 807 | 807 |
| 808 // WorkerRequest ----------------------------- | 808 // WorkerRequest ----------------------------- |
| 809 | 809 |
| 810 void WorkerRequest() { | 810 void WorkerRequest() { |
| 811 EXPECT_TRUE(AppCacheRequestHandler::IsMainResourceType( | 811 EXPECT_TRUE(AppCacheRequestHandler::IsMainResourceType( |
| 812 ResourceType::MAIN_FRAME)); | 812 RESOURCE_TYPE_MAIN_FRAME)); |
| 813 EXPECT_TRUE(AppCacheRequestHandler::IsMainResourceType( | 813 EXPECT_TRUE(AppCacheRequestHandler::IsMainResourceType( |
| 814 ResourceType::SUB_FRAME)); | 814 RESOURCE_TYPE_SUB_FRAME)); |
| 815 EXPECT_TRUE(AppCacheRequestHandler::IsMainResourceType( | 815 EXPECT_TRUE(AppCacheRequestHandler::IsMainResourceType( |
| 816 ResourceType::SHARED_WORKER)); | 816 RESOURCE_TYPE_SHARED_WORKER)); |
| 817 EXPECT_FALSE(AppCacheRequestHandler::IsMainResourceType( | 817 EXPECT_FALSE(AppCacheRequestHandler::IsMainResourceType( |
| 818 ResourceType::WORKER)); | 818 RESOURCE_TYPE_WORKER)); |
| 819 | 819 |
| 820 request_.reset(new MockURLRequest(GURL("http://blah/"), &empty_context_)); | 820 request_.reset(new MockURLRequest(GURL("http://blah/"), &empty_context_)); |
| 821 | 821 |
| 822 const int kParentHostId = host_->host_id(); | 822 const int kParentHostId = host_->host_id(); |
| 823 const int kWorkerHostId = 2; | 823 const int kWorkerHostId = 2; |
| 824 const int kAbandonedWorkerHostId = 3; | 824 const int kAbandonedWorkerHostId = 3; |
| 825 const int kNonExsitingHostId = 700; | 825 const int kNonExsitingHostId = 700; |
| 826 | 826 |
| 827 backend_impl_->RegisterHost(kWorkerHostId); | 827 backend_impl_->RegisterHost(kWorkerHostId); |
| 828 AppCacheHost* worker_host = backend_impl_->GetHost(kWorkerHostId); | 828 AppCacheHost* worker_host = backend_impl_->GetHost(kWorkerHostId); |
| 829 worker_host->SelectCacheForWorker(kParentHostId, kMockProcessId); | 829 worker_host->SelectCacheForWorker(kParentHostId, kMockProcessId); |
| 830 handler_.reset(worker_host->CreateRequestHandler( | 830 handler_.reset(worker_host->CreateRequestHandler( |
| 831 request_.get(), ResourceType::SHARED_WORKER)); | 831 request_.get(), RESOURCE_TYPE_SHARED_WORKER)); |
| 832 EXPECT_TRUE(handler_.get()); | 832 EXPECT_TRUE(handler_.get()); |
| 833 // Verify that the handler is associated with the parent host. | 833 // Verify that the handler is associated with the parent host. |
| 834 EXPECT_EQ(host_, handler_->host_); | 834 EXPECT_EQ(host_, handler_->host_); |
| 835 | 835 |
| 836 // Create a new worker host, but associate it with a parent host that | 836 // Create a new worker host, but associate it with a parent host that |
| 837 // does not exists to simulate the host having been torn down. | 837 // does not exists to simulate the host having been torn down. |
| 838 backend_impl_->UnregisterHost(kWorkerHostId); | 838 backend_impl_->UnregisterHost(kWorkerHostId); |
| 839 backend_impl_->RegisterHost(kAbandonedWorkerHostId); | 839 backend_impl_->RegisterHost(kAbandonedWorkerHostId); |
| 840 worker_host = backend_impl_->GetHost(kAbandonedWorkerHostId); | 840 worker_host = backend_impl_->GetHost(kAbandonedWorkerHostId); |
| 841 EXPECT_EQ(NULL, backend_impl_->GetHost(kNonExsitingHostId)); | 841 EXPECT_EQ(NULL, backend_impl_->GetHost(kNonExsitingHostId)); |
| 842 worker_host->SelectCacheForWorker(kNonExsitingHostId, kMockProcessId); | 842 worker_host->SelectCacheForWorker(kNonExsitingHostId, kMockProcessId); |
| 843 handler_.reset(worker_host->CreateRequestHandler( | 843 handler_.reset(worker_host->CreateRequestHandler( |
| 844 request_.get(), ResourceType::SHARED_WORKER)); | 844 request_.get(), RESOURCE_TYPE_SHARED_WORKER)); |
| 845 EXPECT_FALSE(handler_.get()); | 845 EXPECT_FALSE(handler_.get()); |
| 846 | 846 |
| 847 TestFinished(); | 847 TestFinished(); |
| 848 } | 848 } |
| 849 | 849 |
| 850 // MainResource_Blocked -------------------------------------------------- | 850 // MainResource_Blocked -------------------------------------------------- |
| 851 | 851 |
| 852 void MainResource_Blocked() { | 852 void MainResource_Blocked() { |
| 853 PushNextTask( | 853 PushNextTask( |
| 854 base::Bind(&AppCacheRequestHandlerTest::Verify_MainResource_Blocked, | 854 base::Bind(&AppCacheRequestHandlerTest::Verify_MainResource_Blocked, |
| 855 base::Unretained(this))); | 855 base::Unretained(this))); |
| 856 | 856 |
| 857 request_.reset(new MockURLRequest(GURL("http://blah/"), &empty_context_)); | 857 request_.reset(new MockURLRequest(GURL("http://blah/"), &empty_context_)); |
| 858 handler_.reset(host_->CreateRequestHandler(request_.get(), | 858 handler_.reset(host_->CreateRequestHandler(request_.get(), |
| 859 ResourceType::MAIN_FRAME)); | 859 RESOURCE_TYPE_MAIN_FRAME)); |
| 860 EXPECT_TRUE(handler_.get()); | 860 EXPECT_TRUE(handler_.get()); |
| 861 | 861 |
| 862 mock_policy_->can_load_return_value_ = false; | 862 mock_policy_->can_load_return_value_ = false; |
| 863 mock_storage()->SimulateFindMainResource( | 863 mock_storage()->SimulateFindMainResource( |
| 864 AppCacheEntry(AppCacheEntry::EXPLICIT, 1), | 864 AppCacheEntry(AppCacheEntry::EXPLICIT, 1), |
| 865 GURL(), AppCacheEntry(), | 865 GURL(), AppCacheEntry(), |
| 866 1, 2, GURL("http://blah/manifest/")); | 866 1, 2, GURL("http://blah/manifest/")); |
| 867 | 867 |
| 868 job_ = handler_->MaybeLoadResource(request_.get(), | 868 job_ = handler_->MaybeLoadResource(request_.get(), |
| 869 request_->context()->network_delegate()); | 869 request_->context()->network_delegate()); |
| (...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 994 | 994 |
| 995 TEST_F(AppCacheRequestHandlerTest, WorkerRequest) { | 995 TEST_F(AppCacheRequestHandlerTest, WorkerRequest) { |
| 996 RunTestOnIOThread(&AppCacheRequestHandlerTest::WorkerRequest); | 996 RunTestOnIOThread(&AppCacheRequestHandlerTest::WorkerRequest); |
| 997 } | 997 } |
| 998 | 998 |
| 999 TEST_F(AppCacheRequestHandlerTest, MainResource_Blocked) { | 999 TEST_F(AppCacheRequestHandlerTest, MainResource_Blocked) { |
| 1000 RunTestOnIOThread(&AppCacheRequestHandlerTest::MainResource_Blocked); | 1000 RunTestOnIOThread(&AppCacheRequestHandlerTest::MainResource_Blocked); |
| 1001 } | 1001 } |
| 1002 | 1002 |
| 1003 } // namespace content | 1003 } // namespace content |
| OLD | NEW |