Bug 1357915 - Fix download commands operating on multiple items in the Library window. r=Standard8 draft
authorPaolo Amadini <paolo.mozmail@amadzone.org>
Tue, 18 Jul 2017 10:19:48 +0100
changeset 610451 3b3c1268be944d1942450336d4e9c652b4054b41
parent 610234 5e73b9798464c3f7106f0161dc9a49b234f42f9c
child 637862 dc23ca54fae119e72deaaf3834fbecbfb0c3fd57
push id68893
push userpaolo.mozmail@amadzone.org
push dateTue, 18 Jul 2017 09:25:55 +0000
reviewersStandard8
bugs1357915, 1264206
milestone56.0a1
Bug 1357915 - Fix download commands operating on multiple items in the Library window. r=Standard8 This was regressed by bug 1264206 while removing legacy array comprehensions, because selectedItems is a NodeList and not an Array. MozReview-Commit-ID: 61GG3SiiWwS
browser/components/downloads/content/allDownloadsViewOverlay.js
--- a/browser/components/downloads/content/allDownloadsViewOverlay.js
+++ b/browser/components/downloads/content/allDownloadsViewOverlay.js
@@ -933,17 +933,18 @@ DownloadsPlacesView.prototype = {
       delete this._resultNode;
       delete this._result;
     }
 
     return val;
   },
 
   get selectedNodes() {
-      return this._richlistbox.selectedItems.filter(element => element._placesNode);
+      return Array.filter(this._richlistbox.selectedItems,
+                          element => element._placesNode);
   },
 
   get selectedNode() {
     let selectedNodes = this.selectedNodes;
     return selectedNodes.length == 1 ? selectedNodes[0] : null;
   },
 
   get hasSelection() {
@@ -1166,17 +1167,18 @@ DownloadsPlacesView.prototype = {
       if (download.stopped && !(download.canceled && download.hasPartialData)) {
         return true;
       }
     }
     return false;
   },
 
   _copySelectedDownloadsToClipboard() {
-    let urls = this._richlistbox.selectedItems.map(element => element._shell.download.source.url);
+    let urls = Array.map(this._richlistbox.selectedItems,
+                         element => element._shell.download.source.url);
 
     Cc["@mozilla.org/widget/clipboardhelper;1"]
       .getService(Ci.nsIClipboardHelper)
       .copyString(urls.join("\n"));
   },
 
   _getURLFromClipboardData() {
     let trans = Cc["@mozilla.org/widget/transferable;1"].