Bug 658054 - Remove firstrun pages. r=mfinkle

This commit is contained in:
Wes Johnston 2011-06-07 12:11:39 -07:00
parent a28aa25436
commit a78b1b783b
13 changed files with 70 additions and 485 deletions

View File

@ -62,29 +62,31 @@
<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 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="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="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="newAddons" class="section-box">
<h1>&aboutHome.recommendedAddons2;</h1>
<div id="loadingAddons" class="loading">
<img src="chrome://browser/skin/images/throbber.png"/>
<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 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>
@ -125,6 +127,14 @@
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() {
@ -383,6 +393,34 @@
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>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

View File

@ -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>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 663 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

View File

@ -2,12 +2,6 @@
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)

View File

@ -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:">

View File

@ -8,7 +8,6 @@
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)

View File

@ -51,6 +51,8 @@ html {
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 {
@ -214,6 +216,16 @@ body[dir="rtl"] {
-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;

View File

@ -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;
}

View File

@ -12,7 +12,6 @@ chrome.jar:
* 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)
@ -133,7 +132,6 @@ chrome.jar:
* 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)
@ -251,7 +249,6 @@ chrome.jar:
* 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)