| Index: third_party/WebKit/Source/devtools/front_end/ui/ActionRegistry.js
|
| diff --git a/third_party/WebKit/Source/devtools/front_end/ui/ActionRegistry.js b/third_party/WebKit/Source/devtools/front_end/ui/ActionRegistry.js
|
| index a3e270b9dbf849629f41918ba0be399677c665b5..b37cff6e91760972af11451a9e23364a2e7849ac 100644
|
| --- a/third_party/WebKit/Source/devtools/front_end/ui/ActionRegistry.js
|
| +++ b/third_party/WebKit/Source/devtools/front_end/ui/ActionRegistry.js
|
| @@ -1,224 +1,201 @@
|
| // 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
|
| + * @unrestricted
|
| */
|
| -WebInspector.ActionRegistry = function()
|
| -{
|
| +WebInspector.ActionRegistry = class {
|
| + constructor() {
|
| /** @type {!Map.<string, !WebInspector.Action>} */
|
| this._actionsById = new Map();
|
| this._registerActions();
|
| -};
|
| -
|
| -WebInspector.ActionRegistry.prototype = {
|
| - _registerActions: function()
|
| - {
|
| - self.runtime.extensions(WebInspector.ActionDelegate).forEach(registerExtension, this);
|
| -
|
| - /**
|
| - * @param {!Runtime.Extension} extension
|
| - * @this {WebInspector.ActionRegistry}
|
| - */
|
| - function registerExtension(extension)
|
| - {
|
| - var actionId = extension.descriptor()["actionId"];
|
| - console.assert(actionId);
|
| - console.assert(!this._actionsById.get(actionId));
|
| - this._actionsById.set(actionId, new WebInspector.Action(extension));
|
| - }
|
| - },
|
| + }
|
|
|
| - /**
|
| - * @return {!Array.<!WebInspector.Action>}
|
| - */
|
| - availableActions: function()
|
| - {
|
| - return this.applicableActions(this._actionsById.keysArray(), WebInspector.context);
|
| - },
|
| + _registerActions() {
|
| + self.runtime.extensions(WebInspector.ActionDelegate).forEach(registerExtension, this);
|
|
|
| /**
|
| - * @param {!Array.<string>} actionIds
|
| - * @param {!WebInspector.Context} context
|
| - * @return {!Array.<!WebInspector.Action>}
|
| + * @param {!Runtime.Extension} extension
|
| + * @this {WebInspector.ActionRegistry}
|
| */
|
| - applicableActions: function(actionIds, context)
|
| - {
|
| - var extensions = [];
|
| - actionIds.forEach(function(actionId) {
|
| - var action = this._actionsById.get(actionId);
|
| - if (action)
|
| - extensions.push(action._extension);
|
| - }, this);
|
| - return context.applicableExtensions(extensions).valuesArray().map(extensionToAction.bind(this));
|
| -
|
| - /**
|
| - * @param {!Runtime.Extension} extension
|
| - * @return {!WebInspector.Action}
|
| - * @this {WebInspector.ActionRegistry}
|
| - */
|
| - function extensionToAction(extension)
|
| - {
|
| - return /** @type {!WebInspector.Action} */(this.action(extension.descriptor()["actionId"]));
|
| - }
|
| - },
|
| + function registerExtension(extension) {
|
| + var actionId = extension.descriptor()['actionId'];
|
| + console.assert(actionId);
|
| + console.assert(!this._actionsById.get(actionId));
|
| + this._actionsById.set(actionId, new WebInspector.Action(extension));
|
| + }
|
| + }
|
| +
|
| + /**
|
| + * @return {!Array.<!WebInspector.Action>}
|
| + */
|
| + availableActions() {
|
| + return this.applicableActions(this._actionsById.keysArray(), WebInspector.context);
|
| + }
|
| +
|
| + /**
|
| + * @param {!Array.<string>} actionIds
|
| + * @param {!WebInspector.Context} context
|
| + * @return {!Array.<!WebInspector.Action>}
|
| + */
|
| + applicableActions(actionIds, context) {
|
| + var extensions = [];
|
| + actionIds.forEach(function(actionId) {
|
| + var action = this._actionsById.get(actionId);
|
| + if (action)
|
| + extensions.push(action._extension);
|
| + }, this);
|
| + return context.applicableExtensions(extensions).valuesArray().map(extensionToAction.bind(this));
|
|
|
| /**
|
| - * @param {string} actionId
|
| - * @return {?WebInspector.Action}
|
| + * @param {!Runtime.Extension} extension
|
| + * @return {!WebInspector.Action}
|
| + * @this {WebInspector.ActionRegistry}
|
| */
|
| - action: function(actionId)
|
| - {
|
| - return this._actionsById.get(actionId) || null;
|
| + function extensionToAction(extension) {
|
| + return /** @type {!WebInspector.Action} */ (this.action(extension.descriptor()['actionId']));
|
| }
|
| + }
|
| +
|
| + /**
|
| + * @param {string} actionId
|
| + * @return {?WebInspector.Action}
|
| + */
|
| + action(actionId) {
|
| + return this._actionsById.get(actionId) || null;
|
| + }
|
| };
|
|
|
| /**
|
| - * @constructor
|
| - * @extends {WebInspector.Object}
|
| - * @param {!Runtime.Extension} extension
|
| + * @unrestricted
|
| */
|
| -WebInspector.Action = function(extension)
|
| -{
|
| - WebInspector.Object.call(this);
|
| +WebInspector.Action = class extends WebInspector.Object {
|
| + /**
|
| + * @param {!Runtime.Extension} extension
|
| + */
|
| + constructor(extension) {
|
| + super();
|
| this._extension = extension;
|
| this._enabled = true;
|
| this._toggled = false;
|
| -};
|
| -
|
| -/** @enum {symbol} */
|
| -WebInspector.Action.Events = {
|
| - Enabled: Symbol("Enabled"),
|
| - Toggled: Symbol("Toggled")
|
| -};
|
| -
|
| -WebInspector.Action.prototype = {
|
| - /**
|
| - * @return {string}
|
| - */
|
| - id: function()
|
| - {
|
| - return this._extension.descriptor()["actionId"];
|
| - },
|
| -
|
| - /**
|
| - * @return {!Promise.<boolean>}
|
| - */
|
| - execute: function()
|
| - {
|
| - return this._extension.instance().then(handleAction.bind(this));
|
| -
|
| - /**
|
| - * @param {!Object} actionDelegate
|
| - * @return {boolean}
|
| - * @this {WebInspector.Action}
|
| - */
|
| - function handleAction(actionDelegate)
|
| - {
|
| - var actionId = this._extension.descriptor()["actionId"];
|
| - var delegate = /** @type {!WebInspector.ActionDelegate} */(actionDelegate);
|
| - return delegate.handleAction(WebInspector.context, actionId);
|
| - }
|
| - },
|
| -
|
| - /**
|
| - * @return {string}
|
| - */
|
| - icon: function()
|
| - {
|
| - return this._extension.descriptor()["iconClass"] || "";
|
| - },
|
| -
|
| - /**
|
| - * @param {boolean} enabled
|
| - */
|
| - setEnabled: function(enabled)
|
| - {
|
| - if (this._enabled === enabled)
|
| - return;
|
| -
|
| - this._enabled = enabled;
|
| - this.dispatchEventToListeners(WebInspector.Action.Events.Enabled, enabled);
|
| - },
|
| + }
|
|
|
| - /**
|
| - * @return {boolean}
|
| - */
|
| - enabled: function()
|
| - {
|
| - return this._enabled;
|
| - },
|
| -
|
| - /**
|
| - * @return {string}
|
| - */
|
| - category: function()
|
| - {
|
| - return this._extension.descriptor()["category"] || "";
|
| - },
|
| + /**
|
| + * @return {string}
|
| + */
|
| + id() {
|
| + return this._extension.descriptor()['actionId'];
|
| + }
|
|
|
| - /**
|
| - * @return {string}
|
| - */
|
| - tags: function()
|
| - {
|
| - return this._extension.descriptor()["tags"] || "";
|
| - },
|
| -
|
| - /**
|
| - * @return {string}
|
| - */
|
| - title: function()
|
| - {
|
| - var title = this._extension.title();
|
| - var options = this._extension.descriptor()["options"];
|
| - if (options) {
|
| - for (var pair of options) {
|
| - if (pair["value"] !== this._toggled)
|
| - title = pair["title"];
|
| - }
|
| - }
|
| - return title;
|
| - },
|
| + /**
|
| + * @return {!Promise.<boolean>}
|
| + */
|
| + execute() {
|
| + return this._extension.instance().then(handleAction.bind(this));
|
|
|
| /**
|
| + * @param {!Object} actionDelegate
|
| * @return {boolean}
|
| + * @this {WebInspector.Action}
|
| */
|
| - toggled: function()
|
| - {
|
| - return this._toggled;
|
| - },
|
| -
|
| - /**
|
| - * @param {boolean} toggled
|
| - */
|
| - setToggled: function(toggled)
|
| - {
|
| - if (this._toggled === toggled)
|
| - return;
|
| -
|
| - this._toggled = toggled;
|
| - this.dispatchEventToListeners(WebInspector.Action.Events.Toggled, toggled);
|
| - },
|
| + function handleAction(actionDelegate) {
|
| + var actionId = this._extension.descriptor()['actionId'];
|
| + var delegate = /** @type {!WebInspector.ActionDelegate} */ (actionDelegate);
|
| + return delegate.handleAction(WebInspector.context, actionId);
|
| + }
|
| + }
|
| +
|
| + /**
|
| + * @return {string}
|
| + */
|
| + icon() {
|
| + return this._extension.descriptor()['iconClass'] || '';
|
| + }
|
| +
|
| + /**
|
| + * @param {boolean} enabled
|
| + */
|
| + setEnabled(enabled) {
|
| + if (this._enabled === enabled)
|
| + return;
|
| +
|
| + this._enabled = enabled;
|
| + this.dispatchEventToListeners(WebInspector.Action.Events.Enabled, enabled);
|
| + }
|
| +
|
| + /**
|
| + * @return {boolean}
|
| + */
|
| + enabled() {
|
| + return this._enabled;
|
| + }
|
| +
|
| + /**
|
| + * @return {string}
|
| + */
|
| + category() {
|
| + return this._extension.descriptor()['category'] || '';
|
| + }
|
| +
|
| + /**
|
| + * @return {string}
|
| + */
|
| + tags() {
|
| + return this._extension.descriptor()['tags'] || '';
|
| + }
|
| +
|
| + /**
|
| + * @return {string}
|
| + */
|
| + title() {
|
| + var title = this._extension.title();
|
| + var options = this._extension.descriptor()['options'];
|
| + if (options) {
|
| + for (var pair of options) {
|
| + if (pair['value'] !== this._toggled)
|
| + title = pair['title'];
|
| + }
|
| + }
|
| + return title;
|
| + }
|
| +
|
| + /**
|
| + * @return {boolean}
|
| + */
|
| + toggled() {
|
| + return this._toggled;
|
| + }
|
| +
|
| + /**
|
| + * @param {boolean} toggled
|
| + */
|
| + setToggled(toggled) {
|
| + if (this._toggled === toggled)
|
| + return;
|
| +
|
| + this._toggled = toggled;
|
| + this.dispatchEventToListeners(WebInspector.Action.Events.Toggled, toggled);
|
| + }
|
| +};
|
|
|
| - __proto__: WebInspector.Object.prototype
|
| +/** @enum {symbol} */
|
| +WebInspector.Action.Events = {
|
| + Enabled: Symbol('Enabled'),
|
| + Toggled: Symbol('Toggled')
|
| };
|
|
|
| /**
|
| * @interface
|
| */
|
| -WebInspector.ActionDelegate = function()
|
| -{
|
| -};
|
| +WebInspector.ActionDelegate = function() {};
|
|
|
| WebInspector.ActionDelegate.prototype = {
|
| - /**
|
| - * @param {!WebInspector.Context} context
|
| - * @param {string} actionId
|
| - * @return {boolean}
|
| - */
|
| - handleAction: function(context, actionId) {}
|
| + /**
|
| + * @param {!WebInspector.Context} context
|
| + * @param {string} actionId
|
| + * @return {boolean}
|
| + */
|
| + handleAction: function(context, actionId) {}
|
| };
|
|
|
| /** @type {!WebInspector.ActionRegistry} */
|
|
|