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

Side by Side Diff: third_party/WebKit/LayoutTests/fast/events/pointerevents/mouse-pointer-haspointercapture.html

Issue 2220043002: Added PointerEvent.hasPointerCapture API. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Added a missing element interface. Created 4 years, 4 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 unified diff | Download patch
OLDNEW
(Empty)
1 <!DOCTYPE HTML>
2 <script src="../../../resources/testharness.js"></script>
3 <script src="../../../resources/testharnessreport.js"></script>
4
5 <style>
6 #target {
7 margin: 10px;
8 padding: 50px;
9 }
10 </style>
11 <h1>PointerEvent: Verifies that hasPointerCapture API works</h1>
12
13 <div id="target" style="background-color:red"></div>
14
15 <div id="log"></div>
16
17 <script>
18 var changeCaptureInEH = false;
19 var mousePointerId = 1;
20
21 var targetDiv = document.getElementById("target");
22
23 function testCaptureAtTarget(expected, testLabel) {
24 test(function() {
25 assert_equals(targetDiv.hasPointerCapture(mousePointerId), expected);
26 }, testLabel);
27 }
28
29 function init() {
30 targetDiv.addEventListener("pointerdown", function(event) {
31 var testState = (changeCaptureInEH? "w" : "w/o") + " change within handler";
32
33 testCaptureAtTarget(false, "pointerdown: entered " + testState);
34 if (changeCaptureInEH)
35 targetDiv.setPointerCapture(mousePointerId);
36 testCaptureAtTarget(changeCaptureInEH, "pointerdown: exiting " + testState);
37 });
38
39 targetDiv.addEventListener("pointerup", function(event) {
40 var testState = (changeCaptureInEH? "w" : "w/o") + " change within handler";
41
42 testCaptureAtTarget(changeCaptureInEH, "pointerup: entered " + testState);
43 if (changeCaptureInEH)
44 targetDiv.releasePointerCapture(mousePointerId);
45 testCaptureAtTarget(false, "pointerup: exiting " + testState);
46 });
47 }
48
49 function runTests() {
50 // TODO(mustaq): Merge with mouse-pointer-capture.html for a single w3c test?
51
52 testCaptureAtTarget(false, "Initial");
53
54 var rect = targetDiv.getBoundingClientRect();
55 eventSender.mouseMoveTo(rect.left + 5, rect.top + 5);
56
57 targetDiv.setPointerCapture(mousePointerId);
58 testCaptureAtTarget(false, "After set#1 w/o button");
59 targetDiv.releasePointerCapture(mousePointerId);
60 testCaptureAtTarget(false, "After release#1 w/o button");
61
62 changeCaptureInEH = false;
63 eventSender.mouseDown(0);
64
65 targetDiv.setPointerCapture(mousePointerId);
66 testCaptureAtTarget(true, "After set#1 w button");
67 targetDiv.releasePointerCapture(mousePointerId);
68 testCaptureAtTarget(false, "After release#1 w button");
69
70 targetDiv.setPointerCapture(mousePointerId);
71 testCaptureAtTarget(true, "After set#2 w button");
72 targetDiv.setPointerCapture(mousePointerId);
73 testCaptureAtTarget(true, "After set#3 w button");
74 targetDiv.releasePointerCapture(mousePointerId);
75 testCaptureAtTarget(false, "After release#2 w button");
76 targetDiv.releasePointerCapture(mousePointerId);
77 testCaptureAtTarget(false, "After release#3 w button");
78 eventSender.mouseUp(0);
79
80 changeCaptureInEH = true;
81 eventSender.mouseDown(0);
82 eventSender.mouseUp(0);
83 }
84
85 test(function() {
86 if (!window.eventSender)
87 assert_true(true, "No eventSender, skipped tests");
88 else if (!window.PointerEvent)
89 assert_true(true, "No PointerEvent, skipped tests");
90 else {
91 init();
92 runTests();
93 }
94
95 done();
96 }, "PointerEvent: Verifies that hasPointerCapture API works");
97 </script>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698