browser/devtools/responsivedesign/resize-commands.js

Thu, 22 Jan 2015 13:21:57 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 22 Jan 2015 13:21:57 +0100
branch
TOR_BUG_9701
changeset 15
b8a032363ba2
permissions
-rw-r--r--

Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6

     1 /* This Source Code Form is subject to the terms of the Mozilla Public
     2  * License, v. 2.0. If a copy of the MPL was not distributed with this
     3  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
     5 "use strict";
     7 const { Cc, Ci, Cu } = require("chrome");
     9 const BRAND_SHORT_NAME = Cc["@mozilla.org/intl/stringbundle;1"].
    10                          getService(Ci.nsIStringBundleService).
    11                          createBundle("chrome://branding/locale/brand.properties").
    12                          GetStringFromName("brandShortName");
    14 const gcli = require("gcli/index");
    16 exports.items = [
    17   {
    18     name: 'resize',
    19     description: gcli.lookup('resizeModeDesc')
    20   },
    21   {
    22     name: 'resize on',
    23     description: gcli.lookup('resizeModeOnDesc'),
    24     manual: gcli.lookupFormat('resizeModeManual2', [BRAND_SHORT_NAME]),
    25     exec: gcli_cmd_resize
    26   },
    27   {
    28     name: 'resize off',
    29     description: gcli.lookup('resizeModeOffDesc'),
    30     manual: gcli.lookupFormat('resizeModeManual2', [BRAND_SHORT_NAME]),
    31     exec: gcli_cmd_resize
    32   },
    33   {
    34     name: 'resize toggle',
    35     buttonId: "command-button-responsive",
    36     buttonClass: "command-button command-button-invertable",
    37     tooltipText: gcli.lookup("resizeModeToggleTooltip"),
    38     description: gcli.lookup('resizeModeToggleDesc'),
    39     manual: gcli.lookupFormat('resizeModeManual2', [BRAND_SHORT_NAME]),
    40     state: {
    41       isChecked: function(aTarget) {
    42         let browserWindow = aTarget.tab.ownerDocument.defaultView;
    43         let mgr = browserWindow.ResponsiveUI.ResponsiveUIManager;
    44         return mgr.isActiveForTab(aTarget.tab);
    45       },
    46       onChange: function(aTarget, aChangeHandler) {
    47         let browserWindow = aTarget.tab.ownerDocument.defaultView;
    48         let mgr = browserWindow.ResponsiveUI.ResponsiveUIManager;
    49         mgr.on("on", aChangeHandler);
    50         mgr.on("off", aChangeHandler);
    51       },
    52       offChange: function(aTarget, aChangeHandler) {
    53         if (aTarget.tab) {
    54           let browserWindow = aTarget.tab.ownerDocument.defaultView;
    55           let mgr = browserWindow.ResponsiveUI.ResponsiveUIManager;
    56           mgr.off("on", aChangeHandler);
    57           mgr.off("off", aChangeHandler);
    58         }
    59       },
    60     },
    61     exec: gcli_cmd_resize
    62   },
    63   {
    64     name: 'resize to',
    65     description: gcli.lookup('resizeModeToDesc'),
    66     params: [
    67       {
    68         name: 'width',
    69         type: 'number',
    70         description: gcli.lookup("resizePageArgWidthDesc"),
    71       },
    72       {
    73         name: 'height',
    74         type: 'number',
    75         description: gcli.lookup("resizePageArgHeightDesc"),
    76       },
    77     ],
    78     exec: gcli_cmd_resize
    79   }
    80 ];
    82 function gcli_cmd_resize(args, context) {
    83   let browserWindow = context.environment.chromeWindow;
    84   let mgr = browserWindow.ResponsiveUI.ResponsiveUIManager;
    85   mgr.handleGcliCommand(browserWindow,
    86                         browserWindow.gBrowser.selectedTab,
    87                         this.name,
    88                         args);
    89 }

mercurial