| <!DOCTYPE html> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <script src="/preload/resources/preload_helper.js"></script> |
| <script> |
| var t = async_test('Makes sure that preloaded resources are not downloaded again when used'); |
| </script> |
| <link rel=preload href="resources/dummy.js?single-download-preload" as=script> |
| <link rel=preload href="resources/dummy.css?single-download-preload" as=style> |
| <link rel=preload href="resources/square.png?single-download-preload" as=image> |
| <link rel=preload href="resources/square.png?background&single-download-preload" as=image> |
| <link rel=preload href="/fonts/CanvasTest.ttf?single-download-preload" as=font crossorigin> |
| <link rel=preload href="resources/white.mp4?single-download-preload" as=video> |
| <link rel=preload href="resources/sound_5.oga?single-download-preload" as=audio> |
| <link rel=preload href="resources/foo.vtt?single-download-preload" as=track> |
| <link rel=preload href="resources/dummy.xml?foo=bar" as=foobarxmlthing> |
| <link rel=preload href="resources/dummy.xml?single-download-preload"> |
| <body> |
| <style> |
| #background { |
| width: 200px; |
| height: 200px; |
| background-image: url(resources/square.png?backgroundi&single-download-preload); |
| } |
| @font-face { |
| font-family:ahem; |
| src: url(/fonts/CanvasTest.ttf?single-download-preload); |
| } |
| span { font-family: ahem, Arial; } |
| </style> |
| <link rel="stylesheet" href="resources/dummy.css?single-download-preload"> |
| <script src="resources/dummy.js?single-download-preload"></script> |
| <div id="background"></div> |
| <img src="resources/square.png?single-download-preload"> |
| <video src="resources/white.mp4?single-download-preload"> |
| <track kind=subtitles src="resources/foo.vtt?single-download-preload" srclang=en> |
| </video> |
| <audio src="resources/sound_5.oga?single-download-preload"></audio> |
| <script> |
| var xhr = new XMLHttpRequest(); |
| xhr.open("GET", "resources/dummy.xml?single-download-preload"); |
| xhr.send(); |
| |
| window.addEventListener("load", t.step_func(function() { |
| verifyPreloadAndRTSupport(); |
| setTimeout(t.step_func(function() { |
| verifyLoadedAndNoDoubleDownload("resources/dummy.js?single-download-preload"); |
| verifyLoadedAndNoDoubleDownload("resources/dummy.css?single-download-preload"); |
| verifyLoadedAndNoDoubleDownload("resources/square.png?single-download-preload"); |
| verifyLoadedAndNoDoubleDownload("resources/square.png?background&single-download-preload"); |
| verifyLoadedAndNoDoubleDownload("/fonts/CanvasTest.ttf?single-download-preload"); |
| verifyNumberOfResourceTimingEntries("resources/dummy.xml?foobar", 0); |
| verifyLoadedAndNoDoubleDownload("resources/foo.vtt?single-download-preload"); |
| verifyLoadedAndNoDoubleDownload("resources/dummy.xml?single-download-preload"); |
| // FIXME: We should verify for video and audio as well, but they seem to (flakily?) trigger multiple partial requests. |
| t.done(); |
| }), 3000); |
| })); |
| </script> |
| <span>PASS - this text is here just so that the browser will download the font.</span> |