Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(253)

Unified Diff: third_party/WebKit/LayoutTests/external/wpt/pointerevents/pointerlock/pointerevent_pointerlock_supercedes_capture-manual.html

Issue 2807433003: No pointer captured when the pointer lock is applied (Closed)
Patch Set: pointer lock Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/LayoutTests/external/wpt/pointerevents/pointerlock/pointerevent_pointerlock_supercedes_capture-manual.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/pointerevents/pointerlock/pointerevent_pointerlock_supercedes_capture-manual.html b/third_party/WebKit/LayoutTests/external/wpt/pointerevents/pointerlock/pointerevent_pointerlock_supercedes_capture-manual.html
new file mode 100644
index 0000000000000000000000000000000000000000..d8dbeaae172dfd6314341c55ef1fa3b9945f60fc
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/pointerevents/pointerlock/pointerevent_pointerlock_supercedes_capture-manual.html
@@ -0,0 +1,93 @@
+<!doctype html>
+<html>
+ <head>
+ <title>Pointer Events pointer lock tests</title>
+ <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>
+ <!-- Additional helper script for common checks across event types -->
+ <script type="text/javascript" src="../pointerevent_support.js"></script>
+ <script>
+ var lock_change_count = 0;
+ var capture_count = 0;
+ var mouse_move_count = 0;
+
+ function resetTestState() {
+ }
+
+ function run() {
+ var test_pointerEvent = setup_pointerevent_test("no pointercapture while pointerlock", ['mouse']);
+ var div1 = document.getElementById("div1");
+ var div2 = document.getElementById("div2");
+
+ on_event(div1, 'pointerdown', function(event) {
+ div2.setPointerCapture(event.pointerId);
+ div1.requestPointerLock();
+ });
+ on_event(div1, 'pointermove', function(event) {
+ if (lock_change_count == 1) {
+ mouse_move_count++;
+ if (mouse_move_count == 2) {
+ try {
+ div2.setPointerCapture(event.pointerId);
+ test_pointerEvent.step(function () {
+ assert_unreached("DOMException: InvalidStateError should have been thrown.");
+ });
+ } catch (e) {
+ test_pointerEvent.step(function () {
+ assert_equals(e.name, "InvalidStateError", "DOMException should be InvalidStateError");
+ });
+ }
+ } else if (mouse_move_count == 3) {
+ document.exitPointerLock();
+ mouse_move_count = 0;
+ }
+
+ } else if (lock_change_count == 2) {
+ mouse_move_count++;
+ if (mouse_move_count == 2) {
+ test_pointerEvent.step(function() {
+ assert_equals(capture_count, 0, "There shouldn't be any capture events fired.");
+ });
+ test_pointerEvent.done();
+ }
+ }
+ });
+ on_event(div2, 'gotpointercapture', function(event) {
+ capture_count++;
+ });
+ on_event(div2, 'lostpointercapture', function(event) {
+ capture_count++;
+ });
+ on_event(document, 'pointerlockchange', function(event) {
+ lock_change_count++;
+ test_pointerEvent.step(function() {
+ if (lock_change_count == 1)
+ assert_equals(document.pointerLockElement, div1, "document.pointerLockElement should be div1.");
+ else if (lock_change_count == 2)
+ assert_equals(document.pointerLockElement, null, "document.pointerLockElement should be null.");
+ });
+ });
+ }
+ </script>
+ </head>
+ <body onload="run()">
+ <h1>Pointer Events pointer lock test</h1>
+ <h2 id="pointerTypeDescription"></h2>
+ <h4>
+ Test Description: This test checks that we do not set the pointer capture when any element in the page gets a pointer lock.
+ <ol>
+ <li>Press left button down on the green rectangle and hold it.</li>
+ <li>Move the mouse inside the green rectangle.</li>
+ </ol>
+
+ Test passes if the pointer capture is not set when the green rectangle gets the pointer lock.
+ </h4>
+ <div id="testContainer">
+ <div id="div1" style="width:800px;height:250px;background:green"></div>
+ <div id="div2" style="width:800px;height:250px;background:yellow"></div>
+ </div>
+ <div class="spacer"></div>
+ </body>
+</html>

Powered by Google App Engine
This is Rietveld 408576698