Bug 949213 - On-boarding screen part 2 r=mbrubeck
authorRodrigo Silveira <rsilveira@mozilla.com>
Wed, 05 Feb 2014 17:13:56 -0800
changeset 168691 ad5156e51ef3d87d10fee160c24315aebfe6386a
parent 168690 b72687a8ff193d170dea25ec183dc031bef36975
child 168692 23f7a629a217fd1a0bd4564b3ecb0def75e168f9
child 168776 e2c99a4026abfe6fd12bf4a0d649eee661c899c5
push id26214
push userryanvm@gmail.com
push dateFri, 14 Feb 2014 13:42:38 +0000
treeherdermozilla-central@23f7a629a217 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersmbrubeck
bugs949213
milestone30.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 949213 - On-boarding screen part 2 r=mbrubeck
browser/metro/base/content/browser-ui.js
browser/metro/base/content/startui/FirstRunContentOverlay.xul
browser/metro/base/jar.mn
browser/metro/locales/en-US/chrome/browser.dtd
browser/metro/profile/metro.js
browser/metro/theme/firstruncontent.css
browser/metro/theme/images/arrow-left-light.png
browser/metro/theme/images/arrow-left-light@1.4x.png
browser/metro/theme/images/arrow-left-light@1.8x.png
browser/metro/theme/images/arrow-top-light.png
browser/metro/theme/images/arrow-top-light@1.4x.png
browser/metro/theme/images/arrow-top-light@1.8x.png
browser/metro/theme/jar.mn
--- a/browser/metro/base/content/browser-ui.js
+++ b/browser/metro/base/content/browser-ui.js
@@ -170,16 +170,18 @@ var BrowserUI = {
         FindHelperUI.init();
 #ifdef NIGHTLY_BUILD
         PdfJs.init();
 #endif
       } catch(ex) {
         Util.dumpLn("Exception in delay load module:", ex.message);
       }
 
+      BrowserUI._initFirstRunContent();
+
       // check for left over crash reports and submit them if found.
       BrowserUI.startupCrashCheck();
 
       Util.dumpLn("* delay load complete.");
     }, false);
 
 #ifndef MOZ_OFFICIAL_BRANDING
     setTimeout(function() {
@@ -1211,16 +1213,34 @@ var BrowserUI = {
 
     // Clicking 'Clear' will call onSanitize().
     if (buttonPressed === 0) {
       SanitizeUI.onSanitize();
     }
 
     prefsClearButton.disabled = false;
   },
+
+  _initFirstRunContent: function () {
+    let dismissed = Services.prefs.getBoolPref("browser.firstrun-content.dismissed");
+    let firstRunCount = Services.prefs.getIntPref("browser.firstrun.count");
+
+    if (!dismissed && firstRunCount > 0) {
+      document.loadOverlay("chrome://browser/content/FirstRunContentOverlay.xul", null);
+    }
+  },
+
+  firstRunContentDismiss: function() {
+    let firstRunElements = Elements.stack.querySelectorAll(".firstrun-content");
+    for (let node of firstRunElements) {
+      node.parentNode.removeChild(node);
+    }
+
+    Services.prefs.setBoolPref("browser.firstrun-content.dismissed", true);
+  },
 };
 
 var PanelUI = {
   get _panels() { return document.getElementById("panel-items"); },
 
   get isVisible() {
     return !Elements.panelUI.hidden;
   },
new file mode 100644
--- /dev/null
+++ b/browser/metro/base/content/startui/FirstRunContentOverlay.xul
@@ -0,0 +1,68 @@
+<?xml version="1.0"?>
+
+<?xml-stylesheet href="chrome://browser/skin/firstruncontent.css" type="text/css"?>
+
+<!-- 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/. -->
+
+<!DOCTYPE window [
+  <!ENTITY % browserDTD SYSTEM "chrome://browser/locale/browser.dtd">
+  %browserDTD;
+  <!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd">
+  %brandDTD;
+]>
+
+<overlay id="firstruncontent"
+         xmlns:html="http://www.w3.org/1999/xhtml"
+         xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
+
+  <stack id="stack">
+    <box id="firstrun-bg-pane" insertafter="page" class="firstrun-content"></box>
+
+    <box id="instruction-tabs" class="firstrun-content">
+      <vbox class="instruction-content-container" align="center">
+        <image class="instruction-arrow arrow-top" />
+        <label class="instruction-label">&firstRunTabs.label;</label>
+      </vbox>
+    </box>
+
+    <box id="instruction-back" class="firstrun-content">
+      <vbox class="instruction-content-container" align="start">
+        <image class="instruction-arrow arrow-back" />
+        <label class="instruction-label">&firstRunBack.label;</label>
+      </vbox>
+    </box>
+
+    <box id="instruction-plus" class="firstrun-content">
+      <vbox class="instruction-content-container" align="end">
+        <image class="instruction-arrow arrow-forward" />
+        <label class="instruction-label">&firstRunNewTab.label;</label>
+      </vbox>
+    </box>
+
+    <appbar id="navbar">
+
+      <box id="instruction-star" class="firstrun-content">
+        <hbox class="instruction-content-container">
+          <label class="instruction-label">&firstRunStar.label;</label>
+          <image class="instruction-arrow arrow-down" />
+        </hbox>
+      </box>
+
+      <box id="instruction-pin" class="firstrun-content">
+        <vbox class="instruction-content-container" align="end">
+          <label class="instruction-label">&firstRunPin.label;</label>
+          <image class="instruction-arrow arrow-down-reverse" />
+        </vbox>
+      </box>
+
+      <box id="firstrun-gotit" class="firstrun-content">
+        <button class="firstrun-button" label="&firstRunGotIt.label;" oncommand="BrowserUI.firstRunContentDismiss()" />
+      </box>
+
+    </appbar>
+
+
+  </stack>
+</overlay>
\ No newline at end of file
--- a/browser/metro/base/jar.mn
+++ b/browser/metro/base/jar.mn
@@ -94,15 +94,16 @@ chrome.jar:
 
 * content/Start.xul                            (content/startui/Start.xul)
 * content/startui-scripts.js                   (content/startui/startui-scripts.js)
   content/StartUI.js                           (content/startui/StartUI.js)
   content/BookmarksView.js                     (content/startui/BookmarksView.js)
   content/HistoryView.js                       (content/startui/HistoryView.js)
   content/TopSitesView.js                      (content/startui/TopSitesView.js)
   content/FirstRunOverlay.xul                  (content/startui/FirstRunOverlay.xul)
+  content/FirstRunContentOverlay.xul           (content/startui/FirstRunContentOverlay.xul)
 #ifdef MOZ_SERVICES_SYNC
   content/RemoteTabsView.js                    (content/startui/RemoteTabsView.js)
 #endif
 
 % override chrome://global/content/config.xul chrome://browser/content/config.xhtml
 % override chrome://global/content/netError.xhtml chrome://browser/content/netError.xhtml
 % override chrome://mozapps/content/extensions/extensions.xul chrome://browser/content/aboutAddons.xhtml
--- a/browser/metro/locales/en-US/chrome/browser.dtd
+++ b/browser/metro/locales/en-US/chrome/browser.dtd
@@ -133,20 +133,17 @@
 <!ENTITY firstRunWelcome.label "Welcome to &brandShortName;">
 <!ENTITY firstRunDifferent.label "Different by design">
 
   <!-- LOCALIZATION NOTE (firstRunBack.label,
                           firstRunNewTab.label,
                           firstRunStar.label,
                           firstRunPin.label,
                           firstRunGotIt.label )
-       These strings appear as a content overlay the first few times a page
+       These strings appear as a content overlay the first time a page
        is visited. Each one has an arrow pointing toward the feature it
-       references. The code to display these strings is not enabled yet,
-       but will be soon. For now, you can see this mockup for an example
-       of how they are used:
-       https://bug949213.bugzilla.mozilla.org/attachment.cgi?id=8363973
+       references.
        -->
 <!ENTITY firstRunBack.label "Tap to go back to the previous page">
 <!ENTITY firstRunNewTab.label "Add a new tab to explore a new site">
 <!ENTITY firstRunStar.label "Use bookmarks to save pages for later">
 <!ENTITY firstRunPin.label "Pin any site to your Windows Start screen for quick access">
 <!ENTITY firstRunGotIt.label "Got it!">
--- a/browser/metro/profile/metro.js
+++ b/browser/metro/profile/metro.js
@@ -131,16 +131,18 @@ pref("browser.display.overlaynavbuttons"
 /* history max results display */
 pref("browser.display.history.maxresults", 100);
 
 /* max items per section of the startui */
 pref("browser.display.startUI.maxresults", 16);
 
 // Number of times to display firstrun instructions on new tab page
 pref("browser.firstrun.count", 3);
+// Has the content first run been dismissed
+pref("browser.firstrun-content.dismissed", false);
 
 // Backspace and Shift+Backspace behavior
 // 0 goes Back/Forward
 // 1 act like PgUp/PgDown
 // 2 and other values, nothing
 pref("browser.backspace_action", 0);
 
 /* session history */
new file mode 100644
--- /dev/null
+++ b/browser/metro/theme/firstruncontent.css
@@ -0,0 +1,205 @@
+/* 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/. */
+
+%filter substitution
+%include defines.inc
+
+/* Disable firstrun in some cases */
+#stack[startpage] .firstrun-content {
+  display: none;
+}
+
+@media (max-width: 900px) {
+  .firstrun-content {
+    display: none;
+  }
+}
+
+/* bg transparent pane --------------- */
+
+#firstrun-bg-pane {
+  position: absolute;
+  background-color: rgba(0, 0, 0, .8);
+  left: 0;
+  right: 0;
+  top: 0;
+  bottom: 0;
+}
+
+/* Got it button ---------------------- */
+
+#firstrun-gotit {
+  position: fixed;
+  bottom: calc(@toolbar_height@ + 64px);
+  left: 64px;
+}
+
+#firstrun-gotit:-moz-locale-dir(rtl) {
+  left: auto;
+  right: 64px;
+}
+
+.firstrun-button {
+  padding: 15px 45px;
+  font-family: "Segoe UI", sans-serif;
+  font-size: 25px;
+  background-image: -moz-linear-gradient(0deg, rgb(255, 128, 0) 0%, rgb(255, 149, 0) 100%);
+  border: 0;
+  color: #FFF;
+}
+
+/* Instructions arrows ---------------- */
+
+.instruction-arrow {
+  width: 76px;
+  height: 76px;
+  background-repeat: no-repeat;
+}
+
+.instruction-arrow.arrow-top,
+.instruction-arrow.arrow-down,
+.instruction-arrow.arrow-down-reverse {
+  background-image: url("chrome://browser/skin/images/arrow-top-light.png");
+}
+
+.instruction-arrow.arrow-down,
+.instruction-arrow.arrow-down-reverse:-moz-locale-dir(rtl) {
+  transform: rotate(180deg);
+}
+
+.instruction-arrow.arrow-down-reverse,
+.instruction-arrow.arrow-down:-moz-locale-dir(rtl) {
+  transform: rotate(180deg) scaleX(-1);
+}
+
+.instruction-arrow.arrow-back,
+.instruction-arrow.arrow-forward {
+  background-image: url("chrome://browser/skin/images/arrow-left-light.png");
+}
+
+.instruction-arrow.arrow-forward,
+.instruction-arrow.arrow-back:-moz-locale-dir(rtl) {
+  transform: rotate(180deg) scaleY(-1);
+}
+
+.instruction-arrow.arrow-forward:-moz-locale-dir(rtl) {
+  transform: none;
+}
+
+/* Instructions text ------------------ */
+
+.instruction-content-container {
+  width: 380px;
+  vertical-align: bottom;
+}
+
+#instruction-back .instruction-content-container,
+#instruction-plus .instruction-content-container {
+  width: 320px;
+}
+
+.instruction-label {
+  font-size: 18px;
+  color: #BBB;
+  line-height: 22px;
+}
+
+#instruction-tabs {
+  position: fixed;
+  top: 10px;
+  left: 50%;
+  transform: translateX(-50%);
+}
+
+#instruction-back {
+  position: fixed;
+  top: 50%;
+  left: 100px;
+}
+
+#instruction-back:-moz-locale-dir(rtl)  {
+  left: auto;
+  right: 100px;
+}
+
+#instruction-plus {
+  position: fixed;
+  top: 50%;
+  right: 100px;
+}
+
+#instruction-plus:-moz-locale-dir(rtl)  {
+  right: auto;
+  left: 100px;
+}
+
+#instruction-star {
+  position: fixed;
+  bottom: @toolbar_height@;
+  right: 145px;
+}
+
+#instruction-star:-moz-locale-dir(rtl)  {
+  right: auto;
+  left: 145px;
+}
+
+#instruction-star .instruction-label {
+  max-width: 250px;
+}
+
+#instruction-star .instruction-content-container:-moz-locale-dir(rtl) {
+  -moz-box-align: start;
+  vertical-align: top;
+}
+
+#instruction-pin {
+  position: fixed;
+  bottom: @toolbar_height@;
+  right: 10px;
+}
+
+#instruction-pin:-moz-locale-dir(rtl)  {
+  right: auto;
+  left: 10px;
+}
+
+#instruction-pin .instruction-label {
+  max-width: 250px;
+  margin-bottom: 20px;
+}
+
+#instruction-pin .instruction-arrow {
+  -moz-margin-end: 65px;
+}
+
+/* Higher resolution images ---------------------- */
+
+@media (min-resolution: @min_res_140pc@) {
+  /* Load 140% image when scaled by 140% */
+  .instruction-arrow.arrow-top,
+  .instruction-arrow.arrow-down,
+  .instruction-arrow.arrow-down-reverse {
+    background-image: url("chrome://browser/skin/images/arrow-top-light@1.4x.png");
+  }
+
+  .instruction-arrow.arrow-back,
+  .instruction-arrow.arrow-forward {
+    background-image: url("chrome://browser/skin/images/arrow-left-light@1.4x.png");
+  }
+}
+
+@media (min-resolution: @min_res_180pc@) {
+  /* Load 180% image when scaled by 180% */
+  .instruction-arrow.arrow-top,
+  .instruction-arrow.arrow-down,
+  .instruction-arrow.arrow-down-reverse {
+    background-image: url("chrome://browser/skin/images/arrow-top-light@1.8x.png");
+  }
+
+  .instruction-arrow.arrow-back,
+  .instruction-arrow.arrow-forward {
+    background-image: url("chrome://browser/skin/images/arrow-left-light@1.8x.png");
+  }
+}
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..33061fb8e2bb589dff607bb5bf2e1fd0f7c5f9be
GIT binary patch
literal 2344
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
B&V~R0
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..a5b6c750a95cb8b7decbab40e18913fe7956e747
GIT binary patch
literal 3076
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
Uzow0bc=^AaYU^lo-O4NapW0U@j{pDw
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..b3393eff4ce28f0128b5a46f3d4b8dcae7b0eba4
GIT binary patch
literal 4011
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
NXOfc}v4RkC_}{FM#o7P>
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..8e6dc003f2430f569b17879289830424c9ceb2c0
GIT binary patch
literal 2400
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
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..fdc1e1d0bab83ffc57d0b513cfe900443be62e64
GIT binary patch
literal 3158
zc$}S9eK^y58=rBeB;inAN^8<VZL`hThP-Uc5QZs|?Cr;fZEVw!5al)HDdqIW3|XXf
z9;ril*-54H&<^TUUM`&y5<<yKJ=4i~p6j{Jb^dt1*Y*2-zxVz9eD3@H-uL&ue!pz0
zkNavZ6D<%3wAzD0@>k7~OV0|3>P_2pr%*K+i^)Oa071A|!Vm%=SGIr&Ks|Vj2*4j;
zuoGh207no=UBsmYiG#d%5?BHrg0X}_#Pec6OT*DQK8C@H0>n@z5W(d;!Nwb!U{EgG
z3AP*SZQ~t71UOtuq7Vp3^r5j5qgZ%0%y~Q1F`l3@zyrh#Xgn{PFCxS{!M@rhsMbqr
zBn<i$B93x`{Sj1<Hx)`02mvS-frYbdP_|HeJOYJ9+2T;!plBNu25EyqqA+k2nqY$`
zps>(y1E%sOWQP;{NjtvzQb|rQj#wN+Kq4g)2||KF2!s(x6dsR9+MtnWG+c#%ixT)^
zMm(G^GGDep0z@n!H%81A@S#gGgDHp;JHcSfN8rVHd;e*eFZz}!Rmza@j2I*eVT0uH
zkjrS1*dGZ0d$fp_5Cb6n0g)h1$WqlK-2A^>{XKOFsEUT*E99z*!iXjbSaCdnFZLig
z!Bjg4HkVDXN236|t(_elWsAYVZP{o$IF5n0gWEGub{G@`i()ctm+kx&-xWi|;_UHw
zED?u6p~x6F5(>Y=&DGTnjkCenk+92L557pu;In{bF84oN+~0BuL?OTs3xqU*AbR;0
zP&opzK*SNmK#4@Cr8k4c<uA!rOEvlyDj?+U2iQA=0v_~hk_p_u2*8HLWZAITSU8hq
zuR44<0|jTY(cy3g6N|wySa!AyhAN0Z`0W2Tc}P`I$p5)H%PQ4%Tw4Cw2P)yuP6GI<
z_7ST3WTI`=M-XU5f(OZ!7XR$+g%E*hpzginx3BfS9<=lLwU(P$a>&i=oZBT0N9c@N
zwkF?~vO>e4OiNAQIxu1AjBl!LnA&!AeSPqx3+iLRX*XpQ=PWKeAgt%1@u!sE(}Rm=
zo{c*39nJI3<Dw2UICq@?^5`x9`=X(hb$vH9(wWp~?Ht!@C`&s?tMutRE9%dCulyiM
z-oL+2;9|l0eCwdH0>3@cw5vhcl<M4(*=X<DPDvroKN2b3KTUizldmavcs6dX?0@-7
ze~7f`bh2{j)4H;a42|1rk-5|V%;>mC@v?!;OMSfhf!TS~a0d#~AiY@D)Th`#&T41=
zQzNG!wEoB#W$|{q<=fOmx4BEY&zm$>cC0m*s|^nk8}A;fq37y#Jyfo#ovc5Z|2`U(
zYEqbdG5tyLk+O)W8hOLeMl$q<^U2R`w}qgWBLnWnezfnMOk3t}t)(7_9T}ZCC>ueu
zNmG1C`bekj-E-{d8nj#|nlk4Q`t-)#V-70qzg))1JdEYx-(a9PP+Y)`qkFs@=|@3b
z31V11@O5S7H#!{moFZS(q>dTKwRW`LJbuub9=*<>{mez?iw^g4=U=1><G9s6Ay0Rk
z*yy0;J?*<*iYumX7}27_4;W15$S?37O2KcvAI^KhUI#)9qr1(X4mHwJ7`ffY%Tu5S
zWk-<By7gK_$Qx5-Vfj@rNyzNNIi)i|ZL#ZTE*7MfCHu_<K(5z87e&Kio?(NZiJ4M`
z4@&g&`Ao}T*Dh_l?0UWUvwq@=0UiK1cd1h5W{hztxJS~rhh$mS&`M7=Jtqx%bZq*G
zOG@Hqz02rk?EC^;`@ud^cD@usmfW+@en7V<YfLNoEbHj-?B6u&rWPgLo0aV-s|>DS
z_;(?i&GeG0X$#UCA3xG!y1TPT*So=};C2=)<YY2&ZUb@dx%EL)HX;2d?Z~$L&nHrA
zH*8pKw@UgBHUrn}3ZQxA5rb-iL4g@kDYlaNl&>+`^<&l-K3dyTE5{o8N-s2dhUTVz
zJzxT`-v#rO9+OSpfzdx5GJ(i@gQ|jPK_GI>=d`P)AJW-#+VohjHn8QMinXA~?wSoA
z)0$=D>)JE(v@3H*3s$|7V5LP5q(oF6?fzO3NpIVU*EiJO@>6#f(`O=9(h!AS($i-(
zZ365skXjGQtBiJ?m(mM9Ak=#@7%6XP!=*u2Z&n+KMy9A<dSzSlM_z52$7oS9^+Fvh
zaxgNewY=!8dQEtgVczx+pdOq%ZQ+tHv~opPf5!9=`R}{((ySEgA%>-Ga+z479@p*J
zob30^0kOzvDa_o{_Qk;CiEf~6Z@Y<X#4@!n!zdOn8^o+j8w8tqi>$#38VaUnMPvN0
zVTQxwn#0bU_M8pYQVil`QAb@{S5<+7nmoP)*a~`1@Z3pG$KE`<xL7SPC}}sbI1Zkb
z_(hqH8Ga5GodR!6FRQrLM)otEI<VevlHA>)OeshXwG}+|*D9O5XP&jK{(@`R1x-%F
zNEn$^9y`EQIB+ZvSExNWWO;^oIF{7fS$*>eZNITXAr3TeakPwlqF+q<$fQlXPSvfO
z;}n3o3zJ)WWaymGru&`)pVC2|&MBGGXCkPR1}!38O>u0?Nkx)xw(I2p?ihC6k%Y8I
zQkYGSj0`f>n=vcqD!n4MKBoL`)KkT{EU~}-X3B^*y^BoR>qaO||B`RBMwbgqa*o^@
zSO44kE_SC!v34b~G<^Z9W7~4}yA@431gAo>?IlVQb?&3`i%Y>3t*JH@Wc5@G{YgIL
z26N+@O?!5Z#A)s=Z|{AR*!i2Uq;t^{E$1*2vNBegWNqsyk330}7nLRttQ0$ZXdWUj
zGQXR#m@uM=!7Q_30f@^tX-=!xuWi@%e{Im0>9e~5LeI^gvPhK}(}sS!p!3dNW>+Yi
z$$@0g=db-<t&$oFb+?Lj20fmKb857L);s}KE2Pgd<H!y_B9hj@!l48Gh2&oBp)6YS
z>1$?)NbWy+u8qd;G#|8{b=wTC-!f8*i$nXCg)cTi*L-RU_m%O)8fKf(3!bSBlqy5e
z&sHOakX~@DVUpE5msEM*AbMX#&Lo(w-=$68Rl_s!3u`^_cs`!9Ly$<d>hh_5w|<Ao
z=9owl8k!bCE2{Gj^h(eosag4{Z5<Sl7v6Cn*B$HcE_XvnbvQZKR}4Iizh%KNw0E!s
zj7drj*@%XJ$%!{(FZz7O*#@B2ZkTU*bD6xKSgJ+Qsk17*XnI#f=7oU2<jV8Je7f@X
zu&Wi`M>Bg%vu0<B)aS0N7?VMY_!v|fc^q&N*7iFs6m=B^_!TP;d+0y6_M1K>$4c!L
zmw}J(gXMuq0jDC(QPL|WXAZ>}{gODCH8BL)a{ZoKaTXu@{?r(GB%s{Q>Zszywu)7P
zfsMtP)B8H<c|=)+9&oG%)AWGz-E7T@gcL<P_`$CPorLv=t7Luh3wK`P{9o;74E4N7
zr{sF*y}xt5T?}r_q{&j@B^~w<O6hEZ7U%~xM0vGj<wn4${FKQ^OQS~lxvJ{01cU1#
z`Ev$0on+fR`XHPT@?xFXQ=`npA2265%afmPBa-$iwxi^bt&!v?t&!ZG%Xk-)$Lxc<
zy2d3XIun++(wO*5-ITlzi`q1TdUx>Q`z0OoYmXnP>CH{9|8T#%vDGvSt*MDq&(h%7
zr&`nwWt5;dkoNlLo;`d~C)CAr@H$X7Kql$8-`}O^p)NumT-_mTO{r+kr5?3ff6mtI
z<ZLjKeF{hI%{&2l;>xbho*UaUrQey@;P7bo)MCmtBv)^cb0pg2@$cX?b*cwR-ZxbR
zyB$dFlI+z98sAxivV^qWl|D5xNN2K^KlqT=p3x6iLFyofvV9XtYUL}J{`5V_KBOyd
H^t68iIJZC+
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..f1bf29d762fcff9d2508ee242bdcb1a443cf175e
GIT binary patch
literal 4125
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
Wq#S!jg1`C0Zg;@RrrPR6{C@+P(D>^B
--- a/browser/metro/theme/jar.mn
+++ b/browser/metro/theme/jar.mn
@@ -18,16 +18,17 @@ chrome.jar:
 * skin/browser.css                          (browser.css)
 * skin/content.css                          (content.css)
   skin/config.css                           (config.css)
 * skin/platform.css                         (platform.css)
 * skin/tiles.css                            (tiles.css)
   skin/touchcontrols.css                    (touchcontrols.css)
 * skin/netError.css                         (netError.css)
   skin/firstrun.css                         (firstrun.css)
+* skin/firstruncontent.css                  (firstruncontent.css)
 * skin/start.css                            (start.css)
 % override chrome://global/skin/about.css chrome://browser/skin/about.css
 % override chrome://global/skin/media/videocontrols.css chrome://browser/skin/touchcontrols.css
 % override chrome://global/skin/netError.css chrome://browser/skin/netError.css
 
   skin/images/panel-dark.png                (images/panel-dark.png)
   skin/images/navbar-back.png               (images/navbar-back.png)
   skin/images/navbar-back@1.4x.png          (images/navbar-back@1.4x.png)
@@ -155,15 +156,21 @@ chrome.jar:
   skin/images/autoscroll.png                (images/autoscroll.png)
 
   skin/images/arrow-top.png                 (images/arrow-top.png)
   skin/images/arrow-top@1.4x.png            (images/arrow-top@1.4x.png)
   skin/images/arrow-top@1.8x.png            (images/arrow-top@1.8x.png)
   skin/images/arrow-left.png                (images/arrow-left.png)
   skin/images/arrow-left@1.4x.png           (images/arrow-left@1.4x.png)
   skin/images/arrow-left@1.8x.png           (images/arrow-left@1.8x.png)
+  skin/images/arrow-top-light.png           (images/arrow-top-light.png)
+  skin/images/arrow-top-light@1.4x.png      (images/arrow-top-light@1.4x.png)
+  skin/images/arrow-top-light@1.8x.png      (images/arrow-top-light@1.8x.png)
+  skin/images/arrow-left-light.png          (images/arrow-left-light.png)
+  skin/images/arrow-left-light@1.4x.png     (images/arrow-left-light@1.4x.png)
+  skin/images/arrow-left-light@1.8x.png     (images/arrow-left-light@1.8x.png)
 
 # AboutConfig specific:
   skin/images/textfield.png                 (images/textfield.png)
   skin/images/reader-plus-icon-xhdpi.png    (images/reader-plus-icon-xhdpi.png)
   skin/images/search.png                    (images/search.png)
   skin/images/search-clear-30.png           (images/search-clear-30.png)
   skin/images/lock.png                      (images/lock.png)