Bug 658054 - Remove firstrun pages. r=mfinkle
authorWes Johnston <wjohnston@mozilla.com>
Tue, 07 Jun 2011 12:11:39 -0700
changeset 70701 bfd819293f59c0f7fde2e377867dfd80ea8ded33
parent 70700 fc090d032d45843271be9419ee852870900340c7
child 70702 955cb37c90b581fcf4ff0a9c7228abf27413c03a
child 70724 a7eb0646a1b2a24e8e5672c90f3782b535176658
child 70749 c3be577cd86a73e4abe755997c62ce960bf83058
push id20388
push userwjohnston@mozilla.com
push dateTue, 07 Jun 2011 19:12:34 +0000
treeherdermozilla-central@bfd819293f59 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersmfinkle
bugs658054
milestone7.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 658054 - Remove firstrun pages. r=mfinkle
mobile/chrome/content/aboutHome.xhtml
mobile/chrome/content/firstrun/facebook.png
mobile/chrome/content/firstrun/features.png
mobile/chrome/content/firstrun/firstrun.xhtml
mobile/chrome/content/firstrun/mozilla.png
mobile/chrome/content/firstrun/nav-arrow.png
mobile/chrome/content/firstrun/twitter.png
mobile/chrome/jar.mn
mobile/locales/en-US/chrome/firstrun.dtd
mobile/locales/jar.mn
mobile/themes/core/aboutHome.css
mobile/themes/core/firstRun.css
mobile/themes/core/jar.mn
--- a/mobile/chrome/content/aboutHome.xhtml
+++ b/mobile/chrome/content/aboutHome.xhtml
@@ -57,39 +57,41 @@
   <link rel="icon" type="image/png" href="chrome://branding/content/favicon32.png" />
   <link rel="stylesheet" href="chrome://browser/skin/aboutHome.css" type="text/css"/>
 </head>
 
 <body dir="&locale.dir;" onload="init();" onunload="uninit();">
   <div id="wrapper">
     <div id="header"><div id="logo"><img src="chrome://branding/content/logo.png"/></div>&aboutHome.header;</div>
 
-    <div id="recentTabs" class="section-box">
-      <h1>&aboutHome.recentTabs;</h1>
-      <div id="loadingTabs" class="loading">
-        <img src="chrome://browser/skin/images/throbber.png"/>
-      </div>
-    </div>
-
-    <div id="remoteTabs" class="section-row" onclick="openRemoteTabs();" role="button">
-      <div>
-        <img class="favicon" src="chrome://browser/skin/images/remotetabs-32.png"/>
-        <div>&aboutHome.remoteTabs;</div>
+    <div id="content" hidden="true">
+      <div id="recentTabs" class="section-box">
+        <h1>&aboutHome.recentTabs;</h1>
+        <div id="loadingTabs" class="loading">
+          <img src="chrome://browser/skin/images/throbber.png"/>
+        </div>
       </div>
-    </div>
-
-    <div id="newAddons" class="section-box">
-      <h1>&aboutHome.recommendedAddons2;</h1>
-      <div id="loadingAddons" class="loading">
-        <img src="chrome://browser/skin/images/throbber.png"/>
+  
+      <div id="remoteTabs" class="section-row" onclick="openRemoteTabs();" role="button">
+        <div>
+          <img class="favicon" src="chrome://browser/skin/images/remotetabs-32.png"/>
+          <div>&aboutHome.remoteTabs;</div>
+        </div>
       </div>
-    </div>
-
-    <div id="footer-wrapper">
-      <span id="feedback" style="width: &aboutHome.footerWidth;" class="section-row" pref="app.feedbackURL" onclick="openLink(this);" role="button">&aboutHome.giveFeedback;</span><span id="support" style="width: &aboutHome.footerWidth;" class="section-row" pref="app.support.baseURL" onclick="openLink(this);" role="button">&aboutHome.getHelp;</span>
+  
+      <div id="newAddons" class="section-box">
+        <h1>&aboutHome.recommendedAddons2;</h1>
+        <div id="loadingAddons" class="loading">
+          <img src="chrome://browser/skin/images/throbber.png"/>
+        </div>
+      </div>
+  
+      <div id="footer-wrapper">
+        <span id="feedback" style="width: &aboutHome.footerWidth;" class="section-row" pref="app.feedbackURL" onclick="openLink(this);" role="button">&aboutHome.giveFeedback;</span><span id="support" style="width: &aboutHome.footerWidth;" class="section-row" pref="app.support.baseURL" onclick="openLink(this);" role="button">&aboutHome.getHelp;</span>
+      </div>
     </div>
   </div>
 
   <!-- l10n hack -->
   <div style="display: none">
     <span id="text-openalltabs">&aboutHome.openAllTabs;</span>
     <span id="text-notabs">&aboutHome.noTabs;</span>
     <span id="text-noaddons">&aboutHome.noAddons;</span>
@@ -120,16 +122,24 @@
                     .QueryInterface(Ci.nsIDOMChromeWindow);
       }
       return gChromeWin;
     }
 
     function init() {
       initTabs();
       initAddons();
+
+      let prefs = Cc["@mozilla.org/preferences-service;1"].getService(Ci.nsIPrefService).QueryInterface(Ci.nsIPrefBranch2);
+      if (prefs.getBoolPref("browser.firstrun.show.uidiscovery")) {
+        startDiscovery();
+        prefs.setBoolPref("browser.firstrun.show.uidiscovery", false);
+      } else {
+        endDiscovery();
+      }
     }
 
     function uninit() {
       uninitAddons();
     }
 
     function _readFile(aFile) {
       try {
@@ -378,11 +388,39 @@
     function initAddons() {
       getChromeWin().Services.obs.addObserver(updateAddons, "recommended-addons-cache-updated", false);
       updateAddons();
     }
 
     function uninitAddons() {
       getChromeWin().Services.obs.removeObserver(updateAddons, "recommended-addons-cache-updated");
     }
+   
+   function startDiscovery() {
+     let win = getChromeWin();
+     let [leftWidth, rightWidth] = win.Browser.computeSidebarVisibility();
+     if (leftWidth > 0 || rightWidth > 0) {
+       endDiscovery();
+       return;
+     }
+
+     let doc = win.document;
+     let broadcaster = doc.getElementById("bcast_uidiscovery");
+
+     doc.addEventListener("animationend", endDiscovery, false);
+     doc.addEventListener("PanBegin", endDiscovery, false);
+     broadcaster.setAttribute("mode", "discovery");
+   }
+
+   function endDiscovery() {
+     let doc = getChromeWin().document;
+     let broadcaster = doc.getElementById("bcast_uidiscovery");
+
+     broadcaster.removeAttribute("mode");
+     doc.removeEventListener("animationend", endDiscovery, false);
+     doc.removeEventListener("PanBegin", endDiscovery, false);
+     setTimeout(function() {
+       document.getElementById("content").removeAttribute("hidden");
+     }, 0);
+   }
   ]]></script>
 </body>
 </html>
deleted file mode 100644
index e60ee7a520b90adf2f6ca483f45731e9310b4452..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index ae9cdc076cb56922513c08f70c73bcae6b4b46ea..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
--- a/mobile/chrome/content/firstrun/firstrun.xhtml
+++ /dev/null
@@ -1,190 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
-  "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" [
-<!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd" >
-%brandDTD;
-<!ENTITY % globalDTD SYSTEM "chrome://global/locale/global.dtd" >
-%globalDTD;
-<!ENTITY % firstrunDTD SYSTEM "chrome://browser/locale/firstrun.dtd" >
-%firstrunDTD;
-]>
-
-<!-- ***** BEGIN LICENSE BLOCK *****
-   - Version: MPL 1.1/GPL 2.0/LGPL 2.1
-   -
-   - The contents of this file are subject to the Mozilla Public License Version
-   - 1.1 (the "License"); you may not use this file except in compliance with
-   - the License. You may obtain a copy of the License at
-   - http://www.mozilla.org/MPL/
-   -
-   - Software distributed under the License is distributed on an "AS IS" basis,
-   - WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
-   - for the specific language governing rights and limitations under the
-   - License.
-   -
-   - The Original Code is Mozilla Communicator client code, released
-   - March 31, 1998.
-   -
-   - The Initial Developer of the Original Code is
-   - Netscape Communications Corporation.
-   - Portions created by the Initial Developer are Copyright (C) 1998-1999
-   - the Initial Developer. All Rights Reserved.
-   -
-   - Contributor(s):
-   -   Henrik Gemal <mozilla@gemal.dk>
-   -   Daniel Veditz <dveditz@netscape.com>
-   -   Alexey Chernyak <alexeyc@bigfoot.com>
-   -   Steffen Wilberg <steffen.wilberg@web.de>
-   -
-   - Alternatively, the contents of this file may be used under the terms of
-   - either the GNU General Public License Version 2 or later (the "GPL"), or
-   - the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
-   - in which case the provisions of the GPL or the LGPL are applicable instead
-   - of those above. If you wish to allow use of your version of this file only
-   - under the terms of either the GPL or the LGPL, and not to allow others to
-   - use your version of this file under the terms of the MPL, indicate your
-   - decision by deleting the provisions above and replace them with the notice
-   - and other provisions required by the GPL or the LGPL. If you do not delete
-   - the provisions above, a recipient may use your version of this file under
-   - the terms of any one of the MPL, the GPL or the LGPL.
-   -
-   - ***** END LICENSE BLOCK ***** -->
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-  <meta name="viewport" content="width=480; initial-scale=.6667; user-scalable=0;" />
-  <title>&firstrun.title;</title>
-  <link rel="icon" type="image/png" href="chrome://branding/content/favicon32.png" />
-  <link rel="stylesheet" href="chrome://browser/skin/firstRun.css" type="text/css"/>
-</head>
-
-<body id="firstrun" dir="&locale.dir;" class="">
-  <div id="wrapper">
-    <div id="header">
-      <a href="http://mozilla.com/m"><img src="chrome://browser/content/firstrun/mozilla.png" width="64" height="17"/></a>
-    </div>
-
-    <div id="head">
-      <h1><img src="chrome://branding/content/logoWordmark.png"/></h1>
-      <p>&firstrun.heading2;</p>
-    </div>
-
-    <div id="content" hidden="true">
-      <h2></h2>
-      <ul id="recommended">
-        <li id="sync"><a href="javascript:loadSync();"><b>&firstrun.sync2.title;</b> <span>&firstrun.sync2.description;</span></a></li>
-        <li id="addons"><a href="javascript:loadAddons();"><b>&firstrun.addons2.title;</b> <span>&firstrun.addons2.description;</span></a></li>
-        <li id="home"><a href="about:home"><b>&firstrun.home2.title;</b> <span>&firstrun.home2.description;</span></a></li>
-      </ul>
-
-      <p id="features"><a id="featuresURL"><span>&firstrun.features;</span><img id="nav-arrow" src="chrome://browser/content/firstrun/nav-arrow.png" /></a></p>
-      <script type="application/javascript;version=1.8"><![CDATA[
-        let Ci = Components.interfaces, Cc = Components.classes, Cu = Components.utils;
-        let gChromeWin = null;
-
-        let links = [
-          {id: "releaseNotesURL", pref: "app.releaseNotesURL"},
-          {id: "featuresURL", pref: "app.featuresURL"},
-          {id: "faqURL", pref: "app.faqURL"},
-          {id: "privacyURL", pref: "app.privacyURL"}
-        ];
-
-        function getChromeWin() {
-          if (!gChromeWin) {
-            gChromeWin = window
-                    .QueryInterface(Ci.nsIInterfaceRequestor)
-                    .getInterface(Ci.nsIWebNavigation)
-                    .QueryInterface(Ci.nsIDocShellTreeItem)
-                    .rootTreeItem
-                    .QueryInterface(Ci.nsIInterfaceRequestor)
-                    .getInterface(Ci.nsIDOMWindow)
-                    .QueryInterface(Ci.nsIDOMChromeWindow);
-          }
-          return gChromeWin;
-        }
-
-        function loadSync() {
-          let win = getChromeWin();
-          // If Sync is not setup, we'll open the setup dialog. Otherwise,
-          // we show the remote tabs view
-          win.BrowserUI.doCommand("cmd_remoteTabs");
-        }
-
-        function loadAddons() {
-          let win = getChromeWin();
-          win.BrowserUI.showPanel("addons-container");
-        }
-
-        function init() {
-          let prefs = Cc["@mozilla.org/preferences-service;1"].getService(Ci.nsIPrefService).QueryInterface(Ci.nsIPrefBranch2);
-          if (prefs.getBoolPref("browser.firstrun.show.uidiscovery")) {
-            startDiscovery();
-            prefs.setBoolPref("browser.firstrun.show.uidiscovery", false);
-          } else {
-            endDiscovery();
-          }
-          setupLinks();
-        }
-        
-        function startDiscovery() {
-          let win = getChromeWin();
-          let [leftWidth, rightWidth] = win.Browser.computeSidebarVisibility();
-          if (leftWidth > 0 || rightWidth > 0) {
-            endDiscovery();
-            return;
-          }
-
-          let doc = win.document;
-          let broadcaster = doc.getElementById("bcast_uidiscovery");
-
-          doc.addEventListener("animationend", endDiscovery, false);
-          doc.addEventListener("PanBegin", endDiscovery, false);
-          broadcaster.setAttribute("mode", "discovery");
-        }
-
-        function endDiscovery() {
-          let doc = getChromeWin().document;
-          let broadcaster = doc.getElementById("bcast_uidiscovery");
-
-          broadcaster.removeAttribute("mode");
-          doc.removeEventListener("animationend", endDiscovery, false);
-          doc.removeEventListener("PanBegin", endDiscovery, false);
-          document.getElementById("content").removeAttribute("hidden");
-        }
-
-        function setupLinks() {
-          try {
-            let formatter = Cc["@mozilla.org/toolkit/URLFormatterService;1"].getService(Ci.nsIURLFormatter);
-            links.forEach(function(link) {
-              let element = document.getElementById(link.id);
-              if (element) {
-                let url = formatter.formatURLPref(link.pref);
-                element.setAttribute("href", url);
-              }
-            });
-          } catch (ex) {}
-        }
-
-        document.addEventListener("DOMContentLoaded", init, false);
-      ]]></script>
-    </div>
-
-    <div id="footer">
-
-      <ul class="nav">
-        <li><a id="faqURL">&firstrun.faq;</a></li>
-        <li><a id="privacyURL">&firstrun.privacy;</a></li>
-      </ul>
-
-      <div id="follow">
-        <p>&firstrun.follow;</p>
-        <ul>
-          <li id="follow-twitter"><a href="http://twitter.com/mozmobile"><img src="chrome://browser/content/firstrun/twitter.png" height="41" width="42" /></a></li>
-          <li id="follow-facebook"><a href="http://www.facebook.com/firefoxformobile"><img src="chrome://browser/content/firstrun/facebook.png" height="41" width="42" /></a></li>
-        </ul>
-      </div>
-    </div>
-  </div>
-</body>
-</html>
deleted file mode 100644
index a6de797c13843c90a5cc0bdfac439278accefe04..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index 75d3135493498f0f2bf9e53b4a5b67d54f2d324c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index 369450985a1ad4b6e9a413b0a1f71167611fc1cf..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
--- a/mobile/chrome/jar.mn
+++ b/mobile/chrome/jar.mn
@@ -1,18 +1,12 @@
 #filter substitution
 
 chrome.jar:
 % content browser %content/
-  content/firstrun/firstrun.xhtml      (content/firstrun/firstrun.xhtml)
-  content/firstrun/mozilla.png         (content/firstrun/mozilla.png)
-  content/firstrun/features.png        (content/firstrun/features.png)
-  content/firstrun/twitter.png         (content/firstrun/twitter.png)
-  content/firstrun/facebook.png        (content/firstrun/facebook.png)
-  content/firstrun/nav-arrow.png       (content/firstrun/nav-arrow.png)
 
 * content/about.xhtml                  (content/about.xhtml)
   content/config.xul                   (content/config.xul)
   content/config.js                    (content/config.js)
   content/aboutCertError.xhtml         (content/aboutCertError.xhtml)
   content/aboutCertError.css           (content/aboutCertError.css)
   content/aboutHome.xhtml              (content/aboutHome.xhtml)
   content/localePicker.xul             (content/localePicker.xul)
deleted file mode 100644
--- a/mobile/locales/en-US/chrome/firstrun.dtd
+++ /dev/null
@@ -1,12 +0,0 @@
-<!ENTITY firstrun.title                "Welcome to &brandShortName;">
-<!ENTITY firstrun.heading2             "Welcome to &brandShortName;">
-<!ENTITY firstrun.sync2.title          "Sync Up">
-<!ENTITY firstrun.sync2.description    "Login with your Sync account info and share your history, passwords, bookmarks &amp; tabs between your desktop and mobile">
-<!ENTITY firstrun.addons2.title        "Customize">
-<!ENTITY firstrun.addons2.description  "Discover and install add-ons to add new functionality to your &brandShortName;">
-<!ENTITY firstrun.home2.title          "Browse">
-<!ENTITY firstrun.home2.description    "Skip all this and go to your personalized Start page to start browsing the web">
-<!ENTITY firstrun.features             "See More Features">
-<!ENTITY firstrun.faq                  "FAQ">
-<!ENTITY firstrun.privacy              "Privacy Policy">
-<!ENTITY firstrun.follow               "Follow us on:">
--- a/mobile/locales/jar.mn
+++ b/mobile/locales/jar.mn
@@ -3,17 +3,16 @@
 @AB_CD@.jar:
 % locale browser @AB_CD@ %locale/@AB_CD@/browser/
   locale/@AB_CD@/browser/about.dtd                (%chrome/about.dtd)
   locale/@AB_CD@/browser/aboutCertError.dtd       (%chrome/aboutCertError.dtd)
   locale/@AB_CD@/browser/aboutHome.dtd            (%chrome/aboutHome.dtd)
   locale/@AB_CD@/browser/browser.dtd              (%chrome/browser.dtd)
   locale/@AB_CD@/browser/browser.properties       (%chrome/browser.properties)
   locale/@AB_CD@/browser/config.dtd               (%chrome/config.dtd)
-  locale/@AB_CD@/browser/firstrun.dtd             (%chrome/firstrun.dtd)
   locale/@AB_CD@/browser/localepicker.properties  (%chrome/localepicker.properties)
   locale/@AB_CD@/browser/region.properties        (%chrome/region.properties)
   locale/@AB_CD@/browser/preferences.dtd          (%chrome/preferences.dtd)
   locale/@AB_CD@/browser/checkbox.dtd             (%chrome/checkbox.dtd)
   locale/@AB_CD@/browser/notification.dtd         (%chrome/notification.dtd)
   locale/@AB_CD@/browser/sync.dtd                 (%chrome/sync.dtd)
   locale/@AB_CD@/browser/sync.properties          (%chrome/sync.properties)
   locale/@AB_CD@/browser/prompt.dtd               (%chrome/prompt.dtd)
--- a/mobile/themes/core/aboutHome.css
+++ b/mobile/themes/core/aboutHome.css
@@ -46,16 +46,18 @@ html {
   max-width: 600px;
   margin: 0 auto;
 }
 
 #logo {
   float: right;
   margin-top: -24px;
   margin-right: -34px;
+  /* Trick to ensure this is shown above the opacity transform happening to content*/
+  -moz-transform: translate(0,0);
 }
 
 #header {
   font-weight: bold;
   color: white;
   background: transparent -moz-linear-gradient(top, rgba(57,89,117,1) 0%, rgba(30,66,98,1) 50%, rgba(24,54,82,1) 90%);
   border-radius: 6px;
   padding: 12px;
@@ -209,16 +211,26 @@ body[dir="rtl"] {
   margin: 0 auto;
 }
 
 .no-items {
   text-align: center;
   -moz-margin-start: 0 !important;
 }
 
+#content {
+  opacity: 1;
+  -moz-transition: opacity 500ms;
+}
+
+#content[hidden] {
+  display: block;
+  opacity: 0;
+}
+
 #footer-wrapper {
   font-size: 18px;
   margin-top: 24px;
   text-align: center;
 }
 
 #feedback {
   display: inline-block;
deleted file mode 100644
--- a/mobile/themes/core/firstRun.css
+++ /dev/null
@@ -1,253 +0,0 @@
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1/GPL 2.0/LGPL 2.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is Mozilla Mobile Browser.
- *
- * The Initial Developer of the Original Code is
- * Mozilla Corporation.
- * Portions created by the Initial Developer are Copyright (C) 2008
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *   Gavin Sharp <gavin@gavinsharp.com>
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either the GNU General Public License Version 2 or later (the "GPL"), or
- * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- * in which case the provisions of the GPL or the LGPL are applicable instead
- * of those above. If you wish to allow use of your version of this file only
- * under the terms of either the GPL or the LGPL, and not to allow others to
- * use your version of this file under the terms of the MPL, indicate your
- * decision by deleting the provisions above and replace them with the notice
- * and other provisions required by the GPL or the LGPL. If you do not delete
- * the provisions above, a recipient may use your version of this file under
- * the terms of any one of the MPL, the GPL or the LGPL.
- *
- * ***** END LICENSE BLOCK ***** */
-
-html {
-  font-family: "Nokia Sans", Tahoma, sans-serif !important;
-  background: #fff;
-}
-
-body {
-  font-size: 16px;
-  color: #444;
-  border-top: 4px solid #1e4262;
-  margin: 0;
-}
-
-h1 {
-  font-size: 19px;
-  margin: 0 0 10px;
-}
-
-a {
-  color: #0489b7;
-  text-decoration: none;
-}
-
-img {
-  border: none;
-}
-
-#wrapper {
-    width: 96%;
-    max-width: 600px;
-    margin: 0 auto;
-}
-
-#header {
-    text-align: right;
-    height: 30px;
-    padding: 0;
-    margin: 0 8px 20px;
-}
-
-#header a {
-  display: inline-block;
-  padding: 4px 6px 2px 6px;
-  background: #1e4262;
- -moz-border-radius-bottomright: 4px;
- -moz-border-radius-bottomleft: 4px;
-}
-
-#head, #content, #footer {
-  margin: 0 8px;
-  clear: both;
-}
-
-#content {
-  opacity: 1;
-  -moz-transition: opacity 1s linear;
-}
-
-#content[hidden] {
-  display: block;
-  opacity: 0;
-}
-
-#head p {
-  font-size: xx-large;
-}
-
-#footer {
-  border-top: 2px solid #e7e7e7;
-  padding: 10px;
-  color: #999;
-  margin-top: 10px;
-}
-
-#footer ul {
-  margin: 0;
-  padding: 0;
-  float: left;
-}
-
-#footer .nav li {
-  list-style: none;
-  float: left;
-  margin: 0 1em 0 0;
-  padding-right: 1em;
-  border-right: 1px solid #e7e7e7;
-}
-
-#footer .nav li:last-child {
-  border: 0;
-}
-
-#footer #follow {
-  float: right;
-  padding-bottom: 10px
-}
-
-#footer #follow p {
-  display: inline;
-}
-
-#footer #follow ul {
-  display: inline;
-  float: none;
-}
-
-#footer #follow ul li {
-  display: inline;
-  list-style-type: none;
-  margin-left: 10px;
-}
-
-#footer #follow img {
-  vertical-align: top;
-}
-
-#firstrun #header {
-  margin-bottom: 0;
-}
-
-#firstrun #head h1 {
-  float: left;
-  margin: 0;
-}
-
-#firstrun #head p {
-  margin: 0 0 10px 245px;
-  padding-top: 18px;
-}
-
-#firstrun ul#recommended {
-  margin: 0;
-  padding: 0;
-}
-
-#firstrun ul#recommended li {
-  float: left;
-  width: 32%;
-  list-style-type: none;
-  margin-right: 2%;
-  text-align: center;
-  margin-bottom: 20px;
-}
-
-#firstrun ul#recommended li:last-child {
-  margin-right: 0;
-}
-
-#firstrun ul#recommended li a {
-  display: block;
-  padding: 20px 0;
-  -moz-border-radius: 10px;
-  background: #d8ecf1;
-}
-
-#firstrun ul#recommended li a:active {
-  text-decoration: none;
-  background: #b5d7e0;
-  outline: none;
-}
-
-#firstrun ul#recommended li b {
-  display: block;
-  padding: 90px 10px 0 10px;
-  background-repeat: no-repeat;
-  background-image: url("chrome://browser/content/firstrun/features.png");
-}
-
-#firstrun ul#recommended li span {
-  display: block;
-  padding: 0 10px;
-  min-height: 150px;
-}
-
-@media (max-width: 499px) {
-  #firstrun ul#recommended li span {
-    min-height: 180px;
-  }
-}
-
-#firstrun ul#recommended li#sync b {
-  background-position: 50% 0;
-}
-
-#firstrun ul#recommended li#addons b {
-  background-position: 50% -150px;
-}
-
-#firstrun ul#recommended li#home b {
-  background-position: 50% -280px;
-}
-
-#firstrun #features {
-  clear: both;
-  text-align: center;
-}
-
-#firstrun #features a {
-  display: inline-block;
-  font-size: 16px;
-}
-
-#firstrun #features a span {
-  vertical-align: 35%;
-}
-
-#firstrun #features a #nav-arrow {
-  -moz-margin-start: 5px; 
-}
-
-#firstrun[dir="rtl"] #features a #nav-arrow {
-  -moz-transform: scaleX(-1);
-}
-
-#firstrun #demo {
-  text-align: center;
-}
--- a/mobile/themes/core/jar.mn
+++ b/mobile/themes/core/jar.mn
@@ -7,17 +7,16 @@ chrome.jar:
 # and honeycomb sections at the bottom of this file
   skin/aboutCertError.css                   (aboutCertError.css)
   skin/aboutPage.css                        (aboutPage.css)
   skin/about.css                            (about.css)
   skin/aboutHome.css                        (aboutHome.css)
 * skin/browser.css                          (browser.css)
 * skin/content.css                          (content.css)
   skin/config.css                           (config.css)
-  skin/firstRun.css                         (firstRun.css)
 * skin/forms.css                            (forms.css)
   skin/header.css                           (header.css)
 * skin/notification.css                     (notification.css)
 * skin/platform.css                         (platform.css)
   skin/touchcontrols.css                    (touchcontrols.css)
 * skin/localePicker.css                     (localePicker.css)
 % override chrome://global/skin/about.css chrome://browser/skin/about.css
 % override chrome://global/skin/media/videocontrols.css chrome://browser/skin/touchcontrols.css
@@ -128,17 +127,16 @@ chrome.jar:
 % skin browser classic/1.0 %skin/gingerbread/ os=Android osversion=2.3 osversion=2.3.3 osversion=2.3.4
   skin/gingerbread/aboutCertError.css                   (aboutCertError.css)
   skin/gingerbread/aboutPage.css                        (aboutPage.css)
   skin/gingerbread/about.css                            (about.css)
   skin/gingerbread/aboutHome.css                        (aboutHome.css)
 * skin/gingerbread/browser.css                          (gingerbread/browser.css)
 * skin/gingerbread/content.css                          (gingerbread/content.css)
   skin/gingerbread/config.css                           (config.css)
-  skin/gingerbread/firstRun.css                         (firstRun.css)
 * skin/gingerbread/forms.css                            (gingerbread/forms.css)
   skin/gingerbread/header.css                           (header.css)
 * skin/gingerbread/notification.css                     (notification.css)
 * skin/gingerbread/platform.css                         (gingerbread/platform.css)
   skin/gingerbread/touchcontrols.css                    (touchcontrols.css)
 * skin/gingerbread/localePicker.css                     (gingerbread/localePicker.css)
 % override chrome://global/skin/about.css chrome://browser/skin/about.css
 % override chrome://global/skin/media/videocontrols.css chrome://browser/skin/touchcontrols.css
@@ -246,17 +244,16 @@ chrome.jar:
 % skin browser classic/1.0 %skin/honeycomb/ os=Android osversion>=3.0
   skin/honeycomb/aboutCertError.css                   (aboutCertError.css)
   skin/honeycomb/aboutPage.css                        (aboutPage.css)
   skin/honeycomb/about.css                            (about.css)
   skin/honeycomb/aboutHome.css                        (aboutHome.css)
 * skin/honeycomb/browser.css                          (browser.css)
 * skin/honeycomb/content.css                          (content.css)
   skin/honeycomb/config.css                           (config.css)
-  skin/honeycomb/firstRun.css                         (firstRun.css)
 * skin/honeycomb/forms.css                            (forms.css)
   skin/honeycomb/header.css                           (header.css)
 * skin/honeycomb/notification.css                     (notification.css)
 * skin/honeycomb/platform.css                         (platform.css)
   skin/honeycomb/touchcontrols.css                    (touchcontrols.css)
 * skin/honeycomb/localePicker.css                     (localePicker.css)
 % override chrome://global/skin/about.css chrome://browser/skin/about.css
 % override chrome://global/skin/media/videocontrols.css chrome://browser/skin/touchcontrols.css