Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(467)

Side by Side Diff: content/renderer/render_frame_proxy.cc

Issue 1635873003: Replicating WebFrame::uniqueName across renderers. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@dump-render-tree3
Patch Set: Addressed CR feedback from Charlie. Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/renderer/render_frame_proxy.h" 5 #include "content/renderer/render_frame_proxy.h"
6 6
7 #include <stdint.h> 7 #include <stdint.h>
8 #include <map> 8 #include <map>
9 #include <utility> 9 #include <utility>
10 10
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
93 render_view->webview()->setMainFrame(web_frame); 93 render_view->webview()->setMainFrame(web_frame);
94 render_widget = render_view; 94 render_widget = render_view;
95 } else { 95 } else {
96 // Create a frame under an existing parent. The parent is always expected 96 // Create a frame under an existing parent. The parent is always expected
97 // to be a RenderFrameProxy, because navigations initiated by local frames 97 // to be a RenderFrameProxy, because navigations initiated by local frames
98 // should not wind up here. 98 // should not wind up here.
99 99
100 web_frame = parent->web_frame()->createRemoteChild( 100 web_frame = parent->web_frame()->createRemoteChild(
101 replicated_state.scope, 101 replicated_state.scope,
102 blink::WebString::fromUTF8(replicated_state.name), 102 blink::WebString::fromUTF8(replicated_state.name),
103 blink::WebString::fromUTF8(replicated_state.unique_name),
103 replicated_state.sandbox_flags, proxy.get()); 104 replicated_state.sandbox_flags, proxy.get());
104 render_view = parent->render_view(); 105 render_view = parent->render_view();
105 render_widget = parent->render_widget(); 106 render_widget = parent->render_widget();
106 } 107 }
107 108
108 blink::WebFrame* opener = 109 blink::WebFrame* opener =
109 RenderFrameImpl::ResolveOpener(opener_routing_id, nullptr); 110 RenderFrameImpl::ResolveOpener(opener_routing_id, nullptr);
110 web_frame->setOpener(opener); 111 web_frame->setOpener(opener);
111 112
112 proxy->Init(web_frame, render_view, render_widget); 113 proxy->Init(web_frame, render_view, render_widget);
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
206 } 207 }
207 } 208 }
208 209
209 void RenderFrameProxy::DidCommitCompositorFrame() { 210 void RenderFrameProxy::DidCommitCompositorFrame() {
210 } 211 }
211 212
212 void RenderFrameProxy::SetReplicatedState(const FrameReplicationState& state) { 213 void RenderFrameProxy::SetReplicatedState(const FrameReplicationState& state) {
213 DCHECK(web_frame_); 214 DCHECK(web_frame_);
214 web_frame_->setReplicatedOrigin(state.origin); 215 web_frame_->setReplicatedOrigin(state.origin);
215 web_frame_->setReplicatedSandboxFlags(state.sandbox_flags); 216 web_frame_->setReplicatedSandboxFlags(state.sandbox_flags);
216 web_frame_->setReplicatedName(blink::WebString::fromUTF8(state.name)); 217 web_frame_->setReplicatedName(blink::WebString::fromUTF8(state.name),
218 blink::WebString::fromUTF8(state.unique_name));
217 web_frame_->setReplicatedShouldEnforceStrictMixedContentChecking( 219 web_frame_->setReplicatedShouldEnforceStrictMixedContentChecking(
218 state.should_enforce_strict_mixed_content_checking); 220 state.should_enforce_strict_mixed_content_checking);
219 } 221 }
220 222
221 // Update the proxy's SecurityContext and FrameOwner with new sandbox flags 223 // Update the proxy's SecurityContext and FrameOwner with new sandbox flags
222 // that were set by its parent in another process. 224 // that were set by its parent in another process.
223 // 225 //
224 // Normally, when a frame's sandbox attribute is changed dynamically, the 226 // Normally, when a frame's sandbox attribute is changed dynamically, the
225 // frame's FrameOwner is updated with the new sandbox flags right away, while 227 // frame's FrameOwner is updated with the new sandbox flags right away, while
226 // the frame's SecurityContext is updated when the frame is navigated and the 228 // the frame's SecurityContext is updated when the frame is navigated and the
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
326 if (IsMainFrameDetachedFromTree()) 328 if (IsMainFrameDetachedFromTree())
327 return; 329 return;
328 330
329 web_frame_->didStopLoading(); 331 web_frame_->didStopLoading();
330 } 332 }
331 333
332 void RenderFrameProxy::OnDispatchLoad() { 334 void RenderFrameProxy::OnDispatchLoad() {
333 web_frame_->DispatchLoadEventForFrameOwner(); 335 web_frame_->DispatchLoadEventForFrameOwner();
334 } 336 }
335 337
336 void RenderFrameProxy::OnDidUpdateName(const std::string& name) { 338 void RenderFrameProxy::OnDidUpdateName(const std::string& name,
337 web_frame_->setReplicatedName(blink::WebString::fromUTF8(name)); 339 const std::string& unique_name) {
340 web_frame_->setReplicatedName(blink::WebString::fromUTF8(name),
341 blink::WebString::fromUTF8(unique_name));
338 } 342 }
339 343
340 void RenderFrameProxy::OnEnforceStrictMixedContentChecking( 344 void RenderFrameProxy::OnEnforceStrictMixedContentChecking(
341 bool should_enforce) { 345 bool should_enforce) {
342 web_frame_->setReplicatedShouldEnforceStrictMixedContentChecking( 346 web_frame_->setReplicatedShouldEnforceStrictMixedContentChecking(
343 should_enforce); 347 should_enforce);
344 } 348 }
345 349
346 void RenderFrameProxy::OnDidUpdateOrigin(const url::Origin& origin) { 350 void RenderFrameProxy::OnDidUpdateOrigin(const url::Origin& origin) {
347 web_frame_->setReplicatedOrigin(origin); 351 web_frame_->setReplicatedOrigin(origin);
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after
466 blink::WebLocalFrame* source) { 470 blink::WebLocalFrame* source) {
467 int source_routing_id = RenderFrameImpl::FromWebFrame(source)->GetRoutingID(); 471 int source_routing_id = RenderFrameImpl::FromWebFrame(source)->GetRoutingID();
468 Send(new FrameHostMsg_AdvanceFocus(routing_id_, type, source_routing_id)); 472 Send(new FrameHostMsg_AdvanceFocus(routing_id_, type, source_routing_id));
469 } 473 }
470 474
471 void RenderFrameProxy::frameFocused() { 475 void RenderFrameProxy::frameFocused() {
472 Send(new FrameHostMsg_FrameFocused(routing_id_)); 476 Send(new FrameHostMsg_FrameFocused(routing_id_));
473 } 477 }
474 478
475 } // namespace 479 } // namespace
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698