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

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

Issue 974723002: OOPIF: Replicate dynamic window.name updates. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 5 years, 9 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
« no previous file with comments | « content/public/renderer/render_frame_observer.h ('k') | content/renderer/render_frame_proxy.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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_impl.h" 5 #include "content/renderer/render_frame_impl.h"
6 6
7 #include <map> 7 #include <map>
8 #include <string> 8 #include <string>
9 9
10 #include "base/auto_reset.h" 10 #include "base/auto_reset.h"
(...skipping 2108 matching lines...) Expand 10 before | Expand all | Expand 10 after
2119 DCHECK(!frame_ || frame_ == frame); 2119 DCHECK(!frame_ || frame_ == frame);
2120 2120
2121 FOR_EACH_OBSERVER(RenderFrameObserver, observers_, FrameWillClose()); 2121 FOR_EACH_OBSERVER(RenderFrameObserver, observers_, FrameWillClose());
2122 FOR_EACH_OBSERVER(RenderViewObserver, render_view_->observers(), 2122 FOR_EACH_OBSERVER(RenderViewObserver, render_view_->observers(),
2123 FrameWillClose(frame)); 2123 FrameWillClose(frame));
2124 } 2124 }
2125 2125
2126 void RenderFrameImpl::didChangeName(blink::WebLocalFrame* frame, 2126 void RenderFrameImpl::didChangeName(blink::WebLocalFrame* frame,
2127 const blink::WebString& name) { 2127 const blink::WebString& name) {
2128 DCHECK(!frame_ || frame_ == frame); 2128 DCHECK(!frame_ || frame_ == frame);
2129 if (!render_view_->renderer_preferences_.report_frame_name_changes)
2130 return;
2131 2129
2132 FOR_EACH_OBSERVER(RenderFrameObserver, observers_, DidChangeName(name)); 2130 // TODO(alexmos): According to https://crbug.com/169110, sending window.name
2131 // updates may have performance implications for benchmarks like SunSpider.
2132 // For now, send these updates only for --site-per-process, which needs to
2133 // replicate frame names to frame proxies, and when
2134 // |report_frame_name_changes| is set (used by WebView). This can be
nasko 2015/03/09 21:43:40 nit: "WebView" here has a very ambiguous meaning.
alexmos 2015/03/09 21:53:00 Done. Also updated comment slightly to mention an
2135 // optimized further by only sending the update if there are any remote
2136 // frames in the frame tree.
2137 bool is_site_per_process = base::CommandLine::ForCurrentProcess()->HasSwitch(
2138 switches::kSitePerProcess);
2139 if (is_site_per_process ||
2140 render_view_->renderer_preferences_.report_frame_name_changes)
nasko 2015/03/09 21:43:40 nit: This is a two line if statement, {} need to b
alexmos 2015/03/09 21:53:00 Done.
2141 Send(new FrameHostMsg_DidChangeName(routing_id_, base::UTF16ToUTF8(name)));
2133 } 2142 }
2134 2143
2135 void RenderFrameImpl::didChangeSandboxFlags(blink::WebFrame* child_frame, 2144 void RenderFrameImpl::didChangeSandboxFlags(blink::WebFrame* child_frame,
2136 blink::WebSandboxFlags flags) { 2145 blink::WebSandboxFlags flags) {
2137 int frame_routing_id = MSG_ROUTING_NONE; 2146 int frame_routing_id = MSG_ROUTING_NONE;
2138 if (child_frame->isWebRemoteFrame()) { 2147 if (child_frame->isWebRemoteFrame()) {
2139 frame_routing_id = 2148 frame_routing_id =
2140 RenderFrameProxy::FromWebFrame(child_frame)->routing_id(); 2149 RenderFrameProxy::FromWebFrame(child_frame)->routing_id();
2141 } else { 2150 } else {
2142 frame_routing_id = 2151 frame_routing_id =
(...skipping 2356 matching lines...) Expand 10 before | Expand all | Expand 10 after
4499 4508
4500 #if defined(ENABLE_BROWSER_CDMS) 4509 #if defined(ENABLE_BROWSER_CDMS)
4501 RendererCdmManager* RenderFrameImpl::GetCdmManager() { 4510 RendererCdmManager* RenderFrameImpl::GetCdmManager() {
4502 if (!cdm_manager_) 4511 if (!cdm_manager_)
4503 cdm_manager_ = new RendererCdmManager(this); 4512 cdm_manager_ = new RendererCdmManager(this);
4504 return cdm_manager_; 4513 return cdm_manager_;
4505 } 4514 }
4506 #endif // defined(ENABLE_BROWSER_CDMS) 4515 #endif // defined(ENABLE_BROWSER_CDMS)
4507 4516
4508 } // namespace content 4517 } // namespace content
OLDNEW
« no previous file with comments | « content/public/renderer/render_frame_observer.h ('k') | content/renderer/render_frame_proxy.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698