Index: chrome/browser/resources/shared/js/cr/ui/context_menu_button.js |
=================================================================== |
--- chrome/browser/resources/shared/js/cr/ui/context_menu_button.js (revision 177292) |
+++ chrome/browser/resources/shared/js/cr/ui/context_menu_button.js (working copy) |
@@ -1,77 +0,0 @@ |
-// Copyright (c) 2012 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-/** |
- * @fileoverview This implements a special button that is useful for showing a |
- * context menu. |
- */ |
- |
-cr.define('cr.ui', function() { |
- /** @const */ var MenuButton = cr.ui.MenuButton; |
- |
- /** |
- * Helper function for ContextMenuButton to find the first ancestor of the |
- * button that has a context menu. |
- * @param {!MenuButton} el The button to start the search from. |
- * @return {HTMLElement} The found element or null if not found. |
- */ |
- function getContextMenuTarget(el) { |
- do { |
- el = el.parentNode; |
- } while (el && !('contextMenu' in el)); |
- return el; |
- } |
- |
- /** |
- * Creates a new menu button which is used to show the context menu for an |
- * ancestor that has a {@code contextMenu} property. |
- * @param {Object=} opt_propertyBag Optional properties. |
- * @constructor |
- * @extends {MenuButton} |
- */ |
- var ContextMenuButton = cr.ui.define('button'); |
- |
- ContextMenuButton.prototype = { |
- __proto__: MenuButton.prototype, |
- |
- /** |
- * Override to return the contextMenu for the ancestor. |
- * @override |
- * @type {cr.ui.Menu} |
- */ |
- get menu() { |
- var target = getContextMenuTarget(this); |
- return target && target.contextMenu; |
- }, |
- |
- /** @override */ |
- decorate: function() { |
- this.tabIndex = -1; |
- this.addEventListener('mouseup', this); |
- MenuButton.prototype.decorate.call(this); |
- }, |
- |
- /** @override */ |
- handleEvent: function(e) { |
- switch (e.type) { |
- case 'mousedown': |
- // Menu buttons prevent focus changes. |
- var target = getContextMenuTarget(this); |
- if (target) |
- target.focus(); |
- break; |
- case 'mouseup': |
- // Stop mouseup to prevent selection changes. |
- e.stopPropagation(); |
- break; |
- } |
- MenuButton.prototype.handleEvent.call(this, e); |
- } |
- }; |
- |
- // Export |
- return { |
- ContextMenuButton: ContextMenuButton |
- }; |
-}); |