In a following patch, all DevTools moz.build files will use DevToolsModules to install JS modules at a path that corresponds directly to their source tree location. Here we rewrite all require and import calls to match the new location that these files are installed to.
229 lines
6.3 KiB
JavaScript
229 lines
6.3 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 l10n = require("gcli/l10n");
|
|
|
|
// Fetch TiltManager using the current loader, but don't save a
|
|
// reference to it, because it might change with a tool reload.
|
|
// We can clean this up once the command line is loadered.
|
|
Object.defineProperty(this, "TiltManager", {
|
|
get: function() {
|
|
return require("devtools/client/tilt/tilt").TiltManager;
|
|
},
|
|
enumerable: true
|
|
});
|
|
|
|
exports.items = [
|
|
{
|
|
name: "tilt",
|
|
description: l10n.lookup("tiltDesc"),
|
|
manual: l10n.lookup("tiltManual"),
|
|
hidden: true
|
|
},
|
|
{
|
|
name: "tilt open",
|
|
runAt: "client",
|
|
description: l10n.lookup("tiltOpenDesc"),
|
|
manual: l10n.lookup("tiltOpenManual"),
|
|
hidden: true,
|
|
exec: function(args, context) {
|
|
if (isMultiProcess(context)) {
|
|
return l10n.lookupFormat("notAvailableInE10S", [this.name]);
|
|
}
|
|
|
|
let chromeWindow = context.environment.chromeDocument.defaultView;
|
|
let Tilt = TiltManager.getTiltForBrowser(chromeWindow);
|
|
if (!Tilt.currentInstance) {
|
|
Tilt.toggle();
|
|
}
|
|
}
|
|
},
|
|
{
|
|
name: "tilt toggle",
|
|
runAt: "client",
|
|
buttonId: "command-button-tilt",
|
|
buttonClass: "command-button command-button-invertable",
|
|
tooltipText: l10n.lookup("tiltToggleTooltip"),
|
|
hidden: true,
|
|
state: {
|
|
isChecked: function(aTarget) {
|
|
if (!aTarget.tab) {
|
|
return false;
|
|
}
|
|
let browserWindow = aTarget.tab.ownerDocument.defaultView;
|
|
return !!TiltManager.getTiltForBrowser(browserWindow).currentInstance;
|
|
},
|
|
onChange: function(aTarget, aChangeHandler) {
|
|
if (!aTarget.tab) {
|
|
return;
|
|
}
|
|
let browserWindow = aTarget.tab.ownerDocument.defaultView;
|
|
let tilt = TiltManager.getTiltForBrowser(browserWindow);
|
|
tilt.on("change", aChangeHandler);
|
|
},
|
|
offChange: function(aTarget, aChangeHandler) {
|
|
if (!aTarget.tab) {
|
|
return;
|
|
}
|
|
let browserWindow = aTarget.tab.ownerDocument.defaultView;
|
|
let tilt = TiltManager.getTiltForBrowser(browserWindow);
|
|
tilt.off("change", aChangeHandler);
|
|
},
|
|
},
|
|
exec: function(args, context) {
|
|
if (isMultiProcess(context)) {
|
|
return l10n.lookupFormat("notAvailableInE10S", [this.name]);
|
|
}
|
|
|
|
let chromeWindow = context.environment.chromeDocument.defaultView;
|
|
let Tilt = TiltManager.getTiltForBrowser(chromeWindow);
|
|
Tilt.toggle();
|
|
}
|
|
},
|
|
{
|
|
name: "tilt translate",
|
|
runAt: "client",
|
|
description: l10n.lookup("tiltTranslateDesc"),
|
|
manual: l10n.lookup("tiltTranslateManual"),
|
|
hidden: true,
|
|
params: [
|
|
{
|
|
name: "x",
|
|
type: "number",
|
|
defaultValue: 0,
|
|
description: l10n.lookup("tiltTranslateXDesc"),
|
|
manual: l10n.lookup("tiltTranslateXManual")
|
|
},
|
|
{
|
|
name: "y",
|
|
type: "number",
|
|
defaultValue: 0,
|
|
description: l10n.lookup("tiltTranslateYDesc"),
|
|
manual: l10n.lookup("tiltTranslateYManual")
|
|
}
|
|
],
|
|
exec: function(args, context) {
|
|
if (isMultiProcess(context)) {
|
|
return l10n.lookupFormat("notAvailableInE10S", [this.name]);
|
|
}
|
|
|
|
let chromeWindow = context.environment.chromeDocument.defaultView;
|
|
let Tilt = TiltManager.getTiltForBrowser(chromeWindow);
|
|
if (Tilt.currentInstance) {
|
|
Tilt.currentInstance.controller.arcball.translate([args.x, args.y]);
|
|
}
|
|
}
|
|
},
|
|
{
|
|
name: "tilt rotate",
|
|
runAt: "client",
|
|
description: l10n.lookup("tiltRotateDesc"),
|
|
manual: l10n.lookup("tiltRotateManual"),
|
|
hidden: true,
|
|
params: [
|
|
{
|
|
name: "x",
|
|
type: { name: 'number', min: -360, max: 360, step: 10 },
|
|
defaultValue: 0,
|
|
description: l10n.lookup("tiltRotateXDesc"),
|
|
manual: l10n.lookup("tiltRotateXManual")
|
|
},
|
|
{
|
|
name: "y",
|
|
type: { name: 'number', min: -360, max: 360, step: 10 },
|
|
defaultValue: 0,
|
|
description: l10n.lookup("tiltRotateYDesc"),
|
|
manual: l10n.lookup("tiltRotateYManual")
|
|
},
|
|
{
|
|
name: "z",
|
|
type: { name: 'number', min: -360, max: 360, step: 10 },
|
|
defaultValue: 0,
|
|
description: l10n.lookup("tiltRotateZDesc"),
|
|
manual: l10n.lookup("tiltRotateZManual")
|
|
}
|
|
],
|
|
exec: function(args, context) {
|
|
if (isMultiProcess(context)) {
|
|
return l10n.lookupFormat("notAvailableInE10S", [this.name]);
|
|
}
|
|
|
|
let chromeWindow = context.environment.chromeDocument.defaultView;
|
|
let Tilt = TiltManager.getTiltForBrowser(chromeWindow);
|
|
if (Tilt.currentInstance) {
|
|
Tilt.currentInstance.controller.arcball.rotate([args.x, args.y, args.z]);
|
|
}
|
|
}
|
|
},
|
|
{
|
|
name: "tilt zoom",
|
|
runAt: "client",
|
|
description: l10n.lookup("tiltZoomDesc"),
|
|
manual: l10n.lookup("tiltZoomManual"),
|
|
hidden: true,
|
|
params: [
|
|
{
|
|
name: "zoom",
|
|
type: { name: 'number' },
|
|
description: l10n.lookup("tiltZoomAmountDesc"),
|
|
manual: l10n.lookup("tiltZoomAmountManual")
|
|
}
|
|
],
|
|
exec: function(args, context) {
|
|
if (isMultiProcess(context)) {
|
|
return l10n.lookupFormat("notAvailableInE10S", [this.name]);
|
|
}
|
|
|
|
let chromeWindow = context.environment.chromeDocument.defaultView;
|
|
let Tilt = TiltManager.getTiltForBrowser(chromeWindow);
|
|
|
|
if (Tilt.currentInstance) {
|
|
Tilt.currentInstance.controller.arcball.zoom(-args.zoom);
|
|
}
|
|
}
|
|
},
|
|
{
|
|
name: "tilt reset",
|
|
runAt: "client",
|
|
description: l10n.lookup("tiltResetDesc"),
|
|
manual: l10n.lookup("tiltResetManual"),
|
|
hidden: true,
|
|
exec: function(args, context) {
|
|
if (isMultiProcess(context)) {
|
|
return l10n.lookupFormat("notAvailableInE10S", [this.name]);
|
|
}
|
|
|
|
let chromeWindow = context.environment.chromeDocument.defaultView;
|
|
let Tilt = TiltManager.getTiltForBrowser(chromeWindow);
|
|
|
|
if (Tilt.currentInstance) {
|
|
Tilt.currentInstance.controller.arcball.reset();
|
|
}
|
|
}
|
|
},
|
|
{
|
|
name: "tilt close",
|
|
runAt: "client",
|
|
description: l10n.lookup("tiltCloseDesc"),
|
|
manual: l10n.lookup("tiltCloseManual"),
|
|
hidden: true,
|
|
exec: function(args, context) {
|
|
if (isMultiProcess(context)) {
|
|
return l10n.lookupFormat("notAvailableInE10S", [this.name]);
|
|
}
|
|
|
|
let chromeWindow = context.environment.chromeDocument.defaultView;
|
|
let Tilt = TiltManager.getTiltForBrowser(chromeWindow);
|
|
|
|
Tilt.destroy(Tilt.currentWindowId);
|
|
}
|
|
}
|
|
];
|
|
|
|
function isMultiProcess(context) {
|
|
return !context.environment.window;
|
|
}
|