Bug 324121 - Extensions with available updates for the next version of the app should not be listed in app update extension will be disabled warning (AUS patch). r=dtownsend ui-r=beltzner

--HG--
rename : toolkit/themes/pinstripe/mozapps/downloads/buttons.png => toolkit/themes/pinstripe/mozapps/update/buttons.png
rename : toolkit/themes/winstripe/mozapps/downloads/downloadButtons-aero.png => toolkit/themes/winstripe/mozapps/update/downloadButtons-aero.png
rename : toolkit/themes/winstripe/mozapps/downloads/downloadButtons.png => toolkit/themes/winstripe/mozapps/update/downloadButtons.png
This commit is contained in:
Robert Strong 2008-11-04 21:50:52 -08:00
parent d54eed15ff
commit 5315305f00
34 changed files with 1503 additions and 1917 deletions

View File

@ -1,5 +1,8 @@
pref("startup.homepage_override_url","http://www.mozilla.org/projects/%APP%/%VERSION%/whatsnew/");
pref("startup.homepage_welcome_url","http://www.mozilla.org/projects/%APP%/%VERSION%/firstrun/");
// The time interval between checks for a new version (in seconds)
// nightly=8 hours, official=24 hours
pref("app.update.interval", 28800);
// URL user can browse to manually if for some reason all update installation
// attempts fail.
pref("app.update.url.manual", "http://www.mozilla.org/products/%APP%/");

View File

@ -121,16 +121,16 @@ pref("app.update.url", "https://aus2.mozilla.org/update/3/%PRODUCT%/%VERSION%/%B
// User-settable override to app.update.url for testing purposes.
//pref("app.update.url.override", "");
// Interval: Time between checks for a new version (in seconds)
// default=1 day
pref("app.update.interval", 86400);
// app.update.interval is in branding section
// Interval: Time before prompting the user again to restart to install the
// latest download (in seconds) default=1 day
pref("app.update.nagTimer.restart", 86400);
// Interval: When all registered timers should be checked (in milliseconds)
// default=10 minutes
pref("app.update.timer", 600000);
// Give the user x seconds to react before showing the big UI. default=12 hrs
// Give the user x seconds to react before showing the big UI. default=12 hours
pref("app.update.promptWaitTime", 43200);
// Show the Update Checking/Ready UI when the user was idle for x seconds
pref("app.update.idletime", 60);
@ -157,7 +157,7 @@ pref("app.update.incompatible.mode", 0);
// .. etc ..
//
pref("extensions.update.enabled", true);
pref("extensions.update.url", "https://versioncheck.addons.mozilla.org/update/VersionCheck.php?reqVersion=%REQ_VERSION%&id=%ITEM_ID%&version=%ITEM_VERSION%&maxAppVersion=%ITEM_MAXAPPVERSION%&status=%ITEM_STATUS%&appID=%APP_ID%&appVersion=%APP_VERSION%&appOS=%APP_OS%&appABI=%APP_ABI%&locale=%APP_LOCALE%");
pref("extensions.update.url", "https://versioncheck.addons.mozilla.org/update/VersionCheck.php?reqVersion=%REQ_VERSION%&id=%ITEM_ID%&version=%ITEM_VERSION%&maxAppVersion=%ITEM_MAXAPPVERSION%&status=%ITEM_STATUS%&appID=%APP_ID%&appVersion=%APP_VERSION%&appOS=%APP_OS%&appABI=%APP_ABI%&locale=%APP_LOCALE%&currentAppVersion=%CURRENT_APP_VERSION%");
pref("extensions.update.interval", 86400); // Check for updates to Extensions and
// Themes every day
// Non-symmetric (not shared by extensions) extension-specific [update] preferences

View File

@ -1,5 +1,8 @@
pref("startup.homepage_override_url","http://www.mozilla.org/projects/%APP%/%VERSION%/whatsnew/");
pref("startup.homepage_welcome_url","http://www.mozilla.org/projects/%APP%/%VERSION%/firstrun/");
// The time interval between checks for a new version (in seconds)
// nightly=8 hours, official=24 hours
pref("app.update.interval", 28800);
// URL user can browse to manually if for some reason all update installation
// attempts fail.
pref("app.update.url.manual", "http://www.mozilla.org/products/%APP%/");

View File

@ -1,5 +1,8 @@
pref("startup.homepage_override_url","http://%LOCALE%.www.mozilla.com/%LOCALE%/%APP%/%VERSION%/whatsnew/");
pref("startup.homepage_welcome_url","http://%LOCALE%.www.mozilla.com/%LOCALE%/%APP%/%VERSION%/firstrun/");
// Interval: Time between checks for a new version (in seconds)
// nightly=6 hours, official=24 hours
pref("app.update.interval", 86400);
// URL user can browse to manually if for some reason all update installation
// attempts fail.
pref("app.update.url.manual", "http://%LOCALE%.www.mozilla.com/%LOCALE%/%APP%/");

View File

@ -4,10 +4,7 @@
<!ENTITY window.macWidth "39em">
<!ENTITY checking.title "Checking for Updates">
<!ENTITY checking.label "&brandShortName; is now checking for updates…">
<!ENTITY cancel.label "Cancel">
<!ENTITY cancel.accesskey "C">
<!ENTITY updateCheck.label "Looking for newer versions of &brandShortName;…">
<!ENTITY noupdatesfound.title "No Updates Found">
<!ENTITY noupdatesautoenabled.intro "There are no updates available. &brandShortName; will check
@ -15,16 +12,13 @@
<!ENTITY noupdatesautodisabled.intro "There are no updates available. Please check again later or enable
&brandShortName;'s automatic update checking.">
<!ENTITY incompatibleChecking.label "Checking if this update will cause problems with your extensions and/or themes…">
<!ENTITY incompatibleCheck.title "Checking Add-on Compatibility">
<!ENTITY incompatibleCheck.label "Looking for newer versions of your add-ons…">
<!ENTITY clickHere.label "View more information about this update">
<!ENTITY incompatible.warning "This update will cause some of your extensions and/or themes
to stop working until they are updated.">
<!ENTITY listIncompatible.label "Show List">
<!ENTITY listIncompatible.accesskey "L">
<!ENTITY upgrade.evangelism "It is strongly recommended that you upgrade &brandShortName;
as soon as possible.">
<!ENTITY evangelism.desc "It is strongly recommended that you apply this
update for &brandShortName; as soon as possible.">
<!ENTITY license.instructions "If you agree to the terms of this agreement, click I Agree
below to continue installing this update.">
@ -37,6 +31,8 @@
<!ENTITY license.decline "I do NOT accept the terms of the License Agreement">
<!ENTITY license.decline.accesskey "T">
<!ENTITY incompatibleList.title "Incompatible Add-ons Found">
<!ENTITY downloading.title "Downloading Update">
<!ENTITY downloading.intro "Downloading the update…">
<!ENTITY connecting.label "Connecting to the update server…">
@ -44,11 +40,9 @@
incremental update it downloaded, so it is now downloading
the complete update package.">
<!ENTITY viewDetails.tooltip "View details for this update">
<!ENTITY details.link "Details">
<!ENTITY pause.label "Pause">
<!ENTITY pause.accesskey "e">
<!ENTITY close.label "Close">
<!ENTITY close.accesskey "C">
<!ENTITY error.label "There were problems checking for, downloading, or installing this
update. &brandShortName; could not be updated because:">
@ -60,19 +54,16 @@
<!ENTITY errorpatching.intro "The partial Update could not be applied.
&brandShortName; will try again by downloading a complete Update.">
<!ENTITY finished.title "Update Downloaded">
<!ENTITY finished.text "The update was successfully downloaded and verified, and it will
be installed the next time &brandShortName; starts.">
<!ENTITY finishedPage.title "Update Ready to Install">
<!ENTITY finishedPage.text "The update will be installed the next time &brandShortName; starts. You
can restart &brandShortName; now, or continue working and restart later.">
<!ENTITY finishedBackground.title "Update Ready to Install">
<!ENTITY finishedBackground.text "&brandShortName; has downloaded and verified an important update.
Click the link below for more details.">
<!ENTITY finishedBackgroundPage.text "A security and stability update for &brandShortName; has been
downloaded and is ready to be installed.">
<!ENTITY finishedBackground.name "Update:">
<!-- LOCALIZATION NOTE (finishedBackground.more1): This string describes the button label defined by restartButton in updates.properties. -->
<!ENTITY finishedBackground.more1 "Click Restart &brandShortName; Now to install the update now.">
<!-- LOCALIZATION NOTE (finishedBackground.textNotNow): This string describes the button label defined by notNowButton in updates.properties. -->
<!ENTITY finishedBackground.textNotNow "Click Not Now to close this dialog and continue working. &brandShortName;
will install the update the next time it starts.">
<!-- LOCALIZATION NOTE (finishedBackground.more): This string describes the button labels defined by restartNowButton and restartLaterButton in updates.properties. -->
<!ENTITY finishedBackground.more "The update will be installed the next time &brandShortName; starts. You
can restart &brandShortName; now, or continue working and restart later.">
<!ENTITY installed.title "Update Installed">
<!ENTITY installed.intro "The update was successfully installed.">

View File

@ -1,16 +1,57 @@
updateName=%S %S
# LOCALIZATION NOTE: The 1st %S is the update name and the 2nd %S is the build
# identifier from the local updates.xml for displaying update history
# example: MyApplication (20081022033543)
updateFullName=%S (%S)
# LOCALIZATION NOTE: The 1st %S is brandShortName and 2nd %S is update version
# where update version from the update xml
# example: MyApplication 10.0.5
updateName=%S %S
licenseContentDownloading=Getting license for %S %S…
updateMoreInfoContentDownloading=Getting more details about %S %S…
intro_major_app_and_version=Do you want to upgrade to %S %S now?
# LOCALIZATION NOTE: The 1st %S is brandShortName and 2nd %S is update version
# and the 3rd %S is brandShortName. where update version from the update xml
incompatibleAddons_major=Some of your add-ons won't work with %S %S, and will be disabled. As soon as they are made compatible, %S will update and re-enable these add-ons:
updateType_major=New Version
updateType_minor=Security Update
introType_minor_app=An update for %S is available:
introType_major_app_and_version=You can download and install %S %S now!
# LOCALIZATION NOTE: When present %S is brandShortName
incompatibleAddons_minor=Some of your add-ons won't work with this update, and must be disabled. As soon as they are made compatible, %S will update and re-enable these add-ons:
intro_minor_app=A security and stability update for %S is available:
verificationError=%S could not confirm the integrity of the update package.
errorsPageHeader=Update Failed
licenseContentNotFound=The license file for this version could not be found. Please visit the %S homepage for more information.
updateMoreInfoContentNotFound=Additional details about this version could not be found. Please visit the %S homepage for more information.
licenseContentDownloading=Getting license for %S %S…
updateMoreInfoContentDownloading=Getting more details about %S %S…
resumePausedAfterCloseTitle=Software Update
resumePausedAfterCloseMsg=You have paused downloading this update. Do you want to download the update in the background while you continue to use %S?
updaterIOErrorTitle=Software Update Failed
updaterIOErrorMsg=The update could not be installed. Please make sure there are no other copies of %S running on your computer, and then restart %S to try again.
okButton=OK
okButton.accesskey=O
askLaterButton=Ask Later
askLaterButton.accesskey=A
noThanksButton=No Thanks
noThanksButton.accesskey=N
updateButton_minor=Update %S
updateButton_minor.accesskey=U
updateButton_major=Get the New Version
updateButton_major.accesskey=G
backButton=Back
backButton.accesskey=B
acceptTermsButton=Accept Terms
acceptTermsButton.accesskey=A
restartLaterButton=Restart Later
restartLaterButton.accesskey=L
restartNowButton=Restart %S
restartNowButton.accesskey=R
# LOCALIZATION NOTE: %S is the date the update was installed from the local
# updates.xml for displaying update history
statusSucceededFormat=Installed on: %S
statusFailed=Install Failed
pauseButtonPause=Pause
pauseButtonResume=Resume
@ -20,52 +61,14 @@ hideButton.accesskey=H
updatesfound_minor.title=Update Available
updatesfound_major.title=New Version Available
installSuccess=The Update was successfully installed
installPending=Install Pending
patchApplyFailure=The Update could not be installed (patch apply failed)
# LOCALIZATION NOTE: When present %S is the update name provided by the remote
# update xml for the following
downloadingPrefix=Downloading %S…
pausedName=Paused downloading %S
restartButton=Restart %S Now
restartButton.accesskey=R
downloadButton_minor=Download & Install Now »
downloadButton_minor.accesskey=D
downloadButton_major=Get the new version »
downloadButton_major.accesskey=G
notNowButton=Not Now
notNowButton.accesskey=o
neverButton=Never
neverButton.accesskey=N
resumePausedAfterCloseTitle=Software Update
resumePausedAfterCloseMsg=You have paused downloading this update. Do you want to download the update in the background while you continue to use %S?
updateReadyToInstallHeader=%S Ready to Install
checker_error-200=AUS: Update XML File Malformed (200)
checker_error-403=AUS: Access Denied (403)
checker_error-404=AUS: Update XML File Not Found (404)
checker_error-500=AUS: Internal Server Error (500)
checker_error-2152398849=Failed (Unknown Reason)
checker_error-2152398861=AUS: Connection Refused
checker_error-2152398862=AUS: Connection timed out
# NS_ERROR_OFFLINE
checker_error-2152398864=Network is Offline (Go online)
checker_error-2152398867=AUS: Port not allowed (Contact your Administrator)
checker_error-2152398868=AUS: No data was received (Please try again)
checker_error-2152398878=AUS: Update Server Not Found (Check your internet connection or contact your Administrator)
checker_error-2152398890=Proxy Server Not Found (Check your internet connection or contact your Administrator)
# NS_ERROR_DOCUMENT_NOT_CACHED
checker_error-2152398918=Network is Offline (Go online)
checker_error-2152398919=AUS: Data transfer was interrupted (Please try again)
checker_error-2152398920=Proxy Server Connection Refused (Contact your Administrator)
checker_error-2153390069=Server certificate has expired (Please adjust your system clock to the correct date and time if it is incorrect or contact your Administrator)
checker_error-verification_failed=The integrity of the update could not be verified (Contact your Administrator)
installSuccess=The Update was successfully installed
patchApplyFailure=The Update could not be installed (Patch Apply Failed)
installPending=Install Pending
updaterIOErrorTitle=Software Update Failed
updaterIOErrorMsg=The update could not be installed. Please make sure there are no other copies of %S running on your computer, and then restart %S to try again.
updateAvailable_minor.title=%S available
updateAvailable_minor.text=Download & Install…
updateAvailable_major.title=%S available
@ -74,3 +77,27 @@ updateDownloaded_minor.title=%S available
updateDownloaded_minor.text=Apply Downloaded Update…
updateDownloaded_major.title=%S available
updateDownloaded_major.text=Install the new version…
# LOCALIZATION NOTE: %S is the amount downloaded so far
# example: Downloaded 879 KB of 2.1 MB
pausedStatus=Downloaded %S
check_error-200=Update XML file malformed (200)
check_error-403=Access denied (403)
check_error-404=Update XML file not found (404)
check_error-500=Internal server error (500)
check_error-2152398849=Failed (unknown reason)
check_error-2152398861=Connection refused
check_error-2152398862=Connection timed out
# NS_ERROR_OFFLINE
check_error-2152398864=Network is offline (go online)
check_error-2152398867=Port not allowed
check_error-2152398868=No data was received (please try again)
check_error-2152398878=Update server not found (check your internet connection)
check_error-2152398890=Proxy server not found (check your internet connection)
# NS_ERROR_DOCUMENT_NOT_CACHED
check_error-2152398918=Network is offline (go online)
check_error-2152398919=Data transfer was interrupted (please try again)
check_error-2152398920=Proxy server connection refused
check_error-2153390069=Server certificate has expired (please adjust your system clock to the correct date and time if it is incorrect)
check_error-verification_failed=The integrity of the update could not be verified

View File

@ -163,6 +163,8 @@ const MODE_TRUNCATE = 0x20;
const PERMS_FILE = 0644;
const PERMS_DIRECTORY = 0755;
const REQ_VERSION = 2;
var gApp = null;
var gPref = null;
var gRDF = null;
@ -6398,7 +6400,7 @@ function escapeAddonURI(aItem, aAppVersion, aURI, aDS)
aURI = aURI.replace(/%ITEM_STATUS%/g, itemStatus);
aURI = aURI.replace(/%APP_ID%/g, gApp.ID);
aURI = aURI.replace(/%APP_VERSION%/g, aAppVersion ? aAppVersion : gApp.version);
aURI = aURI.replace(/%REQ_VERSION%/g, 1);
aURI = aURI.replace(/%REQ_VERSION%/g, REQ_VERSION);
aURI = aURI.replace(/%APP_OS%/g, gOSTarget);
aURI = aURI.replace(/%APP_ABI%/g, gXPCOMABI);
aURI = aURI.replace(/%APP_LOCALE%/g, gLocale);

View File

@ -56,7 +56,7 @@ var EXPECTED = [
appOs: "XPCShell",
appAbi: "noarch-spidermonkey",
locale: "en-US",
reqVersion: "1"
reqVersion: "2"
},
{
id: "bug335238_2@tests.mozilla.org",
@ -68,7 +68,7 @@ var EXPECTED = [
appOs: "XPCShell",
appAbi: "noarch-spidermonkey",
locale: "en-US",
reqVersion: "1"
reqVersion: "2"
}
];

View File

@ -1,51 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* ***** 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 the Update Service.
*
* The Initial Developer of the Original Code is Google Inc.
* Portions created by the Initial Developer are Copyright (C) 2005
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
* Ben Goodger <ben@mozilla.org> (Original Author)
*
* 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 ***** */
function init() {
var updateBundle = document.getElementById("updateBundle");
var incompatibleItems = document.getElementById("incompatibleItems");
var items = window.arguments[0];
for (var i = 0; i < items.length; ++i) {
var listitem = document.createElementNS("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul",
"listitem");
var itemName = updateBundle.getFormattedString("updateName", [items[i].name, items[i].version]);
listitem.setAttribute("label", itemName);
incompatibleItems.appendChild(listitem);
}
var cancelbutton = document.documentElement.getButton("cancel");
cancelbutton.focus();
}

View File

@ -1,76 +0,0 @@
<?xml version="1.0"?>
# -*- Mode: Java; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
# ***** 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 The Update Wizard/Manager.
#
# The Initial Developer of the Original Code is Google Inc.
# Portions created by the Initial Developer are Copyright (C) 2005
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
# Ben Goodger <ben@mozilla.org>
#
# 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 *****
<!DOCTYPE dialog [
<!ENTITY % incompatibleDTD SYSTEM "chrome://mozapps/locale/update/incompatible.dtd">
<!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd">
%incompatibleDTD;
%brandDTD;
]>
<?xml-stylesheet href="chrome://global/skin/"?>
<?xml-stylesheet href="chrome://mozapps/content/update/updates.css"?>
<?xml-stylesheet href="chrome://mozapps/skin/update/updates.css"?>
<dialog id="incompatible"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
style="width: 35em;"
buttons="cancel"
defaultButton="cancel"
buttonlabelcancel="&closebutton.label;"
title="&incompatible.title;"
onload="init();">
<script type="application/javascript"
src="chrome://mozapps/content/update/incompatible.js"/>
<stringbundle id="updateBundle"
src="chrome://mozapps/locale/update/updates.properties"/>
<label>&incompatible.intro;</label>
<separator/>
<listbox id="incompatibleItems" rows="5"/>
<separator/>
<label>&incompatible.update;</label>
<separator class="thin"/>
<label class="bold">&incompatible.suffix;</label>
<separator/>
</dialog>

View File

@ -1,35 +0,0 @@
radiogroup[type="update-types"] {
overflow: auto;
-moz-binding: url("chrome://mozapps/content/update/updates.xml#updateCategorySet");
}
radio[type="update-type"] {
-moz-binding: url("chrome://mozapps/content/update/updates.xml#updateCategory");
-moz-box-orient: vertical;
-moz-box-align: stretch;
}
radio[type="update-type"] .updateCategoryContent {
visibility: collapse;
}
radiogroup[_uninitialized] radio[type="update-type"] .updateCategoryContent {
visibility: visible !important;
}
.updateCategoryContent {
overflow: hidden;
}
radio[type="update-type"][selected="true"] .updateCategoryContent {
visibility: visible;
}
.wizard-header-description {
display: none;
}
checkbox[type="update"] {
-moz-binding: url("chrome://mozapps/content/update/updates.xml#updateItem");
}

View File

@ -16,10 +16,10 @@ link > label {
}
/**
* License Page
* Remote Content
*/
license {
-moz-binding: url("chrome://mozapps/content/update/updates.xml#license");
remotecontent {
-moz-binding: url("chrome://mozapps/content/update/updates.xml#remotecontent");
display: -moz-deck;
}

File diff suppressed because it is too large Load Diff

View File

@ -7,18 +7,18 @@
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:xbl="http://www.mozilla.org/xbl">
<binding id="license">
<binding id="remotecontent">
<content>
<xul:vbox flex="1" class="loadingBox">
<xul:hbox align="start">
<xul:image class="licenseLoadingThrobber" xbl:inherits="state"/>
<xul:image class="remoteLoadingThrobber" xbl:inherits="state"/>
<xul:vbox flex="1">
<xul:description flex="1" class="licenseLoadingMessage" crop="right"/>
<xul:description flex="1" class="remoteLoadingMessage" crop="right"/>
</xul:vbox>
</xul:hbox>
</xul:vbox>
<xul:vbox flex="1">
<xul:browser class="licenseContent" type="content" flex="1"/>
<xul:browser class="remoteContent" type="content" flex="1"/>
</xul:vbox>
<xul:stringbundle anonid="strings"
src="chrome://mozapps/locale/update/updates.properties"/>
@ -38,19 +38,18 @@
]]></constructor>
<destructor><![CDATA[
// clean up the listener
// but you may not have one if you never showed the page with
// a <license> element
if (this._licenseProgressListener)
// clean up the listener but you may not have one if you never showed
// the page with a <remotecontent> element
if (this._remoteProgressListener)
this._content.webProgress
.removeProgressListener(this._licenseProgressListener);
.removeProgressListener(this._remoteProgressListener);
]]></destructor>
<field name="_message">
document.getAnonymousElementByAttribute(this, "class", "licenseLoadingMessage");
document.getAnonymousElementByAttribute(this, "class", "remoteLoadingMessage");
</field>
<field name="_content">
document.getAnonymousElementByAttribute(this, "class", "licenseContent");
document.getAnonymousElementByAttribute(this, "class", "remoteContent");
</field>
<field name="_strings">
document.getAnonymousElementByAttribute(this, "anonid", "strings");
@ -58,7 +57,7 @@
<field name="update_name">null</field>
<field name="update_version">null</field>
<field name="_licenseProgressListener">null</field>
<field name="_remoteProgressListener">null</field>
<method name="_setMessageValue">
<parameter name="value"/>
@ -84,6 +83,7 @@
<method name="onLoad">
<body><![CDATA[
this.setAttribute("selectedIndex", "1");
this.setAttribute("state", "loaded");
var e = document.createEvent("Events");
e.initEvent("load", false, true);
@ -109,7 +109,7 @@
<setter><![CDATA[
var self = this;
this._licenseProgressListener = {
this._remoteProgressListener = {
QueryInterface: function(aIID)
{
if (aIID.equals(Components.interfaces.nsIWebProgressListener) ||
@ -148,8 +148,8 @@
}
}
catch (ex)
{
// the channel.requestSucceeded can throw
{
// the channel.requestSucceeded can throw
// NS_ERROR_NOT_AVAILABLE if you can't reach the server
// so we treat that as an error
}
@ -162,7 +162,7 @@
}
this._content.webProgress
.addProgressListener(this._licenseProgressListener,
.addProgressListener(this._remoteProgressListener,
Components.interfaces.nsIWebProgress.NOTIFY_ALL);
// load the url now that the listener is registered

View File

@ -59,9 +59,10 @@
#endif
onwizardfinish="gUpdates.onWizardFinish();"
onwizardcancel="gUpdates.onWizardCancel();"
onwizardnext="gUpdates.onWizardNext();"
onwizardnext="gUpdates.onWizardNext();"
onload="gUpdates.onLoad();">
<script type="application/javascript" src="chrome://global/content/contentAreaUtils.js"/>
<script type="application/javascript" src="chrome://mozapps/content/update/updates.js"/>
<stringbundleset id="updateSet">
@ -71,85 +72,65 @@
<wizardpage id="dummy" pageid="dummy" firstpage="true"/>
<wizardpage id="checking" pageid="checking" next="updatesfound"
<wizardpage id="checking" pageid="checking" next="noupdatesfound"
label="&checking.title;" object="gCheckingPage"
onpageshow="gCheckingPage.onPageShow();">
<label>&checking.label;</label>
<separator/>
<label>&updateCheck.label;</label>
<separator class="thin"/>
<progressmeter id="checkingProgress" mode="undetermined"/>
</wizardpage>
<wizardpage id="noupdatesautoenabled" pageid="noupdatesautoenabled"
<wizardpage id="noupdatesfound" pageid="noupdatesfound"
label="&noupdatesfound.title;" object="gNoUpdatesPage"
onpageshow="gNoUpdatesPage.onPageShow();">
<label>&noupdatesautoenabled.intro;</label>
<label id="noUpdatesAutoEnabled" hidden="true">&noupdatesautoenabled.intro;</label>
<label id="noUpdatesAutoDisabled" hidden="true">&noupdatesautodisabled.intro;</label>
</wizardpage>
<!-- if auto updates are disabled, show the following page instead -->
<wizardpage id="noupdatesautodisabled" pageid="noupdatesautodisabled"
label="&noupdatesfound.title;" object="gNoUpdatesPage"
onpageshow="gNoUpdatesPage.onPageShow();">
<label>&noupdatesautodisabled.intro;</label>
<wizardpage id="incompatibleCheck" pageid="incompatibleCheck"
next="updatesfound" label="&incompatibleCheck.title;"
object="gIncompatibleCheckPage"
onpageshow="gIncompatibleCheckPage.onPageShow();">
<label>&incompatibleCheck.label;</label>
<separator class="thin"/>
<progressmeter id="incompatibleCheckProgress" mode="undetermined"/>
</wizardpage>
<!-- next is "downloading" by default, but could change to "license"
if we have a licenseURL on the update and this is a major update -->
<wizardpage id="updatesfound" pageid="updatesfound" next="downloading"
<wizardpage id="updatesfound" pageid="updatesfound" next="license"
object="gUpdatesAvailablePage" label=""
onpageshow="gUpdatesAvailablePage.onPageShow();"
onextra1="gUpdates.later()"
onextra2="gUpdates.never()">
onextra1="gUpdatesAvailablePage.onExtra1();"
onextra2="gUpdatesAvailablePage.onExtra2();">
<description id="updateType"/>
<separator class="thin"/>
<label id="updateName" crop="right"/>
<label id="updateName" crop="right" value=""/>
<separator id="updateNameSep" class="thin"/>
<description id="upgradeEvangelism">&upgrade.evangelism;</description>
<description id="upgradeEvangelism">&evangelism.desc;</description>
<separator id="upgradeEvangelismSep" flex="1"/>
<deck id="detailsDeck" flex="1">
<vbox align="start">
<hbox align="start">
<image id="incompatibleCheckingThrobber"/>
<vbox flex="1">
<description>&incompatibleChecking.label;</description>
</vbox>
</hbox>
<vbox flex="1">
<vbox id="moreInfoContent" flex="1">
<!-- note, the localized properties for this are prefixed by
the id. examples: updateMoreInfoContentNotFound
and updateMoreInfoContentDownloading -->
<remotecontent id="updateMoreInfoContent" flex="1"/>
</vbox>
<vbox>
<vbox id="moreInfoContent" flex="1">
<!-- XXX hack sspitzer not a "license", but using this for the
display details of a major update (using a remote web page) -->
<!-- note, the localized properties for this are prefixed by
the id. examples: updateMoreInfoContentNotFound
and updateMoreInfoContentDownloading -->
<license id="updateMoreInfoContent" flex="1"/>
</vbox>
<hbox align="start" id="incompatibleWarning" hidden="true">
<image id="alertImage"/>
<vbox flex="1">
<description>&incompatible.warning;</description>
<hbox pack="end">
<button label="&listIncompatible.label;" accesskey="&listIncompatible.accesskey;"
oncommand="gUpdatesAvailablePage.showIncompatibleItems();"/>
</hbox>
</vbox>
</hbox>
<hbox id="moreInfoURL">
<label class="text-link" id="updateMoreInfoURL"
value="&clickHere.label;"/>
</hbox>
</vbox>
</deck>
<hbox id="moreInfoURL">
<label class="text-link" id="updateMoreInfoURL"
value="&clickHere.label;" onclick="openUpdateURL(event);"/>
</hbox>
</vbox>
</wizardpage>
<wizardpage id="license" pageid="license" next="downloading"
<wizardpage id="license" pageid="license" next="incompatibleList"
object="gLicensePage" label="&license.titleText;"
onpageshow="gLicensePage.onPageShow();">
onpageshow="gLicensePage.onPageShow();"
onextra1="gLicensePage.onExtra1();">
<label>&license.instructionText;</label>
<separator class="thin"/>
<!-- note, the localized properties for this are prefixed by
the id. examples: licenseContentNotFound
and licenseContentDownloading -->
<license id="licenseContent" flex="1"/>
<remotecontent id="licenseContent" flex="1"/>
<separator class="thin"/>
<radiogroup id="acceptDeclineLicense"
onselect="gLicensePage.onAcceptDeclineRadio();">
@ -160,20 +141,37 @@
selected="true"/>
</radiogroup>
</wizardpage>
<wizardpage id="incompatibleList" pageid="incompatibleList"
next="downloading" label="&incompatibleList.title;"
object="gIncompatibleListPage"
onpageshow="gIncompatibleListPage.onPageShow();"
onextra1="gIncompatibleListPage.onExtra1();">
<description id="incompatibleListDesc"/>
<separator class="thin"/>
<listbox id="incompatibleList.listbox" flex="1"/>
</wizardpage>
<wizardpage id="downloading" pageid="downloading" next="finished"
object="gDownloadingPage" label="&downloading.title;"
onpageshow="gDownloadingPage.onPageShow();">
<hbox pack="start">
<label id="downloadName" crop="right" flex="1">&downloading.intro;</label>
<label class="text-link" id="detailsLink" value="&details.link;"/>
</hbox>
<progressmeter id="downloadProgress" mode="undetermined"/>
<hbox id="downloadStatusLine">
onpageshow="gDownloadingPage.onPageShow();"
onextra1="gDownloadingPage.onHide();">
<hbox id="downloadStatusTop">
<image id="downloadThrobber"/>
<label id="downloadName" crop="right">&downloading.intro;</label>
<spacer flex="1"/>
<label id="downloadDetailsLink" class="text-link"
value="&details.link;" onclick="openUpdateURL(event);"/>
</hbox>
<separator class="thin"/>
<hbox id="downloadStatusProgress">
<progressmeter id="downloadProgress" mode="undetermined" flex="1"/>
<button id="pauseButton" oncommand="gDownloadingPage.onPause();"
paused="false"/>
</hbox>
<separator class="thin"/>
<hbox id="downloadStatusLine">
<description id="downloadStatus" flex="1">&connecting.label;</description>
<button id="pauseButton" oncommand="gDownloadingPage.onPause();"
label="&pause.label;" accesskey="&pause.accesskey;"/>
</hbox>
<separator/>
<hbox id="verificationFailed" align="start" hidden="true">
@ -191,36 +189,37 @@
<separator/>
<label id="errorManual">&errorManual.label;</label>
<hbox>
<label class="text-link" id="errorLinkLabel"/>
<label class="text-link" id="errorLinkLabel" value=""
onclick="openUpdateURL(event);"/>
</hbox>
</wizardpage>
<wizardpage id="errorpatching" pageid="errorpatching" next="downloading"
label="&errorpatching.title;" object="gErrorsPage"
onpageshow="gErrorsPage.onPageShowPatching();">
label="&errorpatching.title;" object="gErrorsPage">
<label>&errorpatching.intro;</label>
</wizardpage>
<wizardpage id="finished" pageid="finished"
label="&finished.title;" object="gFinishedPage"
onpageshow="gFinishedPage.onPageShow();">
<label>&finished.text;</label>
label="&finishedPage.title;" object="gFinishedPage"
onpageshow="gFinishedPage.onPageShow();"
onextra1="gFinishedPage.onExtra1()">
<label>&finishedPage.text;</label>
</wizardpage>
<wizardpage id="finishedBackground" pageid="finishedBackground"
label="&finishedBackground.title;" object="gFinishedPage"
onpageshow="gFinishedPage.onPageShowBackground();">
<label>&finishedBackground.text;</label>
label="&finishedPage.title;" object="gFinishedPage"
onpageshow="gFinishedPage.onPageShowBackground();"
onextra1="gFinishedPage.onExtra1()">
<label>&finishedBackgroundPage.text;</label>
<separator/>
<hbox align="center">
<label>&finishedBackground.name;</label>
<label id="updateFinishedName" flex="1" crop="right"/>
<label id="finishedBackgroundLink" class="text-link" value="&details.link;"/>
<label id="updateFinishedName" flex="1" crop="right" value=""/>
<label id="finishedBackgroundLink" class="text-link" disabled="true"
value="&details.link;" onclick="openUpdateURL(event);"/>
</hbox>
<spacer flex="1"/>
<label>&finishedBackground.more1;</label>
<separator class="thin"/>
<label>&finishedBackground.textNotNow;</label>
<label>&finishedBackground.more;</label>
</wizardpage>
<wizardpage id="installed" pageid="installed"
@ -229,7 +228,8 @@
<label>&installed.intro;</label>
<separator/>
<hbox>
<label id="whatsnewLink" class="text-link" hidden="true" value="&whatsnew.label;"/>
<label id="whatsnewLink" class="text-link" hidden="true"
value="&whatsnew.label;" onclick="openUpdateURL(event);"/>
</hbox>
</wizardpage>

View File

@ -1,10 +1,8 @@
toolkit.jar:
% content mozapps %content/mozapps/ xpcnativewrappers=yes
content/mozapps/update/updates.css (content/updates.css)
* content/mozapps/update/updates.xul (content/updates.xul)
* content/mozapps/update/updates.js (content/updates.js)
* content/mozapps/update/updates.xml (content/updates.xml)
* content/mozapps/update/incompatible.xul (content/incompatible.xul)
* content/mozapps/update/incompatible.js (content/incompatible.js)
* content/mozapps/update/history.xul (content/history.xul)
* content/mozapps/update/history.js (content/history.js)
content/mozapps/update/updates.css (content/updates.css)
* content/mozapps/update/updates.js (content/updates.js)
* content/mozapps/update/updates.xml (content/updates.xml)
* content/mozapps/update/updates.xul (content/updates.xul)

View File

@ -439,7 +439,7 @@ interface nsIUpdateManager : nsISupports
* An interface describing an object that can show various kinds of Update
* notification UI to the user.
*/
[scriptable, uuid(6f145728-abc0-11dc-8314-0800200c9a66)]
[scriptable, uuid(599fd3c6-ec68-4499-ada5-2997739c97a6)]
interface nsIUpdatePrompt : nsISupports
{
/**
@ -458,8 +458,7 @@ interface nsIUpdatePrompt : nsISupports
/**
* Show a message advising that an update has now been downloaded and that
* the user should restart their software should be restarted so that the
* update can be installed.
* a restart is necessary to complete the update.
* @param update
* The update that was downloaded
* @param background
@ -469,11 +468,9 @@ interface nsIUpdatePrompt : nsISupports
[optional] in boolean background);
/**
* Shows a message detailing the update which was installed.
* @param update
* The nsIUpdate object which was just installed
* Shows a message that an update was installed successfully.
*/
void showUpdateInstalled(in nsIUpdate update);
void showUpdateInstalled();
/**
* Shows an error message UI telling the user about some kind of update

File diff suppressed because it is too large Load Diff

View File

@ -1,318 +0,0 @@
<?xml version="1.0"?>
<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:app="http://www.mozilla.org/2004/app-rdf#">
<Description about="urn:mozilla:app:{ec8030f7-c20a-464f-9b0e-13a3a9e97384}">
<app:updates>
<Seq>
<li resource="urn:mozilla:app:{ec8030f7-c20a-464f-9b0e-13a3a9e97384}:0.9"/>
<li resource="urn:mozilla:app:{ec8030f7-c20a-464f-9b0e-13a3a9e97384}:0.10"/>
<li resource="urn:mozilla:app:{ec8030f7-c20a-464f-9b0e-13a3a9e97384}:0.10.1"/>
<li resource="urn:mozilla:app:{ec8030f7-c20a-464f-9b0e-13a3a9e97384}:1.0"/>
</Seq>
</app:updates>
</Description>
<!-- **** 0.9 **** -->
<Description about="urn:mozilla:app:{ec8030f7-c20a-464f-9b0e-13a3a9e97384}:0.9">
<app:version>0.9</app:version>
<app:infoURL>http://getfirefox.com/</app:infoURL>
<app:features>
<Seq>
<li><Description app:name="- Better Extension Management"/></li>
<li><Description app:name="- New Default Theme"/></li>
</Seq>
</app:features>
<!-- Core Files - these must be installed -->
<app:files>
<Seq>
<li><Description app:internalName="XPCOM" app:name="Cross Platform COM">
<app:file><Description app:platform="windows" app:URL="http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/0.9/windows-xpi/xpcom.xpi"/></app:file>
<app:file><Description app:platform="macosx" app:URL="http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/0.9/mac-xpi/xpcom.xpi"/></app:file>
<app:file><Description app:platform="linux" app:URL="http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/0.9/linux-xpi/xpcom.xpi"/></app:file>
</Description></li>
<li><Description app:internalName="Browser" app:name="Firefox Browser">
<app:file><Description app:platform="windows" app:URL="http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/0.9/windows-xpi/browser.xpi"/></app:file>
<app:file><Description app:platform="macosx" app:URL="http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/0.9/mac-xpi/browser.xpi"/></app:file>
<app:file><Description app:platform="linux" app:URL="http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/0.9/linux-xpi/browser.xpi"/></app:file>
</Description></li>
<li><Description app:internalName="Help" app:name="Firefox Help Content">
<app:file><Description app:platform="windows" app:URL="http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/0.9/windows-xpi/help.xpi"/></app:file>
<app:file><Description app:platform="macosx" app:URL="http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/0.9/mac-xpi/help.xpi"/></app:file>
<app:file><Description app:platform="linux" app:URL="http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/0.9/linux-xpi/help.xpi"/></app:file>
</Description></li>
</Seq>
</app:files>
<!-- Optional Components - these are installed if they are installed already,
offered if they are not -->
<app:optional>
<Seq>
<li><Description app:internalName="Quality Feedback Utility" app:name="Quality Feedback Utility">
<app:file><Description app:platform="windows" app:URL="http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/0.9/windows-xpi/talkback.xpi"/></app:file>
<app:file><Description app:platform="macosx" app:URL="http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/0.9/mac-xpi/talkback.xpi"/></app:file>
<app:file><Description app:platform="linux" app:URL="http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/0.9/linux-xpi/talkback.xpi"/></app:file>
</Description></li>
<li><Description app:internalName="Developer tools" app:name="The Document Inspector - a tool for web developers.">
<app:file><Description app:platform="windows" app:URL="http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/0.9/windows-xpi/adt.xpi"/></app:file>
<app:file><Description app:platform="macosx" app:URL="http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/0.9/mac-xpi/adt.xpi"/></app:file>
<app:file><Description app:platform="linux" app:URL="http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/0.9/linux-xpi/adt.xpi"/></app:file>
</Description></li>
</Seq>
</app:optional>
<!-- Available Languages for this version of Firefox -->
<app:languages>
<Seq>
<li><Description app:name="English (US)"
app:internalName="en-US"
app:URL="http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/0.9/xpi/langenus.xpi"/></li>
<li><Description app:name="Japanese (JP)"
app:internalName="ja-JP"
app:URL="http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/0.9/xpi/langjajp.xpi"/></li>
<li><Description app:name="Danish (DK)"
app:internalName="da-DK"
app:URL="http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/0.9/xpi/langdade.xpi"/></li>
<li><Description app:name="English (GB)"
app:internalName="en-GB"
app:URL="http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/0.9/xpi/langengb.xpi"/></li>
</Seq>
</app:languages>
<!-- Available Patches for this version of Firefox, can be installed independently of any newer
versions. -->
<app:patches>
<Seq>
<li><Description app:URL="http://ftp.mozilla.org/pub/mozilla.org/mozilla/releases/mozilla1.7.1/shellblock.xpi"
app:name="ShellBlock Patch"
app:internalName="mozilla.org/bug250180"/></li>
</Seq>
</app:patches>
</Description>
<!-- **** 0.10 **** -->
<Description about="urn:mozilla:app:{ec8030f7-c20a-464f-9b0e-13a3a9e97384}:0.10">
<app:version>0.10</app:version>
<app:displayVersion>1.0 Preview Release</app:displayVersion>
<app:infoURL>http://getfirefox.com/</app:infoURL>
<app:features>
<Seq>
<li><Description app:name="- Live Bookmarks"/></li>
<li><Description app:name="- Improved Find"/></li>
</Seq>
</app:features>
<!-- Core Files - these must be installed -->
<app:files>
<Seq>
<li><Description app:internalName="XPCOM" app:name="Cross Platform COM">
<app:file><Description app:platform="windows" app:URL="http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/0.10/windows-xpi/xpcom.xpi"/></app:file>
<app:file><Description app:platform="linux" app:URL="http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/0.10/linux-xpi/xpcom.xpi"/></app:file>
</Description></li>
<li><Description app:internalName="Browser" app:name="Firefox Browser">
<app:file><Description app:platform="windows" app:URL="http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/0.10/windows-xpi/browser.xpi"/></app:file>
<app:file><Description app:platform="linux" app:URL="http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/0.10/linux-xpi/browser.xpi"/></app:file>
</Description></li>
<li><Description app:internalName="Help" app:name="Firefox Help Content">
<app:file><Description app:platform="windows" app:URL="http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/0.10/windows-xpi/help.xpi"/></app:file>
<app:file><Description app:platform="linux" app:URL="http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/0.10/linux-xpi/help.xpi"/></app:file>
</Description></li>
</Seq>
</app:files>
<!-- Optional Components - these are installed if they are installed already,
offered if they are not -->
<app:optional>
<Seq>
<li><Description app:internalName="Quality Feedback Utility" app:name="Quality Feedback Utility">
<app:file><Description app:platform="windows" app:URL="http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/0.10/windows-xpi/talkback.xpi"/></app:file>
<app:file><Description app:platform="linux" app:URL="http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/0.10/linux-xpi/talkback.xpi"/></app:file>
</Description></li>
<li><Description app:internalName="Developer tools" app:name="The Document Inspector - a tool for web developers.">
<app:file><Description app:platform="windows" app:URL="http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/0.10/windows-xpi/adt.xpi"/></app:file>
<app:file><Description app:platform="linux" app:URL="http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/0.10/linux-xpi/adt.xpi"/></app:file>
</Description></li>
</Seq>
</app:optional>
<!-- Available Languages for this version of Firefox -->
<app:languages>
<Seq>
<li><Description app:internalName="en-US" app:name="English (US)">
<app:file><Description app:platform="windows" app:URL="http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/0.10/windows-xpi/en-US.xpi"/></app:file>
<app:file><Description app:platform="linux" app:URL="http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/0.10/linux-xpi/en-US.xpi"/></app:file>
</Description>
</li>
</Seq>
</app:languages>
<!-- Available Patches for this version of Firefox, can be installed independently of any newer
versions. -->
<app:patches>
<Seq>
<li><Description app:URL="http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/0.10.1/patches/259708.xpi"
app:name="data: Downloading fix"
app:internalName="mozilla.org/bug259708"/></li>
</Seq>
</app:patches>
</Description>
<!-- **** 0.10.1 **** -->
<Description about="urn:mozilla:app:{ec8030f7-c20a-464f-9b0e-13a3a9e97384}:0.10.1">
<app:version>0.10.1</app:version>
<app:displayVersion>1.0 Preview Release</app:displayVersion>
<app:infoURL>http://getfirefox.com/</app:infoURL>
<app:features>
<Seq>
<li><Description app:name="- Live Bookmarks"/></li>
<li><Description app:name="- Improved Find"/></li>
</Seq>
</app:features>
<!-- Core Files - these must be installed -->
<app:files>
<Seq>
<li><Description app:internalName="XPCOM" app:name="Cross Platform COM">
<app:file><Description app:platform="windows" app:URL="http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/0.10.1/windows-xpi/xpcom.xpi"/></app:file>
<app:file><Description app:platform="linux" app:URL="http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/0.10.1/linux-xpi/xpcom.xpi"/></app:file>
</Description></li>
<li><Description app:internalName="Browser" app:name="Firefox Browser">
<app:file><Description app:platform="windows" app:URL="http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/0.10.1/windows-xpi/browser.xpi"/></app:file>
<app:file><Description app:platform="linux" app:URL="http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/0.10.1/linux-xpi/browser.xpi"/></app:file>
</Description></li>
<li><Description app:internalName="Help" app:name="Firefox Help Content">
<app:file><Description app:platform="windows" app:URL="http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/0.10.1/windows-xpi/help.xpi"/></app:file>
<app:file><Description app:platform="linux" app:URL="http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/0.10.1/linux-xpi/help.xpi"/></app:file>
</Description></li>
</Seq>
</app:files>
<!-- Optional Components - these are installed if they are installed already,
offered if they are not -->
<app:optional>
<Seq>
<li><Description app:internalName="Quality Feedback Utility" app:name="Quality Feedback Utility">
<app:file><Description app:platform="windows" app:URL="http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/0.10.1/windows-xpi/talkback.xpi"/></app:file>
<app:file><Description app:platform="linux" app:URL="http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/0.10.1/linux-xpi/talkback.xpi"/></app:file>
</Description></li>
<li><Description app:internalName="Developer tools" app:name="The Document Inspector - a tool for web developers.">
<app:file><Description app:platform="windows" app:URL="http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/0.10.1/windows-xpi/adt.xpi"/></app:file>
<app:file><Description app:platform="linux" app:URL="http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/0.10.1/linux-xpi/adt.xpi"/></app:file>
</Description></li>
</Seq>
</app:optional>
<!-- Available Languages for this version of Firefox -->
<app:languages>
<Seq>
<li><Description app:internalName="en-US" app:name="English (US)">
<app:file><Description app:platform="windows" app:URL="http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/0.10.1/windows-xpi/en-US.xpi"/></app:file>
<app:file><Description app:platform="linux" app:URL="http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/0.10.1/linux-xpi/en-US.xpi"/></app:file>
</Description>
</li>
</Seq>
</app:languages>
<!-- Available Patches for this version of Firefox, can be installed independently of any newer
versions. -->
<app:patches>
</app:patches>
</Description>
<!-- **** 1.0 **** -->
<Description about="urn:mozilla:app:{ec8030f7-c20a-464f-9b0e-13a3a9e97384}:1.0">
<app:version>1.0</app:version>
<app:displayVersion>1.0</app:displayVersion>
<app:infoURL>http://getfirefox.com/</app:infoURL>
<app:features>
<Seq>
<li><Description app:name="- Live Bookmarks"/></li>
<li><Description app:name="- Better Tabbed Browsing Controls"/></li>
</Seq>
</app:features>
<!-- Core Files - these must be installed -->
<app:files>
<Seq>
<li><Description app:internalName="XPCOM" app:name="Cross Platform COM">
<app:file><Description app:platform="windows" app:URL="http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/1.0/windows-xpi/xpcom.xpi"/></app:file>
<app:file><Description app:platform="linux" app:URL="http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/1.0/linux-xpi/xpcom.xpi"/></app:file>
</Description></li>
<li><Description app:internalName="Browser" app:name="Firefox Browser">
<app:file><Description app:platform="windows" app:URL="http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/1.0/windows-xpi/browser.xpi"/></app:file>
<app:file><Description app:platform="linux" app:URL="http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/1.0/linux-xpi/browser.xpi"/></app:file>
</Description></li>
<li><Description app:internalName="Help" app:name="Firefox Help Content">
<app:file><Description app:platform="windows" app:URL="http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/1.0/windows-xpi/help.xpi"/></app:file>
<app:file><Description app:platform="linux" app:URL="http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/1.0/linux-xpi/help.xpi"/></app:file>
</Description></li>
</Seq>
</app:files>
<!-- Optional Components - these are installed if they are installed already,
offered if they are not -->
<app:optional>
<Seq>
<li><Description app:internalName="Quality Feedback Utility" app:name="Quality Feedback Utility">
<app:file><Description app:platform="windows" app:URL="http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/1.0/windows-xpi/talkback.xpi"/></app:file>
<app:file><Description app:platform="linux" app:URL="http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/1.0/linux-xpi/talkback.xpi"/></app:file>
</Description></li>
<li><Description app:internalName="Developer tools" app:name="The Document Inspector - a tool for web developers.">
<app:file><Description app:platform="windows" app:URL="http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/1.0/windows-xpi/adt.xpi"/></app:file>
<app:file><Description app:platform="linux" app:URL="http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/1.0/linux-xpi/adt.xpi"/></app:file>
</Description></li>
</Seq>
</app:optional>
<!-- Available Languages for this version of Firefox -->
<app:languages>
<Seq>
<li><Description app:internalName="en-US" app:name="English (US)">
<app:file><Description app:platform="windows" app:URL="http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/1.0/windows-xpi/en-US.xpi"/></app:file>
<app:file><Description app:platform="linux" app:URL="http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/1.0/linux-xpi/en-US.xpi"/></app:file>
</Description>
</li>
</Seq>
</app:languages>
<!-- Available Patches for this version of Firefox, can be installed independently of any newer
versions. -->
<app:patches>
</app:patches>
</Description>
</RDF>

View File

@ -71,7 +71,7 @@ function end_test() {
// Returns human readable status text from the updates.properties bundle
function getStatusText(aErrCode) {
try {
return gUpdateBundle.GetStringFromName("checker_error-" + aErrCode);
return gUpdateBundle.GetStringFromName("check_error-" + aErrCode);
}
catch (e) {
}

View File

@ -73,7 +73,7 @@ function end_test() {
// Returns human readable status text from the updates.properties bundle
function getStatusText(aErrCode) {
try {
return gUpdateBundle.GetStringFromName("checker_error-" + aErrCode);
return gUpdateBundle.GetStringFromName("check_error-" + aErrCode);
}
catch (e) {
}

View File

@ -1,10 +1,15 @@
/**
* General
*/
.wizard-button[dlgtype="finish"] {
.wizard-button[heed="true"] {
font-weight: bold;
}
.wizard-button > .button-box {
padding-left: 15px !important;
padding-right: 15px !important;
}
link {
color: -moz-nativehyperlinktext;
border: 1px solid transparent;
@ -29,10 +34,7 @@ link:focus {
border: 1px dotted black;
}
/**
* License Page
*/
license {
remotecontent {
margin-top: 1px;
margin-bottom: 2px;
-moz-margin-start: 6px;
@ -41,16 +43,19 @@ license {
padding-bottom: 1px;
}
/**
* License Page
*/
.loadingBox {
padding: 3px 5px 3px 5px;
}
.licenseLoadingThrobber {
.remoteLoadingThrobber {
margin-top: 3px;
}
.licenseLoadingThrobber[state="loading"] {
.remoteLoadingThrobber[state="loading"] {
list-style-image: url("chrome://global/skin/icons/loading_16.png");
}
.licenseLoadingThrobber[state="error"] {
.remoteLoadingThrobber[state="error"] {
list-style-image: url("moz-icon://stock/gtk-dialog-error?size=menu");
}
@ -61,15 +66,6 @@ license {
margin: 1px 5px 4px 3px;
}
wizard[currentpageid="updatesfound"] .wizard-button[dlgtype="next"] {
font-weight: bold;
}
wizard[currentpageid="updatesfound"] .wizard-button[dlgtype="next"] > .button-box {
padding-left: 15px;
padding-right: 15px;
}
#updateForMoreInfo {
margin-left: 5px;
}
@ -95,28 +91,58 @@ wizard[currentpageid="updatesfound"] .wizard-button[dlgtype="next"] > .button-bo
/**
* Downloading Page
*/
#downloadName {
margin-top: 3px;
#downloadStatusTop, #downloadStatusLine {
-moz-box-align: center;
}
#downloadStatus {
margin-top: 6px;
height: 3em !important;
}
#downloadThrobber {
margin: 5px 3px 0px 5px;
margin-left: 5px;
list-style-image: url("chrome://global/skin/icons/notloading_16.png");
}
#downloadStatusProgress {
padding-right: 5px;
}
#downloadThrobber[state="loading"] {
list-style-image: url("chrome://global/skin/icons/loading_16.png");
}
#downloadStatusLine {
-moz-box-align: start;
#pauseButton {
list-style-image: url("moz-icon://stock/gtk-media-pause?size=menu");
-moz-appearance: none;
background-color: transparent;
border: none;
padding: 0;
margin: 0;
min-width: 0;
min-height: 0;
}
/* !Important must be used otherwise this won't immediately take affect */
#pauseButton > .button-box {
padding: 0 !important;
}
#pauseButton[disabled="true"] {
list-style-image: url("moz-icon://stock/gtk-media-pause?size=menu&state=disabled");
}
#pauseButton[paused="true"] {
list-style-image: url("moz-icon://stock/gtk-media-play?size=menu");
}
#pauseButton[paused="true"][disabled="true"] {
list-style-image: url("moz-icon://stock/gtk-media-play?size=menu&state=disabled");
}
#verificationFailedIcon {
margin-left: 5px;
list-style-image: url("moz-icon://stock/gtk-dialog-warning?size=menu");
margin: 5px 3px 0px 5px;
}
/**
@ -169,4 +195,3 @@ update {
margin-left: 27px;
margin-bottom: 10px;
}

View File

@ -28,7 +28,7 @@ classic.jar:
skin/classic/mozapps/plugins/pluginBlocked-16.png (plugins/pluginBlocked-16.png)
skin/classic/mozapps/profile/profileicon.png (profile/profileicon.png)
skin/classic/mozapps/profile/profileSelection.css (profile/profileSelection.css)
skin/classic/mozapps/update/warning.gif (update/warning.gif)
skin/classic/mozapps/update/buttons.png (update/buttons.png)
skin/classic/mozapps/update/updates.css (update/updates.css)
skin/classic/mozapps/update/update.png (update/update.png)
skin/classic/mozapps/viewsource/viewsource.css (viewsource/viewsource.css)

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

@ -1,7 +1,7 @@
/**
* General
*/
.wizard-button[dlgtype="finish"] {
.heed {
font-weight: bold;
}
@ -33,10 +33,7 @@ link:focus {
padding: 15px 10px 15px 10px;
}
/**
* License Page
*/
license {
remotecontent {
margin-top: 1px;
margin-bottom: 2px;
-moz-margin-start: 6px;
@ -45,16 +42,19 @@ license {
padding-bottom: 1px;
}
/**
* License Page
*/
.loadingBox {
padding: 3px 5px 3px 5px;
}
.licenseLoadingThrobber {
.remoteLoadingThrobber {
margin-top: 3px;
}
.licenseLoadingThrobber[state="loading"] {
.remoteLoadingThrobber[state="loading"] {
list-style-image: url("chrome://global/skin/icons/loading_16.png");
}
.licenseLoadingThrobber[state="error"] {
.remoteLoadingThrobber[state="error"] {
list-style-image: url("chrome://global/skin/icons/notfound.png");
}
@ -113,29 +113,69 @@ wizard[currentpageid="updatesfound"] .wizard-page-box {
/**
* Downloading Page
*/
#downloadName {
margin-top: 3px;
}
#downloadStatus {
margin-top: 6px;
#downloadStatusTop, #downloadStatusLine {
-moz-box-align: center;
}
#downloadThrobber {
margin: 5px 3px 0px 5px;
margin-left: 5px;
list-style-image: url("chrome://global/skin/icons/notloading_16.png");
}
#downloadThrobber[state="loading"] {
list-style-image: url("chrome://global/skin/icons/loading_16.png");
}
#verificationFailedIcon {
list-style-image: url("chrome://global/skin/icons/notfound.png");
margin: 5px 3px 0px 5px;
#downloadStatusProgress {
padding-right: 5px;
}
#downloadStatusLine {
-moz-box-align: center;
#pauseButton {
list-style-image: url(chrome://mozapps/skin/update/buttons.png);
-moz-image-region: rect(48px, 16px, 64px, 0px);
-moz-appearance: none;
background-color: transparent;
border: none;
min-height: 16px;
min-width: 16px;
max-height: 16px;
max-width: 16px;
padding: 0;
margin: 0 1px 0 1px;
}
/* !Important must be used otherwise this won't immediately take affect */
#pauseButton > .button-box {
padding: 0 !important;
}
#pauseButton:hover {
-moz-image-region: rect(48px, 32px, 64px, 16px);
}
#pauseButton:not([disabled="true"]):hover:active {
-moz-image-region: rect(48px, 48px, 64px, 32px);
}
#pauseButton[disabled="true"] {
-moz-image-region: rect(48px, 16px, 64px, 0px);
}
#pauseButton[paused="true"] {
-moz-image-region: rect(16px, 16px, 32px, 0px);
}
#pauseButton[paused="true"]:hover {
-moz-image-region: rect(16px, 32px, 32px, 16px);
}
#pauseButton[paused="true"]:hover:active {
-moz-image-region: rect(16px, 48px, 32px, 32px);
}
#verificationFailedIcon {
margin-left: 5px;
list-style-image: url("chrome://global/skin/icons/notfound.png");
}
/**
@ -193,4 +233,3 @@ update {
-moz-margin-start: 22px;
-moz-margin-end: 10px;
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 194 B

View File

@ -34,9 +34,8 @@ classic.jar:
skin/classic/mozapps/plugins/pluginInstallerWizard.css (plugins/pluginInstallerWizard.css)
skin/classic/mozapps/profile/profileicon.png (profile/profileicon.png)
skin/classic/mozapps/profile/profileSelection.css (profile/profileSelection.css)
skin/classic/mozapps/update/extensionalert.png (update/extensionalert.png)
skin/classic/mozapps/update/downloadButtons.png (update/downloadButtons.png)
skin/classic/mozapps/update/update.png (update/update.png)
skin/classic/mozapps/update/warning.gif (update/warning.gif)
skin/classic/mozapps/update/updates.css (update/updates.css)
skin/classic/mozapps/viewsource/viewsource.css (viewsource/viewsource.css)
* skin/classic/mozapps/xpinstall/xpinstallConfirm.css (xpinstall/xpinstallConfirm.css)
@ -75,9 +74,8 @@ classic.jar:
skin/classic/aero/mozapps/plugins/pluginInstallerWizard.css (plugins/pluginInstallerWizard.css)
skin/classic/aero/mozapps/profile/profileicon.png (profile/profileicon-aero.png)
skin/classic/aero/mozapps/profile/profileSelection.css (profile/profileSelection.css)
skin/classic/aero/mozapps/update/extensionalert.png (update/extensionalert-aero.png)
skin/classic/aero/mozapps/update/downloadButtons.png (update/downloadButtons-aero.png)
skin/classic/aero/mozapps/update/update.png (update/update-aero.png)
skin/classic/aero/mozapps/update/warning.gif (update/warning.gif)
skin/classic/aero/mozapps/update/updates.css (update/updates.css)
skin/classic/aero/mozapps/viewsource/viewsource.css (viewsource/viewsource.css)
* skin/classic/aero/mozapps/xpinstall/xpinstallConfirm.css (xpinstall/xpinstallConfirm.css)

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

View File

@ -1,182 +0,0 @@
/* Found Updates */
#foundList {
-moz-appearance: listbox;
margin: 10px 4px 10px 4px;
}
updateitem {
padding-top: 5px;
padding-bottom: 5px;
-moz-padding-start: 5px;
-moz-padding-end: 0px;
border-bottom: 1px dotted #C0C0C0;
margin-bottom: 5px;
}
.warning {
font-weight: bold;
}
.updateItemIcon {
width: 32px;
height: 32px;
max-width: 32px !important;
max-height: 32px !important;
-moz-margin-end: 5px;
}
.updateItemName {
font-weight: bold;
}
.updateItemNameRow {
padding-bottom: 3px;
}
.updateItemURL {
-moz-appearance: none;
border: none;
background-color: Window;
}
.updateItemFromLabel {
padding-top: 2px;
}
.updateItemIcon {
list-style-image: url("chrome://mozapps/skin/xpinstall/xpinstallItemGeneric.png");
}
.updateItemChecked {
margin: 20px 0px 3px 0px;
padding: 0px;
}
.updateItemChecked .checkbox-label-box {
display: none;
}
/* Update Wizard */
#alert {
list-style-image: url("chrome://mozapps/skin/update/update.png");
}
/* Inline Update Notifications */
toolbarbutton[type="updates"] {
padding: 0px;
-moz-appearance: none;
border: none;
}
toolbarbutton[type="updates"][updateCount="0"] {
visibility: collapse;
}
toolbarbutton[type="updates"] > .toolbarbutton-icon {
list-style-image: url("chrome://mozapps/skin/update/extensionalert.png");
-moz-image-region: rect(0px 16px 16px 0px);
width: 16px;
height: 16px;
margin: 0px 2px;
}
toolbarbutton[type="updates"][severity="0"] > .toolbarbutton-icon {
-moz-image-region: rect(0px 16px 16px 0px);
}
toolbarbutton[type="updates"][severity="1"] > .toolbarbutton-icon {
-moz-image-region: rect(0px 32px 16px 16px);
}
toolbarbutton[type="updates"][severity="2"] > .toolbarbutton-icon {
-moz-image-region: rect(0px 48px 16px 32px);
}
.throbber {
list-style-image: url("chrome://global/skin/icons/loading_16.png");
width: 16px;
height: 16px;
margin-top: 5px;
margin-bottom: 5px;
-moz-margin-start: 5px;
-moz-margin-end: 2px;
}
#incompatibleAlert {
background-color: InfoBackground;
color: InfoText;
border: 1px outset InfoBackground;
margin-left: 3px;
margin-right: 3px;
padding: 5px;
}
/* Updates View */
radio[type="update-type"] {
margin: 2px;
-moz-appearance: none;
}
.updateCategoryBox {
background-color: #DFDFDF;
padding: 3px;
-moz-appearance: radio-container;
}
.updateCategoryContent {
padding: 5px;
}
.updateCategoryLabel[selected="true"] {
font-weight: bold;
}
.updateCategoryIcon {
}
radiogroup[type="update-types"] {
-moz-appearance: listbox;
margin: 2px 4px;
border: 2px solid;
-moz-border-top-colors: ThreeDShadow ThreeDDarkShadow;
-moz-border-right-colors: ThreeDHighlight ThreeDLightShadow;
-moz-border-bottom-colors: ThreeDHighlight ThreeDLightShadow;
-moz-border-left-colors: ThreeDShadow ThreeDDarkShadow;
background-color: -moz-Field;
color: -moz-FieldText;
}
radio[type="update-type"][selected="true"] .updateCategoryBox {
background-color: #C0C0C0;
}
.foundSource {
border-bottom: 1px dotted #000000;
color: #000000;
cursor: pointer;
}
link {
text-decoration: underline !important;
color: #0000FF;
cursor: pointer;
}
link:active {
color: #FF0000;
}
.updateCategoryContent {
-moz-margin-start: 12px;
}
#optionalItemsList {
-moz-appearance: listbox;
margin: 2px 4px;
border: 2px solid;
-moz-border-top-colors: ThreeDShadow ThreeDDarkShadow;
-moz-border-right-colors: ThreeDHighlight ThreeDLightShadow;
-moz-border-bottom-colors: ThreeDHighlight ThreeDLightShadow;
-moz-border-left-colors: ThreeDShadow ThreeDDarkShadow;
background-color: -moz-Field;
color: -moz-FieldText;
}

View File

@ -1,10 +1,16 @@
/**
* General
*/
.wizard-button[dlgtype="finish"] {
.heed {
font-weight: bold;
}
.wizard-button > .button-box {
padding-left: 15px !important;
padding-right: 15px !important;
}
link {
color: -moz-nativehyperlinktext;
border: 1px solid transparent;
@ -29,10 +35,7 @@ link:focus {
border: 1px dotted black;
}
/**
* License Page
*/
license {
remotecontent {
margin-top: 1px;
margin-bottom: 2px;
-moz-margin-start: 6px;
@ -41,16 +44,19 @@ license {
padding-bottom: 1px;
}
/**
* License Page
*/
.loadingBox {
padding: 3px 5px 3px 5px;
}
.licenseLoadingThrobber {
.remoteLoadingThrobber {
margin-top: 3px;
}
.licenseLoadingThrobber[state="loading"] {
.remoteLoadingThrobber[state="loading"] {
list-style-image: url("chrome://global/skin/icons/loading_16.png");
}
.licenseLoadingThrobber[state="error"] {
.remoteLoadingThrobber[state="error"] {
list-style-image: url("chrome://global/skin/icons/notfound.png");
}
@ -61,15 +67,6 @@ license {
margin: 1px 5px 4px 3px;
}
wizard[currentpageid="updatesfound"] .wizard-button[dlgtype="next"] {
font-weight: bold;
}
wizard[currentpageid="updatesfound"] .wizard-button[dlgtype="next"] > .button-box {
padding-left: 15px;
padding-right: 15px;
}
#updateForMoreInfo {
margin-left: 5px;
}
@ -95,28 +92,75 @@ wizard[currentpageid="updatesfound"] .wizard-button[dlgtype="next"] > .button-bo
/**
* Downloading Page
*/
#downloadName {
margin-top: 3px;
#downloadStatusTop, #downloadStatusLine {
-moz-box-align: center;
}
#downloadStatus {
margin-top: 6px;
height: 3em !important;
}
#downloadThrobber {
margin: 5px 3px 0px 5px;
margin-left: 5px;
list-style-image: url("chrome://global/skin/icons/notloading_16.png");
}
#downloadThrobber[state="loading"] {
list-style-image: url("chrome://global/skin/icons/loading_16.png");
}
#downloadStatusLine {
-moz-box-align: start;
#downloadStatusProgress {
padding-right: 5px;
}
#pauseButton {
-moz-appearance: none;
list-style-image: url(chrome://mozapps/skin/downloads/downloadButtons.png);
-moz-image-region: rect(0px, 48px, 16px, 32px);
background-color: transparent;
border: none;
padding: 0;
margin: 0;
min-width: 0;
min-height: 0;
}
/* !Important must be used otherwise this won't immediately take affect */
#pauseButton > .button-box {
padding: 0 !important;
}
#pauseButton:hover {
-moz-image-region: rect(16px, 48px, 32px, 32px);
}
#pauseButton:active {
-moz-image-region: rect(32px, 48px, 48px, 32px);
}
#pauseButton[disabled="true"] {
-moz-image-region: rect(48px, 48px, 64px, 32px);
}
#pauseButton[paused="true"] {
-moz-image-region: rect(0px, 16px, 16px, 0px);
}
#pauseButton[paused="true"]:hover {
-moz-image-region: rect(16px, 16px, 32px, 0px);
}
#pauseButton[paused="true"]:active {
-moz-image-region: rect(32px, 16px, 48px, 0px);
}
#pauseButton[paused="true"][disabled="true"] {
-moz-image-region: rect(48px, 16px, 64px, 0px);
}
#verificationFailedIcon {
margin-left: 5px;
list-style-image: url("chrome://global/skin/icons/notfound.png");
margin: 5px 3px 0px 5px;
}
/**
@ -169,4 +213,3 @@ update {
margin-left: 27px;
margin-bottom: 10px;
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 382 B