Skip to content

Carry over sticky activation for same-origin navs and traversals #11454

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

domenic
Copy link
Member

@domenic domenic commented Jul 15, 2025

See discussion in WICG/view-transitions#239 and #11328 (comment).


Points from our discussion and how this PR addresses them:

  • To avoid encouraging racy code, this is sticky activation only, not transient activation. This unfortunately requires adding an additional boolean to the user activation data model, but oh well.
  • This does not propagate the information to iframes or parent frames. It is only for the navigated frame (which can be an iframe), and it copies from its predecessor Window in that same frame. This ended up being most natural and simplest, but we could potentially discuss alternatives.
  • This works for both traversals and push/replace navigations. This is nice because bfcache already preserves user activation state, so now non-bfcache traversals match bfcache traversals. (Except for iframes, which inevitably get unloaded and then re-loaded during non-bfcache traversals, and so in this version will lose their sticky activation state.)

/cc @mustaqahmed @nickcoury


  • At least two implementers are interested (and none opposed):
  • Tests are written and can be reviewed and commented upon at:
    • TODO
  • Implementation bugs are filed:
    • Chromium: TODO
    • Gecko: TODO
    • WebKit: TODO
    • Deno (only for timers, structured clone, base64 utils, channel messaging, module resolution, web workers, and web storage): N/A
    • Node.js (only for timers, structured clone, base64 utils, channel messaging, and module resolution): N/A
  • Corresponding HTML AAM & ARIA in HTML issues & PRs: N/A
  • MDN issue is filed: TODO
  • The top of this comment includes a clear commit message to use.

(See WHATWG Working Mode: Changes for more details.)


/document-lifecycle.html ( diff )
/interaction.html ( diff )

@domenic domenic added addition/proposal New features or enhancements topic: user activation agenda+ To be discussed at a triage meeting labels Jul 15, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
addition/proposal New features or enhancements agenda+ To be discussed at a triage meeting topic: user activation
Development

Successfully merging this pull request may close these issues.

1 participant