When using alert(), confirm() or onbeforeunload, Chromium's old behavior was to block JS waiting for the result, but allows all declarative animations to continue. This change is to make all main-thread tasks (such as <marquee> and CSS 2d animations) also pause during this interval.
Demo
Specification
Status in Chromium
Enabled by default (tracking bug) in:
- Chrome for desktop release 52
- Chrome for Android release 52
- Android WebView release 52
Consensus & Standardization
After a feature ships in Chrome, the values listed here are not guaranteed to be up to date.
- No signal
- No signal
- Shipped/Shipping
- No signals
Owners
Last updated on 2020-11-09
Comments
Chrome’s old behavior was implemented with a nested message loop on the Blink main thread. Any code that might ever run on a nested message loop must be robust to reentrancy and reordering, otherwise there will be stability and security bugs.