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

js
let erasing = browser.downloads.erase(
  query                    // DownloadQuery
)

Parameters

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

BCD tables only load in the browser

Examples

Erase the most recent download:

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

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

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

erasing.then(onErased, onError);

Erase everything:

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

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

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

Example extensions

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