mirror of
https://github.com/servo/servo.git
synced 2025-07-28 01:30:32 +01:00
Update web-platform-tests to revision c99723afe33bc5b265e41c1a9446eaff7f8e0d57
This commit is contained in:
parent
14303bd651
commit
ce1de3b503
46 changed files with 254 additions and 102 deletions
|
@ -4,7 +4,7 @@
|
||||||
expected: TIMEOUT
|
expected: TIMEOUT
|
||||||
|
|
||||||
[Opening a blob URL in a new window immediately before revoking it works.]
|
[Opening a blob URL in a new window immediately before revoking it works.]
|
||||||
expected: TIMEOUT
|
expected: FAIL
|
||||||
|
|
||||||
[Fetching a blob URL immediately before revoking it works in an iframe.]
|
[Fetching a blob URL immediately before revoking it works in an iframe.]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
|
@ -0,0 +1,4 @@
|
||||||
|
[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
|
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
[hit-test-floats-005.html]
|
|
||||||
[Miss clipped float]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
|
@ -2,6 +2,3 @@
|
||||||
[Hit test intersecting scaled box]
|
[Hit test intersecting scaled box]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[Hit test within unscaled box]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
|
|
|
@ -2,3 +2,6 @@
|
||||||
[listeners are called when <iframe> is resized]
|
[listeners are called when <iframe> is resized]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
[listeners are called correct number of times]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
|
|
@ -312,18 +312,24 @@
|
||||||
[Response: combined response Content-Type: text/html;" \\" text/plain ";charset=GBK]
|
[Response: combined response Content-Type: text/html;" \\" text/plain ";charset=GBK]
|
||||||
expected: NOTRUN
|
expected: NOTRUN
|
||||||
|
|
||||||
[<iframe>: separate response Content-Type: text/html;" \\" text/plain]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[<iframe>: separate response Content-Type: text/html;" text/plain]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[<iframe>: combined response Content-Type: text/html;" text/plain]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[<iframe>: separate response Content-Type: text/html */*;charset=gbk]
|
[<iframe>: separate response Content-Type: text/html */*;charset=gbk]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[<iframe>: combined response Content-Type: text/html;x=" text/plain]
|
[<iframe>: combined response Content-Type: text/html;x=" text/plain]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
[<iframe>: combined response Content-Type: */* text/html]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[<iframe>: combined response Content-Type: text/html */*]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[<iframe>: separate response Content-Type: text/html */*]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[<iframe>: separate response Content-Type: text/html;x=" text/plain]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[<iframe>: combined response Content-Type: text/html;" \\" text/plain]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
|
|
@ -11,3 +11,6 @@
|
||||||
[X-Content-Type-Options%3A%20nosniff%2C%2C%40%23%24%23%25%25%26%5E%26%5E*()()11!]
|
[X-Content-Type-Options%3A%20nosniff%2C%2C%40%23%24%23%25%25%26%5E%26%5E*()()11!]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
[X-Content-Type-Options%3A%20%40%23%24%23%25%25%26%5E%26%5E*()()11!%2Cnosniff]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
[traverse_the_history_1.html]
|
|
||||||
[Multiple history traversals from the same task]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
[traverse_the_history_3.html]
|
|
||||||
[Multiple history traversals, last would be aborted]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
[traverse_the_history_5.html]
|
|
||||||
[Multiple history traversals, last would be aborted]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
[embedded-opener-remove-frame.html]
|
[embedded-opener-remove-frame.html]
|
||||||
|
expected: CRASH
|
||||||
[opener of discarded nested browsing context]
|
[opener of discarded nested browsing context]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
[iframe_sandbox_popups_nonescaping-1.html]
|
[iframe_sandbox_popups_nonescaping-1.html]
|
||||||
expected: TIMEOUT
|
expected: CRASH
|
||||||
[Check that popups from a sandboxed iframe do not escape the sandbox]
|
[Check that popups from a sandboxed iframe do not escape the sandbox]
|
||||||
expected: NOTRUN
|
expected: NOTRUN
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
[iframe_sandbox_popups_nonescaping-2.html]
|
[iframe_sandbox_popups_nonescaping-2.html]
|
||||||
expected: TIMEOUT
|
expected: CRASH
|
||||||
[Check that popups from a sandboxed iframe do not escape the sandbox]
|
[Check that popups from a sandboxed iframe do not escape the sandbox]
|
||||||
expected: NOTRUN
|
expected: NOTRUN
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,4 @@
|
||||||
|
[module-static-import-delayed.html]
|
||||||
|
[document.write in an imported module]
|
||||||
|
expected: FAIL
|
||||||
|
|
|
@ -3,6 +3,3 @@
|
||||||
[The incumbent settings object while executing the compiled callback via Web IDL's invoke must be that of the node document]
|
[The incumbent settings object while executing the compiled callback via Web IDL's invoke must be that of the node document]
|
||||||
expected: TIMEOUT
|
expected: TIMEOUT
|
||||||
|
|
||||||
[The entry settings object while executing the compiled callback via Web IDL's invoke must be that of the node document]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
|
|
|
@ -1,5 +0,0 @@
|
||||||
[017.html]
|
|
||||||
expected: TIMEOUT
|
|
||||||
[origin of the script that invoked the method, about:blank]
|
|
||||||
expected: TIMEOUT
|
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
[018.html]
|
||||||
|
expected: TIMEOUT
|
||||||
|
[origin of the script that invoked the method, javascript:]
|
||||||
|
expected: TIMEOUT
|
||||||
|
|
|
@ -299,3 +299,9 @@
|
||||||
[XRLayer interface: existence and properties of interface prototype object's @@unscopables property]
|
[XRLayer interface: existence and properties of interface prototype object's @@unscopables property]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
[XRSession interface: xrSession must inherit property "cancelAnimationFrame(unsigned long)" with the proper type]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[XRSession interface: calling cancelAnimationFrame(unsigned long) on xrSession with too few arguments must throw TypeError]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[Opening a blob URL in a new window immediately before revoking it works.]
|
[Opening a blob URL in a new window immediately before revoking it works.]
|
||||||
expected: TIMEOUT
|
expected: FAIL
|
||||||
|
|
||||||
[Opening a blob URL in a noopener about:blank window immediately before revoking it works.]
|
[Opening a blob URL in a noopener about:blank window immediately before revoking it works.]
|
||||||
expected: TIMEOUT
|
expected: TIMEOUT
|
||||||
|
|
|
@ -317610,7 +317610,7 @@
|
||||||
},
|
},
|
||||||
"scrolling": {
|
"scrolling": {
|
||||||
"scroll_support.js": [
|
"scroll_support.js": [
|
||||||
"6fd1b32294bb8933b5e9918ea8260b873b987f8a",
|
"0a73f34fefc8ab53962e1a15ce5fb6e8c0b45a98",
|
||||||
[]
|
[]
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
@ -334140,7 +334140,7 @@
|
||||||
[]
|
[]
|
||||||
],
|
],
|
||||||
"css-properties-values-api.idl": [
|
"css-properties-values-api.idl": [
|
||||||
"ee444ebb29d8b5b15c96d259bb8a1f2bdd280d5f",
|
"d8f54b1e15bc020ef101ab53626eee6985c63dcb",
|
||||||
[]
|
[]
|
||||||
],
|
],
|
||||||
"css-pseudo.idl": [
|
"css-pseudo.idl": [
|
||||||
|
@ -334624,7 +334624,7 @@
|
||||||
[]
|
[]
|
||||||
],
|
],
|
||||||
"webxr.idl": [
|
"webxr.idl": [
|
||||||
"f723acc0ce58b3aa56596ffd334a93eb596ef466",
|
"b0d94394b5bb619198da1500cee1eb83785f6c66",
|
||||||
[]
|
[]
|
||||||
],
|
],
|
||||||
"worklets.idl": [
|
"worklets.idl": [
|
||||||
|
@ -407699,6 +407699,15 @@
|
||||||
"testdriver": true
|
"testdriver": true
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
],
|
||||||
|
"scrollend-event-for-user-scroll.html": [
|
||||||
|
"30f16571cd83201e039fd9e682e0cca6b8569d76",
|
||||||
|
[
|
||||||
|
null,
|
||||||
|
{
|
||||||
|
"testdriver": true
|
||||||
|
}
|
||||||
|
]
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"shadow-relatedTarget.html": [
|
"shadow-relatedTarget.html": [
|
||||||
|
|
|
@ -0,0 +1,4 @@
|
||||||
|
[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
|
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
[hit-test-floats-005.html]
|
|
||||||
[Miss clipped float]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
|
@ -2,6 +2,3 @@
|
||||||
[Hit test intersecting scaled box]
|
[Hit test intersecting scaled box]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[Hit test within unscaled box]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
|
|
|
@ -2,3 +2,6 @@
|
||||||
[listeners are called when <iframe> is resized]
|
[listeners are called when <iframe> is resized]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
[listeners are called correct number of times]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
|
|
@ -312,18 +312,24 @@
|
||||||
[fetch(): separate response Content-Type: text/plain ]
|
[fetch(): separate response Content-Type: text/plain ]
|
||||||
expected: NOTRUN
|
expected: NOTRUN
|
||||||
|
|
||||||
[<iframe>: separate response Content-Type: text/html;" \\" text/plain]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[<iframe>: separate response Content-Type: text/html;" text/plain]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[<iframe>: combined response Content-Type: text/html;" text/plain]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[<iframe>: separate response Content-Type: text/html */*;charset=gbk]
|
[<iframe>: separate response Content-Type: text/html */*;charset=gbk]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[<iframe>: combined response Content-Type: text/html;x=" text/plain]
|
[<iframe>: combined response Content-Type: text/html;x=" text/plain]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
[<iframe>: combined response Content-Type: */* text/html]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[<iframe>: combined response Content-Type: text/html */*]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[<iframe>: separate response Content-Type: text/html */*]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[<iframe>: separate response Content-Type: text/html;x=" text/plain]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[<iframe>: combined response Content-Type: text/html;" \\" text/plain]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
|
|
@ -11,3 +11,6 @@
|
||||||
[X-Content-Type-Options%3A%20nosniff%2C%2C%40%23%24%23%25%25%26%5E%26%5E*()()11!]
|
[X-Content-Type-Options%3A%20nosniff%2C%2C%40%23%24%23%25%25%26%5E%26%5E*()()11!]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
[X-Content-Type-Options%3A%20%40%23%24%23%25%25%26%5E%26%5E*()()11!%2Cnosniff]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
[traverse_the_history_1.html]
|
|
||||||
[Multiple history traversals from the same task]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
[traverse_the_history_3.html]
|
|
||||||
[Multiple history traversals, last would be aborted]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
[traverse_the_history_5.html]
|
|
||||||
[Multiple history traversals, last would be aborted]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
[embedded-opener-remove-frame.html]
|
[embedded-opener-remove-frame.html]
|
||||||
|
expected: CRASH
|
||||||
[opener and "removed" embedded documents]
|
[opener and "removed" embedded documents]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
[iframe_sandbox_popups_nonescaping-1.html]
|
[iframe_sandbox_popups_nonescaping-1.html]
|
||||||
type: testharness
|
type: testharness
|
||||||
expected: TIMEOUT
|
expected: CRASH
|
||||||
[Check that popups from a sandboxed iframe do not escape the sandbox]
|
[Check that popups from a sandboxed iframe do not escape the sandbox]
|
||||||
expected: NOTRUN
|
expected: NOTRUN
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
[iframe_sandbox_popups_nonescaping-2.html]
|
[iframe_sandbox_popups_nonescaping-2.html]
|
||||||
type: testharness
|
type: testharness
|
||||||
expected: TIMEOUT
|
expected: CRASH
|
||||||
[Check that popups from a sandboxed iframe do not escape the sandbox]
|
[Check that popups from a sandboxed iframe do not escape the sandbox]
|
||||||
expected: NOTRUN
|
expected: NOTRUN
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,4 @@
|
||||||
|
[module-static-import-delayed.html]
|
||||||
|
[document.write in an imported module]
|
||||||
|
expected: FAIL
|
||||||
|
|
|
@ -4,6 +4,3 @@
|
||||||
[The incumbent settings object while executing the compiled callback via Web IDL's invoke must be that of the node document]
|
[The incumbent settings object while executing the compiled callback via Web IDL's invoke must be that of the node document]
|
||||||
expected: TIMEOUT
|
expected: TIMEOUT
|
||||||
|
|
||||||
[The entry settings object while executing the compiled callback via Web IDL's invoke must be that of the node document]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
|
|
|
@ -1,5 +0,0 @@
|
||||||
[017.html]
|
|
||||||
expected: TIMEOUT
|
|
||||||
[origin of the script that invoked the method, about:blank]
|
|
||||||
expected: TIMEOUT
|
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
[018.html]
|
||||||
|
expected: TIMEOUT
|
||||||
|
[origin of the script that invoked the method, javascript:]
|
||||||
|
expected: TIMEOUT
|
||||||
|
|
|
@ -359,3 +359,9 @@
|
||||||
[XRLayer interface: existence and properties of interface prototype object's @@unscopables property]
|
[XRLayer interface: existence and properties of interface prototype object's @@unscopables property]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
[XRSession interface: xrSession must inherit property "cancelAnimationFrame(unsigned long)" with the proper type]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[XRSession interface: calling cancelAnimationFrame(unsigned long) on xrSession with too few arguments must throw TypeError]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
|
|
@ -83,3 +83,15 @@ function touchScrollInTarget(pixels_to_scroll, target, direction, pause_time_in_
|
||||||
function touchFlingInTarget(pixels_to_scroll, target, direction) {
|
function touchFlingInTarget(pixels_to_scroll, target, direction) {
|
||||||
touchScrollInTarget(pixels_to_scroll, target, direction, 0 /* pause_time */);
|
touchScrollInTarget(pixels_to_scroll, target, direction, 0 /* pause_time */);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function mouseActionsInTarget(target, origin, delta, pause_time_in_ms = 100) {
|
||||||
|
return new test_driver.Actions()
|
||||||
|
.addPointer("pointer1", "mouse")
|
||||||
|
.pointerMove(origin.x, origin.y, { origin: target })
|
||||||
|
.pointerDown()
|
||||||
|
.pointerMove(origin.x + delta.x, origin.y + delta.y, { origin: target })
|
||||||
|
.pointerMove(origin.x + delta.x * 2, origin.y + delta.y * 2, { origin: target })
|
||||||
|
.pause(pause_time_in_ms)
|
||||||
|
.pointerUp()
|
||||||
|
.send();
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,138 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<script src="/resources/testharness.js"></script>
|
||||||
|
<script src="/resources/testharnessreport.js"></script>
|
||||||
|
<script src="/resources/testdriver.js"></script>
|
||||||
|
<script src="/resources/testdriver-actions.js"></script>
|
||||||
|
<script src="/resources/testdriver-vendor.js"></script>
|
||||||
|
<script src="scroll_support.js"></script>
|
||||||
|
<style>
|
||||||
|
#targetDiv {
|
||||||
|
width: 200px;
|
||||||
|
height: 200px;
|
||||||
|
overflow: scroll;
|
||||||
|
}
|
||||||
|
|
||||||
|
#innerDiv {
|
||||||
|
width: 400px;
|
||||||
|
height: 400px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body style="margin:0" onload=runTest()>
|
||||||
|
<div id="targetDiv">
|
||||||
|
<div id="innerDiv">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
var target_div = document.getElementById('targetDiv');
|
||||||
|
var scrollend_arrived = false;
|
||||||
|
|
||||||
|
function onScrollEnd(event) {
|
||||||
|
assert_false(event.cancelable);
|
||||||
|
assert_false(event.bubbles);
|
||||||
|
scrollend_arrived = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
function resetTargetScrollState() {
|
||||||
|
target_div.scrollTop = 0;
|
||||||
|
target_div.scrollLeft = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
function checkFinalPosition(target, position, pause_time_in_ms) {
|
||||||
|
return new Promise((resolve, reject) => {
|
||||||
|
step_timeout(() => {
|
||||||
|
resolve();
|
||||||
|
assert_equals(position.x, target.scrollLeft);
|
||||||
|
assert_equals(position.y, target.scrollTop);
|
||||||
|
}, pause_time_in_ms);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
target_div.addEventListener("scrollend", onScrollEnd);
|
||||||
|
|
||||||
|
function runTest() {
|
||||||
|
promise_test(async (t) => {
|
||||||
|
// Make sure that no scrollend event is sent to window.
|
||||||
|
window.addEventListener("scrollend",
|
||||||
|
t.unreached_func("window got unexpected scrollend event."));
|
||||||
|
await waitForCompositorCommit();
|
||||||
|
scrollend_arrived = false;
|
||||||
|
|
||||||
|
// Perform drag action on target div and wait for target_div to get scrollend event.
|
||||||
|
var origin = { x: target_div.offsetWidth / 2, y: target_div.offsetHeight - 50 };
|
||||||
|
var delta = { x: 0, y: 40 };
|
||||||
|
await mouseActionsInTarget(target_div, origin, delta, 300);
|
||||||
|
await waitFor(() => { return scrollend_arrived; },
|
||||||
|
'target_div did not receive scrollend event after dragging scroll on target.');
|
||||||
|
assert_true(target_div.scrollTop > 0);
|
||||||
|
await checkFinalPosition(target_div, {x: target_div.scrollLeft, y: target_div.scrollTop}, 300);
|
||||||
|
}, 'Tests that the target_div gets scrollend event when dragging scroll on target.');
|
||||||
|
|
||||||
|
promise_test(async (t) => {
|
||||||
|
resetTargetScrollState();
|
||||||
|
// Make sure that no scrollend event is sent to window.
|
||||||
|
window.addEventListener("scrollend",
|
||||||
|
t.unreached_func("window got unexpected scrollend event."));
|
||||||
|
await waitForCompositorCommit();
|
||||||
|
scrollend_arrived = false;
|
||||||
|
|
||||||
|
// Hit the scrollbar of target div and wait for target_div to get scrollend event.
|
||||||
|
var scrollbar_width = target_div.offsetWidth - target_div.clientWidth;
|
||||||
|
assert_true(scrollbar_width > 0, "This test requires scrollbar.");
|
||||||
|
var origin = {x: target_div.offsetWidth - scrollbar_width / 2, y: target_div.offsetHeight - 50};
|
||||||
|
var delta = {x: 0, y: 0};
|
||||||
|
await mouseActionsInTarget(target_div, origin, delta, 100);
|
||||||
|
await waitFor(() => { return scrollend_arrived; },
|
||||||
|
'target_div did not receive scrollend event after clicking scrollbar on target.');
|
||||||
|
assert_true(target_div.scrollTop > 0);
|
||||||
|
await checkFinalPosition(target_div, { x: target_div.scrollLeft, y: target_div.scrollTop }, 300);
|
||||||
|
}, 'Tests that the target_div gets scrollend event when click scrollbar on target.');
|
||||||
|
|
||||||
|
promise_test(async (t) => {
|
||||||
|
resetTargetScrollState();
|
||||||
|
// Make sure that no scrollend event is sent to window.
|
||||||
|
window.addEventListener("scrollend",
|
||||||
|
t.unreached_func("window got unexpected scrollend event."));
|
||||||
|
await waitForCompositorCommit();
|
||||||
|
scrollend_arrived = false;
|
||||||
|
|
||||||
|
|
||||||
|
// Drag the thumb of target div.
|
||||||
|
var scrollbar_width = target_div.offsetWidth - target_div.clientWidth;
|
||||||
|
assert_true(scrollbar_width > 0, "This test requires scrollbar.");
|
||||||
|
var origin = { x: target_div.offsetWidth - scrollbar_width / 2, y: 50 };
|
||||||
|
var delta = { x: 0, y: 20 };
|
||||||
|
await mouseActionsInTarget(target_div, origin, delta, 100);
|
||||||
|
await waitFor(() => { return scrollend_arrived; },
|
||||||
|
'target_div did not receive scrollend event after dragging the thumb of target.');
|
||||||
|
assert_true(target_div.scrollTop > 0);
|
||||||
|
await checkFinalPosition(target_div, { x: target_div.scrollLeft, y: target_div.scrollTop }, 300);
|
||||||
|
}, 'Tests that the target_div gets scrollend event when drag the thumb of target.');
|
||||||
|
|
||||||
|
promise_test(async (t) => {
|
||||||
|
resetTargetScrollState();
|
||||||
|
// Make sure that no scrollend event is sent to window.
|
||||||
|
window.addEventListener("scrollend",
|
||||||
|
t.unreached_func("window got unexpected scrollend event."));
|
||||||
|
await waitForCompositorCommit();
|
||||||
|
scrollend_arrived = false;
|
||||||
|
|
||||||
|
// Hit and active the target div.
|
||||||
|
var origin = { x: target_div.offsetWidth / 2, y: target_div.offsetHeight / 2};
|
||||||
|
var delta = { x: 0, y: 0 };
|
||||||
|
await mouseActionsInTarget(target_div, origin, delta, 100);
|
||||||
|
// Send DOWN key to the target div.
|
||||||
|
window.test_driver.send_keys(target_div, '\ue015');
|
||||||
|
|
||||||
|
await waitFor(() => { return scrollend_arrived; },
|
||||||
|
'target_div did not receive scrollend event after sending DOWN key to target.');
|
||||||
|
assert_true(target_div.scrollTop > 0);
|
||||||
|
await checkFinalPosition(target_div, { x: target_div.scrollLeft, y: target_div.scrollTop }, 300);
|
||||||
|
}, 'Tests that the target_div gets scrollend event when send DOWN key to target.');
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
</html>
|
|
@ -14,10 +14,6 @@ partial namespace CSS {
|
||||||
void registerProperty(PropertyDefinition definition);
|
void registerProperty(PropertyDefinition definition);
|
||||||
};
|
};
|
||||||
|
|
||||||
partial interface CSSRule {
|
|
||||||
const unsigned short PROPERTY_RULE = 18;
|
|
||||||
};
|
|
||||||
|
|
||||||
[Exposed=Window]
|
[Exposed=Window]
|
||||||
interface CSSPropertyRule : CSSRule {
|
interface CSSPropertyRule : CSSRule {
|
||||||
readonly attribute CSSOMString name;
|
readonly attribute CSSOMString name;
|
||||||
|
|
|
@ -44,7 +44,7 @@ enum XRVisibilityState {
|
||||||
[NewObject] Promise<XRReferenceSpace> requestReferenceSpace(XRReferenceSpaceType type);
|
[NewObject] Promise<XRReferenceSpace> requestReferenceSpace(XRReferenceSpaceType type);
|
||||||
|
|
||||||
unsigned long requestAnimationFrame(XRFrameRequestCallback callback);
|
unsigned long requestAnimationFrame(XRFrameRequestCallback callback);
|
||||||
void cancelAnimationFrame(long handle);
|
void cancelAnimationFrame(unsigned long handle);
|
||||||
|
|
||||||
Promise<void> end();
|
Promise<void> end();
|
||||||
|
|
||||||
|
|
|
@ -143,3 +143,6 @@
|
||||||
[WebGL test #42: attachment 5 should be 0,255,0,255\nat (0, 0) expected: 0,255,0,255 was 0,0,255,0]
|
[WebGL test #42: attachment 5 should be 0,255,0,255\nat (0, 0) expected: 0,255,0,255 was 0,0,255,0]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
[WebGL test #44: attachment 7 should be 0,255,0,255\nat (0, 0) expected: 0,255,0,255 was 255,255,255,0]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue