Contact emails
hark...@chromium.org, pe...@chromium.org
Spec
https://beverloo.github.io/budget-api/
Summary
This implements an API that exposes a budget with which authors can determine their available usage of resource consuming background operations, as well as the cost associated with doing a certain background operation.
The initial implementation of the API uses the budget system to allow push messages to be handled by service workers without always showing a notification. (Which is also known as silent push.)
Motivation
Web Applications can take many actions while a browser tab is open, and users associate the presence of a browser tab with the Web Application’s ability to do work on their behalf. However, with the Push API service workers can execute code in the background, outside of the user’s control or visibility.
It’s the user agent’s responsibility to find the right balance between giving powerful features to developers, and protecting the user. Both Chrome and Firefox already do this internally, and by implementing this API we hope to find the right way to explain to developers exactly what they’re allowed to do.
Interoperability and Compatibility Risk
The implementation provides a new API, so no issues with existing APIs. We intend to evolve the API based on feedback from developers and other implementations. Incidentally, our implementation of budget (as Site Engagement Score) already is fairly similar to Firefox’.
Ongoing technical constraints
None
Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)?
Yes
OWP launch tracking bug
Link to entry on the feature dashboard
https://www.chromestatus.com/features/5691190548627456
Requesting approval to ship?
No