link-header-preload-imagesrcset.html (3239B)
1 <!DOCTYPE html> 2 <title>Makes sure that Link headers preload images with imagesrcset/imagesizes attributes.</title> 3 <link rel="help" href="https://github.com/w3c/preload/issues/120"> 4 <script src="/resources/testharness.js"></script> 5 <script src="/resources/testharnessreport.js"></script> 6 <script src="/preload/resources/preload_helper.js"></script> 7 <body> 8 <script> 9 setup({single_test: true}); 10 11 var iterations = 0; 12 var expectation = new Array(10).fill(0); 13 if (window.devicePixelRatio < 1.5) { 14 expectation[0] = expectation[5] = expectation[8] = 1; 15 } else if (window.devicePixelRatio >= 1.5) { 16 expectation[1] = expectation[6] = expectation[9] = 1; 17 } 18 19 function check_finished() { 20 if (numberOfResourceTimingEntries('resources/square.png?from-header&1x') == expectation[0] && 21 numberOfResourceTimingEntries('resources/square.png?from-header&2x') == expectation[1] && 22 numberOfResourceTimingEntries('resources/square.png?from-header&3x') == expectation[2] && 23 numberOfResourceTimingEntries('resources/square.png?from-header&base') == expectation[3] && 24 numberOfResourceTimingEntries('resources/square.png?from-header&200') == expectation[4] && 25 numberOfResourceTimingEntries('resources/square.png?from-header&400') == expectation[5] && 26 numberOfResourceTimingEntries('resources/square.png?from-header&800') == expectation[6] && 27 numberOfResourceTimingEntries('resources/square.png?from-header&150') == expectation[7] && 28 numberOfResourceTimingEntries('resources/square.png?from-header&300') == expectation[8] && 29 numberOfResourceTimingEntries('resources/square.png?from-header&600') == expectation[9]) { 30 done(); 31 } 32 iterations++; 33 if (iterations == 10) { 34 // At least one is expected to fail, but this should give details to the exact failure(s). 35 verifyNumberOfResourceTimingEntries('resources/square.png?from-header&1x', expectation[0]); 36 verifyNumberOfResourceTimingEntries('resources/square.png?from-header&2x', expectation[1]); 37 verifyNumberOfResourceTimingEntries('resources/square.png?from-header&3x', expectation[2]); 38 verifyNumberOfResourceTimingEntries('resources/square.png?from-header&base', expectation[3]); 39 verifyNumberOfResourceTimingEntries('resources/square.png?from-header&200', expectation[4]); 40 verifyNumberOfResourceTimingEntries('resources/square.png?from-header&400', expectation[5]); 41 verifyNumberOfResourceTimingEntries('resources/square.png?from-header&800', expectation[6]); 42 verifyNumberOfResourceTimingEntries('resources/square.png?from-header&150', expectation[7]); 43 verifyNumberOfResourceTimingEntries('resources/square.png?from-header&300', expectation[8]); 44 verifyNumberOfResourceTimingEntries('resources/square.png?from-header&600', expectation[9]); 45 done(); 46 } else { 47 step_timeout(check_finished, 500); 48 } 49 } 50 51 window.addEventListener("load", function() { 52 verifyPreloadAndRTSupport(); 53 step_timeout(check_finished, 500); 54 }); 55 </script> 56 </body>