v142 · user input
Sticky user activation across same-origin renderer-initiated navigations
This feature preserves the sticky user activation state after a page navigates to another same-origin page. The lack of user activation in the post-navigation page prevents some use cases like showing virtual keyboards on auto-focus, and this has been a blocker for the developers who want to build Multi-page Applications (MPAs) over Single-page Applications
concepts
-
Sticky Activation
Click to grant activation, try a gated API, simulate a navigation — side-by-side trace of Chrome 141 vs 142 behaviour with live
userActivationreadouts. -
Post-Nav Popups, Audio, Payment
The three APIs the MPA-over-SPA migration story actually depended on:
window.open,AudioContext.resume(),PaymentRequest.show(). Real attempts plus the liveUserActivationprobe. -
Multi-Step MPA Wizard
A four-step checkout simulating cart → details → review → pay. Click once on step 1, walk the same-origin navigation chain, and try gated APIs at each step. Live
navigator.userActivationprobe shows the difference between Chrome ≤141 (drops at first nav) and Chrome 142 (carries through). -
Activation State Debugger
A timeline view that records
navigator.userActivation.isActiveandhasBeenActivebefore and after simulated same-origin navigations. Click to seed activation, trigger navigations, and watch the sticky state carry across hops — or see it reset on cross-origin jumps. Color-coded pass/fail badges for six gated APIs.
why it shipped
This feature preserves the sticky user activation state after a page navigates to another same-origin page. The lack of user activation in the post-navigation page prevents some use cases like showing virtual keyboards on auto-focus, and this has been a blocker for the developers who want to build Multi-page Applications (MPAs) over Single-page Applications