| 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 "config.h" | 5 #include "config.h" |
| 6 #include "core/html/parser/HTMLPreloadScanner.h" | 6 #include "core/html/parser/HTMLPreloadScanner.h" |
| 7 | 7 |
| 8 #include "core/MediaTypeNames.h" | 8 #include "core/MediaTypeNames.h" |
| 9 #include "core/css/MediaValuesCached.h" | 9 #include "core/css/MediaValuesCached.h" |
| 10 #include "core/fetch/ClientHintsPreferences.h" | 10 #include "core/fetch/ClientHintsPreferences.h" |
| (...skipping 21 matching lines...) Expand all Loading... |
| 32 const char* inputHTML; | 32 const char* inputHTML; |
| 33 const char* preconnectedHost; | 33 const char* preconnectedHost; |
| 34 CrossOriginAttributeValue crossOrigin; | 34 CrossOriginAttributeValue crossOrigin; |
| 35 } PreconnectTestCase; | 35 } PreconnectTestCase; |
| 36 | 36 |
| 37 class MockHTMLResourcePreloader : public ResourcePreloader { | 37 class MockHTMLResourcePreloader : public ResourcePreloader { |
| 38 public: | 38 public: |
| 39 void preloadRequestVerification(Resource::Type type, const String& url, cons
t String& baseURL, int width) | 39 void preloadRequestVerification(Resource::Type type, const String& url, cons
t String& baseURL, int width) |
| 40 { | 40 { |
| 41 EXPECT_FALSE(m_preloadRequest->isPreconnect()); | 41 EXPECT_FALSE(m_preloadRequest->isPreconnect()); |
| 42 EXPECT_EQ(m_preloadRequest->resourceType(), type); | 42 EXPECT_EQ(type, m_preloadRequest->resourceType()); |
| 43 EXPECT_STREQ(m_preloadRequest->resourceURL().ascii().data(), url.ascii(
).data()); | 43 EXPECT_STREQ(url.ascii().data(), m_preloadRequest->resourceURL().ascii()
.data()); |
| 44 EXPECT_STREQ(m_preloadRequest->baseURL().string().ascii().data(), baseUR
L.ascii().data()); | 44 EXPECT_STREQ(baseURL.ascii().data(), m_preloadRequest->baseURL().string(
).ascii().data()); |
| 45 EXPECT_EQ(m_preloadRequest->resourceWidth(), width); | 45 EXPECT_EQ(width, m_preloadRequest->resourceWidth()); |
| 46 } | 46 } |
| 47 | 47 |
| 48 void preconnectRequestVerification(const String& host, CrossOriginAttributeV
alue crossOrigin) | 48 void preconnectRequestVerification(const String& host, CrossOriginAttributeV
alue crossOrigin) |
| 49 { | 49 { |
| 50 if (!host.isNull()) { | 50 if (!host.isNull()) { |
| 51 EXPECT_TRUE(m_preloadRequest->isPreconnect()); | 51 EXPECT_TRUE(m_preloadRequest->isPreconnect()); |
| 52 EXPECT_STREQ(m_preloadRequest->resourceURL().ascii().data(), host.as
cii().data()); | 52 EXPECT_STREQ(m_preloadRequest->resourceURL().ascii().data(), host.as
cii().data()); |
| 53 EXPECT_EQ(m_preloadRequest->isCORS(), crossOrigin != CrossOriginAttr
ibuteNotSet); | 53 EXPECT_EQ(m_preloadRequest->isCORS(), crossOrigin != CrossOriginAttr
ibuteNotSet); |
| 54 EXPECT_EQ(m_preloadRequest->isAllowCredentials(), crossOrigin == Cro
ssOriginAttributeUseCredentials); | 54 EXPECT_EQ(m_preloadRequest->isAllowCredentials(), crossOrigin == Cro
ssOriginAttributeUseCredentials); |
| 55 } | 55 } |
| (...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 138 {"http://example.test", "<img sizes='50vw' src='bla.gif' srcset='bla2.gi
f 1x'>", "bla2.gif", "http://example.test/", Resource::Image, 0}, | 138 {"http://example.test", "<img sizes='50vw' src='bla.gif' srcset='bla2.gi
f 1x'>", "bla2.gif", "http://example.test/", Resource::Image, 0}, |
| 139 {"http://example.test", "<img sizes='50vw' src='bla.gif' srcset='bla2.gi
f 0.5x'>", "bla.gif", "http://example.test/", Resource::Image, 0}, | 139 {"http://example.test", "<img sizes='50vw' src='bla.gif' srcset='bla2.gi
f 0.5x'>", "bla.gif", "http://example.test/", Resource::Image, 0}, |
| 140 {"http://example.test", "<img sizes='50vw' src='bla.gif' srcset='bla2.gi
f 100w'>", "bla2.gif", "http://example.test/", Resource::Image, 250}, | 140 {"http://example.test", "<img sizes='50vw' src='bla.gif' srcset='bla2.gi
f 100w'>", "bla2.gif", "http://example.test/", Resource::Image, 250}, |
| 141 {"http://example.test", "<img sizes='50vw' src='bla.gif' srcset='bla2.gi
f 100w, bla3.gif 250w'>", "bla3.gif", "http://example.test/", Resource::Image, 2
50}, | 141 {"http://example.test", "<img sizes='50vw' src='bla.gif' srcset='bla2.gi
f 100w, bla3.gif 250w'>", "bla3.gif", "http://example.test/", Resource::Image, 2
50}, |
| 142 {"http://example.test", "<img sizes='50vw' src='bla.gif' srcset='bla2.gi
f 100w, bla3.gif 250w, bla4.gif 500w'>", "bla4.gif", "http://example.test/", Res
ource::Image, 250}, | 142 {"http://example.test", "<img sizes='50vw' src='bla.gif' srcset='bla2.gi
f 100w, bla3.gif 250w, bla4.gif 500w'>", "bla4.gif", "http://example.test/", Res
ource::Image, 250}, |
| 143 {"http://example.test", "<img src='bla.gif' srcset='bla2.gif 100w, bla3.
gif 250w, bla4.gif 500w' sizes='50vw'>", "bla4.gif", "http://example.test/", Res
ource::Image, 250}, | 143 {"http://example.test", "<img src='bla.gif' srcset='bla2.gif 100w, bla3.
gif 250w, bla4.gif 500w' sizes='50vw'>", "bla4.gif", "http://example.test/", Res
ource::Image, 250}, |
| 144 {"http://example.test", "<img src='bla.gif' sizes='50vw' srcset='bla2.gi
f 100w, bla3.gif 250w, bla4.gif 500w'>", "bla4.gif", "http://example.test/", Res
ource::Image, 250}, | 144 {"http://example.test", "<img src='bla.gif' sizes='50vw' srcset='bla2.gi
f 100w, bla3.gif 250w, bla4.gif 500w'>", "bla4.gif", "http://example.test/", Res
ource::Image, 250}, |
| 145 {"http://example.test", "<img sizes='50vw' srcset='bla2.gif 100w, bla3.g
if 250w, bla4.gif 500w' src='bla.gif'>", "bla4.gif", "http://example.test/", Res
ource::Image, 250}, | 145 {"http://example.test", "<img sizes='50vw' srcset='bla2.gif 100w, bla3.g
if 250w, bla4.gif 500w' src='bla.gif'>", "bla4.gif", "http://example.test/", Res
ource::Image, 250}, |
| 146 {"http://example.test", "<img srcset='bla2.gif 100w, bla3.gif 250w, bla4
.gif 500w' src='bla.gif' sizes='50vw'>", "bla4.gif", "http://example.test/", Res
ource::Image, 250}, | 146 {"http://example.test", "<img srcset='bla2.gif 100w, bla3.gif 250w, bla4
.gif 500w' src='bla.gif' sizes='50vw'>", "bla4.gif", "http://example.test/", Res
ource::Image, 250}, |
| 147 {"http://example.test", "<img srcset='bla2.gif 100w, bla3.gif 250w, bla4
.gif 500w' sizes='50vw' src='bla.gif'>", "bla4.gif", "http://example.test/", Res
ource::Image, 250}, | 147 {"http://example.test", "<img srcset='bla2.gif 100w, bla3.gif 250w, bla4
.gif 500w' sizes='50vw' src='bla.gif'>", "bla4.gif", "http://example.test/", Res
ource::Image, 250}, |
| 148 {"http://example.test", "<img src='bla.gif' srcset='bla2.gif 100w, bla3.
gif 250w, bla4.gif 500w'>", "bla4.gif", "http://example.test/", Resource::Image,
0}, |
| 149 {"http://example.test", "<img width='100' src='bla.gif' srcset='bla2.gif
100w, bla3.gif 250w, bla4.gif 500w'>", "bla4.gif", "http://example.test/", Reso
urce::Image, 100}, |
| 150 {"http://example.test", "<img width='100px' src='bla.gif' srcset='bla2.g
if 100w, bla3.gif 250w, bla4.gif 500w'>", "bla4.gif", "http://example.test/", Re
source::Image, 100}, |
| 151 {"http://example.test", "<img width='100bla' src='bla.gif' srcset='bla2.
gif 100w, bla3.gif 250w, bla4.gif 500w'>", "bla4.gif", "http://example.test/", R
esource::Image, 100}, |
| 152 {"http://example.test", "<img src='bla.gif' srcset='bla2.gif 100w, bla3.
gif 250w, bla4.gif 500w' width='100bla' >", "bla4.gif", "http://example.test/",
Resource::Image, 100}, |
| 153 {"http://example.test", "<img src='bla.gif' srcset='bla2.gif 100w, bla3.
gif 250w, bla4.gif 500w' width='100bla' width='50'>", "bla4.gif", "http://exampl
e.test/", Resource::Image, 100}, |
| 154 {"http://example.test", "<img src='bla.gif' srcset='bla2.gif 100w, bla3.
gif 250w, bla4.gif 500w' width='100%' width='50'>", "bla4.gif", "http://example.
test/", Resource::Image, 0}, |
| 155 {"http://example.test", "<img src='bla.gif' srcset='bla2.gif 100w, bla3.
gif 250w, bla4.gif 500w' width='100' sizes='50vw'>", "bla4.gif", "http://example
.test/", Resource::Image, 250}, |
| 156 {"http://example.test", "<img width='100%' src='bla.gif' srcset='bla2.gi
f 100w, bla3.gif 250w, bla4.gif 500w'>", "bla4.gif", "http://example.test/", Res
ource::Image, 0}, |
| 157 {"http://example.test", "<img width='100*' src='bla.gif' srcset='bla2.gi
f 100w, bla3.gif 250w, bla4.gif 500w'>", "bla4.gif", "http://example.test/", Res
ource::Image, 0}, |
| 148 }; | 158 }; |
| 149 | 159 |
| 150 for (const auto& testCase : testCases) | 160 for (const auto& testCase : testCases) |
| 151 test(testCase); | 161 test(testCase); |
| 152 } | 162 } |
| 153 | 163 |
| 154 TEST_F(HTMLPreloadScannerTest, testImagesWithViewport) | 164 TEST_F(HTMLPreloadScannerTest, testImagesWithViewport) |
| 155 { | 165 { |
| 156 TestCase testCases[] = { | 166 TestCase testCases[] = { |
| 157 {"http://example.test", "<meta name=viewport content='width=160'><img sr
cset='bla.gif 320w, blabla.gif 640w'>", "bla.gif", "http://example.test/", Resou
rce::Image, 0}, | 167 {"http://example.test", "<meta name=viewport content='width=160'><img sr
cset='bla.gif 320w, blabla.gif 640w'>", "bla.gif", "http://example.test/", Resou
rce::Image, 0}, |
| (...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 243 {"http://example.test", "<link rel=preconnect href=http://example2.test
crossorigin='use-credentials'>", "http://example2.test", CrossOriginAttributeUse
Credentials}, | 253 {"http://example.test", "<link rel=preconnect href=http://example2.test
crossorigin='use-credentials'>", "http://example2.test", CrossOriginAttributeUse
Credentials}, |
| 244 {"http://example.test", "<link rel=preconnected href=http://example2.tes
t crossorigin='use-credentials'>", nullptr, CrossOriginAttributeNotSet}, | 254 {"http://example.test", "<link rel=preconnected href=http://example2.tes
t crossorigin='use-credentials'>", nullptr, CrossOriginAttributeNotSet}, |
| 245 {"http://example.test", "<link rel=preconnect href=ws://example2.test cr
ossorigin='use-credentials'>", nullptr, CrossOriginAttributeNotSet}, | 255 {"http://example.test", "<link rel=preconnect href=ws://example2.test cr
ossorigin='use-credentials'>", nullptr, CrossOriginAttributeNotSet}, |
| 246 }; | 256 }; |
| 247 | 257 |
| 248 for (const auto& testCase : testCases) | 258 for (const auto& testCase : testCases) |
| 249 test(testCase); | 259 test(testCase); |
| 250 } | 260 } |
| 251 | 261 |
| 252 } // namespace blink | 262 } // namespace blink |
| OLD | NEW |