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

Unified Diff: content/renderer/render_frame_impl.cc

Issue 1023783004: [DevTools] Move DevToolsAgent to RenderFrameImpl. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: cleanup 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 side-by-side diff with in-line comments
Download patch
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";

Powered by Google App Engine
This is Rietveld 408576698