Skip to content

Allow chrome-initiated toplevel navigations to isolate browsing context #2635

Open
@mystor

Description

@mystor

See #1440 (comment).

The interesting case here is a toplevel navigation which is triggered by browser chrome, for example through typing a URL in the URL bar, performing a search, or loading a bookmark. In these cases, the new documents which are being loaded are conceptually separate from the previous navigations which occurred in the page, beyond existing within the same session history.

It would be nice to specify that when one of these navigations occurs, the browsing context can leave its unit of related browsing contexts, and become fully independent again, breaking any WindowProxy objects referring to it from windows which either opened it or were opened by it during the session history. This could be a win, both for security and for performance, as it gives user agents more control over process allocation, and can decrease the number of opportunities for cross origin webpages to tamper with one another.

As @annevk mentioned, this would probably require specifying new WindowProxy behavior for this situation, and determining what should occur during history navigations to documents which were loaded before this toplevel navigation.

This is related to #1515, in that exposing a tool like that would make it easier for link and webpage initiated navigations to opt into this more secure and performant behavior.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions