Description
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.