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

Side by Side Diff: chrome/test/data/webui/menu_test.html

Issue 1358893003: Ignore mouseup shortly after showing cr.ui.Menu (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: . Created 5 years, 3 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
1 <!DOCTYPE html> 1 <!DOCTYPE html>
2 <html> 2 <html>
3 <body> 3 <body>
4 <script> 4 <script>
5 5
6 function testHandleMouseOver() { 6 function testHandleMouseOver() {
7 var menu = new cr.ui.Menu; 7 var menu = new cr.ui.Menu;
8 8
9 var called = false; 9 var called = false;
10 menu.findMenuItem_ = function() { 10 menu.findMenuItem_ = function() {
11 called = true; 11 called = true;
12 return cr.ui.Menu.prototype.findMenuItem_.apply(this, arguments); 12 return cr.ui.Menu.prototype.findMenuItem_.apply(this, arguments);
13 }; 13 };
14 14
15 var over = new MouseEvent('mouseover', {bubbles: true, target: cr.doc.body}); 15 var over = new MouseEvent('mouseover', {bubbles: true, target: cr.doc.body});
16 assertFalse(called); 16 assertFalse(called);
17 menu.dispatchEvent(over); 17 menu.dispatchEvent(over);
18 assertTrue(called); 18 assertTrue(called);
19 } 19 }
20 20
21 function testHandleMouseUp() {
22 var realNow = Date.now;
23 Date.now = function() { return 10; };
24
25 var menu = new cr.ui.Menu;
26 menu.show({x: 5, y: 5});
27
28 function mouseUpAt(x, y) {
29 return menu.dispatchEvent(new MouseEvent('mouseup', {
30 bubbles: true,
31 cancelable: true,
32 target: menu,
33 screenX: x,
34 screenY: y,
35 }));
36 }
37
38 // Stop mouseups at the same time and position.
39 assertFalse(mouseUpAt(5, 5));
40
41 // Allow mouseups with different positions but the same time.
42 assertTrue(mouseUpAt(50, 50));
43
44 // Alow mouseups with the same position but different times.
45 Date.now = function() { return 1000; };
46 assertTrue(mouseUpAt(5, 5));
47
48 Date.now = realNow;
49 }
50
21 </script> 51 </script>
22 </body> 52 </body>
23 </html> 53 </html>
OLDNEW
« no previous file with comments | « no previous file | ui/webui/resources/js/cr/ui/context_menu_handler.js » ('j') | ui/webui/resources/js/cr/ui/menu.js » ('J')

Powered by Google App Engine
This is Rietveld 408576698