Intent to Experiment: Permissions-Policy: unload

Skip to first unread message

Fergal Daly

Sep 20, 2022, 2:17:18 AM9/20/22
to blink-dev, bfcache-dev, Ian Clelland, Daisuke Enomoto

Contact emails




This feature allows pages to disable the running of unload event handlers. The goal is to : - allow sites that have removed all unload handlers to ensure they do not accidentally add new ones - allow sites to remove unload handlers when updating the code is infeasible Unload event handlers are problematic for various reasons and prevent use of BFCache on Desktop (see

Blink component


TAG review

TAG review status



Interoperability and Compatibility

3rd-party frames that rely on unload may not work as expected when navigating away. This is solvable by the frame authors by use of alternatives to unload and is unlikely to impact users. See detailed discussion.

Gecko: Negative ( FF objects to this similar to sync-xhr and document-domain providing a way to cause cross-origin interference with script. Explainer addresses this ( At a recent TPAC meeting with Mozilla people present, no negative feedback was received. Request for formal position is here

WebKit: No signal

Web developers: Positive Private discussions with devs are positive. Sites that have made efforts to remove all unload handlers want to use this to prevent accidental returns. Also some providers of 3rd-party iframes which have content outside of their control (e.g. ad network) want to guarantee themselves to be unload-free. Also positive feedback about using this to deny unload as a source of security problems.

Other signals: TAG review is here but has no feedback on the API itself.

WebView application risks

Does this intent deprecate or change behavior of existing APIs, such that it has potentially high risk for Android WebView-based applications?

none known

Goals for experimentation

- Validate that this allows sites using it to improve their BFCache hit rate

Reason this experiment is being extended

Ongoing technical constraints


When this header is present, attempts to add an unload event handler will result in an error on the console (just as would happen for any other Permissions Policy violation).

Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)?


Is this feature fully tested by web-platform-tests?


Flag name


Requires code in //chrome?


Tracking bug

Launch bug

Estimated milestones

OriginTrial desktop last109
OriginTrial desktop first107
DevTrial on desktop107
OriginTrial Android last109
OriginTrial Android first107
DevTrial on Android107
OriginTrial webView last109
OriginTrial webView first107

Link to entry on the Chrome Platform Status

Links to previous Intent discussions

Intent to prototype:
Ready for Trial:

This intent message was generated by Chrome Platform Status.

Yoav Weiss

Sep 21, 2022, 8:01:47 AM9/21/22
to Fergal Daly, blink-dev, bfcache-dev, Ian Clelland, Daisuke Enomoto
LGTM to experiment 107-109 inclusive.

You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to
To view this discussion on the web visit

Daisuke Enomoto

Jan 16, 2023, 3:38:24 AM1/16/23
to Yoav Weiss, Fergal Daly, blink-dev, bfcache-dev, Ian Clelland, Daisuke Enomoto
Hi, API owners,

We had requested this Origin Trial to be run for 3 milestones, specifically from 107 to 109. This was previously approved. We sent the original request without realizing the Origin Trial guideline suggesting 6 milestones.

We would like to extend this OT for another 3 milestones or to 112 inclusive by applying the 6 milestone guidelines we originally missed, to give sufficient time for partners to give us feedback. It would be great if you could review our request.


Yoav Weiss

Jan 16, 2023, 6:04:58 AM1/16/23
to Daisuke Enomoto, Fergal Daly, blink-dev, bfcache-dev, Ian Clelland, Daisuke Enomoto
Since it's already been a while since this intent was approved, can you send an "Intent to extend experimentation" so it'd get caught in our tooling?

Daisuke Enomoto

Jan 17, 2023, 1:51:29 AM1/17/23
to Yoav Weiss, Fergal Daly, blink-dev, bfcache-dev, Ian Clelland, Daisuke Enomoto
Yes, I'll send a separate email requesting an extension.

Reply all
Reply to author
0 new messages