|
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/. */ |
|
4 |
|
5 "use strict"; |
|
6 |
|
7 const { Cc, Ci, Cu } = require("chrome"); |
|
8 |
|
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"); |
|
13 |
|
14 const gcli = require("gcli/index"); |
|
15 |
|
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 ]; |
|
81 |
|
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 } |