Update web-platform-tests to revision 99a09c73e7f1d7b19ec4be2eb8ce2d3bebf52245

This commit is contained in:
WPT Sync Bot 2020-07-02 08:20:17 +00:00
parent 83b2f0de0b
commit c80439a8ff
66 changed files with 745 additions and 207 deletions

View file

@ -1,4 +0,0 @@
[hit-test-floats-002.html]
[Hit test float]
expected: FAIL

View file

@ -1,4 +0,0 @@
[hit-test-floats-003.html]
[Miss float below something else]
expected: FAIL

View file

@ -1,4 +0,0 @@
[hit-test-floats-004.html]
[Miss float below something else]
expected: FAIL

View file

@ -5,9 +5,6 @@
[[data-expected-height\] 7]
expected: FAIL
[[data-expected-height\] 1]
expected: FAIL
[[data-expected-height\] 2]
[[data-expected-height\] 4]
expected: FAIL

View file

@ -0,0 +1,2 @@
[z-index-does-not-apply.html]
expected: FAIL

View file

@ -0,0 +1,4 @@
[CaretPosition-001.html]
[Element at (400, 100)]
expected: FAIL

View file

@ -1,4 +0,0 @@
[elementFromPoint-001.html]
[CSSOM View - 5 - extensions to the Document interface]
expected: FAIL

View file

@ -1,2 +0,0 @@
[HTMLMediaElement.html]
expected: TIMEOUT

View file

@ -318,15 +318,21 @@
[<iframe>: separate response Content-Type: text/plain */*;charset=gbk]
expected: FAIL
[<iframe>: separate response Content-Type: text/plain */*]
expected: FAIL
[<iframe>: separate response Content-Type: text/html;x=" text/plain]
expected: FAIL
[<iframe>: combined response Content-Type: text/html */*;charset=gbk]
expected: FAIL
[<iframe>: separate response Content-Type: text/html;" \\" text/plain]
[<iframe>: combined response Content-Type: text/html;" text/plain]
expected: FAIL
[<iframe>: separate response Content-Type: text/html */*;charset=gbk]
expected: FAIL
[<iframe>: separate response Content-Type: text/html */*]
expected: FAIL
[<iframe>: combined response Content-Type: text/html;" \\" text/plain]
expected: FAIL

View file

@ -56,6 +56,3 @@
[separate text/javascript x/x]
expected: FAIL
[separate text/javascript error]
expected: FAIL

View file

@ -1,4 +0,0 @@
[traverse_the_history_1.html]
[Multiple history traversals from the same task]
expected: FAIL

View file

@ -0,0 +1,4 @@
[traverse_the_history_5.html]
[Multiple history traversals, last would be aborted]
expected: FAIL

View file

@ -171,3 +171,6 @@
[XHTML img usemap="#hash-id"]
expected: FAIL
[HTML (standards) IMG usemap="no-hash-name"]
expected: FAIL

View file

@ -0,0 +1,7 @@
[iframe-loading-lazy-load-event.tentative.html]
[In-viewport loading=lazy visibility:hidden iframe does not block the load event]
expected: FAIL
[In-viewport loading=lazy iframe does not block the load event]
expected: FAIL

View file

@ -1,4 +1,5 @@
[iframe_sandbox_popups_nonescaping-3.html]
expected: CRASH
[Check that popups from a sandboxed iframe do not escape the sandbox]
expected: FAIL

View file

@ -1,4 +0,0 @@
[077.html]
[ adding several types of scripts through the DOM and removing some of them confuses scheduler ]
expected: FAIL

View file

@ -1,4 +0,0 @@
[module-static-import-delayed.html]
[document.write in an imported module]
expected: FAIL

View file

@ -1,10 +1,9 @@
[promise-job-entry.html]
expected: TIMEOUT
[Fulfillment handler on fulfilled promise]
expected: FAIL
[Rejection handler on pending-then-rejected promise]
expected: TIMEOUT
expected: FAIL
[Sanity check: this all works as expected with no promises involved]
expected: FAIL
@ -16,5 +15,5 @@
expected: FAIL
[Fulfillment handler on pending-then-fulfilled promise]
expected: TIMEOUT
expected: FAIL

View file

@ -1,4 +1,5 @@
[realtimeanalyser-fft-scaling.html]
expected: TIMEOUT
[X 2048-point FFT peak position is not equal to 64. Got 0.]
expected: FAIL

View file

@ -0,0 +1,5 @@
[018.html]
expected: TIMEOUT
[origin of the script that invoked the method, javascript:]
expected: TIMEOUT

View file

@ -0,0 +1,5 @@
[017.html]
expected: TIMEOUT
[origin of the script that invoked the method, about:blank]
expected: TIMEOUT

View file

@ -1,5 +1,4 @@
[import-in-moduleworker.html]
expected: ERROR
[Base URL in module dedicated workers: import]
expected: FAIL

View file

@ -1,2 +0,0 @@
[Worker-constructor.html]
expected: ERROR

View file

@ -24109,6 +24109,36 @@
},
"html": {
"rendering": {
"non-replaced-elements": {
"tables": {
"table-row-pagination-001-print.html": [
"3a14558a8b21f78a3de04b13b1b0e1f86cecb11c",
[
null,
[
[
"/html/rendering/non-replaced-elements/tables/table-row-pagination-001-print-ref.html",
"=="
]
],
{}
]
],
"table-row-pagination-002-print.html": [
"bc1c42088fd809a4325ab5ecba487bf895fddd98",
[
null,
[
[
"/html/rendering/non-replaced-elements/tables/table-row-pagination-002-print-ref.html",
"=="
]
],
{}
]
]
}
},
"the-details-element": {
"details-page-break-after-1-print.html": [
"cb7fc466d09226fd7833a4d8066fb64fae755392",
@ -166000,6 +166030,19 @@
{}
]
],
"abspos-008.tentative.html": [
"c81e9fcf40547bf34c47ab11ca3fda307f5f77ed",
[
null,
[
[
"/css/reference/ref-filled-green-100px-square.xht",
"=="
]
],
{}
]
],
"auto-margins-001.tentative.html": [
"9e89ab6ca7f5220ea030aa537bcb3b64f156043d",
[
@ -166260,6 +166303,19 @@
{}
]
],
"block-aspect-ratio-020.tentative.html": [
"3cb076252b0a356774cd4f9257c8561973a5d5d0",
[
null,
[
[
"/css/reference/ref-filled-green-100px-square.xht",
"=="
]
],
{}
]
],
"flex-aspect-ratio-001.tentative.html": [
"3b477e299ad763a1c0108e16f05981c76c25bb77",
[
@ -192728,6 +192784,19 @@
],
{}
]
],
"z-index-does-not-apply.html": [
"26d3c49de0f6b767bb12e48cb188571388ad4544",
[
null,
[
[
"/css/css-transforms/z-index-does-not-apply-ref.html",
"=="
]
],
{}
]
]
},
"css-transitions": {
@ -192917,6 +192986,19 @@
{}
]
],
"appearance-progress-bar-002.html": [
"719b2dc220d253faa756e615d58ca947e73479f1",
[
null,
[
[
"/css/css-ui/appearance-progress-bar-002-ref.html",
"=="
]
],
{}
]
],
"appearance-push-button-001.html": [
"3aecbb079809bb0f1e8c2a0786dee51bc6eb61d4",
[
@ -310497,6 +310579,10 @@
"translate-ref.html": [
"20fb4ffb5b61ef9a561650995fcc057b763af659",
[]
],
"z-index-does-not-apply-ref.html": [
"f3b68dd6c953c90d85a795d5e140ce0fe91ca941",
[]
]
},
"css-transitions": {
@ -310776,6 +310862,10 @@
"5c5cdb42e7078b18ed1e4f58f34747ce76d50c02",
[]
],
"appearance-progress-bar-002-ref.html": [
"cc081a4559c57d2610710cd03c0c562309803516",
[]
],
"appearance-revert-ref.html": [
"26aa6e87198152487416b3b09f2dd92f8f31f3ec",
[]
@ -332832,6 +332922,14 @@
"e5279080f0875ef323774a4c1d83e4242f47b3fa",
[]
],
"table-row-pagination-001-print-ref.html": [
"2aa94109ad6db97080b978572e44e14f9d0ed52d",
[]
],
"table-row-pagination-002-print-ref.html": [
"91400fcc1eafa8ab86a8254154c80286fca0cf2c",
[]
],
"table-width-150percent-ref.html": [
"820c360e391694732cce6cac0648a04a0f89f64d",
[]
@ -337887,6 +337985,10 @@
"46fad3522ed2539d04a688cc4f5d05c8e76ef24f",
[]
],
"is-input-pending.idl": [
"191fafdb96c8c7502e5a297719562053cf23907d",
[]
],
"js-self-profiling.idl": [
"0153e652360e2586a11ba6d808d38bfe59fe159e",
[]
@ -338208,7 +338310,7 @@
[]
],
"webauthn.idl": [
"5627180867581a2ef5940bd06c828a5f6157daf2",
"9de7f64919d6a5f674bd684423491ddacbd2f96e",
[]
],
"webdriver.idl": [
@ -343461,7 +343563,7 @@
[]
],
"webxr-test.js": [
"715ebc2fed43472c9640071709a95efa9b3e9bce",
"7854b4f85ff907c718eca4fc3bc2f94d9b6c5895",
[]
],
"webxr-test.js.headers": [
@ -385729,6 +385831,13 @@
{}
]
],
"remove-float-then-abspos-in-inline.html": [
"5cf8084c638b5cfd77443e22054e8fddc34aa925",
[
null,
{}
]
],
"zero-space-between-floats-001.html": [
"a7796011b0191e18ac24dee8ac94d2e878752201",
[
@ -389342,6 +389451,13 @@
{}
]
],
"display-first-line-001.html": [
"fd8501a06814e94db68a55243e02eef302456726",
[
null,
{}
]
],
"display-list-item-height-after-dom-change.html": [
"f8d6e85cee2325f3ae51a950a276430d26c04189",
[
@ -461542,6 +461658,13 @@
{}
]
],
"iframe-loading-lazy-load-event.tentative.html": [
"bf98bf7585cf608e6ebb46d025663e22bce8324c",
[
null,
{}
]
],
"iframe-loading-lazy-multiple-times.tentative.html": [
"89e41e61bf7fcac2b5f35990f7ad70a9fdab8424",
[
@ -473465,6 +473588,26 @@
]
]
},
"is-input-pending": {
"idlharness.window.js": [
"e6bb26a5a710d0dbd35bddae78143b433cb5bb1b",
[
"is-input-pending/idlharness.window.html",
{
"script_metadata": [
[
"script",
"/resources/WebIDLParser.js"
],
[
"script",
"/resources/idlharness.js"
]
]
}
]
]
},
"js": {
"behaviours": {
"SetPrototypeOf-window.html": [
@ -527216,7 +527359,7 @@
"webxr": {
"anchors": {
"ar_anchor_states.https.html": [
"907da06880e9fe7908a32afbf2ddcb642e174b41",
"06bc6798839a5eff01792325d8a5c90921f6c2e3",
[
null,
{}

View file

@ -1,4 +0,0 @@
[hit-test-floats-002.html]
[Hit test float]
expected: FAIL

View file

@ -1,4 +0,0 @@
[hit-test-floats-003.html]
[Miss float below something else]
expected: FAIL

View file

@ -1,4 +0,0 @@
[hit-test-floats-004.html]
[Miss float below something else]
expected: FAIL

View file

@ -8,9 +8,6 @@
[[data-expected-height\] 3]
expected: FAIL
[[data-expected-height\] 1]
expected: FAIL
[[data-expected-height\] 2]
[[data-expected-height\] 4]
expected: FAIL

View file

@ -0,0 +1,2 @@
[z-index-does-not-apply.html]
expected: FAIL

View file

@ -0,0 +1,4 @@
[CaretPosition-001.html]
[Element at (400, 100)]
expected: FAIL

View file

@ -1,4 +0,0 @@
[elementFromPoint-001.html]
[CSSOM View - 5 - extensions to the Document interface]
expected: FAIL

View file

@ -1,2 +0,0 @@
[HTMLMediaElement.html]
expected: TIMEOUT

View file

@ -318,15 +318,21 @@
[<iframe>: separate response Content-Type: text/plain */*;charset=gbk]
expected: FAIL
[<iframe>: separate response Content-Type: text/plain */*]
expected: FAIL
[<iframe>: separate response Content-Type: text/html;x=" text/plain]
expected: FAIL
[<iframe>: combined response Content-Type: text/html */*;charset=gbk]
expected: FAIL
[<iframe>: separate response Content-Type: text/html;" \\" text/plain]
[<iframe>: combined response Content-Type: text/html;" text/plain]
expected: FAIL
[<iframe>: separate response Content-Type: text/html */*;charset=gbk]
expected: FAIL
[<iframe>: separate response Content-Type: text/html */*]
expected: FAIL
[<iframe>: combined response Content-Type: text/html;" \\" text/plain]
expected: FAIL

View file

@ -56,6 +56,3 @@
[separate text/javascript x/x]
expected: FAIL
[separate text/javascript error]
expected: FAIL

View file

@ -1,4 +0,0 @@
[traverse_the_history_1.html]
[Multiple history traversals from the same task]
expected: FAIL

View file

@ -0,0 +1,4 @@
[traverse_the_history_5.html]
[Multiple history traversals, last would be aborted]
expected: FAIL

View file

@ -172,3 +172,6 @@
[XHTML img usemap="http://example.org/#garbage-before-hash-id"]
expected: FAIL
[HTML (standards) IMG usemap="no-hash-name"]
expected: FAIL

View file

@ -0,0 +1,7 @@
[iframe-loading-lazy-load-event.tentative.html]
[In-viewport loading=lazy visibility:hidden iframe does not block the load event]
expected: FAIL
[In-viewport loading=lazy iframe does not block the load event]
expected: FAIL

View file

@ -1,5 +1,6 @@
[iframe_sandbox_popups_nonescaping-3.html]
type: testharness
expected: CRASH
[Check that popups from a sandboxed iframe do not escape the sandbox]
expected: FAIL

View file

@ -1,4 +0,0 @@
[077.html]
[ adding several types of scripts through the DOM and removing some of them confuses scheduler ]
expected: FAIL

View file

@ -1,4 +0,0 @@
[module-static-import-delayed.html]
[document.write in an imported module]
expected: FAIL

View file

@ -1,10 +1,9 @@
[promise-job-entry.html]
expected: TIMEOUT
[Fulfillment handler on fulfilled promise]
expected: FAIL
[Rejection handler on pending-then-rejected promise]
expected: TIMEOUT
expected: FAIL
[Sanity check: this all works as expected with no promises involved]
expected: FAIL
@ -16,5 +15,5 @@
expected: FAIL
[Fulfillment handler on pending-then-fulfilled promise]
expected: TIMEOUT
expected: FAIL

View file

@ -1,4 +1,5 @@
[realtimeanalyser-fft-scaling.html]
expected: TIMEOUT
[X 2048-point FFT peak position is not equal to 64. Got 0.]
expected: FAIL

View file

@ -0,0 +1,5 @@
[018.html]
expected: TIMEOUT
[origin of the script that invoked the method, javascript:]
expected: TIMEOUT

View file

@ -0,0 +1,5 @@
[017.html]
expected: TIMEOUT
[origin of the script that invoked the method, about:blank]
expected: TIMEOUT

View file

@ -1,5 +1,4 @@
[import-in-moduleworker.html]
expected: ERROR
[Base URL in module dedicated workers: import]
expected: FAIL

View file

@ -1,2 +0,0 @@
[Worker-constructor.html]
expected: ERROR

View file

@ -0,0 +1,31 @@
<!DOCTYPE html>
<title>Removing floats changed to positioned object should not crash</title>
<link rel="author" href="kojii@chromium.org">
<link rel="help" href="https://crbug.com/1101277">
<meta name="assert" content="Removing floats changed to positioned object should not crash">
<style>
.float {
float: left;
}
.abs {
position: absolute;
}
</style>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<body>
<div id="container">text<span id="target" class="float"></span></div>
</body>
<script>
test(() => {
document.body.offsetTop;
let target = document.getElementById('target');
// Change `#target` from floating object to positioned object.
target.className = 'abs';
document.body.offsetTop;
// and remove it.
target.remove();
}, 'No crash or DCHECK failure');
</script>

View file

@ -0,0 +1,42 @@
<!DOCTYPE html>
<meta charset="utf-8">
<title>CSS Display: first-line and first-letter pseudo-elements</title>
<link rel="help" href="https://www.w3.org/TR/css-display-3/#placement">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<style>
#t1::first-letter { float: left; display: flex; font-size: 30px }
#t2::first-letter { float: left; font-size: 30px }
#t3::first-letter { display: flex; font-size: 30px }
#t4::first-letter { font-size: 30px }
#t5::first-line { float: left; display: flex; font-size: 30px }
#t6::first-line { float: left; font-size: 30px }
#t7::first-line { display: flex; font-size: 30px }
#t8::first-line { font-size: 30px }
</style>
<div id="t1">First letter is float and flex.</div>
<div id="t2">First letter is float but not flex.</div>
<div id="t3">First letter is flex but not float.</div>
<div id="t4">First letter not float or flex.</div>
<div id="t5">First line is float and flex.</div>
<div id="t6">First line is float but not flex.</div>
<div id="t7">First line is flex but not float.</div>
<div id="t8">First line is not float or flex.</div>
<script>
function getFistLetterDisplayFor(id) {
return window.getComputedStyle(document.getElementById(id), "::first-letter").display;
}
function getFistLineDisplayFor(id) {
return window.getComputedStyle(document.getElementById(id), "::first-line").display;
}
test(function() {
assert_equals(getFistLetterDisplayFor("t1"), "block");
assert_equals(getFistLetterDisplayFor("t2"), "block");
assert_equals(getFistLetterDisplayFor("t3"), "inline");
assert_equals(getFistLetterDisplayFor("t4"), "inline");
assert_equals(getFistLineDisplayFor("t5"), "inline");
assert_equals(getFistLineDisplayFor("t6"), "inline");
assert_equals(getFistLineDisplayFor("t7"), "inline");
assert_equals(getFistLineDisplayFor("t8"), "inline");
}, "display of first-letter and first-line");
</script>

View file

@ -0,0 +1,25 @@
<!DOCTYPE html>
<title>CSS aspect-ratio: abspos div inline size with max-height</title>
<link rel="author" title="Google LLC" href="https://www.google.com/">
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#aspect-ratio">
<link rel="help" href="https://github.com/w3c/csswg-drafts/issues/5257">
<link rel="match" href="../../reference/ref-filled-green-100px-square.xht" />
<meta name="assert" content="A max-height constraint should be transferred through the aspect-ratio to apply to the inline size">
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
<div style="position: relative; height: 100px; position: relative;">
<div style="position: absolute; aspect-ratio: 1/1; max-height: 100%; background: green; color: green;">
<!-- max-size 200px, min-size: 20px -->
<div style="width: 20px; height: 10px; vertical-align: bottom;"></div>
<div style="width: 20px; height: 10px; vertical-align: bottom;"></div>
<div style="width: 20px; height: 10px; vertical-align: bottom;"></div>
<div style="width: 20px; height: 10px; vertical-align: bottom;"></div>
<div style="width: 20px; height: 10px; vertical-align: bottom;"></div>
<div style="width: 20px; height: 10px; vertical-align: bottom;"></div>
<div style="width: 20px; height: 10px; vertical-align: bottom;"></div>
<div style="width: 20px; height: 10px; vertical-align: bottom;"></div>
<div style="width: 20px; height: 10px; vertical-align: bottom;"></div>
<div style="width: 20px; height: 10px; vertical-align: bottom;"></div>
</div>
</div>

View file

@ -0,0 +1,25 @@
<!DOCTYPE html>
<title>CSS aspect-ratio: abspos div inline size with max-height</title>
<link rel="author" title="Google LLC" href="https://www.google.com/">
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#aspect-ratio">
<link rel="help" href="https://github.com/w3c/csswg-drafts/issues/5257">
<link rel="match" href="../../reference/ref-filled-green-100px-square.xht" />
<meta name="assert" content="A max-height constraint should be transferred through the aspect-ratio to apply to the inline size">
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
<div style="height: 100px;">
<div style="aspect-ratio: 1/1; max-height: 100%; background: green;">
<!-- max-size 200px, min-size: 20px -->
<div style="width: 20px; height: 10px; vertical-align: bottom;"></div>
<div style="width: 20px; height: 10px; vertical-align: bottom;"></div>
<div style="width: 20px; height: 10px; vertical-align: bottom;"></div>
<div style="width: 20px; height: 10px; vertical-align: bottom;"></div>
<div style="width: 20px; height: 10px; vertical-align: bottom;"></div>
<div style="width: 20px; height: 10px; vertical-align: bottom;"></div>
<div style="width: 20px; height: 10px; vertical-align: bottom;"></div>
<div style="width: 20px; height: 10px; vertical-align: bottom;"></div>
<div style="width: 20px; height: 10px; vertical-align: bottom;"></div>
<div style="width: 20px; height: 10px; vertical-align: bottom;"></div>
</div>
</div>

View file

@ -0,0 +1,10 @@
<!doctype html>
<title>CSS test reference</title>
<style>
div {
background: green;
width: 100px;
height: 100px;
}
</style>
<div></div>

View file

@ -0,0 +1,25 @@
<!doctype html>
<title>z-index doesn't apply to transformed content which is not positioned</title>
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
<link rel="author" title="Mozilla" href="https://mozilla.org">
<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1256980">
<link rel="help" href="https://drafts.csswg.org/css2/visuren.html#z-index">
<link rel="match" href="z-index-does-not-apply-ref.html">
<style>
#a, #b {
background: green;
width: 100px;
height: 100px;
}
#a {
background: red;
z-index: 2;
transform: translateX(0);
}
#b {
z-index: 1;
transform: translateY(-100px);
}
</style>
<div id="a"></div>
<div id="b"></div>

View file

@ -0,0 +1,4 @@
<!doctype html>
<title>CSS Test Reference</title>
<progress style="appearance:auto">
<progress style="appearance:none">

View file

@ -0,0 +1,16 @@
<!doctype html>
<meta charset="utf-8">
<title>CSS Basic User Interface Test: progress dynamic appearance</title>
<link rel="help" href="https://drafts.csswg.org/css-ui-4/#appearance-switching">
<link rel="match" href="appearance-progress-bar-002-ref.html">
<style>
#progress1 { appearance: none }
#progress2 { appearance: auto }
</style>
<progress id="progress1">
<progress id="progress2">
<script>
document.body.offsetTop;
progress1.style.appearance = "auto";
progress2.style.appearance = "none";
</script>

View file

@ -0,0 +1,29 @@
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Testing row split</title>
<style type="text/css">
@page { size:5in 3in; margin:0.5in; }
html,body {
color:black;
background-color:white;
font-size:16px;
padding:0;
margin:0;
height:100%;
}
div { height:160%; }
p { height: 50%; margin:0; }
</style>
</head>
<body>
<div>
<p></p>
<p>1</p>
</div>
</body>
</html>

View file

@ -0,0 +1,33 @@
<!DOCTYPE HTML>
<html>
<head>
<link rel="match" href="table-row-pagination-001-print-ref.html">
<link rel="help" href="https://html.spec.whatwg.org/multipage/rendering.html#tables-2">
<link rel="help" href="https://drafts.csswg.org/css-break/">
<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=685012">
<meta charset="utf-8">
<title>Testing row split</title>
<style type="text/css">
@page { size:5in 3in; margin:0.5in; }
html,body {
color:black;
background-color:white;
font-size:16px;
padding:0;
margin:0;
height:100%;
}
table { height:160%; width:100%; }
td { height:50%; width:100%; }
</style>
</head>
<body>
<table border="0" cellspacing="0" cellpadding="0">
<tr><td></td></tr>
<tr><td valign="top">1</td></tr>
</table>
</body>
</html>

View file

@ -0,0 +1,14 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<style>
@page { size:5in 3in; margin:0.5in; }
</style>
</head>
<body>
<div style="height:3in">Tall div. (Scroll to end.)</div>
<div>IS THIS TEXT VISIBLE IN PRINT PREVIEW?</div>
<div>[clear:left]</div>
</body>
</html>

View file

@ -0,0 +1,26 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<link rel="match" href="table-row-pagination-002-print-ref.html">
<link rel="help" href="https://html.spec.whatwg.org/multipage/rendering.html#tables-2">
<link rel="help" href="https://drafts.csswg.org/css-break/">
<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=963441">
<style>
@page { size:5in 3in; margin:0.5in; }
</style>
</head>
<body>
<div style="float: left">
<table cellpadding=0 cellspacing=0>
<tr>
<td>
<div style="height:3in">Tall div. (Scroll to end.)</div>
<div>IS THIS TEXT VISIBLE IN PRINT PREVIEW?</div>
</td>
</tr>
</table>
</div>
<div style="clear: left">[clear:left]</div>
</body>
</html>

View file

@ -0,0 +1,47 @@
<!DOCTYPE html>
<head>
<title>In-viewport loading=lazy iframes do not block the window load event</title>
<link rel="author" title="Dom Farolino" href="mailto:dom@chromium.org">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="../resources/common.js"></script>
</head>
<body>
<!-- This image blocks the window load event for 1 second -->
<img src="/common/square.png?pipe=trickle(d1)">
<!-- These iframes must load because they intersect the viewport, but they must
not block the window load event, because they are loading=lazy -->
<iframe id="visible" loading="lazy"
src="resources/subframe.html?visible&pipe=trickle(d3)"></iframe>
<iframe id="visibility_hidden" style="visibility:hidden;" loading="lazy"
src="resources/subframe.html?visibility_hidden&pipe=trickle(d3)"></iframe>
</body>
<script>
const visible_iframe = document.querySelector('#visible');
const hidden_iframe = document.querySelector('#visibility_hidden');
const visible_iframe_t =
async_test('In-viewport loading=lazy iframe does not block the load event');
const hidden_iframe_t =
async_test('In-viewport loading=lazy visibility:hidden iframe does not ' +
'block the load event');
let has_window_loaded = false;
window.addEventListener("load", () => {
has_window_loaded = true;
});
visible_iframe.onload = visible_iframe_t.step_func_done(() => {
assert_true(has_window_loaded,
"The visible iframe should not block the load event");
});
hidden_iframe.onload = hidden_iframe_t.step_func_done(() => {
assert_true(has_window_loaded,
"The hidden iframe should not block the load event");
});
</script>

View file

@ -0,0 +1,22 @@
// GENERATED CONTENT - DO NOT EDIT
// Content was automatically extracted by Reffy into reffy-reports
// (https://github.com/tidoust/reffy-reports)
// Source: Early detection of input events (https://wicg.github.io/is-input-pending/)
dictionary IsInputPendingOptionsInit {
boolean includeContinuous = "false";
};
[Exposed=Window]
interface IsInputPendingOptions {
constructor(optional IsInputPendingOptionsInit isInputPendingOptionsInit = {});
attribute boolean includeContinuous;
};
[Exposed=Window] interface Scheduling {
boolean isInputPending(optional IsInputPendingOptions isInputPendingOptions);
};
partial interface Navigator {
readonly attribute Scheduling scheduling;
};

View file

@ -115,8 +115,6 @@ dictionary AuthenticationExtensionsClientInputs {
dictionary AuthenticationExtensionsClientOutputs {
};
typedef record<DOMString, DOMString> AuthenticationExtensionsAuthenticatorInputs;
dictionary CollectedClientData {
required DOMString type;
required DOMString challenge;
@ -192,6 +190,29 @@ partial dictionary AuthenticationExtensionsClientOutputs {
CredentialPropertiesOutput credProps;
};
dictionary AuthenticationExtensionsPRFValues {
required ArrayBuffer first;
ArrayBuffer second;
};
dictionary AuthenticationExtensionsPRFInputs {
AuthenticationExtensionsPRFValues eval;
record<USVString, AuthenticationExtensionsPRFValues> evalByCredential;
};
partial dictionary AuthenticationExtensionsClientInputs {
AuthenticationExtensionsPRFInputs prf;
};
dictionary AuthenticationExtensionsPRFOutputs {
boolean enabled;
AuthenticationExtensionsPRFValues results;
};
partial dictionary AuthenticationExtensionsClientOutputs {
AuthenticationExtensionsPRFOutputs prf;
};
partial dictionary AuthenticationExtensionsClientInputs {
AuthenticationExtensionsLargeBlobInputs largeBlob;
};

View file

@ -0,0 +1,15 @@
// META: script=/resources/WebIDLParser.js
// META: script=/resources/idlharness.js
// https://wicg.github.io/is-input-pending/
idl_test(
['is-input-pending'],
['html', 'dom'],
async idl_array => {
idl_array.add_objects({
IsInputPendingOptions: ['new IsInputPendingOptions'],
Scheduling: ['navigator.scheduling'],
});
}
);

View file

@ -276,48 +276,9 @@ class FakeXRAnchorController {
}
}
class FakeXRAnchorCreationEvent extends Event {
constructor(type, eventInitDict) {
super(type, eventInitDict);
this.success_ = false;
this.requestedAnchorOrigin_ = {};
this.isAttachedToEntity_ = false;
this.anchorController_ = new FakeXRAnchorController();
if(eventInitDict.requestedAnchorOrigin != null) {
this.requestedAnchorOrigin_ = eventInitDict.requestedAnchorOrigin;
}
if(eventInitDict.isAttachedToEntity != null) {
this.isAttachedToEntity_ = eventInitDict.isAttachedToEntity;
}
}
get requestedAnchorOrigin() {
return this.requestedAnchorOrigin_;
}
get isAttachedToEntity() {
return this.isAttachedToEntity_;
}
get success() {
return this.success_;
}
set success(value) {
this.success_ = value;
}
get anchorController() {
return this.anchorController_;
}
}
// Implements XRFrameDataProvider and XRPresentationProvider. Maintains a mock
// for XRPresentationProvider. Implements FakeXRDevice test API.
class MockRuntime extends EventTarget {
class MockRuntime {
// Mapping from string feature names to the corresponding mojo types.
// This is exposed as a member for extensibility.
static featureToMojoMap = {
@ -339,8 +300,6 @@ class MockRuntime extends EventTarget {
};
constructor(fakeDeviceInit, service) {
super();
this.sessionClient_ = new device.mojom.XRSessionClientPtr();
this.presentation_provider_ = new MockXRPresentationProvider();
@ -368,6 +327,8 @@ class MockRuntime extends EventTarget {
this.anchor_controllers_ = new Map();
// ID of the next anchor to be assigned.
this.next_anchor_id_ = 1;
// Anchor creation callback (initially null, can be set by tests).
this.anchor_creation_callback_ = null;
let supportedModes = [];
if (fakeDeviceInit.supportedModes) {
@ -568,6 +529,10 @@ class MockRuntime extends EventTarget {
return source;
}
setAnchorCreationCallback(callback) {
this.anchor_creation_callback_ = callback;
}
// Helper methods
getNonImmersiveDisplayInfo() {
const displayInfo = this.getImmersiveDisplayInfo();
@ -706,6 +671,9 @@ class MockRuntime extends EventTarget {
// XRFrameDataProvider implementation.
getFrameData(options) {
return new Promise((resolve) => {
const populatePose = () => {
const mojo_space_reset = this.send_mojo_space_reset_;
this.send_mojo_space_reset_ = false;
@ -735,21 +703,35 @@ class MockRuntime extends EventTarget {
// window.performance.now() is in milliseconds, so convert to microseconds.
microseconds: window.performance.now() * 1000,
},
frameId: this.next_frame_id_++,
frameId: this.next_frame_id_,
bufferHolder: null,
bufferSize: {},
stageParameters: this.stageParameters_,
stageParametersUpdated: stage_parameters_updated,
};
this.next_frame_id_++;
this._calculateHitTestResults(frameData);
this._calculateAnchorInformation(frameData);
this._injectAdditionalFrameData(options, frameData);
return Promise.resolve({
frameData: frameData,
resolve({frameData});
};
if(this.sessionOptions_.mode == device.mojom.XRSessionMode.kInline) {
// Inline sessions should not have a delay introduced since it causes them
// to miss a vsync blink-side and delays propagation of changes that happened
// within a rAFcb by one frame (e.g. setViewerOrigin() calls would take 2 frames
// to propagate).
populatePose();
} else {
// For immerive sessions, add additional delay to allow for anchor creation
// promises to run.
setTimeout(populatePose, 3); // note: according to MDN, the timeout is not exact
}
});
}
@ -768,6 +750,7 @@ class MockRuntime extends EventTarget {
closeDataProvider() {
this.dataProviderBinding_.close();
this.sessionOptions_ = null;
}
// XREnvironmentIntegrationProvider implementation:
@ -818,6 +801,15 @@ class MockRuntime extends EventTarget {
createAnchor(nativeOriginInformation, nativeOriginFromAnchor) {
return new Promise((resolve) => {
if(this.anchor_creation_callback_ == null) {
resolve({
result : device.mojom.CreateAnchorResult.FAILURE,
anchorId : 0
});
return;
}
const mojoFromNativeOrigin = this._getMojoFromNativeOrigin(nativeOriginInformation);
if(mojoFromNativeOrigin == null) {
resolve({
@ -830,36 +822,45 @@ class MockRuntime extends EventTarget {
const mojoFromAnchor = XRMathHelper.mul4x4(mojoFromNativeOrigin, nativeOriginFromAnchor);
const createAnchorEvent = new FakeXRAnchorCreationEvent("anchorcreate", {
const anchorCreationParameters = {
requestedAnchorOrigin: mojoFromAnchor,
isAttachedToEntity: false,
});
};
this.dispatchEvent(createAnchorEvent);
const anchorController = new FakeXRAnchorController();
this.anchor_creation_callback_(anchorCreationParameters, anchorController)
.then((result) => {
if(result) {
// If the test allowed the anchor creation,
// store the anchor controller & return success.
if(createAnchorEvent.success) {
let anchor_controller = createAnchorEvent.anchorController;
const anchor_id = this.next_anchor_id_;
this.next_anchor_id_++;
// If the test allowed the anchor creation,
// store the anchor controller & return success.
this.anchor_controllers_.set(anchor_id, anchor_controller);
anchor_controller.device = this;
anchor_controller.id = anchor_id;
this.anchor_controllers_.set(anchor_id, anchorController);
anchorController.device = this;
anchorController.id = anchor_id;
resolve({
result : device.mojom.CreateAnchorResult.SUCCESS,
anchorId : anchor_id
});
return;
}
} else {
// The test has rejected anchor creation.
resolve({
result : device.mojom.CreateAnchorResult.FAILURE,
anchorId : 0
});
}
})
.catch(() => {
// The test threw an error, treat anchor creation as failed.
resolve({
result : device.mojom.CreateAnchorResult.FAILURE,
anchorId : 0
});
});
});
}
@ -897,6 +898,7 @@ class MockRuntime extends EventTarget {
const dataProviderRequest = mojo.makeRequest(dataProviderPtr);
this.dataProviderBinding_ = new mojo.Binding(
device.mojom.XRFrameDataProvider, this, dataProviderRequest);
this.sessionOptions_ = sessionOptions;
const clientReceiver = mojo.makeRequest(this.sessionClient_);

View file

@ -32,11 +32,11 @@ const testFunctionGenerator = function(expectSucceeded, endSession, expectedErro
let debug = xr_debug.bind(this, 'testAnchorStates');
fakeDeviceController.addEventListener("anchorcreate", (anchorCreateEvent) => {
fakeDeviceController.setAnchorCreationCallback((parameters, controller) => {
// All anchor creation requests that reach this stage should be marked as successful.
// If this test is expected to fail, the failure will happen earlier in the anchor
// creation process.
anchorCreateEvent.success = true;
return Promise.resolve(true);
});
let watcherDone = new Event("watcherdone");

View file

@ -170,3 +170,15 @@
[WebGL test #52: attachment 7 should be 0,255,0,255\nat (0, 0) expected: 0,255,0,255 was 0,0,255,0]
expected: FAIL
[WebGL test #44: attachment 7 should be 0,255,0,255\nat (0, 0) expected: 0,255,0,255 was 255,0,255,0]
expected: FAIL
[WebGL test #42: attachment 5 should be 0,255,0,255\nat (0, 0) expected: 0,255,0,255 was 0,0,0,255]
expected: FAIL
[WebGL test #51: attachment 6 should be 0,255,0,255\nat (0, 0) expected: 0,255,0,255 was 0,0,0,0]
expected: FAIL
[WebGL test #50: attachment 5 should be 0,255,0,255\nat (4, 0) expected: 0,255,0,255 was 255,0,0,0]
expected: FAIL