A Permission-Policy for creating unload event listeners will be added. Initially the default policy will be to allow but Chrome will gradually migrate the default policy to deny creating unload event listeners until it is fully opt-in. The eventual goal is to remove support for unload event.
The unload event is extremely unreliable. It is ignored in most cases by all mobile browsers except Firefox on Android. Furthermore, in Safari, the unload event is ignored on both desktop & mobile platforms. The spec was changed to say that unload should only run if the page cannot enter BFCache, however Chrome and Mozilla have not implmenented the update. In Chrome's case this is because it will likely break some sites and also because it makes whether unload runs unpredictable. In our current state, unload blocks BFCache (~18 pecentage points reduction of hit rate). This change will unlock a large fraction of that hit-rate while providing an opt-out for those who need it making and making unload predictable. It also sends a clear signal that unload should not be used in new development.
Docs: https://github.com/fergald/docs/blob/master/explainers/permissions-policy-deprecate-unload.md