Chromium Code Reviews| Index: content/renderer/render_frame_proxy.cc |
| diff --git a/content/renderer/render_frame_proxy.cc b/content/renderer/render_frame_proxy.cc |
| index 6b8c760fe24ceec2acadee22b830d4cc26d0a375..84b23233d7dc419b58af7bee52d744c795073cdb 100644 |
| --- a/content/renderer/render_frame_proxy.cc |
| +++ b/content/renderer/render_frame_proxy.cc |
| @@ -9,12 +9,15 @@ |
| #include "base/lazy_instance.h" |
| #include "content/child/webmessageportchannel_impl.h" |
| #include "content/common/frame_messages.h" |
| +#include "content/common/frame_replication_state.h" |
| #include "content/common/swapped_out_messages.h" |
| #include "content/common/view_messages.h" |
| #include "content/renderer/child_frame_compositing_helper.h" |
| #include "content/renderer/render_frame_impl.h" |
| #include "content/renderer/render_thread_impl.h" |
| #include "content/renderer/render_view_impl.h" |
| + |
|
Charlie Reis
2014/11/20 17:20:28
nit: No blank line here.
(Might as well remove th
alexmos
2014/11/20 21:09:10
Done.
|
| +#include "third_party/WebKit/public/platform/WebString.h" |
| #include "third_party/WebKit/public/web/WebLocalFrame.h" |
| #include "third_party/WebKit/public/web/WebUserGestureIndicator.h" |
| #include "third_party/WebKit/public/web/WebView.h" |
| @@ -54,7 +57,8 @@ RenderFrameProxy* RenderFrameProxy::CreateProxyToReplaceFrame( |
| RenderFrameProxy* RenderFrameProxy::CreateFrameProxy( |
| int routing_id, |
| int parent_routing_id, |
| - int render_view_routing_id) { |
| + int render_view_routing_id, |
| + const FrameReplicationState& replicated_state) { |
| scoped_ptr<RenderFrameProxy> proxy( |
| new RenderFrameProxy(routing_id, MSG_ROUTING_NONE)); |
| RenderViewImpl* render_view = NULL; |
| @@ -76,6 +80,10 @@ RenderFrameProxy* RenderFrameProxy::CreateFrameProxy( |
| proxy->Init(web_frame, render_view); |
| + // Initialize proxy's WebRemoteFrame with the security origin and other |
| + // replicated information. |
| + proxy->SetReplicatedState(replicated_state); |
| + |
| return proxy.release(); |
| } |
| @@ -141,6 +149,12 @@ void RenderFrameProxy::DidCommitCompositorFrame() { |
| compositing_helper_->DidCommitCompositorFrame(); |
| } |
| +void RenderFrameProxy::SetReplicatedState(const FrameReplicationState& state) { |
| + DCHECK(web_frame_); |
| + web_frame_->setReplicatedOrigin(blink::WebSecurityOrigin::createFromString( |
| + blink::WebString::fromUTF8(state.origin.string()))); |
| +} |
| + |
| bool RenderFrameProxy::OnMessageReceived(const IPC::Message& msg) { |
| bool handled = true; |
| IPC_BEGIN_MESSAGE_MAP(RenderFrameProxy, msg) |