The Download Manager uses an SQLite table to keep track of downloads in progress as well as queued and past downloads.
The table is kept in a database file named "downloads.sqlite", in a table called "moz_downloads". The current database schema version is 8.
This information is available using nsIDownloadManager methods to retrieve nsIDownload objects for each download entry; however, if you feel like poking directly into the table, you can do so using the Storage API.
The schema table
| Field name | Type | Description |
|---|---|---|
| id | INTEGER | A unique ID for the download. This field is the primary key for the table. |
| name | TEXT | The download's file name. |
| source | TEXT | The source URI for the download. |
| target | TEXT | The destination URI for the download. |
| tempPath | TEXT | The path of the temporary file being used for the download. |
| startTime | INTEGER | The download's start time. |
| endTime | INTEGER | The download's end time. |
| state | INTEGER | The download's current state. See the constants list in the nsIDownloadManager documentation.
|
| referrer | TEXT | The referrer for the download. |
| entityID | TEXT | The entity ID from the nsIResumableChannel used to implement the download channel. This information is used to resume the download after it's been paused.
|
| currBytes | INTEGER | The current number of bytes that have been downloaded. Defaults to 0, may not be null. |
| maxBytes | INTEGER | The total number of bytes that need to be downloaded. Defaults to -1, may not be null. |
| mimeType | TEXT | The MIME type of the file. |
| preferredApplication | TEXT | The preferred application to use to open the file after the download is complete. |
| preferredAction | INTEGER | The action constant from nsIMIMEInfo representing the action to take upon completing the download. Default 0 (save to disk); may not be null.
|
| autoResume | INTEGER | 0 if the file should not automatically resume downloading, 1 if it should. Defaults to 0, and may not be null. |