| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (c) 2013, Google Inc. All rights reserved. | 2 * Copyright (c) 2013, Google Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
| 6 * met: | 6 * met: |
| 7 * | 7 * |
| 8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
| (...skipping 475 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 486 } | 486 } |
| 487 | 487 |
| 488 TEST_F(ResourceFetcherTest, PreloadResourceTwice) { | 488 TEST_F(ResourceFetcherTest, PreloadResourceTwice) { |
| 489 ResourceFetcher* fetcher = ResourceFetcher::Create(Context()); | 489 ResourceFetcher* fetcher = ResourceFetcher::Create(Context()); |
| 490 | 490 |
| 491 KURL url(kParsedURLString, "http://127.0.0.1:8000/foo.png"); | 491 KURL url(kParsedURLString, "http://127.0.0.1:8000/foo.png"); |
| 492 RegisterMockedURLLoad(url); | 492 RegisterMockedURLLoad(url); |
| 493 | 493 |
| 494 FetchParameters fetch_params_original = | 494 FetchParameters fetch_params_original = |
| 495 FetchParameters(ResourceRequest(url), FetchInitiatorInfo()); | 495 FetchParameters(ResourceRequest(url), FetchInitiatorInfo()); |
| 496 fetch_params_original.SetLinkPreload(true); | |
| 497 Resource* resource = MockResource::Fetch(fetch_params_original, fetcher); | 496 Resource* resource = MockResource::Fetch(fetch_params_original, fetcher); |
| 498 ASSERT_TRUE(resource); | 497 ASSERT_TRUE(resource); |
| 499 EXPECT_TRUE(resource->IsLinkPreload()); | |
| 500 EXPECT_TRUE(fetcher->ContainsAsPreload(resource)); | |
| 501 Platform::Current()->GetURLLoaderMockFactory()->ServeAsynchronousRequests(); | 498 Platform::Current()->GetURLLoaderMockFactory()->ServeAsynchronousRequests(); |
| 499 fetcher->PreloadStarted(resource); |
| 502 | 500 |
| 503 FetchParameters fetch_params = | 501 FetchParameters fetch_params = |
| 504 FetchParameters(ResourceRequest(url), FetchInitiatorInfo()); | 502 FetchParameters(ResourceRequest(url), FetchInitiatorInfo()); |
| 505 fetch_params.SetLinkPreload(true); | |
| 506 Resource* new_resource = MockResource::Fetch(fetch_params, fetcher); | 503 Resource* new_resource = MockResource::Fetch(fetch_params, fetcher); |
| 507 EXPECT_EQ(resource, new_resource); | 504 EXPECT_EQ(resource, new_resource); |
| 508 EXPECT_TRUE(fetcher->ContainsAsPreload(resource)); | 505 fetcher->PreloadStarted(resource); |
| 509 | 506 |
| 510 fetcher->ClearPreloads(ResourceFetcher::kClearAllPreloads); | 507 fetcher->ClearPreloads(ResourceFetcher::kClearAllPreloads); |
| 511 EXPECT_FALSE(fetcher->ContainsAsPreload(resource)); | |
| 512 EXPECT_FALSE(GetMemoryCache()->Contains(resource)); | 508 EXPECT_FALSE(GetMemoryCache()->Contains(resource)); |
| 513 EXPECT_FALSE(resource->IsPreloaded()); | 509 EXPECT_FALSE(resource->IsPreloaded()); |
| 514 } | 510 } |
| 515 | 511 |
| 516 TEST_F(ResourceFetcherTest, LinkPreloadResourceAndUse) { | 512 TEST_F(ResourceFetcherTest, LinkPreloadResourceAndUse) { |
| 517 ResourceFetcher* fetcher = ResourceFetcher::Create(Context()); | 513 ResourceFetcher* fetcher = ResourceFetcher::Create(Context()); |
| 518 | 514 |
| 519 KURL url(kParsedURLString, "http://127.0.0.1:8000/foo.png"); | 515 KURL url(kParsedURLString, "http://127.0.0.1:8000/foo.png"); |
| 520 RegisterMockedURLLoad(url); | 516 RegisterMockedURLLoad(url); |
| 521 | 517 |
| 522 // Link preload preload scanner | 518 // Link preload preload scanner |
| 523 FetchParameters fetch_params_original = | 519 FetchParameters fetch_params_original = |
| 524 FetchParameters(ResourceRequest(url), FetchInitiatorInfo()); | 520 FetchParameters(ResourceRequest(url), FetchInitiatorInfo()); |
| 525 fetch_params_original.SetLinkPreload(true); | 521 fetch_params_original.SetLinkPreload(true); |
| 526 Resource* resource = MockResource::Fetch(fetch_params_original, fetcher); | 522 Resource* resource = MockResource::Fetch(fetch_params_original, fetcher); |
| 527 ASSERT_TRUE(resource); | 523 ASSERT_TRUE(resource); |
| 528 EXPECT_TRUE(resource->IsLinkPreload()); | 524 EXPECT_TRUE(resource->IsLinkPreload()); |
| 529 Platform::Current()->GetURLLoaderMockFactory()->ServeAsynchronousRequests(); | 525 Platform::Current()->GetURLLoaderMockFactory()->ServeAsynchronousRequests(); |
| 526 fetcher->PreloadStarted(resource); |
| 530 | 527 |
| 531 // Resource created by preload scanner | 528 // Resource created by preload scanner |
| 532 FetchParameters fetch_params_preload_scanner = | 529 FetchParameters fetch_params_preload_scanner = |
| 533 FetchParameters(ResourceRequest(url), FetchInitiatorInfo()); | 530 FetchParameters(ResourceRequest(url), FetchInitiatorInfo()); |
| 534 Resource* preload_scanner_resource = | 531 Resource* preload_scanner_resource = |
| 535 MockResource::Fetch(fetch_params_preload_scanner, fetcher); | 532 MockResource::Fetch(fetch_params_preload_scanner, fetcher); |
| 536 EXPECT_EQ(resource, preload_scanner_resource); | 533 EXPECT_EQ(resource, preload_scanner_resource); |
| 537 EXPECT_FALSE(resource->IsLinkPreload()); | 534 EXPECT_FALSE(resource->IsLinkPreload()); |
| 535 fetcher->PreloadStarted(resource); |
| 538 | 536 |
| 539 // Resource created by parser | 537 // Resource created by parser |
| 540 FetchParameters fetch_params = | 538 FetchParameters fetch_params = |
| 541 FetchParameters(ResourceRequest(url), FetchInitiatorInfo()); | 539 FetchParameters(ResourceRequest(url), FetchInitiatorInfo()); |
| 542 Resource* new_resource = MockResource::Fetch(fetch_params, fetcher); | 540 Resource* new_resource = MockResource::Fetch(fetch_params, fetcher); |
| 543 Persistent<MockResourceClient> client = new MockResourceClient(new_resource); | 541 Persistent<MockResourceClient> client = new MockResourceClient(new_resource); |
| 544 EXPECT_EQ(resource, new_resource); | 542 EXPECT_EQ(resource, new_resource); |
| 545 EXPECT_FALSE(resource->IsLinkPreload()); | 543 EXPECT_FALSE(resource->IsLinkPreload()); |
| 546 | 544 |
| 547 // DCL reached | 545 // DCL reached |
| 548 fetcher->ClearPreloads(ResourceFetcher::kClearSpeculativeMarkupPreloads); | 546 fetcher->ClearPreloads(ResourceFetcher::kClearSpeculativeMarkupPreloads); |
| 549 EXPECT_TRUE(GetMemoryCache()->Contains(resource)); | 547 EXPECT_TRUE(GetMemoryCache()->Contains(resource)); |
| 550 EXPECT_FALSE(resource->IsPreloaded()); | 548 EXPECT_FALSE(resource->IsPreloaded()); |
| 551 } | 549 } |
| 552 | 550 |
| 553 TEST_F(ResourceFetcherTest, PreloadMatchWithBypassingCache) { | 551 TEST_F(ResourceFetcherTest, LinkPreloadResourceMultipleFetchersAndUse) { |
| 554 ResourceFetcher* fetcher = ResourceFetcher::Create(Context()); | |
| 555 KURL url(kParsedURLString, "http://127.0.0.1:8000/foo.png"); | |
| 556 RegisterMockedURLLoad(url); | |
| 557 | |
| 558 FetchParameters fetch_params_original = | |
| 559 FetchParameters(ResourceRequest(url), FetchInitiatorInfo()); | |
| 560 fetch_params_original.SetLinkPreload(true); | |
| 561 Resource* resource = MockResource::Fetch(fetch_params_original, fetcher); | |
| 562 ASSERT_TRUE(resource); | |
| 563 EXPECT_TRUE(resource->IsLinkPreload()); | |
| 564 Platform::Current()->GetURLLoaderMockFactory()->ServeAsynchronousRequests(); | |
| 565 | |
| 566 FetchParameters fetch_params_second = | |
| 567 FetchParameters(ResourceRequest(url), FetchInitiatorInfo()); | |
| 568 fetch_params_second.MutableResourceRequest().SetCachePolicy( | |
| 569 WebCachePolicy::kBypassingCache); | |
| 570 Resource* second_resource = MockResource::Fetch(fetch_params_second, fetcher); | |
| 571 EXPECT_EQ(resource, second_resource); | |
| 572 EXPECT_FALSE(resource->IsLinkPreload()); | |
| 573 } | |
| 574 | |
| 575 TEST_F(ResourceFetcherTest, CrossFramePreloadMatchIsNotAllowed) { | |
| 576 ResourceFetcher* fetcher = ResourceFetcher::Create(Context()); | 552 ResourceFetcher* fetcher = ResourceFetcher::Create(Context()); |
| 577 ResourceFetcher* fetcher2 = ResourceFetcher::Create(Context()); | 553 ResourceFetcher* fetcher2 = ResourceFetcher::Create(Context()); |
| 578 | 554 |
| 579 KURL url(kParsedURLString, "http://127.0.0.1:8000/foo.png"); | 555 KURL url(kParsedURLString, "http://127.0.0.1:8000/foo.png"); |
| 580 RegisterMockedURLLoad(url); | 556 RegisterMockedURLLoad(url); |
| 581 | 557 |
| 582 FetchParameters fetch_params_original = | 558 FetchParameters fetch_params_original = |
| 583 FetchParameters(ResourceRequest(url), FetchInitiatorInfo()); | 559 FetchParameters(ResourceRequest(url), FetchInitiatorInfo()); |
| 584 fetch_params_original.SetLinkPreload(true); | 560 fetch_params_original.SetLinkPreload(true); |
| 585 Resource* resource = MockResource::Fetch(fetch_params_original, fetcher); | 561 Resource* resource = MockResource::Fetch(fetch_params_original, fetcher); |
| 586 ASSERT_TRUE(resource); | 562 ASSERT_TRUE(resource); |
| 587 EXPECT_TRUE(resource->IsLinkPreload()); | 563 EXPECT_TRUE(resource->IsLinkPreload()); |
| 588 Platform::Current()->GetURLLoaderMockFactory()->ServeAsynchronousRequests(); | 564 Platform::Current()->GetURLLoaderMockFactory()->ServeAsynchronousRequests(); |
| 565 fetcher->PreloadStarted(resource); |
| 589 | 566 |
| 590 FetchParameters fetch_params_second = | 567 FetchParameters fetch_params_second = |
| 591 FetchParameters(ResourceRequest(url), FetchInitiatorInfo()); | 568 FetchParameters(ResourceRequest(url), FetchInitiatorInfo()); |
| 592 fetch_params_second.MutableResourceRequest().SetCachePolicy( | 569 fetch_params_second.SetLinkPreload(true); |
| 593 WebCachePolicy::kBypassingCache); | |
| 594 Resource* second_resource = | 570 Resource* second_resource = |
| 595 MockResource::Fetch(fetch_params_second, fetcher2); | 571 MockResource::Fetch(fetch_params_second, fetcher2); |
| 572 ASSERT_TRUE(second_resource); |
| 573 EXPECT_TRUE(second_resource->IsLinkPreload()); |
| 574 Platform::Current()->GetURLLoaderMockFactory()->ServeAsynchronousRequests(); |
| 575 fetcher2->PreloadStarted(second_resource); |
| 596 | 576 |
| 597 EXPECT_NE(resource, second_resource); | 577 // Link rel preload scanner |
| 578 FetchParameters fetch_params_link_preload_scanner = |
| 579 FetchParameters(ResourceRequest(url), FetchInitiatorInfo()); |
| 580 fetch_params_link_preload_scanner.SetLinkPreload(true); |
| 581 Resource* link_preload_scanner_resource = |
| 582 MockResource::Fetch(fetch_params_link_preload_scanner, fetcher); |
| 583 EXPECT_EQ(resource, link_preload_scanner_resource); |
| 598 EXPECT_TRUE(resource->IsLinkPreload()); | 584 EXPECT_TRUE(resource->IsLinkPreload()); |
| 599 } | 585 fetcher->PreloadStarted(resource); |
| 600 | 586 |
| 601 TEST_F(ResourceFetcherTest, RepetitiveLinkPreloadShouldBeMerged) { | 587 // Resource created by preload scanner |
| 602 ResourceFetcher* fetcher = ResourceFetcher::Create(Context()); | 588 FetchParameters fetch_params_preload_scanner = |
| 589 FetchParameters(ResourceRequest(url), FetchInitiatorInfo()); |
| 590 Resource* preload_scanner_resource = |
| 591 MockResource::Fetch(fetch_params_preload_scanner, fetcher); |
| 592 EXPECT_EQ(resource, preload_scanner_resource); |
| 593 EXPECT_FALSE(resource->IsLinkPreload()); |
| 594 fetcher->PreloadStarted(resource); |
| 603 | 595 |
| 604 KURL url(kParsedURLString, "http://127.0.0.1:8000/foo.png"); | 596 // Resource created by preload scanner on the second fetcher |
| 605 RegisterMockedURLLoad(url); | 597 FetchParameters fetch_params_preload_scanner2 = |
| 598 FetchParameters(ResourceRequest(url), FetchInitiatorInfo()); |
| 599 Resource* preload_scanner_resource2 = |
| 600 MockResource::Fetch(fetch_params_preload_scanner2, fetcher2); |
| 601 EXPECT_EQ(resource, preload_scanner_resource2); |
| 602 EXPECT_FALSE(resource->IsLinkPreload()); |
| 603 fetcher2->PreloadStarted(resource); |
| 606 | 604 |
| 607 FetchParameters fetch_params_for_request = | 605 // Resource created by parser |
| 606 FetchParameters fetch_params = |
| 608 FetchParameters(ResourceRequest(url), FetchInitiatorInfo()); | 607 FetchParameters(ResourceRequest(url), FetchInitiatorInfo()); |
| 609 FetchParameters fetch_params_for_preload = fetch_params_for_request; | 608 Resource* new_resource = MockResource::Fetch(fetch_params, fetcher); |
| 610 fetch_params_for_preload.SetLinkPreload(true); | 609 Persistent<MockResourceClient> client = new MockResourceClient(new_resource); |
| 610 EXPECT_EQ(resource, new_resource); |
| 611 EXPECT_FALSE(resource->IsLinkPreload()); |
| 611 | 612 |
| 612 Resource* resource1 = MockResource::Fetch(fetch_params_for_preload, fetcher); | 613 // Resource created by parser on the second fetcher |
| 613 ASSERT_TRUE(resource1); | 614 FetchParameters fetch_params2 = |
| 614 EXPECT_TRUE(resource1->IsPreloaded()); | 615 FetchParameters(ResourceRequest(url), FetchInitiatorInfo()); |
| 615 EXPECT_TRUE(fetcher->ContainsAsPreload(resource1)); | 616 Resource* new_resource2 = MockResource::Fetch(fetch_params, fetcher2); |
| 616 Platform::Current()->GetURLLoaderMockFactory()->ServeAsynchronousRequests(); | 617 Persistent<MockResourceClient> client2 = |
| 618 new MockResourceClient(new_resource2); |
| 619 EXPECT_EQ(resource, new_resource2); |
| 620 EXPECT_FALSE(resource->IsLinkPreload()); |
| 617 | 621 |
| 618 // The second preload fetch returnes the first preload. | 622 // DCL reached on first fetcher |
| 619 Resource* resource2 = MockResource::Fetch(fetch_params_for_preload, fetcher); | 623 EXPECT_TRUE(resource->IsPreloaded()); |
| 620 EXPECT_TRUE(fetcher->ContainsAsPreload(resource1)); | 624 fetcher->ClearPreloads(ResourceFetcher::kClearSpeculativeMarkupPreloads); |
| 621 EXPECT_TRUE(resource1->IsPreloaded()); | 625 EXPECT_TRUE(GetMemoryCache()->Contains(resource)); |
| 622 EXPECT_EQ(resource1, resource2); | 626 EXPECT_TRUE(resource->IsPreloaded()); |
| 623 | 627 |
| 624 // preload matching | 628 // DCL reached on second fetcher |
| 625 Resource* resource3 = MockResource::Fetch(fetch_params_for_request, fetcher); | 629 fetcher2->ClearPreloads(ResourceFetcher::kClearSpeculativeMarkupPreloads); |
| 626 EXPECT_EQ(resource1, resource3); | 630 EXPECT_TRUE(GetMemoryCache()->Contains(resource)); |
| 627 EXPECT_FALSE(fetcher->ContainsAsPreload(resource1)); | 631 EXPECT_FALSE(resource->IsPreloaded()); |
| 628 EXPECT_FALSE(resource1->IsPreloaded()); | |
| 629 } | |
| 630 | |
| 631 TEST_F(ResourceFetcherTest, RepetitiveSpeculativePreloadShouldBeMerged) { | |
| 632 ResourceFetcher* fetcher = ResourceFetcher::Create(Context()); | |
| 633 | |
| 634 KURL url(kParsedURLString, "http://127.0.0.1:8000/foo.png"); | |
| 635 RegisterMockedURLLoad(url); | |
| 636 | |
| 637 FetchParameters fetch_params_for_request = | |
| 638 FetchParameters(ResourceRequest(url), FetchInitiatorInfo()); | |
| 639 FetchParameters fetch_params_for_preload = fetch_params_for_request; | |
| 640 fetch_params_for_preload.SetSpeculativePreloadType( | |
| 641 FetchParameters::SpeculativePreloadType::kInDocument); | |
| 642 | |
| 643 Resource* resource1 = MockResource::Fetch(fetch_params_for_preload, fetcher); | |
| 644 ASSERT_TRUE(resource1); | |
| 645 EXPECT_TRUE(resource1->IsPreloaded()); | |
| 646 EXPECT_TRUE(fetcher->ContainsAsPreload(resource1)); | |
| 647 Platform::Current()->GetURLLoaderMockFactory()->ServeAsynchronousRequests(); | |
| 648 | |
| 649 // The second preload fetch returnes the first preload. | |
| 650 Resource* resource2 = MockResource::Fetch(fetch_params_for_preload, fetcher); | |
| 651 EXPECT_TRUE(fetcher->ContainsAsPreload(resource1)); | |
| 652 EXPECT_TRUE(resource1->IsPreloaded()); | |
| 653 EXPECT_EQ(resource1, resource2); | |
| 654 | |
| 655 // preload matching | |
| 656 Resource* resource3 = MockResource::Fetch(fetch_params_for_request, fetcher); | |
| 657 EXPECT_EQ(resource1, resource3); | |
| 658 EXPECT_FALSE(fetcher->ContainsAsPreload(resource1)); | |
| 659 EXPECT_FALSE(resource1->IsPreloaded()); | |
| 660 } | |
| 661 | |
| 662 TEST_F(ResourceFetcherTest, SpeculativePreloadShouldBePromotedToLinkePreload) { | |
| 663 ResourceFetcher* fetcher = ResourceFetcher::Create(Context()); | |
| 664 | |
| 665 KURL url(kParsedURLString, "http://127.0.0.1:8000/foo.png"); | |
| 666 RegisterMockedURLLoad(url); | |
| 667 | |
| 668 FetchParameters fetch_params_for_request = | |
| 669 FetchParameters(ResourceRequest(url), FetchInitiatorInfo()); | |
| 670 FetchParameters fetch_params_for_speculative_preload = | |
| 671 fetch_params_for_request; | |
| 672 fetch_params_for_speculative_preload.SetSpeculativePreloadType( | |
| 673 FetchParameters::SpeculativePreloadType::kInDocument); | |
| 674 FetchParameters fetch_params_for_link_preload = fetch_params_for_request; | |
| 675 fetch_params_for_link_preload.SetLinkPreload(true); | |
| 676 | |
| 677 Resource* resource1 = | |
| 678 MockResource::Fetch(fetch_params_for_speculative_preload, fetcher); | |
| 679 ASSERT_TRUE(resource1); | |
| 680 EXPECT_TRUE(resource1->IsPreloaded()); | |
| 681 EXPECT_FALSE(resource1->IsLinkPreload()); | |
| 682 EXPECT_TRUE(fetcher->ContainsAsPreload(resource1)); | |
| 683 Platform::Current()->GetURLLoaderMockFactory()->ServeAsynchronousRequests(); | |
| 684 | |
| 685 // The second preload fetch returnes the first preload. | |
| 686 Resource* resource2 = | |
| 687 MockResource::Fetch(fetch_params_for_link_preload, fetcher); | |
| 688 EXPECT_TRUE(fetcher->ContainsAsPreload(resource1)); | |
| 689 EXPECT_TRUE(resource1->IsPreloaded()); | |
| 690 EXPECT_TRUE(resource1->IsLinkPreload()); | |
| 691 EXPECT_EQ(resource1, resource2); | |
| 692 | |
| 693 // preload matching | |
| 694 Resource* resource3 = MockResource::Fetch(fetch_params_for_request, fetcher); | |
| 695 EXPECT_EQ(resource1, resource3); | |
| 696 EXPECT_FALSE(fetcher->ContainsAsPreload(resource1)); | |
| 697 EXPECT_FALSE(resource1->IsPreloaded()); | |
| 698 EXPECT_FALSE(resource1->IsLinkPreload()); | |
| 699 } | 632 } |
| 700 | 633 |
| 701 TEST_F(ResourceFetcherTest, Revalidate304) { | 634 TEST_F(ResourceFetcherTest, Revalidate304) { |
| 702 KURL url(kParsedURLString, "http://127.0.0.1:8000/foo.html"); | 635 KURL url(kParsedURLString, "http://127.0.0.1:8000/foo.html"); |
| 703 Resource* resource = | 636 Resource* resource = |
| 704 RawResource::Create(ResourceRequest(url), Resource::kRaw); | 637 RawResource::Create(ResourceRequest(url), Resource::kRaw); |
| 705 GetMemoryCache()->Add(resource); | 638 GetMemoryCache()->Add(resource); |
| 706 ResourceResponse response; | 639 ResourceResponse response; |
| 707 response.SetURL(url); | 640 response.SetURL(url); |
| 708 response.SetHTTPStatusCode(304); | 641 response.SetHTTPStatusCode(304); |
| (...skipping 21 matching lines...) Expand all Loading... |
| 730 KURL url(kParsedURLString, "http://127.0.0.1:8000/foo.png"); | 663 KURL url(kParsedURLString, "http://127.0.0.1:8000/foo.png"); |
| 731 RegisterMockedURLLoad(url); | 664 RegisterMockedURLLoad(url); |
| 732 | 665 |
| 733 FetchParameters fetch_params_original = | 666 FetchParameters fetch_params_original = |
| 734 FetchParameters(ResourceRequest(url), FetchInitiatorInfo()); | 667 FetchParameters(ResourceRequest(url), FetchInitiatorInfo()); |
| 735 fetch_params_original.SetLinkPreload(true); | 668 fetch_params_original.SetLinkPreload(true); |
| 736 Resource* resource = MockResource::Fetch(fetch_params_original, fetcher); | 669 Resource* resource = MockResource::Fetch(fetch_params_original, fetcher); |
| 737 ASSERT_TRUE(resource); | 670 ASSERT_TRUE(resource); |
| 738 EXPECT_TRUE(resource->IsLinkPreload()); | 671 EXPECT_TRUE(resource->IsLinkPreload()); |
| 739 EXPECT_FALSE(fetcher->IsFetching()); | 672 EXPECT_FALSE(fetcher->IsFetching()); |
| 673 fetcher->PreloadStarted(resource); |
| 740 | 674 |
| 741 // Resource created by parser on the second fetcher | 675 // Resource created by parser on the second fetcher |
| 742 FetchParameters fetch_params2 = | 676 FetchParameters fetch_params2 = |
| 743 FetchParameters(ResourceRequest(url), FetchInitiatorInfo()); | 677 FetchParameters(ResourceRequest(url), FetchInitiatorInfo()); |
| 744 Resource* new_resource2 = MockResource::Fetch(fetch_params2, fetcher2); | 678 Resource* new_resource2 = MockResource::Fetch(fetch_params2, fetcher2); |
| 745 Persistent<MockResourceClient> client2 = | 679 Persistent<MockResourceClient> client2 = |
| 746 new MockResourceClient(new_resource2); | 680 new MockResourceClient(new_resource2); |
| 747 EXPECT_NE(resource, new_resource2); | 681 EXPECT_NE(resource, new_resource2); |
| 748 EXPECT_FALSE(fetcher2->IsFetching()); | 682 EXPECT_FALSE(fetcher2->IsFetching()); |
| 749 Platform::Current()->GetURLLoaderMockFactory()->ServeAsynchronousRequests(); | 683 Platform::Current()->GetURLLoaderMockFactory()->ServeAsynchronousRequests(); |
| 750 } | 684 } |
| 751 | 685 |
| 752 TEST_F(ResourceFetcherTest, ContentTypeDataURL) { | 686 TEST_F(ResourceFetcherTest, ContentTypeDataURL) { |
| 753 ResourceFetcher* fetcher = ResourceFetcher::Create(Context()); | 687 ResourceFetcher* fetcher = ResourceFetcher::Create(Context()); |
| 754 FetchParameters fetch_params = FetchParameters( | 688 FetchParameters fetch_params = FetchParameters( |
| 755 ResourceRequest("data:text/testmimetype,foo"), FetchInitiatorInfo()); | 689 ResourceRequest("data:text/testmimetype,foo"), FetchInitiatorInfo()); |
| 756 Resource* resource = MockResource::Fetch(fetch_params, fetcher); | 690 Resource* resource = MockResource::Fetch(fetch_params, fetcher); |
| 757 ASSERT_TRUE(resource); | 691 ASSERT_TRUE(resource); |
| 758 EXPECT_EQ(ResourceStatus::kCached, resource->GetStatus()); | 692 EXPECT_EQ(ResourceStatus::kCached, resource->GetStatus()); |
| 759 EXPECT_EQ("text/testmimetype", resource->GetResponse().MimeType()); | 693 EXPECT_EQ("text/testmimetype", resource->GetResponse().MimeType()); |
| 760 EXPECT_EQ("text/testmimetype", resource->GetResponse().HttpContentType()); | 694 EXPECT_EQ("text/testmimetype", resource->GetResponse().HttpContentType()); |
| 761 } | 695 } |
| 762 | 696 |
| 763 } // namespace blink | 697 } // namespace blink |
| OLD | NEW |