Bug 1319762 - Remove download.xul and related unused files. r=florian

Remove files and resources no longer shipped or referenced and update
the appropriate packaging files.

MozReview-Commit-ID: Apaa2JnOTMt

--HG--
extra : rebase_source : e4f13f309fff39a5254d5cd7b53e98b51c6d21f8
This commit is contained in:
Steve Jarvis 2016-12-15 07:47:07 -07:00
parent d78d68e62a
commit 7f70113bbd
22 changed files with 1 additions and 2996 deletions

View File

@ -1,32 +0,0 @@
<?xml version="1.0"?>
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
<?xul-overlay href="chrome://browser/content/macBrowserOverlay.xul"?>
<overlay id="downloadManagerOverlay"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<window id="downloadManager">
#include browserMountPoints.inc
<script type="application/javascript"><![CDATA[
window.addEventListener("load", function(event) {
// Bug 405696: Map Edit -> Find command to the download manager's command
var findMenuItem = document.getElementById("menu_find");
findMenuItem.setAttribute("command", "cmd_findDownload");
findMenuItem.setAttribute("key", "key_findDownload");
// Bug 429614: Map Edit -> Select All command to download manager's command
let selectAllMenuItem = document.getElementById("menu_selectAll");
selectAllMenuItem.setAttribute("command", "cmd_selectAllDownloads");
selectAllMenuItem.setAttribute("key", "key_selectAllDownloads");
}, false);
]]></script>
</window>
</overlay>

View File

@ -4,7 +4,6 @@
browser.jar:
% content browser %content/browser/ contentaccessible=yes
#ifdef XP_MACOSX
% overlay chrome://mozapps/content/downloads/downloads.xul chrome://browser/content/downloadManagerOverlay.xul
% overlay chrome://mozapps/content/update/updates.xul chrome://browser/content/softwareUpdateOverlay.xul
#endif
#ifdef XP_WIN
@ -174,7 +173,6 @@ browser.jar:
* content/browser/hiddenWindow.xul (content/hiddenWindow.xul)
#ifdef XP_MACOSX
* content/browser/macBrowserOverlay.xul (content/macBrowserOverlay.xul)
* content/browser/downloadManagerOverlay.xul (content/downloadManagerOverlay.xul)
* content/browser/softwareUpdateOverlay.xul (content/softwareUpdateOverlay.xul)
#endif
* content/browser/viewSourceOverlay.xul (content/viewSourceOverlay.xul)

View File

@ -49,14 +49,6 @@ if CONFIG['OS_ARCH'] == 'WINNT':
'nsDownloadScanner.cpp',
]
# XXX - Until Suite builds off XULRunner we can't guarantee our implementation
# of nsIDownloadManagerUI overrides toolkit's.
if not CONFIG['MOZ_SUITE']:
EXTRA_COMPONENTS += [
'nsDownloadManagerUI.js',
'nsDownloadManagerUI.manifest',
]
FINAL_LIBRARY = 'xul'
LOCAL_INCLUDES += [

View File

@ -1,107 +0,0 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
Components.utils.import("resource://gre/modules/XPCOMUtils.jsm");
// Constants
const Cc = Components.classes;
const Ci = Components.interfaces;
const Cr = Components.results;
const DOWNLOAD_MANAGER_URL = "chrome://mozapps/content/downloads/downloads.xul";
const PREF_FLASH_COUNT = "browser.download.manager.flashCount";
// nsDownloadManagerUI class
function nsDownloadManagerUI() {}
nsDownloadManagerUI.prototype = {
classID: Components.ID("7dfdf0d1-aff6-4a34-bad1-d0fe74601642"),
// nsIDownloadManagerUI
show: function show(aWindowContext, aDownload, aReason, aUsePrivateUI)
{
if (!aReason)
aReason = Ci.nsIDownloadManagerUI.REASON_USER_INTERACTED;
// First we see if it is already visible
let window = this.recentWindow;
if (window) {
window.focus();
// If we are being asked to show again, with a user interaction reason,
// set the appropriate variable.
if (aReason == Ci.nsIDownloadManagerUI.REASON_USER_INTERACTED)
window.gUserInteracted = true;
return;
}
let parent = null;
// We try to get a window to use as the parent here. If we don't have one,
// the download manager will close immediately after opening if the pref
// browser.download.manager.closeWhenDone is set to true.
try {
if (aWindowContext)
parent = aWindowContext.getInterface(Ci.nsIDOMWindow);
} catch (e) { /* it's OK to not have a parent window */ }
// We pass the download manager and the nsIDownload we want selected (if any)
var params = Cc["@mozilla.org/array;1"].createInstance(Ci.nsIMutableArray);
params.appendElement(aDownload, false);
// Pass in the reason as well
let reason = Cc["@mozilla.org/supports-PRInt16;1"].
createInstance(Ci.nsISupportsPRInt16);
reason.data = aReason;
params.appendElement(reason, false);
var ww = Cc["@mozilla.org/embedcomp/window-watcher;1"].
getService(Ci.nsIWindowWatcher);
ww.openWindow(parent,
DOWNLOAD_MANAGER_URL,
"Download:Manager",
"chrome,dialog=no,resizable",
params);
},
get visible() {
return (null != this.recentWindow);
},
getAttention: function getAttention()
{
if (!this.visible)
throw Cr.NS_ERROR_UNEXPECTED;
var prefs = Cc["@mozilla.org/preferences-service;1"].
getService(Ci.nsIPrefBranch);
// This preference may not be set, so defaulting to two.
let flashCount = 2;
try {
flashCount = prefs.getIntPref(PREF_FLASH_COUNT);
} catch (e) { }
var win = this.recentWindow.QueryInterface(Ci.nsIDOMChromeWindow);
win.getAttentionWithCycleCount(flashCount);
},
// nsDownloadManagerUI
get recentWindow() {
var wm = Cc["@mozilla.org/appshell/window-mediator;1"].
getService(Ci.nsIWindowMediator);
return wm.getMostRecentWindow("Download:Manager");
},
// nsISupports
QueryInterface: XPCOMUtils.generateQI([Ci.nsIDownloadManagerUI])
};
// Module
var components = [nsDownloadManagerUI];
this.NSGetFactory = XPCOMUtils.generateNSGetFactory(components);

View File

@ -1,2 +0,0 @@
component {7dfdf0d1-aff6-4a34-bad1-d0fe74601642} nsDownloadManagerUI.js
contract @mozilla.org/download-manager-ui;1 {7dfdf0d1-aff6-4a34-bad1-d0fe74601642}

View File

@ -1,52 +0,0 @@
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<!-- LOCALIZATION NOTE (window.width2, window.height): These values should be
close to the golden ratio (1.618:1) while making sure it's wide enough for long
file names and tall enough to hint that there are more downloads in the list -->
<!ENTITY window.width2 "485">
<!ENTITY window.height "300">
<!ENTITY starting.label "Starting…">
<!ENTITY scanning.label "Scanning for viruses…">
<!ENTITY downloads.title "Downloads">
<!ENTITY cmd.pause.label "Pause">
<!ENTITY cmd.pause.accesskey "P">
<!ENTITY cmd.resume.label "Resume">
<!ENTITY cmd.resume.accesskey "R">
<!ENTITY cmd.cancel.label "Cancel">
<!ENTITY cmd.cancel.accesskey "C">
<!ENTITY cmd.show.label "Open Containing Folder">
<!ENTITY cmd.show.accesskey "F">
<!ENTITY cmd.showMac.label "Show in Finder">
<!ENTITY cmd.showMac.accesskey "F">
<!ENTITY cmd.open.label "Open">
<!ENTITY cmd.open.accesskey "O">
<!ENTITY cmd.openWith.label "Open With…">
<!ENTITY cmd.openWith.accesskey "h">
<!ENTITY cmd.retry.label "Retry">
<!ENTITY cmd.retry.accesskey "R">
<!ENTITY cmd.goToDownloadPage.label "Go to Download Page">
<!ENTITY cmd.goToDownloadPage.accesskey "G">
<!ENTITY cmd.copyDownloadLink.label "Copy Download Link">
<!ENTITY cmd.copyDownloadLink.accesskey "L">
<!ENTITY cmd.removeFromList.label "Remove From List">
<!ENTITY cmd.removeFromList.accesskey "e">
<!ENTITY cmd.close.commandKey "w">
<!ENTITY cmd.close2.commandKey "j">
<!ENTITY cmd.close2Unix.commandKey "y">
<!ENTITY cmd.clearList.label "Clear List">
<!ENTITY cmd.clearList.tooltip "Removes completed, canceled, and failed downloads from the list">
<!ENTITY cmd.clearList.accesskey "C">
<!ENTITY cmd.find.commandKey "f">
<!ENTITY cmd.search.commandKey "k">
<!ENTITY closeWhenDone.label "Close when downloads complete">
<!ENTITY closeWhenDone.tooltip "Closes the Downloads window when all files are done downloading">
<!ENTITY showFolder.label "Show this Folder">
<!ENTITY searchBox.label "Search…">

View File

@ -17,8 +17,6 @@ failed=Failed
finished=Finished
canceled=Canceled
cannotPause=This download cannot be paused
downloadErrorAlertTitle=Download Error
downloadErrorGeneric=The download cannot be saved because an unknown error occurred.\n\nPlease try again.
@ -92,51 +90,22 @@ timeLeftDouble2=%1$S, %2$S remaining
timeFewSeconds=A few seconds remaining
timeUnknown=Unknown time remaining
# LOCALIZATION NOTE (doneStatus): — is the "em dash" (long dash)
# #1 download size for FINISHED or download state; #2 host (e.g., eTLD + 1, IP)
# #2 can also be doneScheme or doneFileScheme for special URIs like file:
# examples: 1.1 MB — website2.com; Canceled — 222.net
doneStatus=#1 — #2
# LOCALIZATION NOTE (doneSize): #1 size number; #2 size unit
doneSize=#1 #2
doneSizeUnknown=Unknown size
# LOCALIZATION NOTE (doneScheme): #1 URI scheme like data: jar: about:
doneScheme2=%1$S resource
# LOCALIZATION NOTE (doneFileScheme): Special case of doneScheme for file:
# This is used as an eTLD replacement for local files, so make it lower case
doneFileScheme=local file
stateFailed=Failed
stateCanceled=Canceled
# LOCALIZATION NOTE (stateBlocked): 'Parental Controls' should be capitalized
stateBlocked=Blocked by Parental Controls
stateDirty=Blocked: Download may contain a virus or spyware
# LOCALIZATION NOTE (stateBlockedPolicy): 'Security Zone Policy' should be capitalized
stateBlockedPolicy=This download has been blocked by your Security Zone Policy
# LOCALIZATION NOTE (yesterday): Displayed time for files finished yesterday
yesterday=Yesterday
# LOCALIZATION NOTE (monthDate): #1 month name; #2 date number; e.g., January 22
monthDate2=%1$S %2$S
fileDoesNotExistOpenTitle=Cannot Open %S
fileDoesNotExistShowTitle=Cannot Show %S
fileDoesNotExistError=%S does not exist. It may have been renamed, moved, or deleted since it was downloaded.
chooseAppFilePickerTitle=Open With…
# LOCALIZATION NOTE (downloadsTitleFiles, downloadsTitlePercent): Semi-colon list of
# plural forms. See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
# #1 number of files; #2 overall download percent (only for downloadsTitlePercent)
# examples: 2% of 1 file - Downloads; 22% of 11 files - Downloads
downloadsTitleFiles=#1 file - Downloads;#1 files - Downloads
downloadsTitlePercent=#2% of #1 file - Downloads;#2% of #1 files - Downloads
fileExecutableSecurityWarning=“%S” is an executable file. Executable files may contain viruses or other malicious code that could harm your computer. Use caution when opening this file. Are you sure you want to launch “%S”?
fileExecutableSecurityWarningTitle=Open Executable File?
fileExecutableSecurityWarningDontAsk=Dont ask me this again
displayNameDesktop=Desktop
# Desktop folder name for downloaded files
downloadsFolder=Downloads

View File

@ -101,7 +101,6 @@
locale/@AB_CD@/mozapps/downloads/unknownContentType.properties (%chrome/mozapps/downloads/unknownContentType.properties)
locale/@AB_CD@/mozapps/downloads/unknownContentType.dtd (%chrome/mozapps/downloads/unknownContentType.dtd)
locale/@AB_CD@/mozapps/downloads/settingsChange.dtd (%chrome/mozapps/downloads/settingsChange.dtd)
locale/@AB_CD@/mozapps/downloads/downloads.dtd (%chrome/mozapps/downloads/downloads.dtd)
locale/@AB_CD@/mozapps/downloads/downloads.properties (%chrome/mozapps/downloads/downloads.properties)
locale/@AB_CD@/mozapps/extensions/extensions.dtd (%chrome/mozapps/extensions/extensions.dtd)
#ifndef MOZ_FENNEC

View File

@ -1,399 +0,0 @@
/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*-
* vim: sw=2 ts=2 sts=2 et filetype=javascript
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
this.EXPORTED_SYMBOLS = [
"DownloadTaskbarProgress",
];
// Constants
const Cc = Components.classes;
const Ci = Components.interfaces;
const Cu = Components.utils;
const Cr = Components.results;
Cu.import("resource://gre/modules/XPCOMUtils.jsm");
Cu.import("resource://gre/modules/AppConstants.jsm");
XPCOMUtils.defineLazyModuleGetter(this, "Services",
"resource://gre/modules/Services.jsm");
const kTaskbarIDWin = "@mozilla.org/windows-taskbar;1";
const kTaskbarIDMac = "@mozilla.org/widget/macdocksupport;1";
// DownloadTaskbarProgress Object
this.DownloadTaskbarProgress =
{
init: function DTP_init()
{
if (DownloadTaskbarProgressUpdater) {
DownloadTaskbarProgressUpdater._init();
}
},
/**
* Called when a browser window appears. This has an effect only when we
* don't already have an active window.
*
* @param aWindow
* The browser window that we'll potentially use to display the
* progress.
*/
onBrowserWindowLoad: function DTP_onBrowserWindowLoad(aWindow)
{
this.init();
if (!DownloadTaskbarProgressUpdater) {
return;
}
if (!DownloadTaskbarProgressUpdater._activeTaskbarProgress) {
DownloadTaskbarProgressUpdater._setActiveWindow(aWindow, false);
}
},
/**
* Called when the download window appears. The download window will take
* over as the active window.
*/
onDownloadWindowLoad: function DTP_onDownloadWindowLoad(aWindow)
{
if (!DownloadTaskbarProgressUpdater) {
return;
}
DownloadTaskbarProgressUpdater._setActiveWindow(aWindow, true);
},
/**
* Getters for internal DownloadTaskbarProgressUpdater values
*/
get activeTaskbarProgress() {
if (!DownloadTaskbarProgressUpdater) {
return null;
}
return DownloadTaskbarProgressUpdater._activeTaskbarProgress;
},
get activeWindowIsDownloadWindow() {
if (!DownloadTaskbarProgressUpdater) {
return null;
}
return DownloadTaskbarProgressUpdater._activeWindowIsDownloadWindow;
},
get taskbarState() {
if (!DownloadTaskbarProgressUpdater) {
return null;
}
return DownloadTaskbarProgressUpdater._taskbarState;
},
};
// DownloadTaskbarProgressUpdater Object
var DownloadTaskbarProgressUpdater =
{
// / Whether the taskbar is initialized.
_initialized: false,
// / Reference to the taskbar.
_taskbar: null,
// / Reference to the download manager.
_dm: null,
/**
* Initialize and register ourselves as a download progress listener.
*/
_init: function DTPU_init()
{
if (this._initialized) {
return; // Already initialized
}
this._initialized = true;
if (kTaskbarIDWin in Cc) {
this._taskbar = Cc[kTaskbarIDWin].getService(Ci.nsIWinTaskbar);
if (!this._taskbar.available) {
// The Windows version is probably too old
DownloadTaskbarProgressUpdater = null;
return;
}
} else if (kTaskbarIDMac in Cc) {
this._activeTaskbarProgress = Cc[kTaskbarIDMac].
getService(Ci.nsITaskbarProgress);
} else {
DownloadTaskbarProgressUpdater = null;
return;
}
this._taskbarState = Ci.nsITaskbarProgress.STATE_NO_PROGRESS;
this._dm = Cc["@mozilla.org/download-manager;1"].
getService(Ci.nsIDownloadManager);
this._dm.addPrivacyAwareListener(this);
this._os = Cc["@mozilla.org/observer-service;1"].
getService(Ci.nsIObserverService);
this._os.addObserver(this, "quit-application-granted", false);
this._updateStatus();
// onBrowserWindowLoad/onDownloadWindowLoad are going to set the active
// window, so don't do it here.
},
/**
* Unregisters ourselves as a download progress listener.
*/
_uninit: function DTPU_uninit() {
this._dm.removeListener(this);
this._os.removeObserver(this, "quit-application-granted");
this._activeTaskbarProgress = null;
this._initialized = false;
},
/**
* This holds a reference to the taskbar progress for the window we're
* working with. This window would preferably be download window, but can be
* another window if it isn't open.
*/
_activeTaskbarProgress: null,
// / Whether the active window is the download window
_activeWindowIsDownloadWindow: false,
/**
* Sets the active window, and whether it's the download window. This takes
* care of clearing out the previous active window's taskbar item, updating
* the taskbar, and setting an onunload listener.
*
* @param aWindow
* The window to set as active.
* @param aIsDownloadWindow
* Whether this window is a download window.
*/
_setActiveWindow: function DTPU_setActiveWindow(aWindow, aIsDownloadWindow)
{
if (AppConstants.platform == "win") {
// Clear out the taskbar for the old active window. (If there was no active
// window, this is a no-op.)
this._clearTaskbar();
this._activeWindowIsDownloadWindow = aIsDownloadWindow;
if (aWindow) {
// Get the taskbar progress for this window
let docShell = aWindow.QueryInterface(Ci.nsIInterfaceRequestor).
getInterface(Ci.nsIWebNavigation).
QueryInterface(Ci.nsIDocShellTreeItem).treeOwner.
QueryInterface(Ci.nsIInterfaceRequestor).
getInterface(Ci.nsIXULWindow).docShell;
let taskbarProgress = this._taskbar.getTaskbarProgress(docShell);
this._activeTaskbarProgress = taskbarProgress;
this._updateTaskbar();
// _onActiveWindowUnload is idempotent, so we don't need to check whether
// we've already set this before or not.
aWindow.addEventListener("unload", function() {
DownloadTaskbarProgressUpdater._onActiveWindowUnload(taskbarProgress);
}, false);
}
else {
this._activeTaskbarProgress = null;
}
}
},
// / Current state displayed on the active window's taskbar item
_taskbarState: null,
_totalSize: 0,
_totalTransferred: 0,
_shouldSetState: function DTPU_shouldSetState()
{
if (AppConstants.platform == "win") {
// If the active window is not the download manager window, set the state
// only if it is normal or indeterminate.
return this._activeWindowIsDownloadWindow ||
(this._taskbarState == Ci.nsITaskbarProgress.STATE_NORMAL ||
this._taskbarState == Ci.nsITaskbarProgress.STATE_INDETERMINATE);
}
return true;
},
/**
* Update the active window's taskbar indicator with the current state. There
* are two cases here:
* 1. If the active window is the download window, then we always update
* the taskbar indicator.
* 2. If the active window isn't the download window, then we update only if
* the status is normal or indeterminate. i.e. one or more downloads are
* currently progressing or in scan mode. If we aren't, then we clear the
* indicator.
*/
_updateTaskbar: function DTPU_updateTaskbar()
{
if (!this._activeTaskbarProgress) {
return;
}
if (this._shouldSetState()) {
this._activeTaskbarProgress.setProgressState(this._taskbarState,
this._totalTransferred,
this._totalSize);
}
// Clear any state otherwise
else {
this._clearTaskbar();
}
},
/**
* Clear taskbar state. This is needed:
* - to transfer the indicator off a window before transferring it onto
* another one
* - whenever we don't want to show it for a non-download window.
*/
_clearTaskbar: function DTPU_clearTaskbar()
{
if (this._activeTaskbarProgress) {
this._activeTaskbarProgress.setProgressState(
Ci.nsITaskbarProgress.STATE_NO_PROGRESS
);
}
},
/**
* Update this._taskbarState, this._totalSize and this._totalTransferred.
* This is called when the download manager is initialized or when the
* progress or state of a download changes.
* We compute the number of active and paused downloads, and the total size
* and total amount already transferred across whichever downloads we have
* the data for.
* - If there are no active downloads, then we don't want to show any
* progress.
* - If the number of active downloads is equal to the number of paused
* downloads, then we show a paused indicator if we know the size of at
* least one download, and no indicator if we don't.
* - If the number of active downloads is more than the number of paused
* downloads, then we show a "normal" indicator if we know the size of at
* least one download, and an indeterminate indicator if we don't.
*/
_updateStatus: function DTPU_updateStatus()
{
let numActive = this._dm.activeDownloadCount + this._dm.activePrivateDownloadCount;
let totalSize = 0, totalTransferred = 0;
if (numActive == 0) {
this._taskbarState = Ci.nsITaskbarProgress.STATE_NO_PROGRESS;
}
else {
let numPaused = 0, numScanning = 0;
// Enumerate all active downloads
[this._dm.activeDownloads, this._dm.activePrivateDownloads].forEach(function(downloads) {
while (downloads.hasMoreElements()) {
let download = downloads.getNext().QueryInterface(Ci.nsIDownload);
// Only set values if we actually know the download size
if (download.percentComplete != -1) {
totalSize += download.size;
totalTransferred += download.amountTransferred;
}
// We might need to display a paused state, so track this
if (download.state == this._dm.DOWNLOAD_PAUSED) {
numPaused++;
} else if (download.state == this._dm.DOWNLOAD_SCANNING) {
numScanning++;
}
}
}.bind(this));
// If all downloads are paused, show the progress as paused, unless we
// don't have any information about sizes, in which case we don't
// display anything
if (numActive == numPaused) {
if (totalSize == 0) {
this._taskbarState = Ci.nsITaskbarProgress.STATE_NO_PROGRESS;
totalTransferred = 0;
}
else {
this._taskbarState = Ci.nsITaskbarProgress.STATE_PAUSED;
}
}
// If at least one download is not paused, and we don't have any
// information about download sizes, display an indeterminate indicator
else if (totalSize == 0 || numActive == numScanning) {
this._taskbarState = Ci.nsITaskbarProgress.STATE_INDETERMINATE;
totalSize = 0;
totalTransferred = 0;
}
// Otherwise display a normal progress bar
else {
this._taskbarState = Ci.nsITaskbarProgress.STATE_NORMAL;
}
}
this._totalSize = totalSize;
this._totalTransferred = totalTransferred;
},
/**
* Called when a window that at one point has been an active window is
* closed. If this window is currently the active window, we need to look for
* another window and make that our active window.
*
* This function is idempotent, so multiple calls for the same window are not
* a problem.
*
* @param aTaskbarProgress
* The taskbar progress for the window that is being unloaded.
*/
_onActiveWindowUnload: function DTPU_onActiveWindowUnload(aTaskbarProgress)
{
if (this._activeTaskbarProgress == aTaskbarProgress) {
let windowMediator = Cc["@mozilla.org/appshell/window-mediator;1"].
getService(Ci.nsIWindowMediator);
let windows = windowMediator.getEnumerator(null);
let newActiveWindow = null;
if (windows.hasMoreElements()) {
newActiveWindow = windows.getNext().QueryInterface(Ci.nsIDOMWindow);
}
// We aren't ever going to reach this point while the download manager is
// open, so it's safe to assume false for the second operand
this._setActiveWindow(newActiveWindow, false);
}
},
// nsIDownloadProgressListener
/**
* Update status if a download's progress has changed.
*/
onProgressChange: function DTPU_onProgressChange()
{
this._updateStatus();
this._updateTaskbar();
},
/**
* Update status if a download's state has changed.
*/
onDownloadStateChange: function DTPU_onDownloadStateChange()
{
this._updateStatus();
this._updateTaskbar();
},
onSecurityChange: function() { },
onStateChange: function() { },
observe: function DTPU_observe(aSubject, aTopic, aData) {
if (aTopic == "quit-application-granted") {
this._uninit();
}
}
};

View File

@ -1,117 +0,0 @@
// -*- indent-tabs-mode: nil; js-indent-level: 2 -*-
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
/**
* DownloadProgressListener "class" is used to help update download items shown
* in the Download Manager UI such as displaying amount transferred, transfer
* rate, and time left for each download.
*
* This class implements the nsIDownloadProgressListener interface.
*/
function DownloadProgressListener() {}
DownloadProgressListener.prototype = {
// nsISupports
QueryInterface: XPCOMUtils.generateQI([Ci.nsIDownloadProgressListener]),
// nsIDownloadProgressListener
onDownloadStateChange: function dlPL_onDownloadStateChange(aState, aDownload)
{
// Update window title in-case we don't get all progress notifications
onUpdateProgress();
let dl;
let state = aDownload.state;
switch (state) {
case nsIDM.DOWNLOAD_QUEUED:
prependList(aDownload);
break;
case nsIDM.DOWNLOAD_BLOCKED_POLICY:
prependList(aDownload);
// Should fall through, this is a final state but DOWNLOAD_QUEUED
// is skipped. See nsDownloadManager::AddDownload.
case nsIDM.DOWNLOAD_FAILED:
case nsIDM.DOWNLOAD_CANCELED:
case nsIDM.DOWNLOAD_BLOCKED_PARENTAL:
case nsIDM.DOWNLOAD_DIRTY:
case nsIDM.DOWNLOAD_FINISHED:
downloadCompleted(aDownload);
if (state == nsIDM.DOWNLOAD_FINISHED)
autoRemoveAndClose(aDownload);
break;
case nsIDM.DOWNLOAD_DOWNLOADING: {
dl = getDownload(aDownload.id);
// At this point, we know if we are an indeterminate download or not
dl.setAttribute("progressmode", aDownload.percentComplete == -1 ?
"undetermined" : "normal");
// As well as knowing the referrer
let referrer = aDownload.referrer;
if (referrer)
dl.setAttribute("referrer", referrer.spec);
break;
}
}
// autoRemoveAndClose could have already closed our window...
try {
if (!dl)
dl = getDownload(aDownload.id);
// Update to the new state
dl.setAttribute("state", state);
// Update ui text values after switching states
updateTime(dl);
updateStatus(dl);
updateButtons(dl);
} catch (e) { }
},
onProgressChange: function dlPL_onProgressChange(aWebProgress, aRequest,
aCurSelfProgress,
aMaxSelfProgress,
aCurTotalProgress,
aMaxTotalProgress, aDownload)
{
var download = getDownload(aDownload.id);
// Update this download's progressmeter
if (aDownload.percentComplete != -1) {
download.setAttribute("progress", aDownload.percentComplete);
// Dispatch ValueChange for a11y
let event = document.createEvent("Events");
event.initEvent("ValueChange", true, true);
document.getAnonymousElementByAttribute(download, "anonid", "progressmeter")
.dispatchEvent(event);
}
// Update the progress so the status can be correctly updated
download.setAttribute("currBytes", aDownload.amountTransferred);
download.setAttribute("maxBytes", aDownload.size);
// Update the rest of the UI (bytes transferred, bytes total, download rate,
// time remaining).
updateStatus(download, aDownload);
// Update window title
onUpdateProgress();
},
onStateChange: function(aWebProgress, aRequest, aState, aStatus, aDownload)
{
},
onSecurityChange: function(aWebProgress, aRequest, aState, aDownload)
{
}
};

View File

@ -1,327 +0,0 @@
<?xml version="1.0"?>
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<!DOCTYPE bindings [
<!ENTITY % downloadDTD SYSTEM "chrome://mozapps/locale/downloads/downloads.dtd" >
%downloadDTD;
]>
<bindings id="downloadBindings"
xmlns="http://www.mozilla.org/xbl"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:xbl="http://www.mozilla.org/xbl">
<binding id="download-base" extends="chrome://global/content/bindings/richlistbox.xml#richlistitem">
<resources>
<stylesheet src="chrome://mozapps/skin/downloads/downloads.css"/>
</resources>
<implementation>
<property name="paused">
<getter>
<![CDATA[
return parseInt(this.getAttribute("state")) == Components.interfaces.nsIDownloadManager.DOWNLOAD_PAUSED;
]]>
</getter>
</property>
<property name="openable">
<getter>
<![CDATA[
return parseInt(this.getAttribute("state")) == Components.interfaces.nsIDownloadManager.DOWNLOAD_FINISHED;
]]>
</getter>
</property>
<property name="inProgress">
<getter>
<![CDATA[
var state = parseInt(this.getAttribute("state"));
const dl = Components.interfaces.nsIDownloadManager;
return state == dl.DOWNLOAD_NOTSTARTED ||
state == dl.DOWNLOAD_QUEUED ||
state == dl.DOWNLOAD_DOWNLOADING ||
state == dl.DOWNLOAD_PAUSED ||
state == dl.DOWNLOAD_SCANNING;
]]>
</getter>
</property>
<property name="removable">
<getter>
<![CDATA[
var state = parseInt(this.getAttribute("state"));
const dl = Components.interfaces.nsIDownloadManager;
return state == dl.DOWNLOAD_FINISHED ||
state == dl.DOWNLOAD_CANCELED ||
state == dl.DOWNLOAD_BLOCKED_PARENTAL ||
state == dl.DOWNLOAD_BLOCKED_POLICY ||
state == dl.DOWNLOAD_DIRTY ||
state == dl.DOWNLOAD_FAILED;
]]>
</getter>
</property>
<property name="buttons">
<getter>
<![CDATA[
var startEl = document.getAnonymousNodes(this);
if (!startEl.length)
startEl = [this];
const XULNS = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
return startEl[0].getElementsByTagNameNS(XULNS, "button");
]]>
</getter>
</property>
</implementation>
</binding>
<binding id="download-starting" extends="chrome://mozapps/content/downloads/download.xml#download-base">
<content>
<xul:hbox flex="1">
<xul:vbox pack="center">
<xul:image class="downloadTypeIcon" validate="always"
xbl:inherits="src=image"/>
</xul:vbox>
<xul:vbox pack="start" flex="1">
<xul:label xbl:inherits="value=target,tooltiptext=target"
crop="center" class="name"/>
<xul:progressmeter mode="normal" value="0" flex="1"
anonid="progressmeter"/>
<xul:label value="&starting.label;" class="status"/>
<xul:spacer flex="1"/>
</xul:vbox>
<xul:vbox pack="center">
<xul:button class="cancel mini-button" tooltiptext="&cmd.cancel.label;"
cmd="cmd_cancel" ondblclick="event.stopPropagation();"
oncommand="performCommand('cmd_cancel', this);"/>
</xul:vbox>
</xul:hbox>
</content>
</binding>
<binding id="download-downloading" extends="chrome://mozapps/content/downloads/download.xml#download-base">
<content>
<xul:hbox flex="1" class="downloadContentBox">
<xul:vbox pack="center">
<xul:image class="downloadTypeIcon" validate="always"
xbl:inherits="src=image"/>
</xul:vbox>
<xul:vbox flex="1">
<xul:label xbl:inherits="value=target,tooltiptext=target"
crop="center" flex="2" class="name"/>
<xul:hbox>
<xul:vbox flex="1">
<xul:progressmeter mode="normal" value="0" flex="1"
anonid="progressmeter"
xbl:inherits="value=progress,mode=progressmode"/>
</xul:vbox>
<xul:button class="pause mini-button" tooltiptext="&cmd.pause.label;"
cmd="cmd_pause" ondblclick="event.stopPropagation();"
oncommand="performCommand('cmd_pause', this);"/>
<xul:button class="cancel mini-button" tooltiptext="&cmd.cancel.label;"
cmd="cmd_cancel" ondblclick="event.stopPropagation();"
oncommand="performCommand('cmd_cancel', this);"/>
</xul:hbox>
<xul:label xbl:inherits="value=status,tooltiptext=statusTip" flex="1"
crop="right" class="status"/>
<xul:spacer flex="1"/>
</xul:vbox>
</xul:hbox>
</content>
</binding>
<binding id="download-paused" extends="chrome://mozapps/content/downloads/download.xml#download-base">
<content>
<xul:hbox flex="1">
<xul:vbox pack="center">
<xul:image class="downloadTypeIcon" validate="always"
xbl:inherits="src=image"/>
</xul:vbox>
<xul:vbox flex="1">
<xul:label xbl:inherits="value=target,tooltiptext=target"
crop="center" flex="2" class="name"/>
<xul:hbox>
<xul:vbox flex="1">
<xul:progressmeter mode="normal" value="0" flex="1"
anonid="progressmeter"
xbl:inherits="value=progress,mode=progressmode"/>
</xul:vbox>
<xul:button class="resume mini-button" tooltiptext="&cmd.resume.label;"
cmd="cmd_resume" ondblclick="event.stopPropagation();"
oncommand="performCommand('cmd_resume', this);"/>
<xul:button class="cancel mini-button" tooltiptext="&cmd.cancel.label;"
cmd="cmd_cancel" ondblclick="event.stopPropagation();"
oncommand="performCommand('cmd_cancel', this);"/>
</xul:hbox>
<xul:label xbl:inherits="value=status,tooltiptext=statusTip" flex="1"
crop="right" class="status"/>
<xul:spacer flex="1"/>
</xul:vbox>
</xul:hbox>
</content>
</binding>
<binding id="download-done" extends="chrome://mozapps/content/downloads/download.xml#download-base">
<content>
<xul:hbox flex="1">
<xul:vbox pack="center">
<xul:image class="downloadTypeIcon" validate="always"
xbl:inherits="src=image"/>
</xul:vbox>
<xul:vbox pack="start" flex="1">
<xul:hbox align="center" flex="1">
<xul:label xbl:inherits="value=target,tooltiptext=target"
crop="center" flex="1" class="name"/>
<xul:label xbl:inherits="value=dateTime,tooltiptext=dateTimeTip"
class="dateTime"/>
</xul:hbox>
<xul:hbox align="center" flex="1">
<xul:label xbl:inherits="value=status,tooltiptext=statusTip"
crop="end" flex="1" class="status"/>
</xul:hbox>
</xul:vbox>
</xul:hbox>
</content>
</binding>
<binding id="download-canceled" extends="chrome://mozapps/content/downloads/download.xml#download-base">
<content>
<xul:hbox flex="1">
<xul:vbox pack="center">
<xul:image class="downloadTypeIcon" validate="always"
xbl:inherits="src=image"/>
</xul:vbox>
<xul:vbox pack="start" flex="1">
<xul:hbox align="center" flex="1">
<xul:label xbl:inherits="value=target,tooltiptext=target"
crop="center" flex="1" class="name"/>
<xul:label xbl:inherits="value=dateTime,tooltiptext=dateTimeTip"
class="dateTime"/>
</xul:hbox>
<xul:hbox align="center" flex="1">
<xul:label xbl:inherits="value=status,tooltiptext=statusTip"
crop="end" flex="1" class="status"/>
<xul:button class="retry mini-button" tooltiptext="&cmd.retry.label;"
cmd="cmd_retry" ondblclick="event.stopPropagation();"
oncommand="performCommand('cmd_retry', this);"/>
</xul:hbox>
</xul:vbox>
</xul:hbox>
</content>
</binding>
<binding id="download-failed" extends="chrome://mozapps/content/downloads/download.xml#download-base">
<content>
<xul:hbox flex="1">
<xul:vbox pack="center">
<xul:image class="downloadTypeIcon" validate="always"
xbl:inherits="src=image"/>
</xul:vbox>
<xul:vbox pack="start" flex="1">
<xul:hbox align="center" flex="1">
<xul:label xbl:inherits="value=target,tooltiptext=target"
crop="center" flex="1" class="name"/>
<xul:label xbl:inherits="value=dateTime,tooltiptext=dateTimeTip"
class="dateTime"/>
</xul:hbox>
<xul:hbox align="center" flex="1">
<xul:label xbl:inherits="value=status,tooltiptext=statusTip"
crop="end" flex="1" class="status"/>
<xul:button class="retry mini-button" tooltiptext="&cmd.retry.label;"
cmd="cmd_retry" ondblclick="event.stopPropagation();"
oncommand="performCommand('cmd_retry', this);"/>
</xul:hbox>
</xul:vbox>
</xul:hbox>
</content>
</binding>
<binding id="download-blocked-parental" extends="chrome://mozapps/content/downloads/download.xml#download-base">
<content>
<xul:hbox flex="1">
<xul:vbox pack="center">
<xul:image class="downloadTypeIcon blockedIcon"/>
</xul:vbox>
<xul:vbox pack="start" flex="1">
<xul:hbox align="center" flex="1">
<xul:label xbl:inherits="value=target,tooltiptext=target"
crop="center" flex="1" class="name"/>
<xul:label xbl:inherits="value=dateTime,tooltiptext=dateTimeTip"
class="dateTime"/>
</xul:hbox>
<xul:hbox align="center" flex="1">
<xul:label xbl:inherits="value=status,tooltiptext=statusTip"
crop="end" flex="1" class="status"/>
</xul:hbox>
</xul:vbox>
</xul:hbox>
</content>
</binding>
<binding id="download-blocked-policy" extends="chrome://mozapps/content/downloads/download.xml#download-base">
<content>
<xul:hbox flex="1">
<xul:vbox pack="center">
<xul:image class="downloadTypeIcon blockedIcon"/>
</xul:vbox>
<xul:vbox pack="start" flex="1">
<xul:hbox align="center" flex="1">
<xul:label xbl:inherits="value=target,tooltiptext=target"
crop="center" flex="1" class="name"/>
<xul:label xbl:inherits="value=dateTime,tooltiptext=dateTimeTip"
class="dateTime"/>
</xul:hbox>
<xul:hbox align="center" flex="1">
<xul:label xbl:inherits="value=status,tooltiptext=statusTip"
crop="end" flex="1" class="status"/>
</xul:hbox>
</xul:vbox>
</xul:hbox>
</content>
</binding>
<binding id="download-scanning" extends="chrome://mozapps/content/downloads/download.xml#download-base">
<content>
<xul:hbox flex="1">
<xul:vbox pack="center">
<xul:image class="downloadTypeIcon" validate="always"
xbl:inherits="src=image"/>
</xul:vbox>
<xul:vbox pack="start" flex="1">
<xul:label xbl:inherits="value=target,tooltiptext=target"
crop="center" flex="2" class="name"/>
<xul:hbox>
<xul:vbox flex="1">
<xul:progressmeter mode="undetermined" flex="1" />
</xul:vbox>
</xul:hbox>
<xul:label value="&scanning.label;" class="status"/>
<xul:spacer flex="1"/>
</xul:vbox>
</xul:hbox>
</content>
</binding>
<binding id="download-dirty" extends="chrome://mozapps/content/downloads/download.xml#download-base">
<content>
<xul:hbox flex="1">
<xul:vbox pack="center">
<xul:image class="downloadTypeIcon blockedIcon"/>
</xul:vbox>
<xul:vbox pack="start" flex="1">
<xul:hbox align="center" flex="1">
<xul:label xbl:inherits="value=target,tooltiptext=target"
crop="center" flex="1" class="name"/>
<xul:label xbl:inherits="value=dateTime,tooltiptext=dateTimeTip"
class="dateTime"/>
</xul:hbox>
<xul:hbox align="center" flex="1">
<xul:label xbl:inherits="value=status,tooltiptext=statusTip"
crop="end" flex="1" class="status"/>
</xul:hbox>
</xul:vbox>
</xul:hbox>
</content>
</binding>
</bindings>

View File

@ -1,50 +0,0 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
richlistitem[type="download"] {
-moz-binding: url('chrome://mozapps/content/downloads/download.xml#download-starting');
-moz-box-orient: vertical;
}
richlistitem[type="download"][state="0"] {
-moz-binding: url('chrome://mozapps/content/downloads/download.xml#download-downloading');
}
richlistitem[type="download"][state="1"] {
-moz-binding: url('chrome://mozapps/content/downloads/download.xml#download-done');
}
richlistitem[type="download"][state="2"] {
-moz-binding: url('chrome://mozapps/content/downloads/download.xml#download-failed');
}
richlistitem[type="download"][state="3"] {
-moz-binding: url('chrome://mozapps/content/downloads/download.xml#download-canceled');
}
richlistitem[type="download"][state="4"] {
-moz-binding: url('chrome://mozapps/content/downloads/download.xml#download-paused');
}
richlistitem[type="download"][state="6"] {
-moz-binding: url('chrome://mozapps/content/downloads/download.xml#download-blocked-parental');
}
richlistitem[type="download"][state="7"] {
-moz-binding: url('chrome://mozapps/content/downloads/download.xml#download-scanning');
}
richlistitem[type="download"][state="8"] {
-moz-binding: url('chrome://mozapps/content/downloads/download.xml#download-dirty');
}
richlistitem[type="download"][state="9"] {
-moz-binding: url('chrome://mozapps/content/downloads/download.xml#download-blocked-policy');
}
/* Only focus buttons in the selected item*/
richlistitem[type="download"]:not([selected="true"]) button {
-moz-user-focus: none;
}

File diff suppressed because it is too large Load Diff

View File

@ -1,164 +0,0 @@
<?xml version="1.0"?>
# -*- Mode: Java; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#ifdef XP_UNIX
#ifndef XP_MACOSX
#define XP_GNOME 1
#endif
#endif
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<?xml-stylesheet href="chrome://mozapps/content/downloads/downloads.css"?>
<?xml-stylesheet href="chrome://mozapps/skin/downloads/downloads.css"?>
<!DOCTYPE window [
<!ENTITY % downloadManagerDTD SYSTEM "chrome://mozapps/locale/downloads/downloads.dtd">
%downloadManagerDTD;
<!ENTITY % editMenuOverlayDTD SYSTEM "chrome://global/locale/editMenuOverlay.dtd">
%editMenuOverlayDTD;
]>
<window xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
id="downloadManager" windowtype="Download:Manager"
orient="vertical" title="&downloads.title;" statictitle="&downloads.title;"
width="&window.width2;" height="&window.height;" screenX="10" screenY="10"
persist="width height screenX screenY sizemode"
onload="Startup();" onunload="Shutdown();"
onclose="return closeWindow(false);">
<script type="application/javascript" src="chrome://mozapps/content/downloads/downloads.js"/>
<script type="application/javascript" src="chrome://mozapps/content/downloads/DownloadProgressListener.js"/>
<script type="application/javascript" src="chrome://global/content/contentAreaUtils.js"/>
<script type="application/javascript" src="chrome://global/content/globalOverlay.js"/>
<stringbundleset id="downloadSet">
<stringbundle id="brandStrings" src="chrome://branding/locale/brand.properties"/>
<stringbundle id="downloadStrings" src="chrome://mozapps/locale/downloads/downloads.properties"/>
</stringbundleset>
<!-- Use this commandset for command which do not depened on focus or selection -->
<commandset id="generalCommands">
<command id="cmd_findDownload" oncommand="setSearchboxFocus();"/>
<command id="cmd_selectAllDownloads" oncommand="gDownloadsView.selectAll();"/>
<command id="cmd_clearList" oncommand="clearDownloadList();"/>
</commandset>
<keyset id="downloadKeys">
<key keycode="VK_RETURN" oncommand="doDefaultForSelected();"/>
<key id="key_pauseResume" key=" " oncommand="performCommand('cmd_pauseResume');"/>
<key id="key_removeFromList" keycode="VK_DELETE" oncommand="performCommand('cmd_removeFromList');"/>
#ifdef XP_MACOSX
<key id="key_removeFromList2" keycode="VK_BACK" oncommand="performCommand('cmd_removeFromList');"/>
#endif
<key id="key_close" key="&cmd.close.commandKey;" oncommand="closeWindow(true);" modifiers="accel"/>
#ifdef XP_GNOME
<key id="key_close2" key="&cmd.close2Unix.commandKey;" oncommand="closeWindow(true);" modifiers="accel,shift"/>
#else
<key id="key_close2" key="&cmd.close2.commandKey;" oncommand="closeWindow(true);" modifiers="accel"/>
#endif
<key keycode="VK_ESCAPE" oncommand="closeWindow(true);"/>
<key id="key_findDownload"
key="&cmd.find.commandKey;"
modifiers="accel"
command="cmd_findDownload"/>
<key id="key_findDownload2"
key="&cmd.search.commandKey;"
modifiers="accel"
command="cmd_findDownload"/>
<key id="key_selectAllDownloads"
key="&selectAllCmd.key;"
modifiers="accel"
command="cmd_selectAllDownloads"/>
<key id="pasteKey"
key="V"
modifiers="accel"
oncommand="pasteHandler();"/>
</keyset>
<vbox id="contextMenuPalette" hidden="true">
<menuitem id="menuitem_pause"
label="&cmd.pause.label;" accesskey="&cmd.pause.accesskey;"
oncommand="performCommand('cmd_pause');"
cmd="cmd_pause"/>
<menuitem id="menuitem_resume"
label="&cmd.resume.label;" accesskey="&cmd.resume.accesskey;"
oncommand="performCommand('cmd_resume');"
cmd="cmd_resume"/>
<menuitem id="menuitem_cancel"
label="&cmd.cancel.label;" accesskey="&cmd.cancel.accesskey;"
oncommand="performCommand('cmd_cancel');"
cmd="cmd_cancel"/>
<menuitem id="menuitem_open" default="true"
label="&cmd.open.label;" accesskey="&cmd.open.accesskey;"
oncommand="performCommand('cmd_open');"
cmd="cmd_open"/>
<menuitem id="menuitem_show"
#ifdef XP_MACOSX
label="&cmd.showMac.label;"
accesskey="&cmd.showMac.accesskey;"
#else
label="&cmd.show.label;"
accesskey="&cmd.show.accesskey;"
#endif
oncommand="performCommand('cmd_show');"
cmd="cmd_show"/>
<menuitem id="menuitem_retry" default="true"
label="&cmd.retry.label;" accesskey="&cmd.retry.accesskey;"
oncommand="performCommand('cmd_retry');"
cmd="cmd_retry"/>
<menuitem id="menuitem_removeFromList"
label="&cmd.removeFromList.label;" accesskey="&cmd.removeFromList.accesskey;"
oncommand="performCommand('cmd_removeFromList');"
cmd="cmd_removeFromList"/>
<menuseparator id="menuseparator"/>
<menuitem id="menuitem_openReferrer"
label="&cmd.goToDownloadPage.label;"
accesskey="&cmd.goToDownloadPage.accesskey;"
oncommand="performCommand('cmd_openReferrer');"
cmd="cmd_openReferrer"/>
<menuitem id="menuitem_copyLocation"
label="&cmd.copyDownloadLink.label;"
accesskey="&cmd.copyDownloadLink.accesskey;"
oncommand="performCommand('cmd_copyLocation');"
cmd="cmd_copyLocation"/>
<menuitem id="menuitem_selectAll"
label="&selectAllCmd.label;"
accesskey="&selectAllCmd.accesskey;"
command="cmd_selectAllDownloads"/>
</vbox>
<menupopup id="downloadContextMenu" onpopupshowing="return buildContextMenu(event);"/>
<richlistbox id="downloadView" seltype="multiple" flex="1"
context="downloadContextMenu"
ondblclick="onDownloadDblClick(event);"
ondragstart="gDownloadDNDObserver.onDragStart(event);"
ondragover="gDownloadDNDObserver.onDragOver(event);event.stopPropagation();"
ondrop="gDownloadDNDObserver.onDrop(event)">
</richlistbox>
<windowdragbox id="search" align="center">
<button id="clearListButton" command="cmd_clearList"
label="&cmd.clearList.label;"
accesskey="&cmd.clearList.accesskey;"
tooltiptext="&cmd.clearList.tooltip;"/>
<spacer flex="1"/>
<textbox type="search" id="searchbox" class="compact"
aria-controls="downloadView"
oncommand="buildDownloadList();" placeholder="&searchBox.label;"/>
</windowdragbox>
</window>

View File

@ -5,8 +5,3 @@
toolkit.jar:
% content mozapps %content/mozapps/
* content/mozapps/downloads/unknownContentType.xul (content/unknownContentType.xul)
* content/mozapps/downloads/downloads.xul (content/downloads.xul)
content/mozapps/downloads/downloads.js (content/downloads.js)
content/mozapps/downloads/DownloadProgressListener.js (content/DownloadProgressListener.js)
content/mozapps/downloads/downloads.css (content/downloads.css)
content/mozapps/downloads/download.xml (content/download.xml)

View File

@ -17,8 +17,7 @@ EXTRA_PP_COMPONENTS += [
EXTRA_JS_MODULES += [
'DownloadLastDir.jsm',
'DownloadPaths.jsm',
'DownloadTaskbarProgress.jsm',
'DownloadUtils.jsm',
]
JAR_MANIFESTS += ['jar.mn']
JAR_MANIFESTS += ['jar.mn']

View File

@ -1,112 +0,0 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#downloadManager {
background-color: ThreeDFace;
}
/* Download View */
#downloadView {
-moz-appearance: none !important;
margin: 0;
border-bottom: 2px solid;
-moz-border-bottom-colors: ThreeDHighlight ThreeDLightShadow;
}
/* Download View Items */
richlistitem[type="download"] {
padding: 4px 8px 4px 4px;
min-height: 46px;
}
richlistitem[type="download"]:not([selected="true"]):nth-child(odd) {
background-color: -moz-oddtreerow;
}
richlistitem[type="download"] .name {
font-size: larger;
}
richlistitem[type="download"] .dateTime {
font-size: smaller;
}
.mini-button {
-moz-appearance: none;
background-color: transparent;
border: none;
padding: 0;
margin: 0;
min-width: 0;
min-height: 0;
}
.mini-button > .button-box {
padding: 0 !important;
}
menuitem:not([type]) {
-moz-binding: url("chrome://global/content/bindings/menu.xml#menuitem-iconic");
}
.cancel,
#menuitem_cancel {
list-style-image: url("moz-icon://stock/gtk-cancel?size=menu");
}
#menuitem_open {
list-style-image: url("moz-icon://stock/gtk-open?size=menu");
}
#menuitem_open[disabled="true"] {
list-style-image: url("moz-icon://stock/gtk-open?size=menu&state=disabled");
}
.pause,
#menuitem_pause {
list-style-image: url("moz-icon://stock/gtk-media-pause?size=menu");
}
.pause[disabled="true"],
#menuitem_pause[disabled="true"] {
list-style-image: url("moz-icon://stock/gtk-media-pause?size=menu&state=disabled");
}
.resume,
#menuitem_resume {
list-style-image: url("moz-icon://stock/gtk-media-play?size=menu");
}
.retry,
#menuitem_retry {
list-style-image: url("moz-icon://stock/gtk-redo?size=menu");
}
#menuitem_removeFromList {
list-style-image: url("moz-icon://stock/gtk-remove?size=menu");
}
#menuitem_copyLocation {
list-style-image: url("moz-icon://stock/gtk-copy?size=menu");
}
.blockedIcon {
list-style-image: url("moz-icon://stock/gtk-dialog-error?size=dialog");
width: 32px;
height: 32px;
}
/* prevent flickering when changing states */
.downloadTypeIcon {
min-height: 32px;
min-width: 32px;
}
#clearListButton {
list-style-image: url(moz-icon://stock/gtk-clear?size=button);
margin-top: 3px;
}
#clearListButton[disabled="true"] {
list-style-image: url(moz-icon://stock/gtk-clear?size=button&state=disabled);
}

View File

@ -5,7 +5,6 @@
toolkit.jar:
#include ../../shared/mozapps.inc.mn
skin/classic/mozapps/downloads/downloadIcon.png (downloads/downloadIcon.png)
skin/classic/mozapps/downloads/downloads.css (downloads/downloads.css)
* skin/classic/mozapps/extensions/extensions.css (extensions/extensions.css)
skin/classic/mozapps/extensions/category-search.png (extensions/category-search.png)
skin/classic/mozapps/extensions/category-discover.png (extensions/category-discover.png)

View File

@ -1,123 +0,0 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
%include ../../global/shared.inc
#downloadView {
-moz-appearance: none;
margin: 0;
padding: 0;
border-width: 0;
}
/* Download View Items */
richlistitem[type="download"] {
padding: 5px;
min-height: 44px !important;
border: 1px solid transparent;
}
richlistitem[type="download"]:not([selected="true"]):nth-child(odd) {
background-color: -moz-oddtreerow;
}
richlistitem[type="download"] .dateTime,
richlistitem[type="download"] .status {
font-size: smaller;
color: #555;
}
richlistitem[selected="true"][type="download"] {
outline: none;
}
richlistbox:focus > richlistitem[selected="true"][type="download"] .dateTime,
richlistbox:focus > richlistitem[selected="true"][type="download"] .status {
color: highlighttext;
}
richlistitem[type="download"] button {
-moz-appearance: none;
min-height: 16px;
min-width: 16px;
max-height: 16px;
max-width: 16px;
padding: 0;
margin: 0 1px 0 1px;
}
/**
* Images for buttons in the interface
*/
richlistitem[type="download"] button {
list-style-image: url(chrome://mozapps/skin/downloads/buttons.png);
}
.cancel {
-moz-image-region: rect(0px, 16px, 16px, 0px);
}
.cancel:hover {
-moz-image-region: rect(0px, 32px, 16px, 16px);
}
.cancel:hover:active {
-moz-image-region: rect(0px, 48px, 16px, 32px);
}
.pause {
-moz-image-region: rect(48px, 16px, 64px, 0px);
}
.pause:hover {
-moz-image-region: rect(48px, 32px, 64px, 16px);
}
.pause:not([disabled="true"]):hover:active {
-moz-image-region: rect(48px, 48px, 64px, 32px);
}
.pause[disabled="true"] {
-moz-image-region: rect(48px, 16px, 64px, 0px);
}
.resume {
-moz-image-region: rect(16px, 16px, 32px, 0px);
}
.resume:hover {
-moz-image-region: rect(16px, 32px, 32px, 16px);
}
.resume:hover:active {
-moz-image-region: rect(16px, 48px, 32px, 32px);
}
.retry {
-moz-image-region: rect(32px, 16px, 48px, 0px);
}
.retry:hover {
-moz-image-region: rect(32px, 32px, 48px, 16px);
}
.retry:hover:active {
-moz-image-region: rect(32px, 48px, 48px, 32px);
}
.blockedIcon {
list-style-image: url(chrome://global/skin/icons/Error.png);
}
/* prevent flickering when changing states */
.downloadTypeIcon {
height: 32px;
width: 32px;
padding-inline-end: 2px;
}
#search {
-moz-box-pack: end;
padding-inline-end: 4px;
-moz-appearance: statusbar;
}
#clearListButton {
-moz-appearance: toolbarbutton;
min-height: 18px;
min-width: 0;
margin: 0 6px;
text-shadow: @loweredShadow@;
}

View File

@ -6,7 +6,6 @@ toolkit.jar:
#include ../../shared/mozapps.inc.mn
skin/classic/mozapps/downloads/buttons.png (downloads/buttons.png)
skin/classic/mozapps/downloads/downloadIcon.png (downloads/downloadIcon.png)
* skin/classic/mozapps/downloads/downloads.css (downloads/downloads.css)
skin/classic/mozapps/downloads/unknownContentType.css (downloads/unknownContentType.css)
skin/classic/mozapps/extensions/category-search.png (extensions/category-search.png)
skin/classic/mozapps/extensions/category-discover.png (extensions/category-discover.png)

View File

@ -1,139 +0,0 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#downloadManager {
background-color: ThreeDFace;
}
/* Download View */
@media not all and (-moz-windows-classic) {
#downloadView {
-moz-appearance: none;
margin: 0;
border-bottom: 2px solid;
-moz-border-bottom-colors: ThreeDHighlight ThreeDLightShadow;
}
}
/* Download View Items */
richlistitem[type="download"] {
padding: 4px 8px 4px 4px;
min-height: 46px;
border-bottom: 1px solid ThreeDLightShadow;
}
richlistitem[type="download"] .name {
font-size: larger;
}
richlistitem[type="download"] .dateTime {
font-size: smaller;
}
.mini-button {
-moz-appearance: none;
list-style-image: url(chrome://mozapps/skin/downloads/downloadButtons.png);
background-color: transparent;
border: none;
padding: 0;
margin: 0;
min-width: 0;
min-height: 0;
}
.mini-button > .button-box {
padding: 0 !important;
}
.cancel {
-moz-image-region: rect(0px, 32px, 16px, 16px);
}
.cancel:hover {
-moz-image-region: rect(16px, 32px, 32px, 16px);
}
.cancel:active {
-moz-image-region: rect(32px, 32px, 48px, 16px);
}
.cancel[disabled="true"] {
-moz-image-region: rect(48px, 32px, 64px, 16px);
}
.pause {
-moz-image-region: rect(0px, 48px, 16px, 32px);
}
.pause:hover {
-moz-image-region: rect(16px, 48px, 32px, 32px);
}
.pause:active {
-moz-image-region: rect(32px, 48px, 48px, 32px);
}
.pause[disabled="true"] {
-moz-image-region: rect(48px, 48px, 64px, 32px);
}
.resume {
-moz-image-region: rect(0px, 16px, 16px, 0px);
}
.resume:hover {
-moz-image-region: rect(16px, 16px, 32px, 0px);
}
.resume:active {
-moz-image-region: rect(32px, 16px, 48px, 0px);
}
.resume[disabled="true"] {
-moz-image-region: rect(48px, 16px, 64px, 0px);
}
.retry {
-moz-image-region: rect(0px, 64px, 16px, 48px);
}
.retry:hover {
-moz-image-region: rect(16px, 64px, 32px, 48px);
}
.retry:active {
-moz-image-region: rect(32px, 64px, 48px, 48px);
}
.retry[disabled="true"] {
-moz-image-region: rect(48px, 64px, 64px, 48px);
}
.blockedIcon {
list-style-image: url(chrome://global/skin/icons/Error.png);
}
/* prevent flickering when changing states */
.downloadTypeIcon {
min-height: 32px;
min-width: 32px;
}
#clearListButton {
min-height: 0;
min-width: 0;
margin-top: 3px;
}
@media (-moz-windows-compositor) {
#downloadManager {
-moz-appearance: -moz-win-glass;
background: transparent;
}
#downloadView {
/* Clamp glass bounds to the rich list so our glass haze stays constant. */
-moz-appearance: -moz-win-exclude-glass;
border: none;
}
windowdragbox {
-moz-binding: url("chrome://global/content/bindings/general.xml#windowdragbox");
}
#clearListButton {
margin-inline-start: 0;
margin-bottom: 0;
}
#searchbox {
margin-inline-end: 0;
margin-bottom: 0;
}
}

View File

@ -5,7 +5,6 @@
toolkit.jar:
#include ../../shared/mozapps.inc.mn
skin/classic/mozapps/downloads/downloadIcon.png (downloads/downloadIcon.png)
skin/classic/mozapps/downloads/downloads.css (downloads/downloads.css)
* skin/classic/mozapps/extensions/extensions.css (extensions/extensions.css)
skin/classic/mozapps/extensions/category-search.png (extensions/category-search.png)
skin/classic/mozapps/extensions/category-discover.png (extensions/category-discover.png)