Introduction
Browsers intervene aggressively on hidden pages to save battery, CPU, and memory: main-thread timers are throttled, JavaScript execution can be paused by Page Lifecycle freezing, and background tabs are discarded under memory pressure. While these defaults protect system resources, they silently break legitimate user-initiated tasks—such as large media uploads, long-lived line-of-business apps (e.g., call-center softphones), and offline state synchronization.
To survive these interventions, sites currently resort to opaque workarounds like looping silent audio or maintaining dummy WebRTC connections. The Background Work API proposes an explicit, user-granted permission ("background-work") that allows applications to execute logic reliably in dedicated or shared workers while hidden, providing an attributable signal to the browser and full control to the user.
Read the complete Explainer.
Feedback (Choose One)
Please provide all feedback below.
I welcome feedback in this thread, but encourage you to file bugs against the Explainer.
Introduction
Browsers intervene aggressively on hidden pages to save battery, CPU, and memory: main-thread timers are throttled, JavaScript execution can be paused by Page Lifecycle freezing, and background tabs are discarded under memory pressure. While these defaults protect system resources, they silently break legitimate user-initiated tasks—such as large media uploads, long-lived line-of-business apps (e.g., call-center softphones), and offline state synchronization.
To survive these interventions, sites currently resort to opaque workarounds like looping silent audio or maintaining dummy WebRTC connections. The Background Work API proposes an explicit, user-granted permission (
"background-work") that allows applications to execute logic reliably in dedicated or shared workers while hidden, providing an attributable signal to the browser and full control to the user.Read the complete Explainer.
Feedback (Choose One)
Please provide all feedback below.
I welcome feedback in this thread, but encourage you to file bugs against the Explainer.