mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-09 01:08:39 +09:00
Bug 945707 - Pausing a download fails when done after a retry + follow up (see the description)
Issue #121 [follow up] Bug 92737 - Part 9: Download multiple files when multiple items are dropped on Downloads view in Library Window
This commit is contained in:
parent
e40f171756
commit
fea1a4d195
2 changed files with 16 additions and 21 deletions
|
|
@ -40,22 +40,6 @@ const DOWNLOAD_VIEW_SUPPORTED_COMMANDS =
|
|||
|
||||
const NOT_AVAILABLE = Number.MAX_VALUE;
|
||||
|
||||
/**
|
||||
* Download a URL.
|
||||
*
|
||||
* @param aURL
|
||||
* the url to download (nsIURI object)
|
||||
* @param [optional] aFileName
|
||||
* the destination file name
|
||||
*/
|
||||
function DownloadURL(aURL, aFileName) {
|
||||
// For private browsing, try to get document out of the most recent browser
|
||||
// window, or provide our own if there's no browser window.
|
||||
let browserWin = RecentWindow.getMostRecentBrowserWindow();
|
||||
let initiatingDoc = browserWin ? browserWin.document : document;
|
||||
saveURL(aURL, aFileName, null, true, true, undefined, initiatingDoc);
|
||||
}
|
||||
|
||||
/**
|
||||
* A download element shell is responsible for handling the commands and the
|
||||
* displayed data for a single download view element. The download element
|
||||
|
|
@ -654,7 +638,10 @@ DownloadElementShell.prototype = {
|
|||
// In future we may try to download into the same original target uri, when
|
||||
// we have it. Though that requires verifying the path is still valid and
|
||||
// may surprise the user if he wants to be requested every time.
|
||||
DownloadURL(this.downloadURI, this.getDownloadMetaData().fileName);
|
||||
let browserWin = RecentWindow.getMostRecentBrowserWindow();
|
||||
let initiatingDoc = browserWin ? browserWin.document : document;
|
||||
DownloadURL(this.downloadURI, this.getDownloadMetaData().fileName,
|
||||
initiatingDoc);
|
||||
},
|
||||
|
||||
/* nsIController */
|
||||
|
|
@ -1450,7 +1437,9 @@ DownloadsPlacesView.prototype = {
|
|||
|
||||
_downloadURLFromClipboard: function DPV__downloadURLFromClipboard() {
|
||||
let [url, name] = this._getURLFromClipboardData();
|
||||
DownloadURL(url, name);
|
||||
let browserWin = RecentWindow.getMostRecentBrowserWindow();
|
||||
let initiatingDoc = browserWin ? browserWin.document : document;
|
||||
DownloadURL(url, name, initiatingDoc);
|
||||
},
|
||||
|
||||
doCommand: function DPV_doCommand(aCommand) {
|
||||
|
|
@ -1504,6 +1493,11 @@ DownloadsPlacesView.prototype = {
|
|||
else
|
||||
contextMenu.removeAttribute("state");
|
||||
|
||||
if (state == nsIDM.DOWNLOAD_DOWNLOADING) {
|
||||
// The resumable property of a download may change at any time, so
|
||||
// ensure we update the related command now.
|
||||
goUpdateCommand("downloadsCmd_pauseResume");
|
||||
}
|
||||
return true;
|
||||
},
|
||||
|
||||
|
|
@ -1597,10 +1591,12 @@ DownloadsPlacesView.prototype = {
|
|||
let links = Services.droppedLinkHandler.dropLinks(aEvent);
|
||||
if (!links.length)
|
||||
return;
|
||||
let browserWin = RecentWindow.getMostRecentBrowserWindow();
|
||||
let initiatingDoc = browserWin ? browserWin.document : document;
|
||||
for (let link of links) {
|
||||
if (link.url.startsWith("about:"))
|
||||
continue;
|
||||
DownloadURL(link.url, link.name);
|
||||
DownloadURL(link.url, link.name, initiatingDoc);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
|
|
|||
|
|
@ -507,8 +507,7 @@ const DownloadsPanel = {
|
|||
|
||||
let uri = NetUtil.newURI(url);
|
||||
DownloadsCommon.log("Pasted URL seems valid. Starting download.");
|
||||
saveURL(uri.spec, name || uri.spec, null, true, true,
|
||||
undefined, document);
|
||||
DownloadURL(uri.spec, name, document);
|
||||
} catch (ex) {}
|
||||
},
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue