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

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

Issue 1196293002: HTMLPreloadScanner should also add width to non-`w` based image resources (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Removed duplicate layout test 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') | no next file » | 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 119 matching lines...) Expand 10 before | Expand all | Expand 10 after
130 private: 130 private:
131 OwnPtr<DummyPageHolder> m_dummyPageHolder; 131 OwnPtr<DummyPageHolder> m_dummyPageHolder;
132 OwnPtr<HTMLPreloadScanner> m_scanner; 132 OwnPtr<HTMLPreloadScanner> m_scanner;
133 }; 133 };
134 134
135 TEST_F(HTMLPreloadScannerTest, testImages) 135 TEST_F(HTMLPreloadScannerTest, testImages)
136 { 136 {
137 TestCase testCases[] = { 137 TestCase testCases[] = {
138 {"http://example.test", "<img src='bla.gif'>", "bla.gif", "http://exampl e.test/", Resource::Image, 0}, 138 {"http://example.test", "<img src='bla.gif'>", "bla.gif", "http://exampl e.test/", Resource::Image, 0},
139 {"http://example.test", "<img srcset='bla.gif 320w, blabla.gif 640w'>", "blabla.gif", "http://example.test/", Resource::Image, 0}, 139 {"http://example.test", "<img srcset='bla.gif 320w, blabla.gif 640w'>", "blabla.gif", "http://example.test/", Resource::Image, 0},
140 {"http://example.test", "<img sizes='50vw' src='bla.gif'>", "bla.gif", " http://example.test/", Resource::Image, 0}, 140 {"http://example.test", "<img sizes='50vw' src='bla.gif'>", "bla.gif", " http://example.test/", Resource::Image, 250},
141 {"http://example.test", "<img sizes='50vw' src='bla.gif' srcset='bla2.gi f 1x'>", "bla2.gif", "http://example.test/", Resource::Image, 0}, 141 {"http://example.test", "<img sizes='50vw' src='bla.gif' srcset='bla2.gi f 1x'>", "bla2.gif", "http://example.test/", Resource::Image, 250},
142 {"http://example.test", "<img sizes='50vw' src='bla.gif' srcset='bla2.gi f 0.5x'>", "bla.gif", "http://example.test/", Resource::Image, 0}, 142 {"http://example.test", "<img sizes='50vw' src='bla.gif' srcset='bla2.gi f 0.5x'>", "bla.gif", "http://example.test/", Resource::Image, 250},
143 {"http://example.test", "<img sizes='50vw' src='bla.gif' srcset='bla2.gi f 100w'>", "bla2.gif", "http://example.test/", Resource::Image, 250}, 143 {"http://example.test", "<img sizes='50vw' src='bla.gif' srcset='bla2.gi f 100w'>", "bla2.gif", "http://example.test/", Resource::Image, 250},
144 {"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}, 144 {"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},
145 {"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}, 145 {"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},
146 {"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}, 146 {"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},
147 {"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}, 147 {"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},
148 {"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}, 148 {"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},
149 {"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}, 149 {"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},
150 {"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}, 150 {"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},
151 {"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}, 151 {"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},
152 {"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}, 152 {"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},
153 {"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}, 153 {"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},
154 {"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}, 154 {"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},
155 {"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}, 155 {"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},
156 {"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}, 156 {"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},
157 {"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}, 157 {"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},
158 {"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}, 158 {"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},
159 {"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}, 159 {"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},
160 {"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}, 160 {"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},
161 }; 161 };
162 162
163 for (const auto& testCase : testCases) 163 for (const auto& testCase : testCases)
164 test(testCase); 164 test(testCase);
165 } 165 }
166 166
167 TEST_F(HTMLPreloadScannerTest, testImagesWithViewport) 167 TEST_F(HTMLPreloadScannerTest, testImagesWithViewport)
168 { 168 {
169 TestCase testCases[] = { 169 TestCase testCases[] = {
170 {"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}, 170 {"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},
171 {"http://example.test", "<img src='bla.gif'>", "bla.gif", "http://exampl e.test/", Resource::Image, 0}, 171 {"http://example.test", "<img src='bla.gif'>", "bla.gif", "http://exampl e.test/", Resource::Image, 0},
172 {"http://example.test", "<img sizes='50vw' src='bla.gif'>", "bla.gif", " http://example.test/", Resource::Image, 0}, 172 {"http://example.test", "<img sizes='50vw' src='bla.gif'>", "bla.gif", " http://example.test/", Resource::Image, 80},
173 {"http://example.test", "<img sizes='50vw' src='bla.gif' srcset='bla2.gi f 1x'>", "bla2.gif", "http://example.test/", Resource::Image, 0}, 173 {"http://example.test", "<img sizes='50vw' src='bla.gif' srcset='bla2.gi f 1x'>", "bla2.gif", "http://example.test/", Resource::Image, 80},
174 {"http://example.test", "<img sizes='50vw' src='bla.gif' srcset='bla2.gi f 0.5x'>", "bla.gif", "http://example.test/", Resource::Image, 0}, 174 {"http://example.test", "<img sizes='50vw' src='bla.gif' srcset='bla2.gi f 0.5x'>", "bla.gif", "http://example.test/", Resource::Image, 80},
175 {"http://example.test", "<img sizes='50vw' src='bla.gif' srcset='bla2.gi f 160w'>", "bla2.gif", "http://example.test/", Resource::Image, 80}, 175 {"http://example.test", "<img sizes='50vw' src='bla.gif' srcset='bla2.gi f 160w'>", "bla2.gif", "http://example.test/", Resource::Image, 80},
176 {"http://example.test", "<img sizes='50vw' src='bla.gif' srcset='bla2.gi f 160w, bla3.gif 250w'>", "bla2.gif", "http://example.test/", Resource::Image, 8 0}, 176 {"http://example.test", "<img sizes='50vw' src='bla.gif' srcset='bla2.gi f 160w, bla3.gif 250w'>", "bla2.gif", "http://example.test/", Resource::Image, 8 0},
177 {"http://example.test", "<img sizes='50vw' src='bla.gif' srcset='bla2.gi f 160w, bla3.gif 250w, bla4.gif 500w'>", "bla2.gif", "http://example.test/", Res ource::Image, 80}, 177 {"http://example.test", "<img sizes='50vw' src='bla.gif' srcset='bla2.gi f 160w, bla3.gif 250w, bla4.gif 500w'>", "bla2.gif", "http://example.test/", Res ource::Image, 80},
178 {"http://example.test", "<img src='bla.gif' srcset='bla2.gif 160w, bla3. gif 250w, bla4.gif 500w' sizes='50vw'>", "bla2.gif", "http://example.test/", Res ource::Image, 80}, 178 {"http://example.test", "<img src='bla.gif' srcset='bla2.gif 160w, bla3. gif 250w, bla4.gif 500w' sizes='50vw'>", "bla2.gif", "http://example.test/", Res ource::Image, 80},
179 {"http://example.test", "<img src='bla.gif' sizes='50vw' srcset='bla2.gi f 160w, bla3.gif 250w, bla4.gif 500w'>", "bla2.gif", "http://example.test/", Res ource::Image, 80}, 179 {"http://example.test", "<img src='bla.gif' sizes='50vw' srcset='bla2.gi f 160w, bla3.gif 250w, bla4.gif 500w'>", "bla2.gif", "http://example.test/", Res ource::Image, 80},
180 {"http://example.test", "<img sizes='50vw' srcset='bla2.gif 160w, bla3.g if 250w, bla4.gif 500w' src='bla.gif'>", "bla2.gif", "http://example.test/", Res ource::Image, 80}, 180 {"http://example.test", "<img sizes='50vw' srcset='bla2.gif 160w, bla3.g if 250w, bla4.gif 500w' src='bla.gif'>", "bla2.gif", "http://example.test/", Res ource::Image, 80},
181 {"http://example.test", "<img srcset='bla2.gif 160w, bla3.gif 250w, bla4 .gif 500w' src='bla.gif' sizes='50vw'>", "bla2.gif", "http://example.test/", Res ource::Image, 80}, 181 {"http://example.test", "<img srcset='bla2.gif 160w, bla3.gif 250w, bla4 .gif 500w' src='bla.gif' sizes='50vw'>", "bla2.gif", "http://example.test/", Res ource::Image, 80},
182 {"http://example.test", "<img srcset='bla2.gif 160w, bla3.gif 250w, bla4 .gif 500w' sizes='50vw' src='bla.gif'>", "bla2.gif", "http://example.test/", Res ource::Image, 80}, 182 {"http://example.test", "<img srcset='bla2.gif 160w, bla3.gif 250w, bla4 .gif 500w' sizes='50vw' src='bla.gif'>", "bla2.gif", "http://example.test/", Res ource::Image, 80},
183 }; 183 };
184 184
185 for (const auto& testCase : testCases) 185 for (const auto& testCase : testCases)
186 test(testCase); 186 test(testCase);
187 } 187 }
188 188
189 TEST_F(HTMLPreloadScannerTest, testImagesWithViewportDisabled) 189 TEST_F(HTMLPreloadScannerTest, testImagesWithViewportDisabled)
190 { 190 {
191 runSetUp(false); 191 runSetUp(false);
192 TestCase testCases[] = { 192 TestCase testCases[] = {
193 {"http://example.test", "<meta name=viewport content='width=160'><img sr c='bla.gif'>", "bla.gif", "http://example.test/", Resource::Image, 0}, 193 {"http://example.test", "<meta name=viewport content='width=160'><img sr c='bla.gif'>", "bla.gif", "http://example.test/", Resource::Image, 0},
194 {"http://example.test", "<img srcset='bla.gif 320w, blabla.gif 640w'>", "blabla.gif", "http://example.test/", Resource::Image, 0}, 194 {"http://example.test", "<img srcset='bla.gif 320w, blabla.gif 640w'>", "blabla.gif", "http://example.test/", Resource::Image, 0},
195 {"http://example.test", "<img sizes='50vw' src='bla.gif'>", "bla.gif", " http://example.test/", Resource::Image, 0}, 195 {"http://example.test", "<img sizes='50vw' src='bla.gif'>", "bla.gif", " http://example.test/", Resource::Image, 250},
196 {"http://example.test", "<img sizes='50vw' src='bla.gif' srcset='bla2.gi f 1x'>", "bla2.gif", "http://example.test/", Resource::Image, 0}, 196 {"http://example.test", "<img sizes='50vw' src='bla.gif' srcset='bla2.gi f 1x'>", "bla2.gif", "http://example.test/", Resource::Image, 250},
197 {"http://example.test", "<img sizes='50vw' src='bla.gif' srcset='bla2.gi f 0.5x'>", "bla.gif", "http://example.test/", Resource::Image, 0}, 197 {"http://example.test", "<img sizes='50vw' src='bla.gif' srcset='bla2.gi f 0.5x'>", "bla.gif", "http://example.test/", Resource::Image, 250},
198 {"http://example.test", "<img sizes='50vw' src='bla.gif' srcset='bla2.gi f 100w'>", "bla2.gif", "http://example.test/", Resource::Image, 250}, 198 {"http://example.test", "<img sizes='50vw' src='bla.gif' srcset='bla2.gi f 100w'>", "bla2.gif", "http://example.test/", Resource::Image, 250},
199 {"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}, 199 {"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},
200 {"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}, 200 {"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},
201 {"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}, 201 {"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},
202 {"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}, 202 {"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},
203 {"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}, 203 {"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},
204 {"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}, 204 {"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},
205 {"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}, 205 {"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},
206 }; 206 };
207 207
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
259 {"http://example.test", "<link rel=preconnect href=http://example2.test crossorigin='use-credentials'>", "http://example2.test", CrossOriginAttributeUse Credentials}, 259 {"http://example.test", "<link rel=preconnect href=http://example2.test crossorigin='use-credentials'>", "http://example2.test", CrossOriginAttributeUse Credentials},
260 {"http://example.test", "<link rel=preconnected href=http://example2.tes t crossorigin='use-credentials'>", nullptr, CrossOriginAttributeNotSet}, 260 {"http://example.test", "<link rel=preconnected href=http://example2.tes t crossorigin='use-credentials'>", nullptr, CrossOriginAttributeNotSet},
261 {"http://example.test", "<link rel=preconnect href=ws://example2.test cr ossorigin='use-credentials'>", nullptr, CrossOriginAttributeNotSet}, 261 {"http://example.test", "<link rel=preconnect href=ws://example2.test cr ossorigin='use-credentials'>", nullptr, CrossOriginAttributeNotSet},
262 }; 262 };
263 263
264 for (const auto& testCase : testCases) 264 for (const auto& testCase : testCases)
265 test(testCase); 265 test(testCase);
266 } 266 }
267 267
268 } // namespace blink 268 } // namespace blink
OLDNEW
« no previous file with comments | « Source/core/html/parser/HTMLPreloadScanner.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698