Chromium Code Reviews| 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 586 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 597 response.setHTTPStatusCode(200); | 597 response.setHTTPStatusCode(200); |
| 598 URLTestHelpers::registerMockedURLLoadWithCustomResponse(url, testImageFilena me, WebString::fromUTF8(""), WrappedResourceResponse(response)); | 598 URLTestHelpers::registerMockedURLLoadWithCustomResponse(url, testImageFilena me, WebString::fromUTF8(""), WrappedResourceResponse(response)); |
| 599 | 599 |
| 600 FetchRequest fetchRequestOriginal = FetchRequest(url, FetchInitiatorInfo()); | 600 FetchRequest fetchRequestOriginal = FetchRequest(url, FetchInitiatorInfo()); |
| 601 fetchRequestOriginal.setLinkPreload(true); | 601 fetchRequestOriginal.setLinkPreload(true); |
| 602 Resource* resource = fetcher->requestResource(fetchRequestOriginal, TestReso urceFactory(Resource::Image)); | 602 Resource* resource = fetcher->requestResource(fetchRequestOriginal, TestReso urceFactory(Resource::Image)); |
| 603 ASSERT_TRUE(resource); | 603 ASSERT_TRUE(resource); |
| 604 EXPECT_TRUE(resource->isLinkPreload()); | 604 EXPECT_TRUE(resource->isLinkPreload()); |
| 605 Platform::current()->getURLLoaderMockFactory()->serveAsynchronousRequests(); | 605 Platform::current()->getURLLoaderMockFactory()->serveAsynchronousRequests(); |
| 606 fetcher->preloadStarted(resource); | 606 fetcher->preloadStarted(resource); |
| 607 EXPECT_TRUE(fetcher->hasUnusedLinkPreloads()); | |
| 607 | 608 |
| 608 FetchRequest fetchRequestSecond = FetchRequest(url, FetchInitiatorInfo()); | 609 FetchRequest fetchRequestSecond = FetchRequest(url, FetchInitiatorInfo()); |
| 609 fetchRequestSecond.setLinkPreload(true); | 610 fetchRequestSecond.setLinkPreload(true); |
| 610 Resource* secondResource = fetcher2->requestResource(fetchRequestSecond, Tes tResourceFactory(Resource::Image)); | 611 Resource* secondResource = fetcher2->requestResource(fetchRequestSecond, Tes tResourceFactory(Resource::Image)); |
| 611 ASSERT_TRUE(secondResource); | 612 ASSERT_TRUE(secondResource); |
| 612 EXPECT_TRUE(secondResource->isLinkPreload()); | 613 EXPECT_TRUE(secondResource->isLinkPreload()); |
| 613 Platform::current()->getURLLoaderMockFactory()->serveAsynchronousRequests(); | 614 Platform::current()->getURLLoaderMockFactory()->serveAsynchronousRequests(); |
| 614 fetcher2->preloadStarted(secondResource); | 615 fetcher2->preloadStarted(secondResource); |
| 616 EXPECT_TRUE(fetcher2->hasUnusedLinkPreloads()); | |
| 617 | |
| 618 // Link rel preload scanner | |
| 619 FetchRequest fetchRequestLinkPreloadScanner = FetchRequest(url, FetchInitiat orInfo()); | |
| 620 fetchRequestLinkPreloadScanner.setLinkPreload(true); | |
| 621 Resource* linkPreloadScannerResource = fetcher->requestResource(fetchRequest LinkPreloadScanner, TestResourceFactory(Resource::Image)); | |
| 622 EXPECT_EQ(resource, linkPreloadScannerResource); | |
| 623 EXPECT_TRUE(resource->isLinkPreload()); | |
| 624 fetcher->preloadStarted(resource); | |
| 625 EXPECT_TRUE(fetcher->hasUnusedLinkPreloads()); | |
| 626 EXPECT_TRUE(fetcher2->hasUnusedLinkPreloads()); | |
| 615 | 627 |
| 616 // Image preload scanner | 628 // Image preload scanner |
| 617 FetchRequest fetchRequestPreloadScanner = FetchRequest(url, FetchInitiatorIn fo()); | 629 FetchRequest fetchRequestPreloadScanner = FetchRequest(url, FetchInitiatorIn fo()); |
| 618 Resource* imgPreloadScannerResource = fetcher->requestResource(fetchRequestP reloadScanner, TestResourceFactory(Resource::Image)); | 630 Resource* imgPreloadScannerResource = fetcher->requestResource(fetchRequestP reloadScanner, TestResourceFactory(Resource::Image)); |
| 619 EXPECT_EQ(resource, imgPreloadScannerResource); | 631 EXPECT_EQ(resource, imgPreloadScannerResource); |
| 620 EXPECT_FALSE(resource->isLinkPreload()); | 632 EXPECT_FALSE(resource->isLinkPreload()); |
| 621 fetcher->preloadStarted(resource); | 633 fetcher->preloadStarted(resource); |
| 634 EXPECT_FALSE(fetcher->hasUnusedLinkPreloads()); | |
| 635 EXPECT_TRUE(fetcher2->hasUnusedLinkPreloads()); | |
| 636 | |
| 637 // Image preload scanner on the second fetcher | |
| 638 FetchRequest fetchRequestPreloadScanner2 = FetchRequest(url, FetchInitiatorI nfo()); | |
| 639 Resource* imgPreloadScannerResource2 = fetcher2->requestResource(fetchReques tPreloadScanner2, TestResourceFactory(Resource::Image)); | |
| 640 EXPECT_EQ(resource, imgPreloadScannerResource2); | |
| 641 EXPECT_FALSE(resource->isLinkPreload()); | |
| 642 fetcher2->preloadStarted(resource); | |
| 643 EXPECT_FALSE(fetcher->hasUnusedLinkPreloads()); | |
| 644 EXPECT_TRUE(fetcher2->hasUnusedLinkPreloads()); | |
| 622 | 645 |
| 623 // Image created by parser | 646 // Image created by parser |
| 624 FetchRequest fetchRequest = FetchRequest(url, FetchInitiatorInfo()); | 647 FetchRequest fetchRequest = FetchRequest(url, FetchInitiatorInfo()); |
| 625 Resource* newResource = fetcher->requestResource(fetchRequest, TestResourceF actory(Resource::Image)); | 648 Resource* newResource = fetcher->requestResource(fetchRequest, TestResourceF actory(Resource::Image)); |
| 626 Persistent<MockResourceClient> client = new MockResourceClient(newResource); | 649 Persistent<MockResourceClient> client = new MockResourceClient(newResource); |
| 627 EXPECT_EQ(resource, newResource); | 650 EXPECT_EQ(resource, newResource); |
| 628 EXPECT_FALSE(resource->isLinkPreload()); | 651 EXPECT_FALSE(resource->isLinkPreload()); |
| 652 EXPECT_FALSE(fetcher->hasUnusedLinkPreloads()); | |
| 653 EXPECT_TRUE(fetcher2->hasUnusedLinkPreloads()); | |
| 629 | 654 |
| 655 // Image created by parser on the second fetcher | |
| 656 FetchRequest fetchRequest2 = FetchRequest(url, FetchInitiatorInfo()); | |
| 657 Resource* newResource2 = fetcher2->requestResource(fetchRequest, TestResourc eFactory(Resource::Image)); | |
| 658 Persistent<MockResourceClient> client2 = new MockResourceClient(newResource2 ); | |
| 659 EXPECT_EQ(resource, newResource2); | |
| 660 EXPECT_FALSE(resource->isLinkPreload()); | |
| 661 EXPECT_FALSE(fetcher->hasUnusedLinkPreloads()); | |
| 662 EXPECT_FALSE(fetcher2->hasUnusedLinkPreloads()); | |
|
Yoav Weiss
2016/09/19 10:57:41
This fails because the resource->isLinkPreload() i
Charlie Harrison
2016/09/19 14:06:45
Yeah you're right. Good thing this test showed tha
| |
| 630 // DCL reached on first fetcher | 663 // DCL reached on first fetcher |
| 631 EXPECT_TRUE(resource->isPreloaded()); | 664 EXPECT_TRUE(resource->isPreloaded()); |
| 632 fetcher->clearPreloads(ResourceFetcher::ClearSpeculativeMarkupPreloads); | 665 fetcher->clearPreloads(ResourceFetcher::ClearSpeculativeMarkupPreloads); |
| 633 Platform::current()->getURLLoaderMockFactory()->unregisterURL(url); | 666 Platform::current()->getURLLoaderMockFactory()->unregisterURL(url); |
| 634 EXPECT_TRUE(memoryCache()->contains(resource)); | 667 EXPECT_TRUE(memoryCache()->contains(resource)); |
| 635 EXPECT_TRUE(resource->isPreloaded()); | 668 EXPECT_TRUE(resource->isPreloaded()); |
| 636 | 669 |
| 637 // DCL reached on second fetcher | 670 // DCL reached on second fetcher |
| 638 fetcher2->clearPreloads(ResourceFetcher::ClearSpeculativeMarkupPreloads); | 671 fetcher2->clearPreloads(ResourceFetcher::ClearSpeculativeMarkupPreloads); |
| 639 EXPECT_TRUE(memoryCache()->contains(resource)); | 672 EXPECT_TRUE(memoryCache()->contains(resource)); |
| 640 EXPECT_FALSE(resource->isPreloaded()); | 673 EXPECT_FALSE(resource->isPreloaded()); |
| 641 } | 674 } |
| 642 | 675 |
| 643 } // namespace blink | 676 } // namespace blink |
| OLD | NEW |