Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
| 2 <html class="reftest-wait"> | |
| 2 <title>Test for font-display @font-face descriptor</title> | 3 <title>Test for font-display @font-face descriptor</title> |
| 4 <link rel="match" href="font-display-expected.html"> | |
|
foolip
2017/05/29 15:35:20
Please name this font-display-ref.html instead, th
Kunihiko Sakamoto
2017/05/30 04:11:10
Done.
| |
| 3 <style> | 5 <style> |
| 4 .hidden { display: none; } | 6 .hidden { display: none; } |
| 5 </style> | 7 </style> |
| 6 <p>Tests how text with a font that takes <i>delay</i> seconds to load look like after <i>T</i> seconds from load start.</p> | 8 <p>Tests how text with a font that takes <i>delay</i> seconds to load look like after <i>T</i> seconds from load start.</p> |
| 7 <table id="container"> | 9 <table id="container"> |
| 8 <tr> | 10 <tr> |
| 9 <th>T[sec]</th> | 11 <th>T[sec]</th> |
| 10 <th>delay[sec]</th> | 12 <th>delay[sec]</th> |
| 11 <th>auto</th> | 13 <th>auto</th> |
| 12 <th>block</th> | 14 <th>block</th> |
| 13 <th>swap</th> | 15 <th>swap</th> |
| 14 <th>fallback</th> | 16 <th>fallback</th> |
| 15 <th>optional</th> | 17 <th>optional</th> |
| 16 </tr> | 18 </tr> |
| 17 </table> | 19 </table> |
| 18 <script> | 20 <script> |
| 19 if (window.testRunner) | |
| 20 testRunner.waitUntilDone(); | |
| 21 | |
| 22 var fontDisplayValues = ['auto', 'block', 'swap', 'fallback', 'optional']; | 21 var fontDisplayValues = ['auto', 'block', 'swap', 'fallback', 'optional']; |
| 23 var configs = [{time: 0, delay: 1000}, | 22 var configs = [{time: 0, delay: 1000}, |
| 24 {time: 1000, delay: 0}, | 23 {time: 1000, delay: 0}, |
| 25 {time: 1000, delay: 500}, | 24 {time: 1000, delay: 500}, |
| 26 {time: 1000, delay: 3000}, | 25 {time: 1000, delay: 3000}, |
| 27 {time: 5000, delay: 2000}, | 26 {time: 5000, delay: 2000}, |
| 28 {time: 5000, delay: 4000}, | 27 {time: 5000, delay: 4000}, |
| 29 {time: 5000, delay: 8000}]; | 28 {time: 5000, delay: 8000}]; |
| 30 | 29 |
| 31 function makeFontFaceDeclaration(family, config, display) { | 30 function makeFontFaceDeclaration(family, config, display) { |
| 32 var url = '/resources/Ahem.ttf'; | 31 url = 'resources/slow-ahem-loading.py?ms=' + config.delay + '&t=' + config.t ime; |
|
foolip
2017/05/29 15:35:20
The t parameter isn't read by slow-ahem-loading.py
Kunihiko Sakamoto
2017/05/30 04:11:10
|t| is a dummy parameter that makes sure every con
foolip
2017/05/30 11:35:29
Since it's not needed, can you remove it? It now v
Kunihiko Sakamoto
2017/05/31 04:53:50
OK, removed.
| |
| 33 if (config.delay > 0) | |
| 34 url = 'slow-ahem-loading.cgi?delay=' + config.delay + '&t=' + config.tim e; | |
| 35 return '@font-face { font-family: ' + family + '; src: url(' + url + '); fon t-display: ' + display + '; }'; | 32 return '@font-face { font-family: ' + family + '; src: url(' + url + '); fon t-display: ' + display + '; }'; |
| 36 } | 33 } |
| 37 | 34 |
| 38 | 35 |
| 39 var maxTime = Math.max.apply(null, configs.map((config) => config.time)); | 36 var maxTime = Math.max.apply(null, configs.map((config) => config.time)); |
| 40 var table = document.getElementById('container'); | 37 var table = document.getElementById('container'); |
| 41 | 38 |
| 42 window.onload = function() { | 39 window.onload = function() { |
| 43 for (var config, i = 0; config = configs[i]; i++) { | 40 for (var config, i = 0; config = configs[i]; i++) { |
| 44 var tr = document.createElement('tr'); | 41 var tr = document.createElement('tr'); |
| (...skipping 11 matching lines...) Expand all Loading... | |
| 56 document.styleSheets[0].insertRule(rule, 0); | 53 document.styleSheets[0].insertRule(rule, 0); |
| 57 var td = document.createElement('td'); | 54 var td = document.createElement('td'); |
| 58 td.textContent = 'a'; | 55 td.textContent = 'a'; |
| 59 td.style.fontFamily = family + ', Arial'; | 56 td.style.fontFamily = family + ', Arial'; |
| 60 tr.appendChild(td); | 57 tr.appendChild(td); |
| 61 } | 58 } |
| 62 table.appendChild(tr); | 59 table.appendChild(tr); |
| 63 if (config.time == 0) { | 60 if (config.time == 0) { |
| 64 setTimeout((function(tr){ | 61 setTimeout((function(tr){ |
| 65 tr.classList.remove('hidden'); | 62 tr.classList.remove('hidden'); |
| 66 if (window.testRunner) | 63 document.documentElement.classList.remove("reftest-wait"); |
| 67 testRunner.notifyDone(); | |
| 68 }).bind(null, tr), maxTime); | 64 }).bind(null, tr), maxTime); |
| 69 } else { | 65 } else { |
| 70 setTimeout((function(tr){tr.classList.remove('hidden')}).bind(null, tr), maxTime - config.time); | 66 setTimeout((function(tr){tr.classList.remove('hidden')}).bind(null, tr), maxTime - config.time); |
| 71 } | 67 } |
| 72 } | 68 } |
| 73 } | 69 } |
| 74 | 70 |
| 75 </script> | 71 </script> |
| 72 </html> | |
| OLD | NEW |