Index: third_party/WebKit/Source/devtools/front_end/ui/DropDownMenu.js |
diff --git a/third_party/WebKit/Source/devtools/front_end/ui/DropDownMenu.js b/third_party/WebKit/Source/devtools/front_end/ui/DropDownMenu.js |
index 7927fbff7480f762523c6c060d9d359823021e7e..d4bb15bf3643b120fa074296c742f6a535506068 100644 |
--- a/third_party/WebKit/Source/devtools/front_end/ui/DropDownMenu.js |
+++ b/third_party/WebKit/Source/devtools/front_end/ui/DropDownMenu.js |
@@ -1,72 +1,65 @@ |
// Copyright 2014 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. |
- |
/** |
- * @constructor |
- * @extends {WebInspector.Object} |
- * @param {!Element} element |
+ * @unrestricted |
*/ |
-WebInspector.DropDownMenu = function(element) |
-{ |
+WebInspector.DropDownMenu = class extends WebInspector.Object { |
+ /** |
+ * @param {!Element} element |
+ */ |
+ constructor(element) { |
+ super(); |
/** @type {!Array.<!WebInspector.DropDownMenu.Item>} */ |
this._items = []; |
- element.addEventListener("mousedown", this._onMouseDown.bind(this)); |
-}; |
+ element.addEventListener('mousedown', this._onMouseDown.bind(this)); |
+ } |
-/** @typedef {{id: string, title: string}} */ |
-WebInspector.DropDownMenu.Item; |
- |
-/** @enum {symbol} */ |
-WebInspector.DropDownMenu.Events = { |
- ItemSelected: Symbol("ItemSelected") |
-}; |
+ /** |
+ * @param {!Event} event |
+ */ |
+ _onMouseDown(event) { |
+ if (event.which !== 1) |
+ return; |
+ var menu = new WebInspector.ContextMenu(event); |
+ for (var item of this._items) |
+ menu.appendCheckboxItem(item.title, this._itemHandler.bind(this, item.id), item.id === this._selectedItemId); |
+ menu.show(); |
+ } |
-WebInspector.DropDownMenu.prototype = { |
- /** |
- * @param {!Event} event |
- */ |
- _onMouseDown: function(event) |
- { |
- if (event.which !== 1) |
- return; |
- var menu = new WebInspector.ContextMenu(event); |
- for (var item of this._items) |
- menu.appendCheckboxItem(item.title, this._itemHandler.bind(this, item.id), item.id === this._selectedItemId); |
- menu.show(); |
- }, |
+ /** |
+ * @param {string} id |
+ */ |
+ _itemHandler(id) { |
+ this.dispatchEventToListeners(WebInspector.DropDownMenu.Events.ItemSelected, id); |
+ } |
- /** |
- * @param {string} id |
- */ |
- _itemHandler: function(id) |
- { |
- this.dispatchEventToListeners(WebInspector.DropDownMenu.Events.ItemSelected, id); |
- }, |
+ /** |
+ * @param {string} id |
+ * @param {string} title |
+ */ |
+ addItem(id, title) { |
+ this._items.push({id: id, title: title}); |
+ } |
- /** |
- * @param {string} id |
- * @param {string} title |
- */ |
- addItem: function(id, title) |
- { |
- this._items.push({id: id, title: title}); |
- }, |
+ /** |
+ * @param {string} id |
+ */ |
+ selectItem(id) { |
+ this._selectedItemId = id; |
+ } |
- /** |
- * @param {string} id |
- */ |
- selectItem: function(id) |
- { |
- this._selectedItemId = id; |
- }, |
+ clear() { |
+ this._items = []; |
+ delete this._selectedItemId; |
+ } |
+}; |
- clear: function() |
- { |
- this._items = []; |
- delete this._selectedItemId; |
- }, |
+/** @typedef {{id: string, title: string}} */ |
+WebInspector.DropDownMenu.Item; |
- __proto__: WebInspector.Object.prototype |
+/** @enum {symbol} */ |
+WebInspector.DropDownMenu.Events = { |
+ ItemSelected: Symbol('ItemSelected') |
}; |