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

Side by Side Diff: third_party/WebKit/LayoutTests/fast/events/update-hover-when-mouse-press.html

Issue 2965603002: Update hover states when dragging the mouse into an element (Closed)
Patch Set: hover drag Created 3 years, 5 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 <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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698