DescriptionPass origin information for remote frame creation.
This is the first step towards making origin information available for RemoteFrames in Blink. This CL ensures that we pass origin information whenever we create a RemoteFrame, which is currently three cases:
1. New view
2. As part of SwapOut
3. NewFrameProxy message
The origins are tracked on FrameTreeNodes in the browser process and updated when frame navigations commit (in NavigatorImpl::DidNavigate).
This CL doesn't yet address these issues, to be fixed in later CLs:
- situations that will require an explicit "origin update" message, including document.domain changes and certain frame navigations.
- iframe sandbox flags
- RenderFrameProxies aren't created in all cases (crbug.com/423587)
- for now, the origin on the browser side is a url::Origin which doesn't support calls like canAccess. Eventually, we may need to use a richer origin class (like WebSecurityOrigin from Blink).
More information: https://docs.google.com/a/chromium.org/document/d/1Y0s76YK0ziiL8hddiFlNUyAF4hqRAGpZM8cfnnLsZPg/edit#heading=h.lrzgurbjttfm
The Blink-side of this CL is: https://codereview.chromium.org/520213002/
BUG=426512
Committed: https://crrev.com/bc7eafaba8bde63d70a270ee71a901545d9769f9
Cr-Commit-Position: refs/heads/master@{#307138}
Patch Set 1 #Patch Set 2 : #Patch Set 3 : #Patch Set 4 : #Patch Set 5 : #Patch Set 6 : #Patch Set 7 : #
Total comments: 55
Patch Set 8 : Address review feedback; send origins with DidCommitProvisionalLoad #
Total comments: 30
Patch Set 9 : Second round of feedback #
Total comments: 2
Patch Set 10 : Rebase #Patch Set 11 : Add EXPECT_TRUE to NavigateToURL in new tests; nits #
Total comments: 22
Patch Set 12 : Address Nasko's comments #
Total comments: 2
Patch Set 13 : Nit #Patch Set 14 : Rebase #Patch Set 15 : Post-rebase tweak (move #include) #Patch Set 16 : Fix test failures for content:// URLs on Android #Messages
Total messages: 33 (7 generated)
|