DescriptionReplace PlaceholderFrameOwner with RemoteBridgeFrameOwner.
Currently, with --site-per-process, PlaceholderFrameOwner is used as the FrameOwner for remote frames with a remote parent, and RemoteBridgeFrameOwner is used for local frames with a remote parent.
Having PlaceholderFrameOwners is proving to be problematic:
- when transitioning from a remote frame to local frame in initializeToReplaceRemoteFrame, we are currently leaving the PlaceholderFrameOwner in place, even though we should be switching it to RemoteBridgeFrameOwner.
- PlaceholderFrameOwner does not store SandboxFlags, which is needed to support sandbox flags replication.
This CL removes PlaceholderFrameOwner and replaces its usage with RemoteBridgeFrameOwner. RemoteBridgeFrameOwner is lifted out of an anonymous namespace, because it needs to be referenced by WebLocalFrameImpl::initializeToReplaceRemoteFrame.
WebFrame::swap() probably also needs to be changed to update m_frame for RemoteBridgeFrameOwner. I left this for a separate CL, since that probably needs some other plumbing and a test. RemoteBridgeFrameOwner::m_frame isn't used anywhere at the moment, but it will be needed for plumbing dispatchLoad().
This also needs a small Chromium-side update: https://codereview.chromium.org/886923004
BUG=426512
Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=190010
Patch Set 1 #
Total comments: 4
Patch Set 2 : Address Daniel's comments #
Total comments: 2
Patch Set 3 : Nit: remove newline #
Messages
Total messages: 13 (4 generated)
|