Bug 949213 - On-boarding screen part 2 r=mbrubeck
authorRodrigo Silveira <rsilveira@mozilla.com>
Wed, 05 Feb 2014 17:13:56 -0800
changeset 168690 ad5156e51ef3d87d10fee160c24315aebfe6386a
parent 168689 b72687a8ff193d170dea25ec183dc031bef36975
child 168691 e2c99a4026abfe6fd12bf4a0d649eee661c899c5
child 168705 23f7a629a217fd1a0bd4564b3ecb0def75e168f9
push id5089
push userrsilveira@mozilla.com
push dateFri, 14 Feb 2014 05:52:15 +0000
treeherderfx-team@ad5156e51ef3 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersmbrubeck
bugs949213
milestone30.0a1
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
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
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)