Index: content/renderer/render_frame_impl.cc |
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc |
index 5872c9af4e4436f9af9e34e0acdde8474500dfb7..c1e807a7b4e9110abdb7d3d06dbe821e097dbac2 100644 |
--- a/content/renderer/render_frame_impl.cc |
+++ b/content/renderer/render_frame_impl.cc |
@@ -603,6 +603,10 @@ void RenderFrameImpl::CreateFrame( |
} |
render_frame->Initialize(); |
+ // TODO(dgozman): this should actually be in RenderFrameImpl::Initialize, |
+ // but we have to somehow differentiate local frame root there. |
+ if (proxy_routing_id == MSG_ROUTING_NONE) |
nasko
2015/03/24 16:17:07
While this might work, it is a very fragile way to
Charlie Reis
2015/03/24 17:25:13
+1
For comparison, we have a IsCrossProcessSubfra
|
+ render_frame->CreateDevToolsAgent(); |
} |
// static |
@@ -666,6 +670,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), |
@@ -736,6 +741,11 @@ void RenderFrameImpl::Initialize() { |
GetContentClient()->renderer()->RenderFrameCreated(this); |
} |
+void RenderFrameImpl::CreateDevToolsAgent() { |
+ // We should only create DevToolsAgent for local frame roots. |
+ devtools_agent_ = new DevToolsAgent(this); |
+} |
+ |
RenderWidget* RenderFrameImpl::GetRenderWidget() { |
return render_view_.get(); |
} |
@@ -3221,10 +3231,10 @@ 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): here we should really check DevToolsAgent of local frame |
+ // root. How? |
+ if (devtools_agent_ && devtools_agent_->IsAttached()) |
return; |
- } |
// Display error page, if appropriate. |
std::string error_domain = "http"; |