Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(337)

Side by Side Diff: Source/core/html/parser/HTMLPreloadScannerTest.cpp

Issue 1186333004: Add support for `width` based Width Client Hint (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Moar comments Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « Source/core/html/parser/HTMLPreloadScanner.cpp ('k') | Source/core/loader/ImageLoader.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
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
OLDNEW
« no previous file with comments | « Source/core/html/parser/HTMLPreloadScanner.cpp ('k') | Source/core/loader/ImageLoader.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698