| Yoav Weiss | e8172dd | 2016-12-19 08:42:18 | [diff] [blame] | 1 | <!DOCTYPE html> |
| Rob Buis | 7bcd4d0 | 2019-05-15 09:19:36 | [diff] [blame] | 2 | <title>Makes sure that preloaded resources trigger the onload event</title> |
| Yoav Weiss | e8172dd | 2016-12-19 08:42:18 | [diff] [blame] | 3 | <script src="/resources/testharness.js"></script> |
| 4 | <script src="/resources/testharnessreport.js"></script> |
| Yoav Weiss | 82ed307 | 2017-02-08 13:51:58 | [diff] [blame] | 5 | <script src="/preload/resources/preload_helper.js"></script> |
| Yoav Weiss | e8172dd | 2016-12-19 08:42:18 | [diff] [blame] | 6 | <script> |
| Rob Buis | b1ef6ae | 2019-05-16 13:44:46 | [diff] [blame] | 7 | var scriptLoaded = false; |
| 8 | var styleLoaded = false; |
| 9 | var imageLoaded = false; |
| 10 | var fontLoaded = false; |
| 11 | var videoLoaded = false; |
| 12 | var audioLoaded = false; |
| 13 | var trackLoaded = false; |
| 14 | var gibberishLoaded = false; |
| 15 | var gibberishErrored = false; |
| 16 | var noTypeLoaded = false; |
| 17 | var fetchLoaded = false; |
| Yoav Weiss | e8172dd | 2016-12-19 08:42:18 | [diff] [blame] | 18 | </script> |
| 19 | <link rel=preload href="resources/dummy.js" as=script onload="scriptLoaded = true;"> |
| 20 | <link rel=preload href="resources/dummy.css" as=style onload="styleLoaded = true;"> |
| 21 | <link rel=preload href="resources/square.png" as=image onload="imageLoaded = true;"> |
| Geoffrey Sneddon | d56bf78 | 2018-03-15 16:41:44 | [diff] [blame] | 22 | <link rel=preload href="/fonts/CanvasTest.ttf" as=font crossorigin onload="fontLoaded = true;"> |
| Dragana Damjanovic | e7327c5 | 2017-08-02 10:55:47 | [diff] [blame] | 23 | <link rel=preload href="resources/white.mp4" as=video onload="videoLoaded = true;"> |
| 24 | <link rel=preload href="resources/sound_5.oga" as=audio onload="audioLoaded = true;"> |
| 25 | <link rel=preload href="resources/foo.vtt" as=track onload="trackLoaded = true;"> |
| Yoav Weiss | e8172dd | 2016-12-19 08:42:18 | [diff] [blame] | 26 | <link rel=preload href="resources/dummy.xml?foo=bar" as=foobarxmlthing onload="gibberishLoaded = true;" onerror="gibberishErrored = true;"> |
| yoav | 4839a0a | 2017-06-03 00:31:06 | [diff] [blame] | 27 | <link rel=preload href="resources/dummy.xml?fetch" as=fetch onload="fetchLoaded = true;"> |
| Yoav Weiss | e8172dd | 2016-12-19 08:42:18 | [diff] [blame] | 28 | <link rel=preload href="resources/dummy.xml" onload="noTypeLoaded = true;"> |
| 29 | <body> |
| Yoav Weiss | e8172dd | 2016-12-19 08:42:18 | [diff] [blame] | 30 | <script> |
| jugglinmike | 306dc50 | 2019-10-26 07:19:26 | [diff] [blame] | 31 | setup({single_test: true}); |
| Rob Buis | 7bcd4d0 | 2019-05-15 09:19:36 | [diff] [blame] | 32 | |
| Rob Buis | b1ef6ae | 2019-05-16 13:44:46 | [diff] [blame] | 33 | var iterations = 0; |
| Rob Buis | 7bcd4d0 | 2019-05-15 09:19:36 | [diff] [blame] | 34 | |
| Rob Buis | b1ef6ae | 2019-05-16 13:44:46 | [diff] [blame] | 35 | function check_finished() { |
| 36 | if (styleLoaded && scriptLoaded && imageLoaded && fontLoaded && videoLoaded && audioLoaded && |
| 37 | trackLoaded && !gibberishLoaded && !gibberishErrored && fetchLoaded && !noTypeLoaded) { |
| 38 | done(); |
| 39 | } |
| 40 | iterations++; |
| 41 | if (iterations == 10) { |
| 42 | // At least one is expected to fail, but this should give details to the exact failure(s). |
| 43 | assert_true(styleLoaded, "style triggered load event"); |
| 44 | assert_true(scriptLoaded, "script triggered load event"); |
| 45 | assert_true(imageLoaded, "image triggered load event"); |
| 46 | assert_true(fontLoaded, "font triggered load event"); |
| 47 | assert_true(videoLoaded, "video triggered load event"); |
| 48 | assert_true(audioLoaded, "audio triggered load event"); |
| 49 | assert_true(trackLoaded, "track triggered load event"); |
| 50 | assert_false(gibberishLoaded, "gibberish as value triggered load event"); |
| 51 | assert_false(gibberishErrored, "gibberish as value triggered error event"); |
| 52 | assert_true(fetchLoaded, "fetch as value triggered load event"); |
| 53 | assert_false(noTypeLoaded, "empty as triggered load event"); |
| 54 | done(); |
| 55 | } else { |
| 56 | step_timeout(check_finished, 500); |
| 57 | } |
| Rob Buis | 7bcd4d0 | 2019-05-15 09:19:36 | [diff] [blame] | 58 | } |
| Rob Buis | b1ef6ae | 2019-05-16 13:44:46 | [diff] [blame] | 59 | |
| 60 | window.addEventListener("load", function() { |
| 61 | verifyPreloadAndRTSupport(); |
| Rob Buis | 7bcd4d0 | 2019-05-15 09:19:36 | [diff] [blame] | 62 | step_timeout(check_finished, 500); |
| Rob Buis | b1ef6ae | 2019-05-16 13:44:46 | [diff] [blame] | 63 | }); |
| Yoav Weiss | e8172dd | 2016-12-19 08:42:18 | [diff] [blame] | 64 | </script> |
| 65 | </body> |