Index: content/renderer/render_frame_impl.cc |
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc |
index 1e3667ff83565f31db7f86e44e961680febabb36..a6791c22bec4b216f30bf87c542346e6dc1290cf 100644 |
--- a/content/renderer/render_frame_impl.cc |
+++ b/content/renderer/render_frame_impl.cc |
@@ -2120,9 +2120,24 @@ void RenderFrameImpl::willClose(blink::WebFrame* frame) { |
void RenderFrameImpl::didChangeName(blink::WebLocalFrame* frame, |
const blink::WebString& name) { |
DCHECK(!frame_ || frame_ == frame); |
+ |
+ // TODO(alexmos): According to https://crbug.com/169110, sending window.name |
+ // updates may have performance implications for benchmarks like SunSpider. |
+ // For now, send these updates only for --site-per-process, which needs to |
+ // replicate frame names to all of this frame's proxies. This can also be |
+ // optimized by only sending the update if there are any remote frames in the |
+ // frame tree. |
+ if (base::CommandLine::ForCurrentProcess()->HasSwitch( |
+ switches::kSitePerProcess)) { |
+ Send(new FrameHostMsg_DidChangeName(routing_id_, base::UTF16ToUTF8(name))); |
+ } |
+ |
if (!render_view_->renderer_preferences_.report_frame_name_changes) |
return; |
+ // TODO(alexmos): ExtensionsRenderFrameObserver sends another message to the |
+ // browser process to keep the <webview> tag's name attribute updated. It |
+ // should be refactored to use the FrameHostMsg_DidChangeName above. |
FOR_EACH_OBSERVER(RenderFrameObserver, observers_, DidChangeName(name)); |
alexmos
2015/03/04 01:04:21
I'm still finalizing what this should be, and it'd
nasko
2015/03/05 18:09:28
We don't have such a way and this type of direct c
alexmos
2015/03/09 18:47:58
Done. Refactored WebViewGuest to use WebContentsO
|
} |