downloads.erase()

The erase() function of the downloads API erases matching DownloadItems from the browser's download history, without deleting the downloaded files from disk.

To remove the files from disk, you need to use downloads.removeFile().

This is an asynchronous function that returns a Promise.

Note: If you want to remove a downloaded file from disk and erase it from history, you have to call downloads.removeFile() before you call erase(). If you try it the other way around you'll get an error when calling downloads.removeFile(), because it no longer exists according to the browser.

Syntax

var erasing = browser.downloads.erase(
  query                    // DownloadQuery
)

Parameters

query
A downloads.DownloadQuery object.

Values of this type are objects. They contain the following properties:

queryOptional
An array of strings. Include only DownloadItems whose filename or url contains all of the given strings. You can also include terms beginning with a dash (-) — these terms must not be contained in the item's filename or url for it to be included.
startedBeforeOptional
A DownloadTime. Include only DownloadItems that started before the given time.
startedAfterOptional
A DownloadTime. Include only DownloadItems that started after the given time.
endedBeforeOptional
A DownloadTime. Include only DownloadItems that ended before the given time.
endedAfterOptional
A DownloadTime. Include only DownloadItems that ended after the given time.
totalBytesGreaterOptional
A number representing a number of bytes. Include only DownloadItems whose totalBytes is greater than the given number.
totalBytesLessOptional
A number representing a number of bytes. Include only DownloadItems whose totalBytes is less than the given number.
filenameRegexOptional
A string representing a regular expression. Include only DownloadItems whose filename value matches the given regular expression.
urlRegexOptional
A string representing a regular expression. Include only DownloadItems whose url value matches the given regular expression.
limitOptional
An integer representing a number of results. Include only the specified number of DownloadItems.
orderByOptional
An array of strings representing DownloadItem properties the search results should be sorted by. For example, including startTime then totalBytes in the array would sort the DownloadItems by their start time, then total bytes — in ascending order. To specify sorting by a property in descending order, prefix it with a hyphen, for example -startTime.
idOptional
An integer representing the ID of the downloads.DownloadItem you want to query.
urlOptional
A string representing the absolute URL that the download was initiated from, before any redirects.
filenameOptional
A string representing the absolute local path of the download file you want to query.
dangerOptional
A string representing a downloads.DangerType — include only DownloadItems with this danger value.
mimeOptional
A string representing a MIME type. Include only DownloadItems with this mime value.
startTimeOptional
A string representing an ISO 8601 format time. Include only DownloadItems with this startTime value.
endTimeOptional
A string representing an ISO 8601 format time. Include only will limited to DownloadItems with this endTime value.
stateOptional
A string representing a download downloads.State (in_progress, interrupted, or complete). Include onlyDownloadItems with this state value.
pausedOptional
A boolean that indicates whether a download is paused — i.e. has stopped reading data from the host, but kept the connection open (true), or not (false). Include only DownloadItems with this paused value.
errorOptional
A string representing an downloads.InterruptReason — a reason why a download was interrupted. Include only DownloadItems with this error value.
bytesReceivedOptional
A number representing the number of bytes received so far from the host, without considering file compression. Include only DownloadItems with this bytesReceived value.
totalBytesOptional
A number representing the total number of bytes in the downloaded file, without considering file compression. Include only DownloadItems with this totalBytes value.
fileSizeOptional
number. Number of bytes in the whole file post-decompression, or -1 if unknown. A number representing the total number of bytes in the file after decompression. Include only DownloadItems with this fileSize value.
existsOptional
A boolean indicating whether a downloaded file still exists (true) or not (false). Include only DownloadItems with this exists value.

Return value

A Promise. If the call was successful, the promise will be fulfilled with an array of integers representing the ids of the erased DownloadItems. If no items matching the query parameter could be found, the array will be empty. If the call failed, the promise will be rejected with an error message.

Browser compatibility

Chrome Edge Firefox Firefox for Android Opera
Basic support Yes No 48.0 48.0 33

Examples

Erase the most recent download:

function onErased(ids) {
  console.log(`Erased: ${ids}`);
}

function onError(error) {
  console.log(`Error erasing item: ${error}`);
}

var erasing = browser.downloads.erase({
  limit: 1,
  orderBy: ["-startTime"]
});

erasing.then(onErased, onError);

Erase everything:

function onErased(ids) {
  console.log(`Erased: ${ids}`);
}

function onError(error) {
  console.log(`Error erasing item: ${error}`);
}

var erasing = browser.downloads.erase({});
erasing.then(onErased, onError);

Example add-ons

Acknowledgements

This API is based on Chromium's chrome.downloads API.

Microsoft Edge compatibility data is supplied by Microsoft Corporation and is included here under the Creative Commons Attribution 3.0 United States License.

Document Tags and Contributors

 Contributors to this page: wbamberg, Makyen, chrisdavidmills
 Last updated by: wbamberg,