| Index: content/renderer/render_frame_impl.cc
|
| diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc
|
| index 79658a7d1ce869c56cb10490de315c2251502025..ebc42b1dc4aa30341b2ec87d98ee813fb198728e 100644
|
| --- a/content/renderer/render_frame_impl.cc
|
| +++ b/content/renderer/render_frame_impl.cc
|
| @@ -2126,10 +2126,21 @@ void RenderFrameImpl::willClose(blink::WebFrame* frame) {
|
| void RenderFrameImpl::didChangeName(blink::WebLocalFrame* frame,
|
| const blink::WebString& name) {
|
| DCHECK(!frame_ || frame_ == frame);
|
| - if (!render_view_->renderer_preferences_.report_frame_name_changes)
|
| - return;
|
|
|
| - FOR_EACH_OBSERVER(RenderFrameObserver, observers_, DidChangeName(name));
|
| + // 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 frame proxies, and when
|
| + // |report_frame_name_changes| is set (used by <webview>). If needed, this
|
| + // can be optimized further by only sending the update if there are any
|
| + // remote frames in the frame tree, or delaying and batching up IPCs if
|
| + // updates are happening too frequently.
|
| + bool is_site_per_process = base::CommandLine::ForCurrentProcess()->HasSwitch(
|
| + switches::kSitePerProcess);
|
| + if (is_site_per_process ||
|
| + render_view_->renderer_preferences_.report_frame_name_changes) {
|
| + Send(new FrameHostMsg_DidChangeName(routing_id_, base::UTF16ToUTF8(name)));
|
| + }
|
| }
|
|
|
| void RenderFrameImpl::didChangeSandboxFlags(blink::WebFrame* child_frame,
|
|
|