mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-21 01:05:45 +00:00
Bug 1569019 [wpt PR 18090] - Reland "Re-write test pointerevent_pointermove_in_pointerlock.html", a=testonly
Automatic update from web-platform-tests Reland "Re-write test pointerevent_pointermove_in_pointerlock.html" This reverts commit 02efc0f4be0797b2c151e4aa598b125a6eccf191. Reason for revert: [Cherry-picked & WIP] reland with fixing the test. Original change's description: > Revert "Re-write test pointerevent_pointermove_in_pointerlock.html" > > This reverts commit 9b7bafff73e59dc5d0cfcd0f499aa20be66bca54. > > Reason for revert: Causing leak failures on WebKit Linux Leak bot > > https://luci-milo.appspot.com/p/chromium/builders/ci/WebKit%20Linux%20Leak/2348 > > Original change's description: > > Re-write test pointerevent_pointermove_in_pointerlock.html > > > > The test was failing in wpt because it passing non-integer value to > > test driver. This CL changes it to use "origin" instead. > > This CL rewrites the test to makes it cleaner, instead of adding event > > listener inside event listener. > > This CL also changes the test to send the "move" events after receiving > > pointerlockchange. > > > > Bug: 986277 > > Change-Id: I0f51523c3c90791339877b2e51afa8e9a4cc9d4d > > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1717195 > > Reviewed-by: Lan Wei <lanwei@chromium.org> > > Commit-Queue: Ella Ge <eirage@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#680563} > > TBR=lanwei@chromium.org,eirage@chromium.org > > Change-Id: Ia53d1066363ceaf804f61ada369a4126c859f875 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: 986277 > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1716038 > Reviewed-by: Noel Gordon <noel@chromium.org> > Commit-Queue: Noel Gordon <noel@chromium.org> > Cr-Commit-Position: refs/heads/master@{#680743} TBR=noel@chromium.org,lanwei@chromium.org,eirage@chromium.org Bug: 986277 Change-Id: I9b104597d2965261104e5842855ab235bdec8081 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1719227 Reviewed-by: Ella Ge <eirage@chromium.org> Reviewed-by: Noel Gordon <noel@chromium.org> Commit-Queue: Ella Ge <eirage@chromium.org> Cr-Commit-Position: refs/heads/master@{#681360} -- wpt-commits: 2bf3a6d07ee2350d763954327a73a5098fe4122a wpt-pr: 18090
This commit is contained in:
parent
9b564e15fb
commit
9ff8bec13c
@ -27,61 +27,76 @@
|
||||
<script>
|
||||
window.name="outerframe";
|
||||
var test_pointermove = async_test("pointermove event received");
|
||||
PhaseEnum = {
|
||||
Start: 0,
|
||||
Lock1: 1,
|
||||
Lock2: 2,
|
||||
Done: 3,
|
||||
};
|
||||
|
||||
function run() {
|
||||
var target0 = document.getElementById("target0");
|
||||
var innerframe = document.getElementById('innerframe');
|
||||
var target1 = innerframe.contentDocument.getElementById('target1');
|
||||
innerframe.contentWindow.name = "innerframe";
|
||||
|
||||
on_event(document, "pointerlockchange", function(event) {
|
||||
if (document.pointerLockElement == target0) {
|
||||
on_event(target0, "pointermove", function (event) {
|
||||
test_pointermove.step(function() {
|
||||
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();
|
||||
|
||||
on_event(target1, "click", function(event) {
|
||||
target1.requestPointerLock();
|
||||
});
|
||||
|
||||
on_event(innerframe.contentDocument, "pointerlockchange", function(event) {
|
||||
if (innerframe.contentDocument.pointerLockElement == target1) {
|
||||
on_event(target1, "pointermove", function (event) {
|
||||
innerframe_pointermoveReceived = true;
|
||||
test_pointermove.step(function() {
|
||||
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();
|
||||
test_pointermove.done();
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
});
|
||||
phase = PhaseEnum.Start;
|
||||
|
||||
on_event(target0, "click", function(event) {
|
||||
target0.requestPointerLock();
|
||||
});
|
||||
|
||||
var x = innerframe.getBoundingClientRect().x + target1.getBoundingClientRect().x;
|
||||
var y = innerframe.getBoundingClientRect().y + target1.getBoundingClientRect().y;
|
||||
// Inject mouse input
|
||||
new test_driver.Actions()
|
||||
.pointerMove(5, 5, {origin: target0})
|
||||
.pointerDown()
|
||||
.pointerUp()
|
||||
.pointerMove(100, 300, {origin: target0})
|
||||
.pointerMove(x+10, y+10)
|
||||
.pointerDown()
|
||||
.pointerUp()
|
||||
.pointerMove(5, 5, {origin: target0})
|
||||
.send();
|
||||
on_event(target1, "click", function(event) {
|
||||
target1.requestPointerLock();
|
||||
});
|
||||
|
||||
on_event(target0, "pointermove", function (event) {
|
||||
if (phase == PhaseEnum.Lock1) {
|
||||
assert_equals(document.pointerLockElement, target0);
|
||||
test_pointermove.step(function() {
|
||||
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();
|
||||
// Click the inner frame target to lock.
|
||||
clickInTarget("mouse", target1);
|
||||
}
|
||||
});
|
||||
|
||||
on_event(target1, "pointermove", function (event) {
|
||||
if (phase == PhaseEnum.Lock2) {
|
||||
assert_equals(innerframe.contentDocument.pointerLockElement, target1);
|
||||
test_pointermove.step(function() {
|
||||
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();
|
||||
test_pointermove.done();
|
||||
}
|
||||
});
|
||||
|
||||
on_event(document, "pointerlockchange", function(event) {
|
||||
if (phase == PhaseEnum.Start) {
|
||||
assert_equals(document.pointerLockElement, target0);
|
||||
phase++;
|
||||
// Send moves in main frame target
|
||||
new test_driver.Actions()
|
||||
.pointerMove(10, 30, {origin: target0})
|
||||
.send();
|
||||
}
|
||||
});
|
||||
|
||||
on_event(innerframe.contentDocument, "pointerlockchange", function(event) {
|
||||
if (phase == PhaseEnum.Lock1) {
|
||||
assert_equals(innerframe.contentDocument.pointerLockElement, target1);
|
||||
phase++;
|
||||
// Send moves in inner frame target
|
||||
new test_driver.Actions()
|
||||
.pointerMove(10, 30, {origin: target0})
|
||||
.send();
|
||||
}
|
||||
});
|
||||
|
||||
// Click the outer frame target to lock.
|
||||
clickInTarget("mouse", target0);
|
||||
}
|
||||
|
||||
</script>
|
||||
<div id="complete-notice">
|
||||
</div>
|
||||
|
Loading…
Reference in New Issue
Block a user