Chromium Code Reviews| OLD | NEW |
|---|---|
| (Empty) | |
| 1 <!DOCTYPE html> | |
| 2 <script src='../../resources/testharness.js'></script> | |
| 3 <script src='../../resources/testharnessreport.js'></script> | |
| 4 <style type="text/css"> | |
| 5 .box:hover{background-color: rgb(0, 255, 255);} | |
| 6 .box:active{background-color: rgb(0, 0, 255);} | |
| 7 .box:active:hover{background-color: rgb(255, 255, 0);} | |
| 8 | |
| 9 .box{border:2px solid #aaa; width:100px; height:100px;} | |
| 10 </style> | |
| 11 | |
| 12 <body> | |
| 13 <div class="box" id="upbox"></div> | |
| 14 <div class="box" id="downbox"></div> | |
| 15 | |
| 16 <script type="text/javascript"> | |
| 17 var mouseover = false; | |
| 18 var mousedown = false; | |
| 19 var upbox = document.getElementById("upbox"); | |
| 20 var downbox = document.getElementById("downbox"); | |
| 21 var targetRect = downbox.getBoundingClientRect(); | |
| 22 var offset = 20; | |
| 23 var x1 = targetRect.left + offset; | |
| 24 var y1 = targetRect.top + offset; | |
| 25 targetRect = upbox.getBoundingClientRect(); | |
| 26 var x2 = targetRect.left + offset; | |
| 27 var y2 = targetRect.top + offset; | |
| 28 | |
| 29 | |
| 30 function mouseDownHandler(event) { | |
| 31 mouseHoverActive = true; | |
| 32 testHover.step(function () { | |
| 33 assert_equals(event.target.id, "downbox"); | |
| 34 assert_equals(getComputedStyle(event.target).backgroundColor, "rgb(255, 255, 0)"); | |
| 35 }); | |
| 36 } | |
| 37 | |
| 38 function mouseOverHandler(event) { | |
| 39 mouseHover = true; | |
| 40 testHover.step(function () { | |
| 41 assert_equals(event.target.id, "upbox"); | |
| 42 assert_equals(getComputedStyle(event.target).backgroundColor, "rgb(0, 25 5, 255)"); | |
| 43 }); | |
| 44 } | |
| 45 | |
| 46 function callbackValidMouseHover() { | |
| 47 testHover.step(function () { | |
| 48 assert_true(mouseHoverActive); | |
| 49 assert_true(mouseHover); | |
| 50 assert_equals(getComputedStyle(upbox).backgroundColor, "rgb(0, 255, 255) "); | |
| 51 assert_equals(getComputedStyle(downbox).backgroundColor, "rgb(0, 0, 255) "); | |
| 52 }); | |
| 53 testHover.done(); | |
| 54 } | |
| 55 | |
| 56 function testHoverMousePress() { | |
| 57 if (window.chrome && chrome.gpuBenchmarking) { | |
| 58 var pointerActions = | |
| 59 [{source: "mouse", | |
| 60 actions: [ | |
| 61 { name: "pointerMove", x: x1, y: y1 }, | |
| 62 { name: "pointerDown", x: x1, y: y1, button: 'left'}, | |
| 63 { name: "pointerMove", x: x2, y: y2, button: 'left' }, | |
| 64 { name: 'pause', duration: 0.1 }]}]; | |
| 65 chrome.gpuBenchmarking.pointerActionSequence(pointerActions, callbackVal idMouseHover); | |
| 66 } | |
| 67 } | |
| 68 | |
| 69 var testHover = async_test('Tests that if we update the hover states when we mov e the mouse to the element while the left button is pressed.'); | |
|
Rick Byers
2017/07/07 20:02:17
nit: typo? "Test that we update..."?
lanwei
2017/07/12 21:03:10
Done.
| |
| 70 upbox.addEventListener('mouseover', mouseOverHandler); | |
| 71 downbox.addEventListener('mousedown', mouseDownHandler); | |
| 72 testHoverMousePress(); | |
| 73 | |
| 74 </script> | |
| 75 </body> | |
| 76 | |
| 77 | |
| OLD | NEW |