Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Origin isolation: a new strategy for window.originIsolationRestricted
In https://chromium-review.googlesource.com/c/chromium/src/+/2243994 I introduced an implementation for window.originIsolationRestricted which pipes the isolation state from NavigationRequest to the navigated-to LocalDOMWindow. However, this does not work for the case of the initial about:blank, where no navigation is performed. Furthermore, it does not match the spec, where the Window property just reflects an agent cluster-wide property. This CL introduces an alternate approach, more similar to what is done for self.crossOriginIsolated in https://chromium-review.googlesource.com/c/chromium/src/+/2247463, which is another agent cluster-wide value. The origin isolation state is stored in the renderer-side Agent class. Then the LocalDOMWindow getter can just pick it up from the surrounding agent, as in the spec. Note that unlike the implementation for self.crossOriginIsolated, the value is per-Agent instead of static (process-wide). Currently the value is set several times per agent (roughly once on every navigation). This is redundant, but we don't yet have a good place to set it once (i.e., we don't have a browser-side "time of agent creation"). If that gets fixed, we can likely stop piping the value through navigation params. See https://docs.google.com/document/d/1MTnmyWAoAIKDH4yWaRthIUdi05MsjlML8gctvKP7-h8/edit for discussions around fixing that. This fixes the issue with about:blank iframes embedded in origin-isolated pages reporting false, because the agent's origin-isolated boolean was previously set to true by the containing frame. This does not yet fix the issue with data: URLs reporting false, tested in external/wpt/origin-isolation/getter-special-cases/data-url.https.html. However, that will be doable as a followup, by changing the navigation-time computation to pass true for them instead of false. (Currently it passes false because data: URLs don't get their own process, but it should pass true because they _do_ get their own agent cluster.) Bug: 1095653 Change-Id: I8dfa8fc4a4766efc0611d43a255673662c422776 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2300237 Commit-Queue: Domenic Denicola <domenic@chromium.org> Reviewed-by: Charlie Reis <creis@chromium.org> Reviewed-by: Daniel Cheng <dcheng@chromium.org> Cr-Commit-Position: refs/heads/master@{#793799}
- Loading branch information
Showing
7 changed files
with
57 additions
and
34 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
12 changes: 0 additions & 12 deletions
12
...uto-wpt-origin-isolation/external/wpt/origin-isolation/about-blank.https.sub-expected.txt
This file was deleted.
Oops, something went wrong.