Chromium Code Reviews| OLD | NEW |
|---|---|
| (Empty) | |
| 1 <!DOCTYPE HTML> | |
|
Navid Zolghadr
2016/08/08 15:06:05
General question here. Do you think it would be be
| |
| 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 testCaptureAtTarget(false, "Initial"); | |
| 51 | |
| 52 var rect = targetDiv.getBoundingClientRect(); | |
| 53 eventSender.mouseMoveTo(rect.left + 5, rect.top + 5); | |
| 54 | |
| 55 targetDiv.setPointerCapture(mousePointerId); | |
| 56 testCaptureAtTarget(false, "After set#1 w/o button"); | |
| 57 targetDiv.releasePointerCapture(mousePointerId); | |
| 58 testCaptureAtTarget(false, "After release#1 w/o button"); | |
| 59 | |
| 60 changeCaptureInEH = false; | |
| 61 eventSender.mouseDown(0); | |
| 62 | |
| 63 targetDiv.setPointerCapture(mousePointerId); | |
| 64 testCaptureAtTarget(true, "After set#1 w button"); | |
| 65 targetDiv.releasePointerCapture(mousePointerId); | |
| 66 testCaptureAtTarget(false, "After release#1 w button"); | |
| 67 | |
| 68 targetDiv.setPointerCapture(mousePointerId); | |
| 69 testCaptureAtTarget(true, "After set#2 w button"); | |
| 70 targetDiv.setPointerCapture(mousePointerId); | |
| 71 testCaptureAtTarget(true, "After set#3 w button"); | |
| 72 targetDiv.releasePointerCapture(mousePointerId); | |
| 73 testCaptureAtTarget(false, "After release#2 w button"); | |
| 74 targetDiv.releasePointerCapture(mousePointerId); | |
| 75 testCaptureAtTarget(false, "After release#3 w button"); | |
| 76 eventSender.mouseUp(0); | |
| 77 | |
| 78 changeCaptureInEH = true; | |
| 79 eventSender.mouseDown(0); | |
| 80 eventSender.mouseUp(0); | |
| 81 } | |
| 82 | |
| 83 test(function() { | |
| 84 if (!window.eventSender) | |
| 85 assert_true(true, "No eventSender, skipped tests"); | |
| 86 else if (!window.PointerEvent) | |
| 87 assert_true(true, "No PointerEvent, skipped tests"); | |
| 88 else { | |
| 89 init(); | |
| 90 runTests(); | |
| 91 } | |
| 92 | |
| 93 done(); | |
| 94 }, "PointerEvent: Verifies that hasPointerCapture API works"); | |
| 95 </script> | |
| OLD | NEW |