Path: blob/main/files/en-us/mozilla/add-ons/webextensions/api/downloads/downloadquery/index.md
6581 views
------{{AddonSidebar()}}
The DownloadQuery type of the {{WebExtAPIRef("downloads")}} API defines a set of parameters that can be used to search the downloads manager for a specific set of downloads.
This type is used for example in {{WebExtAPIRef("downloads.search()")}} and {{WebExtAPIRef("downloads.erase()")}}, as a query object to filter the set of {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} to return or erase.
Type
Values of this type are objects. They contain the following properties:
cookieStoreId{{optional_inline}}: The cookie store ID of the contextual identity in which the download took place.
query{{optional_inline}}: An
arrayofstrings. Include only {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} whosefilenameorurlcontains all of the given strings. You can also include terms beginning with a dash (-) — these terms must not be contained in the item'sfilenameorurlfor it to be included.
startedBefore{{optional_inline}}: A {{WebExtAPIRef('downloads.DownloadTime', "DownloadTime")}}. Include only {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} that started before the given time.
startedAfter{{optional_inline}}: A {{WebExtAPIRef('downloads.DownloadTime', "DownloadTime")}}. Include only {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} that started after the given time.
endedBefore{{optional_inline}}: A {{WebExtAPIRef('downloads.DownloadTime', "DownloadTime")}}. Include only {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} that ended before the given time.
endedAfter{{optional_inline}}: A {{WebExtAPIRef('downloads.DownloadTime', "DownloadTime")}}. Include only {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} that ended after the given time.
totalBytesGreater{{optional_inline}}: A
numberrepresenting a number of bytes. Include only {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} whosetotalBytesis greater than the given number.
totalBytesLess{{optional_inline}}: A
numberrepresenting a number of bytes. Include only {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} whosetotalBytesis less than the given number.
filenameRegex{{optional_inline}}: A
stringrepresenting a regular expression. Include only {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} whosefilenamevalue matches the given regular expression.
urlRegex{{optional_inline}}: A
stringrepresenting a regular expression. Include only {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} whoseurlvalue matches the given regular expression.
limit{{optional_inline}}: An
integerrepresenting a number of results. Include only the specified number of {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}}.
orderBy{{optional_inline}}: An
arrayofstrings representing {{WebExtAPIRef("downloads.DownloadItem", "DownloadItem")}} properties the search results should be sorted by. For example, includingstartTimethentotalBytesin the array would sort the {{WebExtAPIRef("downloads.DownloadItem", "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.
id{{optional_inline}}: An
integerrepresenting the ID of the {{WebExtAPIRef("downloads.DownloadItem")}} you want to query.
url{{optional_inline}}: A
stringrepresenting the absolute URL that the download was initiated from, before any redirects.
filename{{optional_inline}}: A string representing the absolute local path of the download file you want to query.
danger{{optional_inline}}: A string representing a {{WebExtAPIRef('downloads.DangerType')}} — include only {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} with this
dangervalue.
mime{{optional_inline}}: A
stringrepresenting a MIME type. Include only {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} with thismimevalue.
startTime{{optional_inline}}: A
stringrepresenting an ISO 8601 format time. Include only {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} with thisstartTimevalue.
endTime{{optional_inline}}: A
stringrepresenting an ISO 8601 format time. Include only will limited to {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} with thisendTimevalue.
state{{optional_inline}}: A
stringrepresenting a download {{WebExtAPIRef('downloads.State')}} (in_progress,interrupted, orcomplete). Include only {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} with thisstatevalue.
paused{{optional_inline}}: A
booleanthat 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 {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} with thispausedvalue.
error{{optional_inline}}: A string representing an {{WebExtAPIRef('downloads.InterruptReason')}} — a reason why a download was interrupted. Include only {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} with this
errorvalue.
bytesReceived{{optional_inline}}: A
numberrepresenting the number of bytes received so far from the host, without considering file compression. Include only {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} with thisbytesReceivedvalue.
totalBytes{{optional_inline}}: A
numberrepresenting the total number of bytes in the downloaded file, without considering file compression. Include only {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} with thistotalBytesvalue.
fileSize{{optional_inline}}:
number. Number of bytes in the whole file post-decompression, or -1 if unknown. Anumberrepresenting the total number of bytes in the file after decompression. Include only {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} with thisfileSizevalue.
exists{{optional_inline}}: A
booleanindicating whether a downloaded file still exists (true) or not (false). Include only {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} with thisexistsvalue.
Browser compatibility
{{Compat}}
{{WebExtExamples}}
Note: This API is based on Chromium's
chrome.downloadsAPI.