Chromium Code Reviews| Index: content/renderer/render_frame_impl.cc |
| diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc |
| index be10cdabedb523475f8ceb2fa2712d21fb2cadc2..e2b8c7d362d346a119ac76e37c6f244bbd5f380c 100644 |
| --- a/content/renderer/render_frame_impl.cc |
| +++ b/content/renderer/render_frame_impl.cc |
| @@ -640,6 +640,7 @@ blink::WebSandboxFlags RenderFrameImpl::ContentToWebSandboxFlags( |
| // RenderFrameImpl ---------------------------------------------------------- |
| RenderFrameImpl::RenderFrameImpl(RenderViewImpl* render_view, int routing_id) |
| : frame_(NULL), |
| + is_local_root_(false), |
| render_view_(render_view->AsWeakPtr()), |
| routing_id_(routing_id), |
| is_swapped_out_(false), |
| @@ -666,6 +667,7 @@ RenderFrameImpl::RenderFrameImpl(RenderViewImpl* render_view, int routing_id) |
| #if defined(VIDEO_HOLE) |
| contains_media_player_(false), |
| #endif |
| + devtools_agent_(nullptr), |
| geolocation_dispatcher_(NULL), |
| push_messaging_dispatcher_(NULL), |
| presentation_dispatcher_(NULL), |
| @@ -731,6 +733,13 @@ void RenderFrameImpl::Initialize() { |
| if (!frame_->parent()) |
| new ImageLoadingHelper(this); |
| + is_local_root_ = !frame_->parent() || frame_->parent()->isWebRemoteFrame(); |
|
nasko
2015/03/25 22:26:04
I'd put this initialization line as the first thin
dgozman
2015/03/26 13:25:49
Done.
|
| + if (is_local_root_ && !render_frame_proxy_) { |
| + // DevToolsAgent is a RenderFrameObserver, and will destruct itself |
| + // when |this| is deleted. |
| + devtools_agent_ = new DevToolsAgent(this); |
| + } |
| + |
| // We delay calling this until we have the WebFrame so that any observer or |
| // embedder can call GetWebFrame on any RenderFrame. |
| GetContentClient()->renderer()->RenderFrameCreated(this); |
| @@ -3219,10 +3228,9 @@ void RenderFrameImpl::didFinishResourceLoad(blink::WebLocalFrame* frame, |
| return; |
| // Do not show error page when DevTools is attached. |
| - if (render_view_->devtools_agent_ && |
| - render_view_->devtools_agent_->IsAttached()) { |
| + // TODO(dgozman): we should check DevToolsAgent of the local frame root. |
|
nasko
2015/03/25 22:26:04
Why not include this check in this CL? I'm worried
dgozman
2015/03/26 13:25:49
Done.
|
| + if (devtools_agent_ && devtools_agent_->IsAttached()) |
| return; |
| - } |
| // Display error page, if appropriate. |
| std::string error_domain = "http"; |