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

Side by Side Diff: third_party/WebKit/LayoutTests/fast/events/mouseenter-mouseleave-on-drag.html

Issue 1402133003: Skip updating nodeUnderMouse to clickTarget. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Added a test. Created 5 years, 2 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
« no previous file with comments | « no previous file | third_party/WebKit/LayoutTests/fast/events/mouseenter-mouseleave-on-drag-expected.txt » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 <!DOCTYPE HTML> 1 <!DOCTYPE HTML>
2 <script src="../../resources/js-test.js"></script> 2 <script src="../../resources/js-test.js"></script>
3 <style> 3 <style>
4 #outer { 4 #outer {
5 background: grey; 5 background: grey;
6 position: absolute; 6 position: absolute;
7 left: 100px; 7 left: 100px;
8 top: 100px; 8 top: 100px;
9 width: 100px; 9 width: 100px;
10 height: 100px; 10 height: 100px;
11 } 11 }
12 #inner { 12 #inner {
13 background: red; 13 background: red;
14 position: absolute; 14 position: absolute;
15 left: 30px; 15 left: 30px;
16 top: 30px; 16 top: 30px;
17 width: 40px; 17 width: 40px;
18 height: 40px; 18 height: 40px;
19 } 19 }
20 </style> 20 </style>
21 21
22 <div id="outer"> 22 <div id="outer">
23 <div id="inner"></div> 23 <div id="inner"></div>
24 </div> 24 </div>
25 25
26 <div id="console"></div> 26 <div id="console"></div>
27 27
28 <script> 28 <script>
29 description("Verifies that dragging mouse in/out of an element doesn't fire redu ndant mouseenter or mouseleave events (crbug.com/470258)"); 29 description("Verifies that dragging mouse in/out of an element doesn't fire redu ndant mouseenter or mouseleave events (crbug.com/356090 & crbug.com/470258)");
30 30
31 var wasInside = {}; 31 var wasInside = {};
32 32
33 function init() { 33 function init() {
34 ["outer", "inner"].forEach(function(id) { 34 ["outer", "inner"].forEach(function(id) {
35 wasInside[id] = false; 35 wasInside[id] = false;
36 36
37 var targetDiv = document.getElementById(id); 37 var targetDiv = document.getElementById(id);
38 38
39 targetDiv.addEventListener("mouseenter", function(event) { 39 targetDiv.addEventListener("mouseenter", function(event) {
40 debug(id + " received mouseenter"); 40 debug(id + " received mouseenter");
41 shouldBeFalse("wasInside['" + id + "']"); 41 shouldBeFalse("wasInside['" + id + "']");
42 wasInside[id] = true; 42 wasInside[id] = true;
43 }); 43 });
44 44
45 targetDiv.addEventListener("mouseleave", function(event) { 45 targetDiv.addEventListener("mouseleave", function(event) {
46 debug(id + " received mouseleave"); 46 debug(id + " received mouseleave");
47 shouldBeTrue("wasInside['" + id + "']"); 47 shouldBeTrue("wasInside['" + id + "']");
48 wasInside[id] = false; 48 wasInside[id] = false;
49 }); 49 });
50 50
51 targetDiv.addEventListener("mousedown", function(event) { 51 ["mouseover", "mouseout", "mousedown", "mouseup"].forEach(function(eventName ) {
52 debug(id + " received mousedown"); 52 targetDiv.addEventListener(eventName, function(event) {
53 }); 53 if (event.eventPhase == Event.AT_TARGET)
54 54 debug(id + " received " + eventName);
55 targetDiv.addEventListener("mouseup", function(event) { 55 });
56 debug(id + " received mouseup");
57 }); 56 });
58 }); 57 });
59 } 58 }
60 59
61 init(); 60 init();
62 if (window.eventSender) { 61 if (window.eventSender) {
63 eventSender.mouseMoveTo(1, 150); 62 var y = 150;
64 63
65 eventSender.mouseMoveTo(110, 150); 64 debug("--- drag across inner ---");
65 eventSender.mouseMoveTo(1, y);
66 eventSender.mouseMoveTo(110, y);
66 eventSender.mouseDown(); 67 eventSender.mouseDown();
68 eventSender.mouseMoveTo(140, y);
69 eventSender.mouseMoveTo(150, y);
70 eventSender.mouseMoveTo(160, y);
71 eventSender.mouseMoveTo(190, y);
72 eventSender.mouseUp();
73 eventSender.mouseMoveTo(201, y);
67 74
68 eventSender.mouseMoveTo(140, 150); 75 debug("");
69 eventSender.mouseMoveTo(150, 150);
70 eventSender.mouseMoveTo(160, 150);
71 76
72 eventSender.mouseMoveTo(190, 150); 77 debug("--- drag into inner ---");
78 eventSender.mouseMoveTo(190, y);
79 eventSender.mouseDown();
80 eventSender.mouseMoveTo(150, y);
73 eventSender.mouseUp(); 81 eventSender.mouseUp();
74 82
75 eventSender.mouseMoveTo(201, 150); 83 debug("");
84
85 debug("--- drag out of inner ---");
86 eventSender.mouseDown();
87 eventSender.mouseMoveTo(110, y);
88 eventSender.mouseUp();
89
90 debug("");
91
76 } else { 92 } else {
77 debug("This test requires eventSender"); 93 debug("This test requires eventSender");
78 } 94 }
79 </script> 95 </script>
OLDNEW
« no previous file with comments | « no previous file | third_party/WebKit/LayoutTests/fast/events/mouseenter-mouseleave-on-drag-expected.txt » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698