OLD | NEW |
---|---|
(Empty) | |
1 <!DOCTYPE html> | |
2 <html> | |
3 <body> | |
4 <script> | |
5 | |
6 function testShowAndHideEvents(callback) { | |
7 var cmh = cr.ui.contextMenuHandler; | |
8 | |
9 // Create context menu. | |
10 var menu = document.createElement('div'); | |
11 cr.ui.decorate(menu, cr.ui.Menu); | |
12 document.body.appendChild(menu); | |
13 | |
14 var menuItem = document.createElement('div'); | |
15 menu.addMenuItem(menuItem); | |
16 | |
17 // Create target elements. | |
18 var elem1 = document.createElement('div'); | |
19 var elem2 = document.createElement('div'); | |
20 | |
21 cmh.setContextMenu(elem1, menu); | |
22 cmh.setContextMenu(elem2, menu); | |
23 | |
24 var callbacks = []; | |
25 cmh.addEventListener('show', function(e) { callbacks.push(e); }); | |
26 cmh.addEventListener('hide', function(e) { callbacks.push(e); }); | |
27 | |
28 // Show context menu of elem1. | |
29 elem1.dispatchEvent(new MouseEvent('contextmenu')); | |
30 assertEquals(1, callbacks.length); | |
31 assertEquals('show', callbacks[0].type); | |
32 assertEquals(elem1, callbacks[0].element); | |
33 assertEquals(menu, callbacks[0].menu); | |
34 | |
35 // Show context menu of elem2. | |
36 document.dispatchEvent(new MouseEvent('mousedown')); | |
37 | |
38 // On Windows to prevent context menu show again by mouse right button up, | |
39 // we need to wait at least 50ms from the last hide of context menu. | |
40 var wait = cr.isWindows ? 100 : 0; | |
41 | |
42 setTimeout(function() { | |
Dan Beam
2014/10/29 01:17:17
this is almost never a good idea. please make thi
| |
43 elem2.dispatchEvent(new MouseEvent('contextmenu')); | |
44 assertEquals(3, callbacks.length); | |
45 assertEquals('hide', callbacks[1].type); | |
46 assertEquals(elem1, callbacks[1].element); | |
47 assertEquals(menu, callbacks[1].menu); | |
48 assertEquals('show', callbacks[2].type); | |
49 assertEquals(elem2, callbacks[2].element); | |
50 assertEquals(menu, callbacks[2].menu); | |
51 | |
52 callback(false); | |
53 }, wait); | |
54 } | |
55 | |
56 </script> | |
57 </body> | |
58 </html> | |
OLD | NEW |