mirror of
https://github.com/servo/servo.git
synced 2025-08-03 04:30:10 +01:00
Update web-platform-tests to revision 2b758296541cf4f2209b8c2352cf6c7890c97be3
This commit is contained in:
parent
2304f02123
commit
835d593cd0
118 changed files with 3269 additions and 703 deletions
|
@ -105,7 +105,7 @@ var tests_arr = [
|
|||
|
||||
tests_arr.forEach(function(test_obj) {
|
||||
["<meta>", "Refresh header"].forEach(type => {
|
||||
if(type === "Refresh header" && test_obj.input.match("[\n\r\f]")) { // See https://github.com/w3c/wptserve/issues/111 for why \f as well
|
||||
if(type === "Refresh header" && test_obj.input.match("[\n\r\f]")) { // See https://github.com/web-platform-tests/wpt/issues/8372 for why \f as well
|
||||
return;
|
||||
}
|
||||
const filename = type === "<meta>" ? "refresh.sub.html" : "refresh.py";
|
||||
|
|
|
@ -0,0 +1,52 @@
|
|||
n<!DOCTYPE html>
|
||||
<meta charset=utf-8>
|
||||
<title>Test that <object> renders its own fallback.</title>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<body>
|
||||
<script>
|
||||
// The host exists but the resource is unavailable.
|
||||
const cross_origin_url_a = "http://{{hosts[alt][www]}}:{{ports[http][0]}}/foo.html";
|
||||
// The destination does not even exist and the navigation fails.
|
||||
const cross_origin_url_b = "http://{{hosts[alt][nonexistent]}}:{{ports[http][0]}}/foo.html";
|
||||
|
||||
// Returns a promise which is resolved when |callback| returns true. The |callback| is invoked at
|
||||
// every animation frame.
|
||||
function for_each_animation_frame(callback) {
|
||||
return new Promise((resolve) => {
|
||||
function on_raf() {
|
||||
if (!callback())
|
||||
resolve();
|
||||
window.requestAnimationFrame(on_raf);
|
||||
}
|
||||
window.requestAnimationFrame(on_raf);
|
||||
});
|
||||
}
|
||||
|
||||
// Create an <object> with some fallback content.
|
||||
function create_object_with_fallback(url) {
|
||||
var object = document.createElement("object");
|
||||
var fallback = document.createElement("button");
|
||||
fallback.textContent = "FALLBACK CONTENT";
|
||||
object.appendChild(fallback);
|
||||
object.data = url;
|
||||
object.type = "text/html";
|
||||
document.body.appendChild(object);
|
||||
return object;
|
||||
}
|
||||
|
||||
function area(el) {
|
||||
let bounds = el.getBoundingClientRect();
|
||||
return el.width * el.height;
|
||||
}
|
||||
|
||||
promise_test(async() => {
|
||||
var object = create_object_with_fallback(cross_origin_url_a);
|
||||
await for_each_animation_frame(() => area(object.firstChild) > 0);
|
||||
object.parentElement.removeChild(object);
|
||||
object = create_object_with_fallback(cross_origin_url_b);
|
||||
await for_each_animation_frame(() => area(object.firstChild) > 0);
|
||||
object.parentElement.removeChild(object);
|
||||
}, "Verify fallback content for failed cross-origin navigations is shown correctly.");
|
||||
</script>
|
||||
</body>
|
Loading…
Add table
Add a link
Reference in a new issue