Bug 991045 - Added Screenshot Button to toolbar's UI;r=pbrosset;
authorvikneshwar <lviknesh@gmail.com>
Fri, 30 May 2014 10:47:49 +0200
changeset 185732 517a797c25339f837d2b1eb5c9100d5b7f878c6d
parent 185731 767e7eb767d836dae111928b2a7a02abf0591ef1
child 185842 652e70044180bc06dd070bdfbe81df4c9de7e52d
push id7059
push userpbrosset@mozilla.com
push dateFri, 30 May 2014 08:48:13 +0000
treeherderfx-team@517a797c2533 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewerspbrosset
bugs991045
milestone32.0a1
Bug 991045 - Added Screenshot Button to toolbar's UI;r=pbrosset;
browser/app/profile/firefox.js
browser/devtools/framework/toolbox.js
browser/locales/en-US/chrome/browser/devtools/gclicommands.properties
browser/themes/linux/jar.mn
browser/themes/osx/jar.mn
browser/themes/shared/devtools/images/command-screenshot.png
browser/themes/shared/devtools/images/command-screenshot@2x.png
browser/themes/shared/devtools/toolbars.inc.css
browser/themes/windows/jar.mn
toolkit/devtools/gcli/commands/screenshot.js
--- a/browser/app/profile/firefox.js
+++ b/browser/app/profile/firefox.js
@@ -1244,28 +1244,29 @@ pref("devtools.webide.enabled", true);
 pref("devtools.webide.enabled", false);
 #endif
 
 // Toolbox preferences
 pref("devtools.toolbox.footer.height", 250);
 pref("devtools.toolbox.sidebar.width", 500);
 pref("devtools.toolbox.host", "bottom");
 pref("devtools.toolbox.selectedTool", "webconsole");
-pref("devtools.toolbox.toolbarSpec", '["splitconsole", "paintflashing toggle","tilt toggle","scratchpad","resize toggle","eyedropper"]');
+pref("devtools.toolbox.toolbarSpec", '["splitconsole", "paintflashing toggle","tilt toggle","scratchpad","resize toggle","eyedropper","screenshot --fullpage"]');
 pref("devtools.toolbox.sideEnabled", true);
 pref("devtools.toolbox.zoomValue", "1");
 
 // Toolbox Button preferences
 pref("devtools.command-button-pick.enabled", true);
 pref("devtools.command-button-splitconsole.enabled", true);
 pref("devtools.command-button-paintflashing.enabled", false);
 pref("devtools.command-button-tilt.enabled", false);
 pref("devtools.command-button-scratchpad.enabled", false);
 pref("devtools.command-button-responsive.enabled", true);
 pref("devtools.command-button-eyedropper.enabled", false);
+pref("devtools.command-button-screenshot.enabled", false);
 
 // Inspector preferences
 // Enable the Inspector
 pref("devtools.inspector.enabled", true);
 // What was the last active sidebar in the inspector
 pref("devtools.inspector.activeSidebar", "ruleview");
 // Enable the markup preview
 pref("devtools.inspector.markupPreview", false);
--- a/browser/devtools/framework/toolbox.js
+++ b/browser/devtools/framework/toolbox.js
@@ -571,17 +571,18 @@ Toolbox.prototype = {
     // addons that have manually inserted toolbarbuttons into DOM.
     return [
       "command-button-pick",
       "command-button-splitconsole",
       "command-button-responsive",
       "command-button-paintflashing",
       "command-button-tilt",
       "command-button-scratchpad",
-      "command-button-eyedropper"
+      "command-button-eyedropper",
+      "command-button-screenshot"
     ].map(id => {
       let button = this.doc.getElementById(id);
       // Some buttons may not exist inside of Browser Toolbox
       if (!button) {
         return false;
       }
       return {
         id: id,
--- a/browser/locales/en-US/chrome/browser/devtools/gclicommands.properties
+++ b/browser/locales/en-US/chrome/browser/devtools/gclicommands.properties
@@ -120,16 +120,19 @@ screenshotSavedToFile=Saved to
 # LOCALIZATION NOTE (screenshotErrorCopying) Text displayed to user upon
 # encountering error while copying the screenshot to clipboard.
 screenshotErrorCopying=Error occurred while copying to clipboard.
 
 # LOCALIZATION NOTE (screenshotCopied) Text displayed to user when the
 # screenshot is successfully copied to the clipboard.
 screenshotCopied=Copied to clipboard.
 
+# LOCALIZATION NOTE (screenshotTooltip) Text displayed as tooltip for screenshot button in devtools ToolBox.
+screenshotTooltip=Take a fullpage screenshot
+
 # LOCALIZATION NOTE (restartBrowserDesc) A very short description of the
 # 'restart' command. This string is designed to be shown in a menu alongside the
 # command name, which is why it should be as short as possible.
 # The argument (%1$S) is the browser name.
 restartBrowserDesc=Restart %1$S
 
 # LOCALIZATION NOTE (restartBrowserNocacheDesc) A very short string to
 # describe the 'nocache' parameter to the 'restart' command, which is
--- a/browser/themes/linux/jar.mn
+++ b/browser/themes/linux/jar.mn
@@ -194,16 +194,18 @@ browser.jar:
 * skin/classic/browser/devtools/widgets.css           (devtools/widgets.css)
   skin/classic/browser/devtools/filetype-dir-close.svg        (../shared/devtools/images/filetypes/dir-close.svg)
   skin/classic/browser/devtools/filetype-dir-open.svg         (../shared/devtools/images/filetypes/dir-open.svg)
   skin/classic/browser/devtools/filetype-globe.svg            (../shared/devtools/images/filetypes/globe.svg)
   skin/classic/browser/devtools/commandline-icon.png          (../shared/devtools/images/commandline-icon.png)
   skin/classic/browser/devtools/commandline-icon@2x.png       (../shared/devtools/images/commandline-icon@2x.png)
   skin/classic/browser/devtools/command-paintflashing.png     (../shared/devtools/images/command-paintflashing.png)
   skin/classic/browser/devtools/command-paintflashing@2x.png  (../shared/devtools/images/command-paintflashing@2x.png)
+  skin/classic/browser/devtools/command-screenshot.png        (../shared/devtools/images/command-screenshot.png)
+  skin/classic/browser/devtools/command-screenshot@2x.png     (../shared/devtools/images/command-screenshot@2x.png)
   skin/classic/browser/devtools/command-responsivemode.png    (../shared/devtools/images/command-responsivemode.png)
   skin/classic/browser/devtools/command-responsivemode@2x.png (../shared/devtools/images/command-responsivemode@2x.png)
   skin/classic/browser/devtools/command-scratchpad.png        (../shared/devtools/images/command-scratchpad.png)
   skin/classic/browser/devtools/command-scratchpad@2x.png     (../shared/devtools/images/command-scratchpad@2x.png)
   skin/classic/browser/devtools/command-tilt.png              (../shared/devtools/images/command-tilt.png)
   skin/classic/browser/devtools/command-tilt@2x.png           (../shared/devtools/images/command-tilt@2x.png)
   skin/classic/browser/devtools/command-pick.png              (../shared/devtools/images/command-pick.png)
   skin/classic/browser/devtools/command-pick@2x.png           (../shared/devtools/images/command-pick@2x.png)
--- a/browser/themes/osx/jar.mn
+++ b/browser/themes/osx/jar.mn
@@ -311,16 +311,18 @@ browser.jar:
 * skin/classic/browser/devtools/widgets.css                 (devtools/widgets.css)
   skin/classic/browser/devtools/filetype-dir-close.svg      (../shared/devtools/images/filetypes/dir-close.svg)
   skin/classic/browser/devtools/filetype-dir-open.svg       (../shared/devtools/images/filetypes/dir-open.svg)
   skin/classic/browser/devtools/filetype-globe.svg          (../shared/devtools/images/filetypes/globe.svg)
   skin/classic/browser/devtools/commandline-icon.png        (../shared/devtools/images/commandline-icon.png)
   skin/classic/browser/devtools/commandline-icon@2x.png     (../shared/devtools/images/commandline-icon@2x.png)
   skin/classic/browser/devtools/command-paintflashing.png     (../shared/devtools/images/command-paintflashing.png)
   skin/classic/browser/devtools/command-paintflashing@2x.png  (../shared/devtools/images/command-paintflashing@2x.png)
+  skin/classic/browser/devtools/command-screenshot.png        (../shared/devtools/images/command-screenshot.png)
+  skin/classic/browser/devtools/command-screenshot@2x.png     (../shared/devtools/images/command-screenshot@2x.png)
   skin/classic/browser/devtools/command-responsivemode.png    (../shared/devtools/images/command-responsivemode.png)
   skin/classic/browser/devtools/command-responsivemode@2x.png (../shared/devtools/images/command-responsivemode@2x.png)
   skin/classic/browser/devtools/command-scratchpad.png        (../shared/devtools/images/command-scratchpad.png)
   skin/classic/browser/devtools/command-scratchpad@2x.png     (../shared/devtools/images/command-scratchpad@2x.png)
   skin/classic/browser/devtools/command-tilt.png              (../shared/devtools/images/command-tilt.png)
   skin/classic/browser/devtools/command-tilt@2x.png           (../shared/devtools/images/command-tilt@2x.png)
   skin/classic/browser/devtools/command-pick.png              (../shared/devtools/images/command-pick.png)
   skin/classic/browser/devtools/command-pick@2x.png           (../shared/devtools/images/command-pick@2x.png)
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..f6da8e949f9ea84c129a4ad2bb510eb22bb925df
GIT binary patch
literal 1202
zc%17D@N?(olHy`uVBq!ia0vp^4nQox!3HFkJ+IURQj#UE5hcO-X(i=}MX3yqDfvmM
z3ZA)%>8U}fi7AzZCsS=07?@QuLn2Bde0{8v^K<nQL2C3Watjzhz{b9!ATc>RwL~E)
zH9a%WR_Xoj{Yna%DYi=CroINg1<t7%nI2U|slio#A<0$Q$(AWf_I3(36;?n4a#KqZ
z6)JLb@`|l0Y?Z*~S^?Q0VSOb9u#%E&TP292B76fBob!uP6-@Pvb(0MY4HeAH^bAc*
z&CCpS6pRcEjr0wG$V}JJ#LCpn%E(*+3Y37h6{VzE1-ZCE?E>;_l`=|73as??%gf94
z%8m8%i_-NCEiElUW*8ai0#)c1SLT%@R_NvxE5l51Ni9w;$}A|!%+FH*@e`BsOG|8(
zlwe-SEr1)FR}2j%V1VgYBo^o!>KW)GDfIQluQWFouDZA+C^Zeg>f(^ff>iyW)Z+Zo
zqGVvir743n7g#wLr6!i-7lq{K=fFZSAS1sdzc?emK*2fKOhLmpF*!32B%le_;p=PV
znO9trn3tUD>0+w{6w%AfOtCU|ax`{!admZZb8|E_bTxJ~ax!&uGPiKHv@~=!F*AYb
zb;(aI%}vcKf$2>_=yk)X7nB$vx>JiX%TiO^it=+6z@E0s#NrlbBV$)ra|=tLd6wAS
z0@0g-#Vt_1jyUz|10AD}7S%8zVEO?u;RzSWfhYacJYae+0w!#ZJyy&N42&wCE{-7;
zx03$+|8IZTgH6Zch-gCuTZd)i48e~5%pa2#>KvBrbat~>?i1O-+<s8b#VX;%i}XW_
zPB8Qz+~pEsx8%#=AO~v!=}9wc%NPsgr`V=^J<P;ld(wvWQKdtT+$na+c`QdRd1N_A
z*%qqoR9q|{t@wkbgS+7e_oN$v3i~*Y2rp>m=J<0|aFer_{WhZnyO7PA0{YEK!7Fam
zsFd0lS|oV9JTAttAtjjOh*Llehp4r?%RQ-}Uo$&&3?w#o7)}g$z!UZN22bPEWq%$1
z$aUOTn!3%+<CR5WgxQiW$=WQ!3s{e3D)hMsJ#RcE$ON)OM1fmZckRN3M>tdc8z5pj
ztaDhCl2r-=LIb@IEIRD*MsfB0!X@9?W=gnOFmM<!Xa>$xydSZx1XPN6y85}Sb4q9e
E0I}$cmjD0&
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..b7cdced75375d56b2e6f8f751e216624d6ed0cc4
GIT binary patch
literal 1631
zc%17D@N?(olHy`uVBq!ia0vp^4M42G!3HF6DHW&!DajJoh?3y^w370~qErUQl>DSr
z1<%~X^wgl##FWaylc_cg49qH-ArU1JzCKpT`MG+DAT@dwxdjX$U}IlVkeHmETB4AY
znx2_wtMq>NekFy>6kDZmQ(pt$0_W6>OpmIf)Zi+=kmRcDWXlvKdpiZ23M-%ixv3?I
z3Kh9IdBs*0wn|`gt$=Khu)dN4SV>8?trEmh5xxNm&iO^D3Z{C-y2%EHh6-k8dWI&Z
zW@d&u3PuKoM*0RoWTtCqVr6P(Wn``Z1xi5Mic-?7f?V97b^&>|N*N_31y=g{<>lpi
z<;HsXMd|v6mX?+vGmMOMfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZ_=!pRr6smX
zN-!_v7Ql_oD~1LWFu?RH5)1SV^$hfp6#Dw&SDKp(S6y5Zl$wTLb#X{#L8^XGYH@yP
zQ8F;%(v(4(3#^=rQWHz^i$e1Ab6}wukda@KU!0L&px_*Arl8@Qn4Fmh63_(e@b$Iw
z%quQQ%u7!7bg@+eis)r#rdT-}8N0fgTbR4Jxmg+-x*9tgIhndSnOitpS{gc=n3=%z
zy5uL9=BDPA!1Sgd^jhH53rY+S-Kj;HWvMA{Mftf3U{70R;&zKEZnr@6rr>sq8BV?W
zK*#8#MKw$an0`P^c)|s8;7LC<518JIfC+o%L^}lr2BwRiE{-7;x8BU&?=9mfa=g6R
zt3xwsvC^Zb@&cmP*$@9*jc$v$q3ZgtQR1LT*tMvRj=5`3{bdg8ipp5p>gaSy_2^82
zBd4X`$*$?&eb>DF_n$6v{(VQ!oqPAZ`f&2Mvv1;JR)#DRcq^@cNT7u!Lv@$u`o@13
zYqqpcyD2MI``q*J62>6@mELpyyZ`dtr8sv|S@FM(8FsgtIjz5~VEksod;Xct4>14s
zbHM`sd09ZM?84j381I<{>hnB(A$-=o+93I~dxN&dFW31@nT=nLU2dor%bi@;@h$()
zo>k&Ny@wZXp3G_B`RhTXgqiSuk9g1Li)4Y?8a7Pk+_3nJ(R4@EOM)-ex9?mdt1db<
z_`K-L#Tm|@FUl#rNnuI}omsww_uci3mjaWQd32Xf(>z&l{d{HE&TBwta70_*wfK=9
z7w;x%Zl_SIuDkrs|7*p!oPc`I+_-hBD3;Oxm}Gi(T;sFFwlg-G8XquC4>h`zccuE0
zhP-w0>^YTNZ>XOw5WRhBmKewvso7}_lMJjqqLh6n#BEgDksILP#ry8(_2dsAKL>A9
zW9&QnarcT}LQZbx^SyU(o9O_w$mixPmI>0Fi#2PH8?9S=)VrS%B6{sUbIG;|73UlK
zzfCxKZN`M?$(dJQbXvSS`_O&C&kX)$IlfFi-H&yHcKYo%nt$0Z{1(hGjjp<Ps)yAt
zDZb=?J>hoVk-goPJa)7Cza^Zy_J(;!>64N#1*<PLh8eA!owtGQE3b+C+k;cq>bi*8
zF5e`$@7Q*W%2hze8UrKfj?YKcRr?$|f`1*IQ|T?a*?ao)2aADLr{&Dw-nezgGudUy
zap_h8^642DlTS^)zh)s&PN2+KUS7m#nfPmvbBa<=zxuTC(I!7>p#2Pq>cR=8tLk!-
zWW@u&9&P0T+RS*U?{GcyZR<nz%+5?L9Gn7+av$$!U}l(Iop9;*^-^9?k?-m1=d#Wz
Gp$PyDba}A=
--- a/browser/themes/shared/devtools/toolbars.inc.css
+++ b/browser/themes/shared/devtools/toolbars.inc.css
@@ -549,16 +549,20 @@
 .command-button[checked=true] > image {
   background-position: -48px center;
 }
 
 #command-button-paintflashing > image {
   background-image: url("chrome://browser/skin/devtools/command-paintflashing.png");
 }
 
+#command-button-screenshot > image {
+  background-image: url("chrome://browser/skin/devtools/command-screenshot.png");
+}
+
 #command-button-responsive > image {
   background-image: url("chrome://browser/skin/devtools/command-responsivemode.png");
 }
 
 #command-button-tilt > image {
   background-image: url("chrome://browser/skin/devtools/command-tilt.png");
 }
 
@@ -579,16 +583,20 @@
   background-image: url("chrome://browser/skin/devtools/command-eyedropper.png");
 }
 
 @media (min-resolution: 2dppx) {
   #command-button-paintflashing > image {
     background-image: url("chrome://browser/skin/devtools/command-paintflashing@2x.png");
   }
 
+  #command-button-screenshot > image {
+    background-image: url("chrome://browser/skin/devtools/command-screenshot@2x.png");
+  }
+
   #command-button-responsive > image {
     background-image: url("chrome://browser/skin/devtools/command-responsivemode@2x.png");
   }
 
   #command-button-tilt > image {
     background-image: url("chrome://browser/skin/devtools/command-tilt@2x.png");
   }
 
--- a/browser/themes/windows/jar.mn
+++ b/browser/themes/windows/jar.mn
@@ -235,16 +235,18 @@ browser.jar:
         skin/classic/browser/devtools/commandline-icon.png          (../shared/devtools/images/commandline-icon.png)
         skin/classic/browser/devtools/commandline-icon@2x.png          (../shared/devtools/images/commandline-icon@2x.png)
         skin/classic/browser/devtools/alerticon-warning.png         (../shared/devtools/images/alerticon-warning.png)
         skin/classic/browser/devtools/alerticon-warning@2x.png      (../shared/devtools/images/alerticon-warning@2x.png)
 *       skin/classic/browser/devtools/ruleview.css                  (../shared/devtools/ruleview.css)
         skin/classic/browser/devtools/commandline.css               (devtools/commandline.css)
         skin/classic/browser/devtools/command-paintflashing.png     (../shared/devtools/images/command-paintflashing.png)
         skin/classic/browser/devtools/command-paintflashing@2x.png  (../shared/devtools/images/command-paintflashing@2x.png)
+        skin/classic/browser/devtools/command-screenshot.png        (../shared/devtools/images/command-screenshot.png)
+        skin/classic/browser/devtools/command-screenshot@2x.png     (../shared/devtools/images/command-screenshot@2x.png)
         skin/classic/browser/devtools/command-responsivemode.png    (../shared/devtools/images/command-responsivemode.png)
         skin/classic/browser/devtools/command-responsivemode@2x.png (../shared/devtools/images/command-responsivemode@2x.png)
         skin/classic/browser/devtools/command-scratchpad.png        (../shared/devtools/images/command-scratchpad.png)
         skin/classic/browser/devtools/command-scratchpad@2x.png     (../shared/devtools/images/command-scratchpad@2x.png)
         skin/classic/browser/devtools/command-tilt.png              (../shared/devtools/images/command-tilt.png)
         skin/classic/browser/devtools/command-tilt@2x.png           (../shared/devtools/images/command-tilt@2x.png)
         skin/classic/browser/devtools/command-pick.png              (../shared/devtools/images/command-pick.png)
         skin/classic/browser/devtools/command-pick@2x.png           (../shared/devtools/images/command-pick@2x.png)
@@ -624,16 +626,18 @@ browser.jar:
 *       skin/classic/aero/browser/devtools/widgets.css               (devtools/widgets.css)
         skin/classic/aero/browser/devtools/filetype-dir-close.svg    (../shared/devtools/images/filetypes/dir-close.svg)
         skin/classic/aero/browser/devtools/filetype-dir-open.svg     (../shared/devtools/images/filetypes/dir-open.svg)
         skin/classic/aero/browser/devtools/filetype-globe.svg        (../shared/devtools/images/filetypes/globe.svg)
         skin/classic/aero/browser/devtools/commandline-icon.png      (../shared/devtools/images/commandline-icon.png)
         skin/classic/aero/browser/devtools/commandline-icon@2x.png      (../shared/devtools/images/commandline-icon@2x.png)
         skin/classic/aero/browser/devtools/command-paintflashing.png    (../shared/devtools/images/command-paintflashing.png)
         skin/classic/aero/browser/devtools/command-paintflashing@2x.png (../shared/devtools/images/command-paintflashing@2x.png)
+        skin/classic/aero/browser/devtools/command-screenshot.png    (../shared/devtools/images/command-screenshot.png)
+        skin/classic/aero/browser/devtools/command-screenshot@2x.png (../shared/devtools/images/command-screenshot@2x.png)
         skin/classic/aero/browser/devtools/command-responsivemode.png    (../shared/devtools/images/command-responsivemode.png)
         skin/classic/aero/browser/devtools/command-responsivemode@2x.png (../shared/devtools/images/command-responsivemode@2x.png)
         skin/classic/aero/browser/devtools/command-scratchpad.png    (../shared/devtools/images/command-scratchpad.png)
         skin/classic/aero/browser/devtools/command-scratchpad@2x.png (../shared/devtools/images/command-scratchpad@2x.png)
         skin/classic/aero/browser/devtools/command-tilt.png          (../shared/devtools/images/command-tilt.png)
         skin/classic/aero/browser/devtools/command-tilt@2x.png       (../shared/devtools/images/command-tilt@2x.png)
         skin/classic/aero/browser/devtools/command-pick.png          (../shared/devtools/images/command-pick.png)
         skin/classic/aero/browser/devtools/command-pick@2x.png       (../shared/devtools/images/command-pick@2x.png)
--- a/toolkit/devtools/gcli/commands/screenshot.js
+++ b/toolkit/devtools/gcli/commands/screenshot.js
@@ -22,16 +22,19 @@ const BRAND_SHORT_NAME = Cc["@mozilla.or
 const FILENAME_DEFAULT_VALUE = " ";
 
 exports.items = [
   {
     name: "screenshot",
     description: gcli.lookup("screenshotDesc"),
     manual: gcli.lookup("screenshotManual"),
     returnType: "dom",
+    buttonId: "command-button-screenshot",
+    buttonClass: "command-button command-button-invertable",
+    tooltipText: gcli.lookup("screenshotTooltip"),
     params: [
       {
         name: "filename",
         type: "string",
         defaultValue: FILENAME_DEFAULT_VALUE,
         description: gcli.lookup("screenshotFilenameDesc"),
         manual: gcli.lookup("screenshotFilenameManual")
       },