| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 "core/html/parser/HTMLPreloadScanner.h" | 5 #include "core/html/parser/HTMLPreloadScanner.h" |
| 6 | 6 |
| 7 #include "core/MediaTypeNames.h" | 7 #include "core/MediaTypeNames.h" |
| 8 #include "core/css/MediaValuesCached.h" | 8 #include "core/css/MediaValuesCached.h" |
| 9 #include "core/fetch/ClientHintsPreferences.h" | 9 #include "core/fetch/ClientHintsPreferences.h" |
| 10 #include "core/frame/Settings.h" | 10 #include "core/frame/Settings.h" |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 44 }; | 44 }; |
| 45 | 45 |
| 46 class MockHTMLResourcePreloader : public ResourcePreloader { | 46 class MockHTMLResourcePreloader : public ResourcePreloader { |
| 47 public: | 47 public: |
| 48 void preloadRequestVerification(Resource::Type type, const char* url, const
char* baseURL, int width, const ClientHintsPreferences& preferences) | 48 void preloadRequestVerification(Resource::Type type, const char* url, const
char* baseURL, int width, const ClientHintsPreferences& preferences) |
| 49 { | 49 { |
| 50 if (!url) { | 50 if (!url) { |
| 51 EXPECT_FALSE(m_preloadRequest); | 51 EXPECT_FALSE(m_preloadRequest); |
| 52 return; | 52 return; |
| 53 } | 53 } |
| 54 ASSERT(m_preloadRequest.get()); |
| 54 EXPECT_FALSE(m_preloadRequest->isPreconnect()); | 55 EXPECT_FALSE(m_preloadRequest->isPreconnect()); |
| 55 EXPECT_EQ(type, m_preloadRequest->resourceType()); | 56 EXPECT_EQ(type, m_preloadRequest->resourceType()); |
| 56 EXPECT_STREQ(url, m_preloadRequest->resourceURL().ascii().data()); | 57 EXPECT_STREQ(url, m_preloadRequest->resourceURL().ascii().data()); |
| 57 EXPECT_STREQ(baseURL, m_preloadRequest->baseURL().string().ascii().data(
)); | 58 EXPECT_STREQ(baseURL, m_preloadRequest->baseURL().string().ascii().data(
)); |
| 58 EXPECT_EQ(width, m_preloadRequest->resourceWidth()); | 59 EXPECT_EQ(width, m_preloadRequest->resourceWidth()); |
| 59 EXPECT_EQ(preferences.shouldSendDPR(), m_preloadRequest->preferences().s
houldSendDPR()); | 60 EXPECT_EQ(preferences.shouldSendDPR(), m_preloadRequest->preferences().s
houldSendDPR()); |
| 60 EXPECT_EQ(preferences.shouldSendResourceWidth(), m_preloadRequest->prefe
rences().shouldSendResourceWidth()); | 61 EXPECT_EQ(preferences.shouldSendResourceWidth(), m_preloadRequest->prefe
rences().shouldSendResourceWidth()); |
| 61 EXPECT_EQ(preferences.shouldSendViewportWidth(), m_preloadRequest->prefe
rences().shouldSendViewportWidth()); | 62 EXPECT_EQ(preferences.shouldSendViewportWidth(), m_preloadRequest->prefe
rences().shouldSendViewportWidth()); |
| 62 } | 63 } |
| 63 | 64 |
| (...skipping 290 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 354 { "http://example.test", "<meta name='referrer' content='no-referrer'><i
mg referrerpolicy='origin' src='bla.gif'/>", "bla.gif", "http://example.test/",
Resource::Image, 0, ReferrerPolicyOrigin }, | 355 { "http://example.test", "<meta name='referrer' content='no-referrer'><i
mg referrerpolicy='origin' src='bla.gif'/>", "bla.gif", "http://example.test/",
Resource::Image, 0, ReferrerPolicyOrigin }, |
| 355 // The scanner's state is not reset between test cases, so all subsequen
t test cases have a document referrer policy of no-referrer. | 356 // The scanner's state is not reset between test cases, so all subsequen
t test cases have a document referrer policy of no-referrer. |
| 356 { "http://example.test", "<img referrerpolicy='not-a-valid-policy' src='
bla.gif'/>", "bla.gif", "http://example.test/", Resource::Image, 0, ReferrerPoli
cyNever }, | 357 { "http://example.test", "<img referrerpolicy='not-a-valid-policy' src='
bla.gif'/>", "bla.gif", "http://example.test/", Resource::Image, 0, ReferrerPoli
cyNever }, |
| 357 { "http://example.test", "<img src='bla.gif'/>", "bla.gif", "http://exam
ple.test/", Resource::Image, 0, ReferrerPolicyNever } | 358 { "http://example.test", "<img src='bla.gif'/>", "bla.gif", "http://exam
ple.test/", Resource::Image, 0, ReferrerPolicyNever } |
| 358 }; | 359 }; |
| 359 | 360 |
| 360 for (const auto& testCase : testCases) | 361 for (const auto& testCase : testCases) |
| 361 test(testCase); | 362 test(testCase); |
| 362 } | 363 } |
| 363 | 364 |
| 365 TEST_F(HTMLPreloadScannerTest, testLinkRelPreload) |
| 366 { |
| 367 TestCase testCases[] = { |
| 368 {"http://example.test", "<link rel=preload href=bla>", "bla", "http://ex
ample.test/", Resource::LinkSubresource, 0}, |
| 369 {"http://example.test", "<link rel=preload href=bla as=script>", "bla",
"http://example.test/", Resource::Script, 0}, |
| 370 {"http://example.test", "<link rel=preload href=bla as=style>", "bla", "
http://example.test/", Resource::CSSStyleSheet, 0}, |
| 371 {"http://example.test", "<link rel=preload href=bla as=image>", "bla", "
http://example.test/", Resource::Image, 0}, |
| 372 {"http://example.test", "<link rel=preload href=bla as=font>", "bla", "h
ttp://example.test/", Resource::Font, 0}, |
| 373 {"http://example.test", "<link rel=preload href=bla as=audio>", "bla", "
http://example.test/", Resource::Media, 0}, |
| 374 {"http://example.test", "<link rel=preload href=bla as=video>", "bla", "
http://example.test/", Resource::Media, 0}, |
| 375 {"http://example.test", "<link rel=preload href=bla as=track>", "bla", "
http://example.test/", Resource::TextTrack, 0}, |
| 376 }; |
| 377 |
| 378 for (const auto& testCase : testCases) |
| 379 test(testCase); |
| 380 } |
| 381 |
| 364 } // namespace blink | 382 } // namespace blink |
| OLD | NEW |