Skip to content

Forward nested history events to same-origin iframe WindowProxy - #901

Merged
wieslawsoltes merged 1 commit into
fix/iframe-fragment-query-resolution-897from
fix/iframe-owner-history-events-898
Sep 21, 2026
Merged

wieslawsoltes merged 1 commit into
fix/iframe-fragment-query-resolution-897from
fix/iframe-owner-history-events-898

Conversation

@wieslawsoltes

@wieslawsoltes wieslawsoltes commented Sep 21, 2026 •

Copy link
Copy Markdown
Collaborator

Fixes #898. The inner iframe updates its history URL/state after back/forward, but owner-registered contentWindow listeners never receive popstate or hashchange. Deliver events once to the stable same-origin proxy with the correct state, URL pair, target and order; bound and release listeners, keep cross-origin DOM masked, and avoid creating an owner document for an opaque proxy. A fresh cached document may fulfill the fourth cross-document navigation without another network request.

Top of native GitHub stack #902: #899 → #900 → #901. On macOS native Release, iframe-navigation-lifecycle passes 100 cycles plus opaque/cross-origin denial and 1 MiB update p95 3.63 ms with flat 1,849,528-byte heap. iframe-cross-origin-parent-message, history-same-document and 20-cycle query-iframe-worker-bootstrap pass (p95 145.27 ms, flat heap). Evidence: docs/validation/iframe-url-history-896-898.md. Merge the stack after related Linux native, portable V8 and metadata runners pass; consolidation #76 remains open.

Stack created with GitHub Stacks CLI • Give Feedback 💬

@wieslawsoltes
wieslawsoltes added this pull request to stack #902 September 21, 2026 07:36
@wieslawsoltes wieslawsoltes changed the title Forward iframe history events through same-origin WindowProxy Forward nested history events to same-origin iframe WindowProxy Sep 21, 2026
@wieslawsoltes
wieslawsoltes merged commit 5b4739c into main Sep 21, 2026
9 of 25 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Forward nested history events to the stable same-origin iframe WindowProxy

1 participant