| Index: third_party/WebKit/Source/devtools/front_end/ui_lazy/CommandMenu.js
|
| diff --git a/third_party/WebKit/Source/devtools/front_end/ui_lazy/CommandMenu.js b/third_party/WebKit/Source/devtools/front_end/ui_lazy/CommandMenu.js
|
| deleted file mode 100644
|
| index 93d494dcf4de2a48f15d899b558fdb3b0ad0ef03..0000000000000000000000000000000000000000
|
| --- a/third_party/WebKit/Source/devtools/front_end/ui_lazy/CommandMenu.js
|
| +++ /dev/null
|
| @@ -1,340 +0,0 @@
|
| -// Copyright 2016 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.
|
| -/**
|
| - * @unrestricted
|
| - */
|
| -UI.CommandMenu = class {
|
| - constructor() {
|
| - this._commands = [];
|
| - this._loadCommands();
|
| - }
|
| -
|
| - /**
|
| - * @param {string} category
|
| - * @param {string} keys
|
| - * @param {string} title
|
| - * @param {string} shortcut
|
| - * @param {function()} executeHandler
|
| - * @param {function()=} availableHandler
|
| - * @return {!UI.CommandMenu.Command}
|
| - */
|
| - static createCommand(category, keys, title, shortcut, executeHandler, availableHandler) {
|
| - // Separate keys by null character, to prevent fuzzy matching from matching across them.
|
| - var key = keys.replace(/,/g, '\0');
|
| - return new UI.CommandMenu.Command(category, title, key, shortcut, executeHandler, availableHandler);
|
| - }
|
| -
|
| - /**
|
| - * @param {!Runtime.Extension} extension
|
| - * @param {string} title
|
| - * @param {V} value
|
| - * @return {!UI.CommandMenu.Command}
|
| - * @template V
|
| - */
|
| - static createSettingCommand(extension, title, value) {
|
| - var category = extension.descriptor()['category'] || '';
|
| - var tags = extension.descriptor()['tags'] || '';
|
| - var setting = Common.settings.moduleSetting(extension.descriptor()['settingName']);
|
| - return UI.CommandMenu.createCommand(category, tags, title, '', setting.set.bind(setting, value), availableHandler);
|
| -
|
| - /**
|
| - * @return {boolean}
|
| - */
|
| - function availableHandler() {
|
| - return setting.get() !== value;
|
| - }
|
| - }
|
| -
|
| - /**
|
| - * @param {!UI.Action} action
|
| - * @return {!UI.CommandMenu.Command}
|
| - */
|
| - static createActionCommand(action) {
|
| - var shortcut = UI.shortcutRegistry.shortcutTitleForAction(action.id()) || '';
|
| - return UI.CommandMenu.createCommand(
|
| - action.category(), action.tags(), action.title(), shortcut, action.execute.bind(action));
|
| - }
|
| -
|
| - /**
|
| - * @param {!Runtime.Extension} extension
|
| - * @return {!UI.CommandMenu.Command}
|
| - */
|
| - static createRevealPanelCommand(extension) {
|
| - var panelName = extension.descriptor()['name'];
|
| - var tags = extension.descriptor()['tags'] || '';
|
| - return UI.CommandMenu.createCommand(
|
| - Common.UIString('Panel'), tags, Common.UIString('Show %s', extension.title()), '', executeHandler,
|
| - availableHandler);
|
| -
|
| - /**
|
| - * @return {boolean}
|
| - */
|
| - function availableHandler() {
|
| - return true;
|
| - }
|
| -
|
| - function executeHandler() {
|
| - UI.viewManager.showView(panelName);
|
| - }
|
| - }
|
| -
|
| - /**
|
| - * @param {!Runtime.Extension} extension
|
| - * @return {!UI.CommandMenu.Command}
|
| - */
|
| - static createRevealDrawerCommand(extension) {
|
| - var drawerId = extension.descriptor()['id'];
|
| - var executeHandler = UI.viewManager.showView.bind(UI.viewManager, drawerId);
|
| - var tags = extension.descriptor()['tags'] || '';
|
| - return UI.CommandMenu.createCommand(
|
| - Common.UIString('Drawer'), tags, Common.UIString('Show %s', extension.title()), '', executeHandler);
|
| - }
|
| -
|
| - _loadCommands() {
|
| - // Populate panels.
|
| - var panelExtensions = self.runtime.extensions(UI.Panel);
|
| - for (var extension of panelExtensions)
|
| - this._commands.push(UI.CommandMenu.createRevealPanelCommand(extension));
|
| -
|
| - // Populate drawers.
|
| - var drawerExtensions = self.runtime.extensions('view');
|
| - for (var extension of drawerExtensions) {
|
| - if (extension.descriptor()['location'] !== 'drawer-view')
|
| - continue;
|
| - this._commands.push(UI.CommandMenu.createRevealDrawerCommand(extension));
|
| - }
|
| -
|
| - // Populate whitelisted settings.
|
| - var settingExtensions = self.runtime.extensions('setting');
|
| - for (var extension of settingExtensions) {
|
| - var options = extension.descriptor()['options'];
|
| - if (!options || !extension.descriptor()['category'])
|
| - continue;
|
| - for (var pair of options)
|
| - this._commands.push(UI.CommandMenu.createSettingCommand(extension, pair['title'], pair['value']));
|
| - }
|
| - }
|
| -
|
| - /**
|
| - * @return {!Array.<!UI.CommandMenu.Command>}
|
| - */
|
| - commands() {
|
| - return this._commands;
|
| - }
|
| -};
|
| -
|
| -/**
|
| - * @unrestricted
|
| - */
|
| -UI.CommandMenuDelegate = class extends UI.FilteredListWidget.Delegate {
|
| - constructor() {
|
| - super([]);
|
| - this._commands = [];
|
| - this._appendAvailableCommands();
|
| - }
|
| -
|
| - _appendAvailableCommands() {
|
| - var allCommands = UI.commandMenu.commands();
|
| -
|
| - // Populate whitelisted actions.
|
| - var actions = UI.actionRegistry.availableActions();
|
| - for (var action of actions) {
|
| - if (action.category())
|
| - this._commands.push(UI.CommandMenu.createActionCommand(action));
|
| - }
|
| -
|
| - for (var command of allCommands) {
|
| - if (command.available())
|
| - this._commands.push(command);
|
| - }
|
| -
|
| - this._commands = this._commands.sort(commandComparator);
|
| -
|
| - /**
|
| - * @param {!UI.CommandMenu.Command} left
|
| - * @param {!UI.CommandMenu.Command} right
|
| - * @return {number}
|
| - */
|
| - function commandComparator(left, right) {
|
| - var cats = left.category().compareTo(right.category());
|
| - return cats ? cats : left.title().compareTo(right.title());
|
| - }
|
| - }
|
| -
|
| - /**
|
| - * @override
|
| - * @return {number}
|
| - */
|
| - itemCount() {
|
| - return this._commands.length;
|
| - }
|
| -
|
| - /**
|
| - * @override
|
| - * @param {number} itemIndex
|
| - * @return {string}
|
| - */
|
| - itemKeyAt(itemIndex) {
|
| - return this._commands[itemIndex].key();
|
| - }
|
| -
|
| - /**
|
| - * @override
|
| - * @param {number} itemIndex
|
| - * @param {string} query
|
| - * @return {number}
|
| - */
|
| - itemScoreAt(itemIndex, query) {
|
| - var command = this._commands[itemIndex];
|
| - var opcodes = Diff.Diff.charDiff(query.toLowerCase(), command.title().toLowerCase());
|
| - var score = 0;
|
| - // Score longer sequences higher.
|
| - for (var i = 0; i < opcodes.length; ++i) {
|
| - if (opcodes[i][0] === Diff.Diff.Operation.Equal)
|
| - score += opcodes[i][1].length * opcodes[i][1].length;
|
| - }
|
| -
|
| - // Score panel/drawer reveals above regular actions.
|
| - if (command.category().startsWith('Panel'))
|
| - score += 2;
|
| - else if (command.category().startsWith('Drawer'))
|
| - score += 1;
|
| -
|
| - return score;
|
| - }
|
| -
|
| - /**
|
| - * @override
|
| - * @param {number} itemIndex
|
| - * @param {string} query
|
| - * @param {!Element} titleElement
|
| - * @param {!Element} subtitleElement
|
| - */
|
| - renderItem(itemIndex, query, titleElement, subtitleElement) {
|
| - var command = this._commands[itemIndex];
|
| - titleElement.removeChildren();
|
| - var tagElement = titleElement.createChild('span', 'tag');
|
| - var index = String.hashCode(command.category()) % UI.CommandMenuDelegate.MaterialPaletteColors.length;
|
| - tagElement.style.backgroundColor = UI.CommandMenuDelegate.MaterialPaletteColors[index];
|
| - tagElement.textContent = command.category();
|
| - titleElement.createTextChild(command.title());
|
| - this.highlightRanges(titleElement, query);
|
| - subtitleElement.textContent = command.shortcut();
|
| - }
|
| -
|
| - /**
|
| - * @override
|
| - * @param {?number} itemIndex
|
| - * @param {string} promptValue
|
| - */
|
| - selectItem(itemIndex, promptValue) {
|
| - if (itemIndex === null)
|
| - return;
|
| - this._commands[itemIndex].execute();
|
| - }
|
| -
|
| - /**
|
| - * @override
|
| - * @return {boolean}
|
| - */
|
| - caseSensitive() {
|
| - return false;
|
| - }
|
| -
|
| - /**
|
| - * @override
|
| - * @return {boolean}
|
| - */
|
| - renderMonospace() {
|
| - return false;
|
| - }
|
| -};
|
| -
|
| -UI.CommandMenuDelegate.MaterialPaletteColors = [
|
| - '#F44336', '#E91E63', '#9C27B0', '#673AB7', '#3F51B5', '#03A9F4', '#00BCD4', '#009688', '#4CAF50', '#8BC34A',
|
| - '#CDDC39', '#FFC107', '#FF9800', '#FF5722', '#795548', '#9E9E9E', '#607D8B'
|
| -];
|
| -
|
| -/**
|
| - * @unrestricted
|
| - */
|
| -UI.CommandMenu.Command = class {
|
| - /**
|
| - * @param {string} category
|
| - * @param {string} title
|
| - * @param {string} key
|
| - * @param {string} shortcut
|
| - * @param {function()} executeHandler
|
| - * @param {function()=} availableHandler
|
| - */
|
| - constructor(category, title, key, shortcut, executeHandler, availableHandler) {
|
| - this._category = category;
|
| - this._title = title;
|
| - this._key = category + '\0' + title + '\0' + key;
|
| - this._shortcut = shortcut;
|
| - this._executeHandler = executeHandler;
|
| - this._availableHandler = availableHandler;
|
| - }
|
| -
|
| - /**
|
| - * @return {string}
|
| - */
|
| - category() {
|
| - return this._category;
|
| - }
|
| -
|
| - /**
|
| - * @return {string}
|
| - */
|
| - title() {
|
| - return this._title;
|
| - }
|
| -
|
| - /**
|
| - * @return {string}
|
| - */
|
| - key() {
|
| - return this._key;
|
| - }
|
| -
|
| - /**
|
| - * @return {string}
|
| - */
|
| - shortcut() {
|
| - return this._shortcut;
|
| - }
|
| -
|
| - /**
|
| - * @return {boolean}
|
| - */
|
| - available() {
|
| - return this._availableHandler ? this._availableHandler() : true;
|
| - }
|
| -
|
| - execute() {
|
| - this._executeHandler();
|
| - }
|
| -};
|
| -
|
| -
|
| -/** @type {!UI.CommandMenu} */
|
| -UI.commandMenu = new UI.CommandMenu();
|
| -
|
| -/**
|
| - * @implements {UI.ActionDelegate}
|
| - * @unrestricted
|
| - */
|
| -UI.CommandMenu.ShowActionDelegate = class {
|
| - /**
|
| - * @override
|
| - * @param {!UI.Context} context
|
| - * @param {string} actionId
|
| - * @return {boolean}
|
| - */
|
| - handleAction(context, actionId) {
|
| - new UI.FilteredListWidget(new UI.CommandMenuDelegate()).showAsDialog();
|
| - InspectorFrontendHost.bringToFront();
|
| - return true;
|
| - }
|
| -};
|
|
|