1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/browser/devtools/responsivedesign/resize-commands.js Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,89 @@ 1.4 +/* This Source Code Form is subject to the terms of the Mozilla Public 1.5 + * License, v. 2.0. If a copy of the MPL was not distributed with this 1.6 + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 1.7 + 1.8 +"use strict"; 1.9 + 1.10 +const { Cc, Ci, Cu } = require("chrome"); 1.11 + 1.12 +const BRAND_SHORT_NAME = Cc["@mozilla.org/intl/stringbundle;1"]. 1.13 + getService(Ci.nsIStringBundleService). 1.14 + createBundle("chrome://branding/locale/brand.properties"). 1.15 + GetStringFromName("brandShortName"); 1.16 + 1.17 +const gcli = require("gcli/index"); 1.18 + 1.19 +exports.items = [ 1.20 + { 1.21 + name: 'resize', 1.22 + description: gcli.lookup('resizeModeDesc') 1.23 + }, 1.24 + { 1.25 + name: 'resize on', 1.26 + description: gcli.lookup('resizeModeOnDesc'), 1.27 + manual: gcli.lookupFormat('resizeModeManual2', [BRAND_SHORT_NAME]), 1.28 + exec: gcli_cmd_resize 1.29 + }, 1.30 + { 1.31 + name: 'resize off', 1.32 + description: gcli.lookup('resizeModeOffDesc'), 1.33 + manual: gcli.lookupFormat('resizeModeManual2', [BRAND_SHORT_NAME]), 1.34 + exec: gcli_cmd_resize 1.35 + }, 1.36 + { 1.37 + name: 'resize toggle', 1.38 + buttonId: "command-button-responsive", 1.39 + buttonClass: "command-button command-button-invertable", 1.40 + tooltipText: gcli.lookup("resizeModeToggleTooltip"), 1.41 + description: gcli.lookup('resizeModeToggleDesc'), 1.42 + manual: gcli.lookupFormat('resizeModeManual2', [BRAND_SHORT_NAME]), 1.43 + state: { 1.44 + isChecked: function(aTarget) { 1.45 + let browserWindow = aTarget.tab.ownerDocument.defaultView; 1.46 + let mgr = browserWindow.ResponsiveUI.ResponsiveUIManager; 1.47 + return mgr.isActiveForTab(aTarget.tab); 1.48 + }, 1.49 + onChange: function(aTarget, aChangeHandler) { 1.50 + let browserWindow = aTarget.tab.ownerDocument.defaultView; 1.51 + let mgr = browserWindow.ResponsiveUI.ResponsiveUIManager; 1.52 + mgr.on("on", aChangeHandler); 1.53 + mgr.on("off", aChangeHandler); 1.54 + }, 1.55 + offChange: function(aTarget, aChangeHandler) { 1.56 + if (aTarget.tab) { 1.57 + let browserWindow = aTarget.tab.ownerDocument.defaultView; 1.58 + let mgr = browserWindow.ResponsiveUI.ResponsiveUIManager; 1.59 + mgr.off("on", aChangeHandler); 1.60 + mgr.off("off", aChangeHandler); 1.61 + } 1.62 + }, 1.63 + }, 1.64 + exec: gcli_cmd_resize 1.65 + }, 1.66 + { 1.67 + name: 'resize to', 1.68 + description: gcli.lookup('resizeModeToDesc'), 1.69 + params: [ 1.70 + { 1.71 + name: 'width', 1.72 + type: 'number', 1.73 + description: gcli.lookup("resizePageArgWidthDesc"), 1.74 + }, 1.75 + { 1.76 + name: 'height', 1.77 + type: 'number', 1.78 + description: gcli.lookup("resizePageArgHeightDesc"), 1.79 + }, 1.80 + ], 1.81 + exec: gcli_cmd_resize 1.82 + } 1.83 +]; 1.84 + 1.85 +function gcli_cmd_resize(args, context) { 1.86 + let browserWindow = context.environment.chromeWindow; 1.87 + let mgr = browserWindow.ResponsiveUI.ResponsiveUIManager; 1.88 + mgr.handleGcliCommand(browserWindow, 1.89 + browserWindow.gBrowser.selectedTab, 1.90 + this.name, 1.91 + args); 1.92 +}