Mark pointerevent_pointermove_in_pointerlock test non flaky
Split the test into two subtests. testdriver cannot click on an element in another iframe for Firefox. Remove pointerevent_pointermove_in_pointerlock test from expectation files. Add expectation file for infrastructure testdriver. Bug: 1086154 Change-Id: I3d3cd9c020c9c3d17d53dfa06175e01ea549a740 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2233579 Reviewed-by: Lan Wei <lanwei@chromium.org> Commit-Queue: Liviu Tinta <liviutinta@chromium.org> Cr-Commit-Position: refs/heads/master@{#776496}
This commit is contained in:
third_party/blink/web_tests
@ -998,7 +998,6 @@ external/wpt/pointerevents/pointerlock/pointerevent_getCoalescedEvents_when_poin
|
||||
external/wpt/pointerevents/pointerlock/pointerevent_movementxy_with_pointerlock.html [ Timeout ] # wpt_subtest_failure
|
||||
external/wpt/pointerevents/pointerlock/pointerevent_pointerlock_after_pointercapture.html [ Pass ] # wpt_subtest_failure
|
||||
external/wpt/pointerevents/pointerlock/pointerevent_pointerlock_supercedes_capture.html [ Pass ] # wpt_subtest_failure
|
||||
external/wpt/pointerevents/pointerlock/pointerevent_pointermove_in_pointerlock.html [ Timeout ] # wpt_subtest_failure
|
||||
external/wpt/pointerevents/pointerlock/pointerevent_pointermove_on_chorded_mouse_button_when_locked.html [ Timeout ] # wpt_subtest_failure
|
||||
external/wpt/pointerlock/mouse_buttons_back_forward.html [ Timeout ] # wpt_subtest_failure
|
||||
external/wpt/pointerlock/pointerlock_remove_target.html [ Timeout ] # wpt_subtest_failure
|
||||
|
@ -3025,7 +3025,6 @@ crbug.com/1050754 external/wpt/pointerevents/pointerlock/pointerevent_movementxy
|
||||
crbug.com/1050754 external/wpt/pointerevents/pointerlock/pointerevent_movementxy_with_pointerlock.html [ Failure ]
|
||||
crbug.com/1050754 external/wpt/pointerevents/pointerlock/pointerevent_pointerlock_after_pointercapture.html [ Failure ]
|
||||
crbug.com/1050754 external/wpt/pointerevents/pointerlock/pointerevent_pointerlock_supercedes_capture.html [ Failure ]
|
||||
crbug.com/1050754 external/wpt/pointerevents/pointerlock/pointerevent_pointermove_in_pointerlock.html [ Timeout ]
|
||||
crbug.com/1050754 external/wpt/pointerevents/pointerlock/pointerevent_pointermove_on_chorded_mouse_button_when_locked.html [ Timeout ]
|
||||
crbug.com/1050754 external/wpt/pointerlock/mouse_buttons_back_forward.html [ Timeout ]
|
||||
crbug.com/1050754 external/wpt/pointerlock/movementX_Y_basic.html [ Failure ]
|
||||
|
@ -2552,7 +2552,6 @@ crbug.com/1050754 external/wpt/pointerevents/pointerlock/pointerevent_movementxy
|
||||
crbug.com/1050754 external/wpt/pointerevents/pointerlock/pointerevent_movementxy_with_pointerlock.html [ Failure ]
|
||||
crbug.com/1050754 external/wpt/pointerevents/pointerlock/pointerevent_pointerlock_after_pointercapture.html [ Failure ]
|
||||
crbug.com/1050754 external/wpt/pointerevents/pointerlock/pointerevent_pointerlock_supercedes_capture.html [ Failure ]
|
||||
crbug.com/1050754 external/wpt/pointerevents/pointerlock/pointerevent_pointermove_in_pointerlock.html [ Timeout ]
|
||||
crbug.com/1050754 external/wpt/pointerevents/pointerlock/pointerevent_pointermove_on_chorded_mouse_button_when_locked.html [ Timeout ]
|
||||
crbug.com/1050754 external/wpt/pointerlock/mouse_buttons_back_forward.html [ Timeout ]
|
||||
crbug.com/1050754 external/wpt/pointerlock/movementX_Y_basic.html [ Failure ]
|
||||
|
@ -3185,7 +3185,6 @@ external/wpt/pointerevents/pointerlock/pointerevent_movementxy.html [ Failure ]
|
||||
external/wpt/pointerevents/pointerlock/pointerevent_movementxy_with_pointerlock.html [ Failure ]
|
||||
external/wpt/pointerevents/pointerlock/pointerevent_pointerlock_after_pointercapture.html [ Failure ]
|
||||
external/wpt/pointerevents/pointerlock/pointerevent_pointerlock_supercedes_capture.html [ Failure ]
|
||||
external/wpt/pointerevents/pointerlock/pointerevent_pointermove_in_pointerlock.html [ Timeout ]
|
||||
external/wpt/pointerevents/pointerlock/pointerevent_pointermove_on_chorded_mouse_button_when_locked.html [ Timeout ]
|
||||
external/wpt/pointerlock/mouse_buttons_back_forward.html [ Timeout ]
|
||||
external/wpt/pointerlock/movementX_Y_basic.html [ Failure ]
|
||||
|
3
third_party/blink/web_tests/external/wpt/infrastructure/testdriver/actions/pointerevent_pointermove_in_pointerlock.html.ini
vendored
Normal file
3
third_party/blink/web_tests/external/wpt/infrastructure/testdriver/actions/pointerevent_pointermove_in_pointerlock.html.ini
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
[pointerevent_pointermove_in_pointerlock.html]
|
||||
expected:
|
||||
if product == "firefox": ERROR
|
102
third_party/blink/web_tests/external/wpt/pointerevents/pointerlock/pointerevent_pointermove_in_pointerlock.html
vendored
102
third_party/blink/web_tests/external/wpt/pointerevents/pointerlock/pointerevent_pointermove_in_pointerlock.html
vendored
@ -2,13 +2,14 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>pointermove</title>
|
||||
<meta charset="utf-8"/>
|
||||
<meta name="viewport" content="width=device-width">
|
||||
<link rel="stylesheet" type="text/css" href="../pointerevent_styles.css">
|
||||
<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 type="text/javascript" src="/resources/testharness.js"></script>
|
||||
<script type="text/javascript" src="/resources/testharnessreport.js"></script>
|
||||
<script type="text/javascript" src="/resources/testdriver.js"></script>
|
||||
<script type="text/javascript" src="/resources/testdriver-actions.js"></script>
|
||||
<script type="text/javascript" src="/resources/testdriver-vendor.js"></script>
|
||||
<!-- Additional helper script for common checks across event types -->
|
||||
<script type="text/javascript" src="../pointerevent_support.js"></script>
|
||||
</head>
|
||||
@ -23,10 +24,11 @@
|
||||
</ol>
|
||||
</h4>
|
||||
<div id="target0"></div>
|
||||
<iframe id="innerframe" src="resources/pointerevent_pointermove_in_pointerlock-iframe.html"></iframe>
|
||||
<iframe id="innerframe" onload="iframe_loaded()" src="resources/pointerevent_pointermove_in_pointerlock-iframe.html"></iframe>
|
||||
<script>
|
||||
window.name="outerframe";
|
||||
var test_pointermove = async_test("pointermove event received");
|
||||
var test_pointermove_innerframe = async_test("pointermove event received inner frame");
|
||||
var actions_promise1;
|
||||
var actions_promise2;
|
||||
var actions_promise3;
|
||||
@ -37,73 +39,105 @@
|
||||
Lock2: 2,
|
||||
Done: 3,
|
||||
};
|
||||
var iframe_loaded_promise;
|
||||
var iframe_loaded_resolve;
|
||||
|
||||
function run() {
|
||||
iframe_loaded_promise = new Promise((resolve, reject)=>{
|
||||
iframe_loaded_resolve = resolve;
|
||||
});
|
||||
|
||||
function iframe_loaded(){
|
||||
iframe_loaded_resolve();
|
||||
}
|
||||
|
||||
async function run() {
|
||||
// wait for iframe to fully load
|
||||
await iframe_loaded_promise;
|
||||
var target0 = document.getElementById("target0");
|
||||
var innerframe = document.getElementById('innerframe');
|
||||
var target1 = innerframe.contentDocument.getElementById('target1');
|
||||
innerframe.contentWindow.name = "innerframe";
|
||||
phase = PhaseEnum.Start;
|
||||
|
||||
on_event(target0, "click", (event)=>
|
||||
target0.requestPointerLock());
|
||||
on_event(target0, "click", async (event)=>{
|
||||
if(phase === PhaseEnum.Start){
|
||||
target0.requestPointerLock();
|
||||
}else{
|
||||
await actions_promise2;
|
||||
document.exitPointerLock();
|
||||
}
|
||||
});
|
||||
|
||||
on_event(target1, "click", (event)=>
|
||||
target1.requestPointerLock());
|
||||
on_event(target1, "click", async (event)=>{
|
||||
if(phase === PhaseEnum.Lock1){
|
||||
target1.requestPointerLock();
|
||||
}
|
||||
else{
|
||||
await actions_promise4;
|
||||
innerframe.contentDocument.exitPointerLock();
|
||||
}
|
||||
});
|
||||
|
||||
on_event(target0, "pointermove", async (event)=> {
|
||||
if (phase == PhaseEnum.Lock1) {
|
||||
if (phase === PhaseEnum.Lock1) {
|
||||
test_pointermove.step(()=> {
|
||||
assert_equals(document.pointerLockElement, target0);
|
||||
assert_equals(event.view.name, "outerframe", "View attribute of pointermove should be the target frame.");
|
||||
}, "View attribute of pointermove should be the target frame.");
|
||||
document.exitPointerLock();
|
||||
await actions_promise2;
|
||||
// Click the inner frame target to lock.
|
||||
actions_promise3 = clickInTarget("mouse", target1);
|
||||
}
|
||||
});
|
||||
|
||||
on_event(target1, "pointermove", async (event)=> {
|
||||
if (phase == PhaseEnum.Lock2) {
|
||||
test_pointermove.step(()=> {
|
||||
if (phase === PhaseEnum.Lock2) {
|
||||
test_pointermove_innerframe.step(()=> {
|
||||
assert_equals(innerframe.contentDocument.pointerLockElement, target1);
|
||||
assert_equals(event.view.name, "innerframe", "View attribute of pointermove should be the target frame.");
|
||||
}, "View attribute of pointermove should be the target frame.");
|
||||
innerframe.contentDocument.exitPointerLock();
|
||||
await actions_promise4;
|
||||
test_pointermove.done();
|
||||
}
|
||||
});
|
||||
|
||||
on_event(document, "pointerlockchange", async (event)=> {
|
||||
if (phase == PhaseEnum.Start) {
|
||||
test_pointermove.step(()=>
|
||||
assert_equals(document.pointerLockElement, target0));
|
||||
await actions_promise1;
|
||||
if (phase === PhaseEnum.Start) {
|
||||
test_pointermove.step(()=>{
|
||||
assert_equals(document.pointerLockElement, target0);
|
||||
});
|
||||
phase++;
|
||||
await actions_promise1;
|
||||
// Send moves in main frame target
|
||||
// Send moves in main frame target and then click on target0
|
||||
actions_promise2 = new test_driver.Actions()
|
||||
.pointerMove(10, 30, {origin: target0})
|
||||
.pointerMove(0, 0, {origin: target0})
|
||||
.pointerDown()
|
||||
.pointerUp()
|
||||
.send();
|
||||
}else{
|
||||
// when we exit pointerlock we are done
|
||||
test_pointermove.done();
|
||||
// user activate innerframe
|
||||
actions_promise3 = clickInTarget("mouse", target1);
|
||||
}
|
||||
});
|
||||
|
||||
on_event(innerframe.contentDocument, "pointerlockchange", async (event)=> {
|
||||
if (phase == PhaseEnum.Lock1) {
|
||||
test_pointermove.step(()=>
|
||||
await actions_promise3;
|
||||
if (phase === PhaseEnum.Lock1) {
|
||||
test_pointermove_innerframe.step(()=>
|
||||
assert_equals(innerframe.contentDocument.pointerLockElement, target1));
|
||||
phase++;
|
||||
await actions_promise3;
|
||||
// Send moves in inner frame target
|
||||
actions_promise4 = new test_driver.Actions()
|
||||
.pointerMove(10, 30, {origin: target0})
|
||||
.send();
|
||||
// Send moves in inner frame target and then click anywhere in the inner frame
|
||||
await new test_driver.Actions()
|
||||
.pointerMove(10, 30, {origin: target1})
|
||||
.send();
|
||||
actions_promise4 = clickInTarget("mouse", target1);
|
||||
}
|
||||
else{
|
||||
// when we exit pointerlock we are done
|
||||
test_pointermove_innerframe.done();
|
||||
}
|
||||
});
|
||||
|
||||
on_event(document, "pointerlockerror", test_pointermove.unreached_func("pointer lock request should not fail in document!"));
|
||||
on_event(innerframe.contentDocument, "pointerlockerror", test_pointermove.unreached_func("pointer lock request should not fail in innerframe.contentDocument!"));
|
||||
on_event(innerframe.contentDocument, "pointerlockerror", test_pointermove_innerframe.unreached_func("pointer lock request should not fail in innerframe.contentDocument!"));
|
||||
|
||||
// Click the outer frame target to lock.
|
||||
actions_promise1 = clickInTarget("mouse", target0);
|
||||
|
@ -1,6 +1,7 @@
|
||||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8"/>
|
||||
<meta name="viewport" content="width=device-width">
|
||||
<link rel="stylesheet" type="text/css" href="../../pointerevent_styles.css">
|
||||
</head>
|
||||
|
Reference in New Issue
Block a user