mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
ffa9c6e99c
BuiltinCommands.jsm was huge to avoid slowing things down by having many modules loading. To avoid splitting it up from slowing things down we want to delay loading commands. Create [add|remove]ItemsByModule to allow us to lazily add modules, and convert all command modules to use this. Then break up BuiltinCommands into a set of files, for each command, and do some refactoring to use JS files rather than JSMs and use "use strict". --HG-- rename : browser/devtools/commandline/Commands.jsm => browser/devtools/commandline/commands-index.js rename : browser/devtools/debugger/CmdDebugger.jsm => browser/devtools/debugger/debugger-commands.js rename : browser/devtools/inspector/CmdInspect.jsm => browser/devtools/inspector/inspector-commands.js rename : browser/devtools/responsivedesign/CmdResize.jsm => browser/devtools/responsivedesign/resize-commands.js rename : browser/devtools/scratchpad/CmdScratchpad.jsm => browser/devtools/scratchpad/scratchpad-commands.js rename : browser/devtools/styleeditor/CmdEdit.jsm => browser/devtools/styleeditor/styleeditor-commands.js rename : browser/devtools/tilt/CmdTilt.jsm => browser/devtools/tilt/tilt-commands.js
138 lines
3.6 KiB
JavaScript
138 lines
3.6 KiB
JavaScript
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
"use strict";
|
|
|
|
const gcli = require('gcli/index');
|
|
|
|
loader.lazyGetter(this, "gDevTools",
|
|
() => Cu.import("resource:///modules/devtools/gDevTools.jsm", {}).gDevTools);
|
|
|
|
|
|
module.exports.items = [
|
|
{
|
|
name: "profiler",
|
|
description: gcli.lookup("profilerDesc"),
|
|
manual: gcli.lookup("profilerManual")
|
|
},
|
|
{
|
|
name: "profiler open",
|
|
description: gcli.lookup("profilerOpenDesc"),
|
|
exec: function (args, context) {
|
|
return gDevTools.showToolbox(context.environment.target, "jsprofiler")
|
|
.then(function () null);
|
|
}
|
|
},
|
|
{
|
|
name: "profiler close",
|
|
description: gcli.lookup("profilerCloseDesc"),
|
|
exec: function (args, context) {
|
|
let toolbox = gDevTools.getToolbox(context.environment.target);
|
|
let panel = (toolbox == null) ? null : toolbox.getPanel(id);
|
|
if (panel == null)
|
|
return;
|
|
|
|
return gDevTools.closeToolbox(context.environment.target)
|
|
.then(function () null);
|
|
}
|
|
},
|
|
{
|
|
name: "profiler start",
|
|
description: gcli.lookup("profilerStartDesc"),
|
|
returnType: "string",
|
|
exec: function (args, context) {
|
|
let target = context.environment.target
|
|
return gDevTools.showToolbox(target, "jsprofiler").then(toolbox => {
|
|
let panel = toolbox.getCurrentPanel();
|
|
|
|
if (panel.recordingProfile)
|
|
throw gcli.lookup("profilerAlreadyStarted2");
|
|
|
|
panel.toggleRecording();
|
|
return gcli.lookup("profilerStarted2");
|
|
});
|
|
}
|
|
},
|
|
{
|
|
name: "profiler stop",
|
|
description: gcli.lookup("profilerStopDesc"),
|
|
returnType: "string",
|
|
exec: function (args, context) {
|
|
let target = context.environment.target
|
|
return gDevTools.showToolbox(target, "jsprofiler").then(toolbox => {
|
|
let panel = toolbox.getCurrentPanel();
|
|
|
|
if (!panel.recordingProfile)
|
|
throw gcli.lookup("profilerNotStarted3");
|
|
|
|
panel.toggleRecording();
|
|
return gcli.lookup("profilerStopped");
|
|
});
|
|
}
|
|
},
|
|
{
|
|
name: "profiler list",
|
|
description: gcli.lookup("profilerListDesc"),
|
|
returnType: "profileList",
|
|
exec: function (args, context) {
|
|
let toolbox = gDevTools.getToolbox(context.environment.target);
|
|
let panel = (toolbox == null) ? null : toolbox.getPanel("jsprofiler");
|
|
|
|
if (panel == null) {
|
|
throw gcli.lookup("profilerNotReady");
|
|
}
|
|
|
|
let profileList = [];
|
|
for ([ uid, profile ] of panel.profiles) {
|
|
profileList.push({ name: profile.name, started: profile.isStarted });
|
|
}
|
|
return profileList;
|
|
}
|
|
},
|
|
{
|
|
item: "converter",
|
|
from: "profileList",
|
|
to: "view",
|
|
exec: function(profileList, context) {
|
|
return {
|
|
html: "<div>" +
|
|
" <ol>" +
|
|
" <li forEach='profile of ${profiles}'>${profile.name}</li>" +
|
|
" ${profile.name} ${profile.started ? '*' : ''}" +
|
|
" </li>" +
|
|
" </ol>" +
|
|
"</div>",
|
|
data: { profiles: profileList.profiles },
|
|
options: { allowEval: true }
|
|
};
|
|
},
|
|
},
|
|
{
|
|
name: "profiler show",
|
|
description: gcli.lookup("profilerShowDesc"),
|
|
params: [
|
|
{
|
|
name: "name",
|
|
type: "string",
|
|
manual: gcli.lookup("profilerShowManual")
|
|
}
|
|
],
|
|
|
|
exec: function (args, context) {
|
|
let toolbox = gDevTools.getToolbox(context.environment.target);
|
|
let panel = (toolbox == null) ? null : toolbox.getPanel(id);
|
|
|
|
if (!panel) {
|
|
throw gcli.lookup("profilerNotReady");
|
|
}
|
|
|
|
let profile = panel.getProfileByName(args.name);
|
|
if (!profile) {
|
|
throw gcli.lookup("profilerNotFound");
|
|
}
|
|
|
|
panel.sidebar.selectedItem = panel.sidebar.getItemByProfile(profile);
|
|
}
|
|
}];
|