Update web-platform-tests to revision 8a2ceb5f18911302b7a5c1cd2791f4ab50ad4326

This commit is contained in:
Josh Matthews 2017-10-12 09:25:50 -04:00
parent 462c272380
commit 1f531f66ea
5377 changed files with 174916 additions and 84369 deletions

View file

@ -8,24 +8,24 @@
<link rel=preload href="resources/dummy.js" as=script>
<link rel=preload href="resources/dummy.css" as=style>
<link rel=preload href="resources/square.png" as=image>
<link rel=preload href="/fonts/CanvasTest.ttf" as=font crossorigin>
<link rel=preload href="/media/white.mp4" as=video>
<link rel=preload href="/media/sound_5.oga" as=audio>
<link rel=preload href="/media/foo.vtt" as=track>
<link rel=preload href="resources/CanvasTest.ttf" as=font crossorigin>
<link rel=preload href="resources/white.mp4" as=video>
<link rel=preload href="resources/sound_5.oga" as=audio>
<link rel=preload href="resources/foo.vtt" as=track>
<link rel=preload href="resources/dummy.xml?foo=bar" as=foobarxmlthing>
<link rel=preload href="resources/dummy.xml?novalue">
<link rel=preload href="resources/dummy.xml" as="fetch">
<body>
<script src="resources/dummy.js?pipe=trickle(d5)"></script>
<script src="resources/dummy.js?pipe=trickle(d5)&download-resources"></script>
<script>
window.addEventListener("load", t.step_func(function() {
verifyPreloadAndRTSupport()
verifyNumberOfDownloads("resources/dummy.js", 1);
verifyNumberOfDownloads("resources/dummy.css", 1);
verifyNumberOfDownloads("/fonts/CanvasTest.ttf", 1);
verifyNumberOfDownloads("/media/white.mp4", 1);
verifyNumberOfDownloads("/media/sound_5.oga", 1);
verifyNumberOfDownloads("/media/foo.vtt", 1);
verifyNumberOfDownloads("resources/CanvasTest.ttf", 1);
verifyNumberOfDownloads("resources/white.mp4", 1);
verifyNumberOfDownloads("resources/sound_5.oga", 1);
verifyNumberOfDownloads("resources/foo.vtt", 1);
verifyNumberOfDownloads("resources/dummy.xml?foo=bar", 0);
verifyNumberOfDownloads("resources/dummy.xml?novalue", 0);
verifyNumberOfDownloads("resources/dummy.xml", 1);

View file

@ -0,0 +1,40 @@
<!DOCTYPE html>
<script nonce="abc" src="/resources/testharness.js"></script>
<script nonce="abc" src="/resources/testharnessreport.js"></script>
<script nonce="abc" src="/preload/resources/preload_helper.js"></script>
<body>
<script nonce="abc">
async_test(function(t) {
verifyPreloadAndRTSupport();
var link = document.createElement("link");
link.as = "script";
link.rel = "preload";
link.href = "resources/dummy.js?with-nonce";
link.nonce = "abc";
link.onload = link.onerror = t.step_func(function() {
t.step_timeout(function() {
verifyNumberOfDownloads("resources/dummy.js?with-nonce", 1);
t.done();
}, 0);
});
document.body.appendChild(link);
}, "link preload with nonce attribute");
async_test(function(t) {
verifyPreloadAndRTSupport();
var link = document.createElement("link");
link.as = "script";
link.rel = "preload";
link.href = "resources/dummy.js?without-nonce";
link.onload = link.onerror = t.step_func(function() {
t.step_timeout(function() {
verifyNumberOfDownloads("resources/dummy.js?without-nonce", 0);
t.done();
}, 0);
});
document.body.appendChild(link);
}, "link preload without nonce attribute");
</script>
</body>

View file

@ -0,0 +1 @@
Content-Security-Policy: script-src 'nonce-abc'

View file

@ -12,14 +12,15 @@
var link = document.createElement("link");
link.as = "script";
link.rel = "preload";
link.href = "resources/dummy.js";
link.href = "resources/dummy.js?dynamic-adding-preload";
link.onload = t.step_func(function() {
t.step_timeout(function() {
verifyNumberOfDownloads("resources/dummy.js", 1);
verifyNumberOfDownloads("resources/dummy.js?dynamic-adding-preload", 1);
t.done();
}, 0);
});
document.body.appendChild(link);
});
</script>
<script src="resources/dummy.js?pipe=trickle(d5)&dynamic-adding-preload"></script>
</body>

View file

@ -0,0 +1,17 @@
<!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 Link headers on subresources preload resources');
</script>
<link rel=stylesheet href="resources/dummy-preloads-subresource.css?link-header-on-subresource">
<script src="resources/dummy.js?pipe=trickle(d5)&link-header-on-subresources"></script>
<script>
window.addEventListener("load", t.step_func(function() {
verifyPreloadAndRTSupport();
verifyNumberOfDownloads("/preload/resources/CanvasTest.ttf?link-header-on-subresource", 1);
t.done();
}));
</script>

View file

@ -13,11 +13,11 @@
background-image: url(resources/square.png?background);
}
</style>
<link rel="stylesheet" href="resources/dummy.css">
<script src="resources/dummy.js"></script>
<link rel="stylesheet" href="resources/dummy.css?link-header-preload-delay-onload">
<script src="resources/dummy.js?link-header-preload-delay-onload"></script>
<div id="background"></div>
<script>
document.write('<img src="resources/square.png">');
document.write('<img src="resources/square.png?link-header-preload-delay-onload">');
window.addEventListener("load", t.step_func(function() {
verifyPreloadAndRTSupport();
var entries = performance.getEntriesByType("resource");
@ -31,10 +31,10 @@
}
}
assert_true(found_background_first);
verifyNumberOfDownloads("resources/square.png", 1);
verifyNumberOfDownloads("resources/square.png?link-header-preload-delay-onload", 1);
verifyNumberOfDownloads("resources/square.png?background", 1);
verifyNumberOfDownloads("resources/dummy.js", 1);
verifyNumberOfDownloads("resources/dummy.css", 1);
verifyNumberOfDownloads("resources/dummy.js?link-header-preload-delay-onload", 1);
verifyNumberOfDownloads("resources/dummy.css?link-header-preload-delay-onload", 1);
t.done();
}));
</script>

View file

@ -1,5 +1,5 @@
Link: </preload/resources/square.png?background>;rel=preload;as=image
Link: </preload/resources/dummy.js>;rel=preload;as=script
Link: </preload/resources/dummy.css>;rel=preload;as=style
Link: </preload/resources/square.png>;rel=preload;as=image
Link: </preload/resources/dummy.js?link-header-preload-delay-onload>;rel=preload;as=script
Link: </preload/resources/dummy.css?link-header-preload-delay-onload>;rel=preload;as=style
Link: </preload/resources/square.png?link-header-preload-delay-onload>;rel=preload;as=image

View file

@ -0,0 +1,16 @@
<!DOCTYPE html>
<script nonce="abc" src="/resources/testharness.js"></script>
<script nonce="abc" src="/resources/testharnessreport.js"></script>
<script nonce="abc" src="/preload/resources/preload_helper.js"></script>
<script nonce="abc">
var t = async_test('Makes sure that Link headers preload resources with CSP nonce');
</script>
<script nonce="abc" src="resources/dummy.js?pipe=trickle(d5)&link-header-preload-nonce"></script>
<script nonce="abc">
window.addEventListener('load', t.step_func(function() {
verifyPreloadAndRTSupport();
verifyNumberOfDownloads("resources/dummy.js?without-nonce", 0);
verifyNumberOfDownloads("resources/dummy.js?with-nonce", 1);
t.done();
}));
</script>

View file

@ -0,0 +1,3 @@
Content-Security-Policy: script-src 'nonce-abc'
Link: </preload/resources/dummy.js?without-nonce>;rel=preload;as=script
Link: </preload/resources/dummy.js?with-nonce>;rel=preload;as=script;nonce=abc

View file

@ -6,13 +6,13 @@
var t = async_test('Makes sure that Link headers preload resources');
</script>
<body>
<script src="resources/dummy.js?pipe=trickle(d5)"></script>
<script src="resources/dummy.js?pipe=trickle(d5)&link-header-preload"></script>
<script>
window.addEventListener("load", t.step_func(function() {
verifyPreloadAndRTSupport();
verifyNumberOfDownloads("resources/square.png", 1);
verifyNumberOfDownloads("resources/dummy.js", 1);
verifyNumberOfDownloads("resources/dummy.css", 1);
verifyNumberOfDownloads("resources/square.png?link-header-preload", 1);
verifyNumberOfDownloads("resources/dummy.js?link-header-preload", 1);
verifyNumberOfDownloads("resources/dummy.css?link-header-preload", 1);
t.done();
}));
</script>

View file

@ -1,4 +1,4 @@
Link: </preload/resources/dummy.js>;rel=preload;as=script
Link: </preload/resources/dummy.css>;rel=preload;as=style
Link: </preload/resources/square.png>;rel=preload;as=image
Link: </preload/resources/dummy.js?link-header-preload>;rel=preload;as=script
Link: </preload/resources/dummy.css?link-header-preload>;rel=preload;as=style
Link: </preload/resources/square.png?link-header-preload>;rel=preload;as=image

View file

@ -28,7 +28,7 @@
<link rel=preload href="non-existent/dummy.xml?foo" as=foobarxmlthing onerror="gibberishFailed = true;">
<link rel=preload href="non-existent/dummy.xml?fetch" as=fetch onerror="fetchFailed = true;">
<link rel=preload href="non-existent/dummy.xml?empty" onerror="emptyFailed = true;">
<script src="resources/dummy.js?pipe=trickle(d5)"></script>
<script src="resources/dummy.js?pipe=trickle(d5)&onerror-event"></script>
<script>
window.onload = t.step_func(function() {
verifyPreloadAndRTSupport();

View file

@ -19,15 +19,15 @@
<link rel=preload href="resources/dummy.js" as=script onload="scriptLoaded = true;">
<link rel=preload href="resources/dummy.css" as=style onload="styleLoaded = true;">
<link rel=preload href="resources/square.png" as=image onload="imageLoaded = true;">
<link rel=preload href="/fonts/CanvasTest.ttf" as=font crossorigin onload="fontLoaded = true;">
<link rel=preload href="/media/white.mp4" as=video onload="videoLoaded = true;">
<link rel=preload href="/media/sound_5.oga" as=audio onload="audioLoaded = true;">
<link rel=preload href="/media/foo.vtt" as=track onload="trackLoaded = true;">
<link rel=preload href="resources/CanvasTest.ttf" as=font crossorigin onload="fontLoaded = true;">
<link rel=preload href="resources/white.mp4" as=video onload="videoLoaded = true;">
<link rel=preload href="resources/sound_5.oga" as=audio onload="audioLoaded = true;">
<link rel=preload href="resources/foo.vtt" as=track onload="trackLoaded = true;">
<link rel=preload href="resources/dummy.xml?foo=bar" as=foobarxmlthing onload="gibberishLoaded = true;" onerror="gibberishErrored = true;">
<link rel=preload href="resources/dummy.xml?fetch" as=fetch onload="fetchLoaded = true;">
<link rel=preload href="resources/dummy.xml" onload="noTypeLoaded = true;">
<body>
<script src="resources/dummy.js?pipe=trickle(d5)"></script>
<script src="resources/dummy.js?pipe=trickle(d5)&onload-event"></script>
<script>
window.onload = t.step_func(function() {
verifyPreloadAndRTSupport();

View file

@ -9,24 +9,24 @@
<link rel=preload href="{{host}}:{{ports[http][1]}}/preload/resources/dummy.js" as=style>
<link rel=preload href="resources/dummy.css" as=style>
<link rel=preload href="resources/square.png" as=image>
<link rel=preload href="/fonts/CanvasTest.ttf" as=font crossorigin>
<link rel=preload href="/media/white.mp4" as=video>
<link rel=preload href="/media/sound_5.oga" as=audio>
<link rel=preload href="/media/foo.vtt" as=track>
<link rel=preload href="resources/CanvasTest.ttf" as=font crossorigin>
<link rel=preload href="resources/white.mp4" as=video>
<link rel=preload href="resources/sound_5.oga" as=audio>
<link rel=preload href="resources/foo.vtt" as=track>
<link rel=preload href="resources/dummy.xml?foo=bar" as=foobarxmlthing>
<link rel=preload href="resources/dummy.xml">
<body>
<script src="resources/dummy.js?pipe=trickle(d5)"></script>
<script src="resources/dummy.js?pipe=trickle(d5)&preload-csp"></script>
<script>
window.onload = t.step_func(function() {
verifyPreloadAndRTSupport();
verifyNumberOfDownloads("{{host}}:{{ports[http][1]}}/preload/resources/dummy.js", 0);
verifyNumberOfDownloads("resources/dummy.css", 0);
verifyNumberOfDownloads("resources/square.png", 0);
verifyNumberOfDownloads("/fonts/CanvasTest.ttf", 0);
verifyNumberOfDownloads("/media/white.mp4", 0);
verifyNumberOfDownloads("/media/sound_5.oga", 0);
verifyNumberOfDownloads("/media/foo.vtt", 0);
verifyNumberOfDownloads("resources/CanvasTest.ttf", 0);
verifyNumberOfDownloads("resources/white.mp4", 0);
verifyNumberOfDownloads("resources/sound_5.oga", 0);
verifyNumberOfDownloads("resources/foo.vtt", 0);
verifyNumberOfDownloads("resources/dummy.xml", 0);
t.done();
});

View file

@ -9,24 +9,24 @@
<link rel=preload href="{{host}}:{{ports[http][1]}}/preload/resources/dummy.js" as=style>
<link rel=preload href="resources/dummy.css" as=style>
<link rel=preload href="resources/square.png" as=image>
<link rel=preload href="/fonts/CanvasTest.ttf" as=font crossorigin>
<link rel=preload href="/media/white.mp4" as=video>
<link rel=preload href="/media/sound_5.oga" as=audio>
<link rel=preload href="/media/foo.vtt" as=track>
<link rel=preload href="resources/CanvasTest.ttf" as=font crossorigin>
<link rel=preload href="resources/white.mp4" as=video>
<link rel=preload href="resources/sound_5.oga" as=audio>
<link rel=preload href="resources/foo.vtt" as=track>
<link rel=preload href="resources/dummy.xml?foo=bar" as=foobarxmlthing>
<link rel=preload href="resources/dummy.xml">
<body>
<script src="resources/dummy.js?pipe=trickle(d5)"></script>
<script src="resources/dummy.js?pipe=trickle(d5)&preload-default-csp"></script>
<script>
window.onload = t.step_func(function() {
verifyPreloadAndRTSupport();
verifyNumberOfDownloads("{{host}}:{{ports[http][1]}}/preload/resources/dummy.js", 0);
verifyNumberOfDownloads("resources/dummy.css", 0);
verifyNumberOfDownloads("resources/square.png", 0);
verifyNumberOfDownloads("/fonts/CanvasTest.ttf", 0);
verifyNumberOfDownloads("/media/white.mp4", 0);
verifyNumberOfDownloads("/media/sound_5.oga", 0);
verifyNumberOfDownloads("/media/foo.vtt", 0);
verifyNumberOfDownloads("resources/CanvasTest.ttf", 0);
verifyNumberOfDownloads("resources/white.mp4", 0);
verifyNumberOfDownloads("resources/sound_5.oga", 0);
verifyNumberOfDownloads("resources/foo.vtt", 0);
verifyNumberOfDownloads("resources/dummy.xml", 0);
t.done();
});

View file

@ -23,31 +23,31 @@
}
return null;
};
var videoURL = getVideoURI("/media/A4");
var audioURL = getAudioURI("/media/sound_5");
var videoURL = getVideoURI("resources/A4");
var audioURL = getAudioURI("resources/sound_5");
var videoFormat = getFormat(videoURL);
var audioFormat = getFormat(audioURL);
</script>
<link rel=preload href="resources/dummy.js" as=script type="text/javascript" onload="scriptLoaded = true;">
<link rel=preload href="resources/dummy.css" as=style type="text/css" onload="styleLoaded = true;">
<link rel=preload href="resources/square.png" as=image type="image/png" onload="imageLoaded = true;">
<link rel=preload href="/fonts/CanvasTest.ttf" as=font type="font/ttf" crossorigin onload="fontLoaded = true;">
<link rel=preload href="resources/CanvasTest.ttf" as=font type="font/ttf" crossorigin onload="fontLoaded = true;">
<script>
document.write('<link rel=preload href="' + videoURL + '" as=video type="video/' + videoFormat + '" onload="videoLoaded = true;">');
document.write('<link rel=preload href="' + audioURL + '" as=audio type="audio/' + audioFormat + '" onload="audioLoaded = true;">');
</script>
<link rel=preload href="/media/foo.vtt" as=track type="text/vtt" onload="trackLoaded = true;">
<link rel=preload href="resources/foo.vtt" as=track type="text/vtt" onload="trackLoaded = true;">
<link rel=preload href="resources/dummy.js" as=script type="application/foobar" onload="gibberishLoaded++;">
<link rel=preload href="resources/dummy.css" as=style type="text/foobar" onload="gibberishLoaded++;">
<link rel=preload href="resources/square.png" as=image type="image/foobar" onload="gibberishLoaded++;">
<link rel=preload href="/fonts/CanvasTest.ttf" as=font type="font/foobar" crossorigin onload="gibberishLoaded++;">
<link rel=preload href="resources/CanvasTest.ttf" as=font type="font/foobar" crossorigin onload="gibberishLoaded++;">
<script>
document.write('<link rel=preload href="' + videoURL + '" as=video type="video/foobar" onload="gibberishLoaded++;">');
document.write('<link rel=preload href="' + audioURL + '" as=audio type="audio/foobar" onload="gibberishLoaded++;">');
</script>
<link rel=preload href="/media/foo.vtt" as=track type="text/foobar" onload="gibberishLoaded++;">
<link rel=preload href="resources/foo.vtt" as=track type="text/foobar" onload="gibberishLoaded++;">
<body>
<script src="resources/dummy.js?pipe=trickle(d5)"></script>
<script src="resources/dummy.js?pipe=trickle(d5)&preload-with-type"></script>
<script>
window.onload = t.step_func(function() {
verifyPreloadAndRTSupport();

View file

@ -15,6 +15,7 @@ test(function() {
"video": "video",
"audio": "audio",
"track": "track",
"fetch": "fetch",
};
var keys = Object.keys(values);
for (var i = 0; i < keys.length; ++i) {

Binary file not shown.

View file

@ -0,0 +1 @@
Cache-Control: max-age=1000

View file

@ -0,0 +1 @@
Cache-Control: max-age=1000

View file

@ -0,0 +1 @@
/* This is just a dummy, empty CSS file */

View file

@ -0,0 +1,2 @@
Cache-Control: max-age=1000
Link: </preload/resources/CanvasTest.ttf?link-header-on-subresource>; rel=preload;as=font;crossorigin

View file

@ -0,0 +1 @@
Cache-Control: max-age=1000

View file

@ -0,0 +1 @@
Cache-Control: max-age=1000

View file

@ -0,0 +1 @@
Cache-Control: max-age=1000

View file

@ -0,0 +1 @@
Cache-Control: max-age=1000

View file

@ -0,0 +1,4 @@
WEBVTT
00:00:00.000 --> 00:00:05.000
Foo

View file

@ -0,0 +1 @@
Cache-Control: max-age=1000

View file

@ -12,5 +12,11 @@ function getAbsoluteURL(url)
function verifyNumberOfDownloads(url, number)
{
assert_equals(performance.getEntriesByName(getAbsoluteURL(url)).length, number, url);
var numDownloads = 0;
performance.getEntriesByName(getAbsoluteURL(url)).forEach(entry => {
if (entry.transferSize > 0) {
numDownloads++;
}
});
assert_equals(numDownloads, number, url);
}

View file

@ -0,0 +1 @@
Cache-Control: max-age=1000

View file

@ -0,0 +1 @@
Cache-Control: max-age=1000

View file

@ -0,0 +1 @@
Cache-Control: max-age=1000

View file

@ -5,54 +5,54 @@
<script>
var t = async_test('Makes sure that preloaded resources are not downloaded again when used');
</script>
<link rel=preload href="resources/dummy.js" as=script>
<link rel=preload href="resources/dummy.css" as=style>
<link rel=preload href="resources/square.png" as=image>
<link rel=preload href="resources/square.png?background" as=image>
<link rel=preload href="/fonts/CanvasTest.ttf" as=font crossorigin>
<link rel=preload href="/media/white.mp4" as=video>
<link rel=preload href="/media/sound_5.oga" as=audio>
<link rel=preload href="/media/foo.vtt" as=track>
<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="resources/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">
<link rel=preload href="resources/dummy.xml?single-download-preload">
<body>
<script src="resources/dummy.js?pipe=trickle(d3)"></script>
<script src="resources/dummy.js?pipe=trickle(d3)&single-download-preload"></script>
<style>
#background {
width: 200px;
height: 200px;
background-image: url(resources/square.png?background);
background-image: url(resources/square.png?backgroundi&single-download-preload);
}
@font-face {
font-family:ahem;
src: url(/fonts/CanvasTest.ttf);
src: url(resources/CanvasTest.ttf?single-download-preload);
}
span { font-family: ahem, Arial; }
</style>
<link rel="stylesheet" href="resources/dummy.css">
<script src="resources/dummy.js"></script>
<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">
<video src="/media/white.mp4">
<track kind=subtitles src="/media/foo.vtt" srclang=en>
<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="/media/sound_5.oga"></audio>
<audio src="resources/sound_5.oga?single-download-preload"></audio>
<script>
var xhr = new XMLHttpRequest();
xhr.open("GET", "resources/dummy.xml");
xhr.open("GET", "resources/dummy.xml?single-download-preload");
xhr.send();
window.addEventListener("load", t.step_func(function() {
verifyPreloadAndRTSupport();
setTimeout(t.step_func(function() {
verifyNumberOfDownloads("resources/dummy.js", 1);
verifyNumberOfDownloads("resources/dummy.css", 1);
verifyNumberOfDownloads("resources/square.png", 1);
verifyNumberOfDownloads("resources/square.png?background", 1);
verifyNumberOfDownloads("/fonts/CanvasTest.ttf", 1);
verifyNumberOfDownloads("resources/dummy.js?single-download-preload", 1);
verifyNumberOfDownloads("resources/dummy.css?single-download-preload", 1);
verifyNumberOfDownloads("resources/square.png?single-download-preload", 1);
verifyNumberOfDownloads("resources/square.png?background&single-download-preload", 1);
verifyNumberOfDownloads("resources/CanvasTest.ttf?single-download-preload", 1);
verifyNumberOfDownloads("resources/dummy.xml?foobar", 0);
verifyNumberOfDownloads("/media/foo.vtt", 1);
verifyNumberOfDownloads("resources/dummy.xml", 1);
verifyNumberOfDownloads("resources/foo.vtt?single-download-preload", 1);
verifyNumberOfDownloads("resources/dummy.xml?single-download-preload", 1);
// FIXME: We should verify for video and audio as well, but they seem to (flakily?) trigger multiple partial requests.
t.done();
}), 0);