mirror of
https://github.com/servo/servo.git
synced 2025-08-04 13:10:20 +01:00
Update web-platform-tests to revision 99a09c73e7f1d7b19ec4be2eb8ce2d3bebf52245
This commit is contained in:
parent
83b2f0de0b
commit
c80439a8ff
66 changed files with 745 additions and 207 deletions
|
@ -1,4 +0,0 @@
|
|||
[hit-test-floats-002.html]
|
||||
[Hit test float]
|
||||
expected: FAIL
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
[hit-test-floats-003.html]
|
||||
[Miss float below something else]
|
||||
expected: FAIL
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
[hit-test-floats-004.html]
|
||||
[Miss float below something else]
|
||||
expected: FAIL
|
||||
|
|
@ -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
|
||||
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
[z-index-does-not-apply.html]
|
||||
expected: FAIL
|
|
@ -0,0 +1,4 @@
|
|||
[CaretPosition-001.html]
|
||||
[Element at (400, 100)]
|
||||
expected: FAIL
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
[elementFromPoint-001.html]
|
||||
[CSSOM View - 5 - extensions to the Document interface]
|
||||
expected: FAIL
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
[HTMLMediaElement.html]
|
||||
expected: TIMEOUT
|
|
@ -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
|
||||
|
||||
|
|
|
@ -56,6 +56,3 @@
|
|||
[separate text/javascript x/x]
|
||||
expected: FAIL
|
||||
|
||||
[separate text/javascript error]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,4 +0,0 @@
|
|||
[traverse_the_history_1.html]
|
||||
[Multiple history traversals from the same task]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
[traverse_the_history_5.html]
|
||||
[Multiple history traversals, last would be aborted]
|
||||
expected: FAIL
|
||||
|
|
@ -171,3 +171,6 @@
|
|||
[XHTML img usemap="#hash-id"]
|
||||
expected: FAIL
|
||||
|
||||
[HTML (standards) IMG usemap="no-hash-name"]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
||||
|
|
|
@ -1,4 +0,0 @@
|
|||
[077.html]
|
||||
[ adding several types of scripts through the DOM and removing some of them confuses scheduler ]
|
||||
expected: FAIL
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
[module-static-import-delayed.html]
|
||||
[document.write in an imported module]
|
||||
expected: FAIL
|
||||
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
[018.html]
|
||||
expected: TIMEOUT
|
||||
[origin of the script that invoked the method, javascript:]
|
||||
expected: TIMEOUT
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
[017.html]
|
||||
expected: TIMEOUT
|
||||
[origin of the script that invoked the method, about:blank]
|
||||
expected: TIMEOUT
|
||||
|
|
@ -1,5 +1,4 @@
|
|||
[import-in-moduleworker.html]
|
||||
expected: ERROR
|
||||
[Base URL in module dedicated workers: import]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,2 +0,0 @@
|
|||
[Worker-constructor.html]
|
||||
expected: ERROR
|
|
@ -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,
|
||||
{}
|
||||
|
|
|
@ -1,4 +0,0 @@
|
|||
[hit-test-floats-002.html]
|
||||
[Hit test float]
|
||||
expected: FAIL
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
[hit-test-floats-003.html]
|
||||
[Miss float below something else]
|
||||
expected: FAIL
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
[hit-test-floats-004.html]
|
||||
[Miss float below something else]
|
||||
expected: FAIL
|
||||
|
|
@ -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
|
||||
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
[z-index-does-not-apply.html]
|
||||
expected: FAIL
|
|
@ -0,0 +1,4 @@
|
|||
[CaretPosition-001.html]
|
||||
[Element at (400, 100)]
|
||||
expected: FAIL
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
[elementFromPoint-001.html]
|
||||
[CSSOM View - 5 - extensions to the Document interface]
|
||||
expected: FAIL
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
[HTMLMediaElement.html]
|
||||
expected: TIMEOUT
|
|
@ -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
|
||||
|
||||
|
|
|
@ -56,6 +56,3 @@
|
|||
[separate text/javascript x/x]
|
||||
expected: FAIL
|
||||
|
||||
[separate text/javascript error]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,4 +0,0 @@
|
|||
[traverse_the_history_1.html]
|
||||
[Multiple history traversals from the same task]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
[traverse_the_history_5.html]
|
||||
[Multiple history traversals, last would be aborted]
|
||||
expected: FAIL
|
||||
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
||||
|
|
|
@ -1,4 +0,0 @@
|
|||
[077.html]
|
||||
[ adding several types of scripts through the DOM and removing some of them confuses scheduler ]
|
||||
expected: FAIL
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
[module-static-import-delayed.html]
|
||||
[document.write in an imported module]
|
||||
expected: FAIL
|
||||
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
5
tests/wpt/metadata/webmessaging/with-ports/018.html.ini
Normal file
5
tests/wpt/metadata/webmessaging/with-ports/018.html.ini
Normal file
|
@ -0,0 +1,5 @@
|
|||
[018.html]
|
||||
expected: TIMEOUT
|
||||
[origin of the script that invoked the method, javascript:]
|
||||
expected: TIMEOUT
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
[017.html]
|
||||
expected: TIMEOUT
|
||||
[origin of the script that invoked the method, about:blank]
|
||||
expected: TIMEOUT
|
||||
|
|
@ -1,5 +1,4 @@
|
|||
[import-in-moduleworker.html]
|
||||
expected: ERROR
|
||||
[Base URL in module dedicated workers: import]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,2 +0,0 @@
|
|||
[Worker-constructor.html]
|
||||
expected: ERROR
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -0,0 +1,10 @@
|
|||
<!doctype html>
|
||||
<title>CSS test reference</title>
|
||||
<style>
|
||||
div {
|
||||
background: green;
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
}
|
||||
</style>
|
||||
<div></div>
|
|
@ -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>
|
|
@ -0,0 +1,4 @@
|
|||
<!doctype html>
|
||||
<title>CSS Test Reference</title>
|
||||
<progress style="appearance:auto">
|
||||
<progress style="appearance:none">
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
22
tests/wpt/web-platform-tests/interfaces/is-input-pending.idl
Normal file
22
tests/wpt/web-platform-tests/interfaces/is-input-pending.idl
Normal 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;
|
||||
};
|
|
@ -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;
|
||||
};
|
||||
|
|
|
@ -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'],
|
||||
});
|
||||
}
|
||||
);
|
|
@ -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_);
|
||||
|
||||
|
|
|
@ -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");
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue