d and sort by recency
    const downloadThreshold = Date.now() - threshold;
    let downloads = [...this._downloadItems.values()]
      .filter(download => download.endTime > downloadThreshold)
      .sort((download1, download2) => download1.endTime < download2.endTime);

    for (const download of downloads) {
      // Ignore blocked links, but allow long (data:) uris to avoid high CPU
      if (
        download.source.url.length < 10000 &&
        lazy.NewTabUtils.blockedLinks.isBlocked(download.source)
      ) {
        continue;
      }

      // Only include downloads where the file still exists
      if (onlyExists) {
        // Refresh download to ensure the 'exists' attribute is up to date
        await download.refresh();
        if (!download.target.exists) {
          continue;
        }
      }
      // Only include downloads that were completed successfully
      if (onlySucceeded) {
        if (!download.succeeded) {
          continue;
        }
      }
      const formattedDownloadForHighlights = this.formatDownload(download);
      results.push(formattedDownloadForHighlights);
      if (results.length === numItems) {
        break;
      }
    }
    return results;
  }

  uninit() {
    if (this._downloadData) {
      this._downloadData.removeView(this);
      this._downloadData = null;
    }
    if (this._downloadTimer) {
      this._downloadTimer.cancel();
      this._downloadTimer = null;
    }
  }

  onAction(action) {
    let doDownloadAction = callback => {
      let download = this._downloadItems.get(action.data.url);
      if (download) {
        callback(download);
      }
    };

    switch (action.type) {
      case at.COPY_DOWNLOAD_LINK:
        doDownloadAction(download => {
          lazy.DownloadsCommon.copyDownloadLink(download);
        });
        break;
      case at.REMOVE_DOWNLOAD_FILE:
        doDownloadAction(download => {
          lazy.DownloadsCommon.deleteDownload(download).catch(console.error);
        });
        break;
      case at.SHOW_DOWNLOAD_FILE:
        doDownloadAction(download => {
          lazy.DownloadsCommon.showDownloadedFile(
            new lazy.FileUtils.File(download.target.path)
          );
        });
        break;
      case at.OPEN_DOWNLOAD_FILE: {
        const openWhere = lazy.BrowserUtils.whereToOpenLink(action.data.event);
        doDownloadAction(download => {
          lazy.DownloadsCommon.openDownload(download, {
            // Replace "current" or unknown value with "tab" as the default behavior
            // for opening downloads when handled internally
            openWhere: ["window", "tab", "tabshifted"].includes(openWhere)
              ? openWhere
              : "tab",
          });
        });
        break;
      }
      case at.UNINIT:
        this.uninit();
        break;
    }
  }
}
PK