onload-event.html (3103B)
1 <!DOCTYPE html> 2 <title>Makes sure that preloaded resources trigger the onload event</title> 3 <meta name="timeout" content="long"> 4 <script src="/resources/testharness.js"></script> 5 <script src="/resources/testharnessreport.js"></script> 6 <script src="/preload/resources/preload_helper.js"></script> 7 <script> 8 var scriptLoaded = false; 9 var styleLoaded = false; 10 var imageLoaded = false; 11 var fontLoaded = false; 12 var videoLoaded = false; 13 var audioLoaded = false; 14 var trackLoaded = false; 15 var gibberishLoaded = false; 16 var gibberishErrored = false; 17 var noTypeLoaded = false; 18 var fetchLoaded = false; 19 </script> 20 <link rel=preload href="resources/dummy.js" as=script onload="scriptLoaded = true;"> 21 <link rel=preload href="resources/dummy.css" as=style onload="styleLoaded = true;"> 22 <link rel=preload href="resources/square.png" as=image onload="imageLoaded = true;"> 23 <link rel=preload href="/fonts/CanvasTest.ttf" as=font crossorigin onload="fontLoaded = true;"> 24 <link rel=preload href="resources/white.mp4" as=video onload="videoLoaded = true;"> 25 <link rel=preload href="resources/sound_5.oga" as=audio onload="audioLoaded = true;"> 26 <link rel=preload href="resources/foo.vtt" as=track onload="trackLoaded = true;"> 27 <link rel=preload href="resources/dummy.xml?foo=bar" as=foobarxmlthing onload="gibberishLoaded = true;" onerror="gibberishErrored = true;"> 28 <link rel=preload href="resources/dummy.xml?fetch" as=fetch onload="fetchLoaded = true;"> 29 <link rel=preload href="resources/dummy.xml" onload="noTypeLoaded = true;"> 30 <body> 31 <script> 32 setup({single_test: true}); 33 34 var iterations = 0; 35 36 function check_finished() { 37 if (styleLoaded && scriptLoaded && imageLoaded && fontLoaded && videoLoaded && audioLoaded && 38 trackLoaded && !gibberishLoaded && !gibberishErrored && fetchLoaded && !noTypeLoaded) { 39 done(); 40 } 41 iterations++; 42 if (iterations == 10) { 43 // At least one is expected to fail, but this should give details to the exact failure(s). 44 assert_true(styleLoaded, "style triggered load event"); 45 assert_true(scriptLoaded, "script triggered load event"); 46 assert_true(imageLoaded, "image triggered load event"); 47 assert_true(fontLoaded, "font triggered load event"); 48 assert_true(videoLoaded, "video triggered load event"); 49 assert_true(audioLoaded, "audio triggered load event"); 50 assert_true(trackLoaded, "track triggered load event"); 51 assert_false(gibberishLoaded, "gibberish as value triggered load event"); 52 assert_false(gibberishErrored, "gibberish as value triggered error event"); 53 assert_true(fetchLoaded, "fetch as value triggered load event"); 54 assert_false(noTypeLoaded, "empty as triggered load event"); 55 done(); 56 } else { 57 step_timeout(check_finished, 500); 58 } 59 } 60 61 window.addEventListener("load", function() { 62 verifyPreloadAndRTSupport(); 63 step_timeout(check_finished, 500); 64 }); 65 </script> 66 </body>