| Index: components/html_viewer/html_frame.cc
|
| diff --git a/components/html_viewer/html_frame.cc b/components/html_viewer/html_frame.cc
|
| index 1188341ef381556bbbb5063b7a00ad15e8bd8f70..e28c824d38aef7932a56452ac25291f1864001c6 100644
|
| --- a/components/html_viewer/html_frame.cc
|
| +++ b/components/html_viewer/html_frame.cc
|
| @@ -189,7 +189,7 @@ HTMLFrame::HTMLFrame(CreateParams* params)
|
| CHECK(!parent_->IsLocal());
|
| web_frame_ = parent_->web_frame()->toWebRemoteFrame()->createLocalChild(
|
| state_.tree_scope, state_.name, state_.sandbox_flags, this,
|
| - previous_web_frame);
|
| + previous_web_frame, state_.owner_properties);
|
| CreateLocalRootWebWidget(web_frame_->toWebLocalFrame());
|
| } else if (!parent_->IsLocal()) {
|
| web_frame_ = parent_->web_frame()->toWebRemoteFrame()->createRemoteChild(
|
| @@ -317,7 +317,8 @@ blink::WebFrame* HTMLFrame::createChildFrame(
|
| blink::WebLocalFrame* parent,
|
| blink::WebTreeScopeType scope,
|
| const blink::WebString& frame_name,
|
| - blink::WebSandboxFlags sandbox_flags) {
|
| + blink::WebSandboxFlags sandbox_flags,
|
| + const blink::WebFrameOwnerProperties& frame_owner_properties) {
|
| DCHECK(IsLocal()); // Can't create children of remote frames.
|
| DCHECK_EQ(parent, web_frame_);
|
| DCHECK(view_); // If we're local we have to have a view.
|
| @@ -328,6 +329,7 @@ blink::WebFrame* HTMLFrame::createChildFrame(
|
| child_state.name = frame_name;
|
| child_state.tree_scope = scope;
|
| child_state.sandbox_flags = sandbox_flags;
|
| + child_state.owner_properties = frame_owner_properties;
|
| mojo::Map<mojo::String, mojo::Array<uint8_t>> client_properties;
|
| client_properties.mark_non_null();
|
| ClientPropertiesFromReplicatedFrameState(child_state, &client_properties);
|
| @@ -648,7 +650,8 @@ void HTMLFrame::SwapToLocal(
|
| blink::WebLocalFrame* local_web_frame =
|
| blink::WebLocalFrame::create(state_.tree_scope, this);
|
| local_web_frame->initializeToReplaceRemoteFrame(
|
| - web_frame_->toWebRemoteFrame(), state_.name, state_.sandbox_flags);
|
| + web_frame_->toWebRemoteFrame(), state_.name, state_.sandbox_flags,
|
| + state_.owner_properties);
|
| // The swap() ends up calling to frameDetached() and deleting the old.
|
| web_frame_->swap(local_web_frame);
|
| web_frame_ = local_web_frame;
|
|
|