OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 cr.define('cr.ui', function() { | 5 cr.define('cr.ui', function() { |
6 | 6 |
7 /** @const */ var Menu = cr.ui.Menu; | 7 /** @const */ var Menu = cr.ui.Menu; |
8 | 8 |
9 /** | 9 /** |
10 * Handles context menus. | 10 * Handles context menus. |
(...skipping 13 matching lines...) Expand all Loading... |
24 }, | 24 }, |
25 | 25 |
26 /** | 26 /** |
27 * Shows a menu as a context menu. | 27 * Shows a menu as a context menu. |
28 * @param {!Event} e The event triggering the show (usually a contextmenu | 28 * @param {!Event} e The event triggering the show (usually a contextmenu |
29 * event). | 29 * event). |
30 * @param {!cr.ui.Menu} menu The menu to show. | 30 * @param {!cr.ui.Menu} menu The menu to show. |
31 */ | 31 */ |
32 showMenu: function(e, menu) { | 32 showMenu: function(e, menu) { |
33 this.menu_ = menu; | 33 this.menu_ = menu; |
| 34 menu.hidden = false; |
34 | 35 |
35 menu.style.display = 'block'; | |
36 // when the menu is shown we steal all keyboard events. | 36 // when the menu is shown we steal all keyboard events. |
37 var doc = menu.ownerDocument; | 37 var doc = menu.ownerDocument; |
38 doc.addEventListener('keydown', this, true); | 38 doc.addEventListener('keydown', this, true); |
39 doc.addEventListener('mousedown', this, true); | 39 doc.addEventListener('mousedown', this, true); |
40 doc.addEventListener('blur', this, true); | 40 doc.addEventListener('blur', this, true); |
41 doc.defaultView.addEventListener('resize', this); | 41 doc.defaultView.addEventListener('resize', this); |
42 menu.addEventListener('contextmenu', this); | 42 menu.addEventListener('contextmenu', this); |
43 menu.addEventListener('activate', this); | 43 menu.addEventListener('activate', this); |
44 this.positionMenu_(e, menu); | 44 this.positionMenu_(e, menu); |
45 }, | 45 }, |
46 | 46 |
47 /** | 47 /** |
48 * Hide the currently shown menu. | 48 * Hide the currently shown menu. |
49 */ | 49 */ |
50 hideMenu: function() { | 50 hideMenu: function() { |
51 var menu = this.menu; | 51 var menu = this.menu; |
52 if (!menu) | 52 if (!menu) |
53 return; | 53 return; |
54 | 54 |
55 menu.style.display = 'none'; | 55 menu.hidden = true; |
56 var doc = menu.ownerDocument; | 56 var doc = menu.ownerDocument; |
57 doc.removeEventListener('keydown', this, true); | 57 doc.removeEventListener('keydown', this, true); |
58 doc.removeEventListener('mousedown', this, true); | 58 doc.removeEventListener('mousedown', this, true); |
59 doc.removeEventListener('blur', this, true); | 59 doc.removeEventListener('blur', this, true); |
60 doc.defaultView.removeEventListener('resize', this); | 60 doc.defaultView.removeEventListener('resize', this); |
61 menu.removeEventListener('contextmenu', this); | 61 menu.removeEventListener('contextmenu', this); |
62 menu.removeEventListener('activate', this); | 62 menu.removeEventListener('activate', this); |
63 menu.selectedIndex = -1; | 63 menu.selectedIndex = -1; |
64 this.menu_ = null; | 64 this.menu_ = null; |
65 | 65 |
(...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
230 * The singleton context menu handler. | 230 * The singleton context menu handler. |
231 * @type {!ContextMenuHandler} | 231 * @type {!ContextMenuHandler} |
232 */ | 232 */ |
233 var contextMenuHandler = new ContextMenuHandler; | 233 var contextMenuHandler = new ContextMenuHandler; |
234 | 234 |
235 // Export | 235 // Export |
236 return { | 236 return { |
237 contextMenuHandler: contextMenuHandler | 237 contextMenuHandler: contextMenuHandler |
238 }; | 238 }; |
239 }); | 239 }); |
OLD | NEW |