Replicate a new navigation's state after destroying old frame's subtree.
Previously, when a frame A navigates to B, we set and replicated the origin and a few other things (such as insecure request policy or CSP headers) prior to calling DidNavigateFrame(). This turned out to be problematic because DidNavigateFrame() destroys the A frame's subtree (as part of CommitPending() -> ResetForNewProcess()), which might trigger unload handlers in the old frame's subframes. Those unload handlers would incorrectly see the new frame's origin (B) in the old frame's proxy. To fix this, this CL moves DidNavigateFrame() to be done prior to the replication of origin and other properties. Bug: 825283 Change-Id: Iff86ac8cad17cfef5349d9bbbc41d8dadd681bb1 Reviewed-on: https://chromium-review.googlesource.com/984729Reviewed-by:Charlie Reis <creis@chromium.org> Commit-Queue: Alex Moshchuk <alexmos@chromium.org> Cr-Commit-Position: refs/heads/master@{#546956}
Showing
Please register or sign in to comment