Features/Desktop/Downloads API: Difference between revisions

Jump to navigation Jump to search
Fixes
(Create feature page for the Downloads API)
 
(Fixes)
Line 14: Line 14:
|Feature overview=The current storage back-end for downloads, based on the synchronous <code>nsIDownloadManager</code> interface and an associated SQLite database, causes noticeable performance issues when starting and finishing downloads.
|Feature overview=The current storage back-end for downloads, based on the synchronous <code>nsIDownloadManager</code> interface and an associated SQLite database, causes noticeable performance issues when starting and finishing downloads.


The new Downloads API will improve the responsiveness of Firefox for Desktop, by removing the main-thread I/O caused by access to <code>downloads.sqlite</code>. The concrete goal is to ensure that SQL statements involving <code>moz_downloads</code> no longer appear in the "slow SQL" Telemetry dashboard.
The new Downloads API will improve the responsiveness of Firefox for Desktop, by removing the main-thread I/O caused by access to <code>downloads.sqlite</code>.
|Feature users and use cases=The Downloads Panel is the main user of the Downloads API in Firefox for Desktop. Since the new API is part of Toolkit, other Mozilla products will be able to adopt it for improved performance.
|Feature users and use cases=The Downloads Panel is the main user of the Downloads API in Firefox for Desktop. Since the new API is part of Toolkit, other Mozilla products will be able to adopt it for improved performance.
|Feature requirements=The concrete goal is to ensure that SQL statements involving <code>moz_downloads</code> no longer appear in the "slow SQL" Telemetry dashboard.
|Feature non-goals=This feature does not involve changes to the user interface and interaction model. Minor changes in behavior are expected, because the API is a complete reimplementation of the back-end.
|Feature non-goals=This feature does not involve changes to the user interface and interaction model. Minor changes in behavior are expected, because the API is a complete reimplementation of the back-end.
|Feature functional spec=The overall design is documented in the '''[[download architecture improvements|User:P.A./Download_architecture_improvements]]''' page.
|Feature functional spec=The overall design is documented in the '''[[User:P.A./Download_architecture_improvements|download architecture improvements]]''' page.
}}
}}
{{FeatureInfo
{{FeatureInfo
Confirmed users
183

edits

Navigation menu