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

Side by Side Diff: content/browser/devtools/render_view_devtools_agent_host.cc

Issue 635533004: [DevTools] Move DOM domain overrides to DOMHandler (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 2 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
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/browser/devtools/render_view_devtools_agent_host.h" 5 #include "content/browser/devtools/render_view_devtools_agent_host.h"
6 6
7 #include "base/basictypes.h" 7 #include "base/basictypes.h"
8 #include "base/lazy_instance.h" 8 #include "base/lazy_instance.h"
9 #include "base/strings/utf_string_conversions.h" 9 #include "base/strings/utf_string_conversions.h"
10 #include "content/browser/child_process_security_policy_impl.h" 10 #include "content/browser/child_process_security_policy_impl.h"
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after
103 WebContents* web_contents = WebContents::FromRenderViewHost(pending); 103 WebContents* web_contents = WebContents::FromRenderViewHost(pending);
104 RenderViewDevToolsAgentHost* agent_host = FindAgentHost(web_contents); 104 RenderViewDevToolsAgentHost* agent_host = FindAgentHost(web_contents);
105 if (!agent_host) 105 if (!agent_host)
106 return; 106 return;
107 agent_host->DisconnectRenderViewHost(); 107 agent_host->DisconnectRenderViewHost();
108 agent_host->ConnectRenderViewHost(current); 108 agent_host->ConnectRenderViewHost(current);
109 } 109 }
110 110
111 RenderViewDevToolsAgentHost::RenderViewDevToolsAgentHost(RenderViewHost* rvh) 111 RenderViewDevToolsAgentHost::RenderViewDevToolsAgentHost(RenderViewHost* rvh)
112 : render_view_host_(NULL), 112 : render_view_host_(NULL),
113 dom_handler_(new devtools::dom::DOMHandler()),
113 input_handler_(new devtools::input::InputHandler()), 114 input_handler_(new devtools::input::InputHandler()),
114 page_handler_(new devtools::page::PageHandler()), 115 page_handler_(new devtools::page::PageHandler()),
115 handler_impl_(new DevToolsProtocolHandlerImpl()), 116 handler_impl_(new DevToolsProtocolHandlerImpl()),
116 overrides_handler_(new RendererOverridesHandler()), 117 overrides_handler_(new RendererOverridesHandler()),
117 tracing_handler_( 118 tracing_handler_(
118 new DevToolsTracingHandler(DevToolsTracingHandler::Renderer)), 119 new DevToolsTracingHandler(DevToolsTracingHandler::Renderer)),
119 power_handler_(new DevToolsPowerHandler()), 120 power_handler_(new DevToolsPowerHandler()),
120 reattaching_(false) { 121 reattaching_(false) {
122 handler_impl_->SetDOMHandler(dom_handler_.get());
121 handler_impl_->SetInputHandler(input_handler_.get()); 123 handler_impl_->SetInputHandler(input_handler_.get());
122 handler_impl_->SetPageHandler(page_handler_.get()); 124 handler_impl_->SetPageHandler(page_handler_.get());
123 SetRenderViewHost(rvh); 125 SetRenderViewHost(rvh);
124 DevToolsProtocol::Notifier notifier(base::Bind( 126 DevToolsProtocol::Notifier notifier(base::Bind(
125 &RenderViewDevToolsAgentHost::OnDispatchOnInspectorFrontend, 127 &RenderViewDevToolsAgentHost::OnDispatchOnInspectorFrontend,
126 base::Unretained(this))); 128 base::Unretained(this)));
127 handler_impl_->SetNotifier(notifier); 129 handler_impl_->SetNotifier(notifier);
128 overrides_handler_->SetNotifier(notifier); 130 overrides_handler_->SetNotifier(notifier);
129 tracing_handler_->SetNotifier(notifier); 131 tracing_handler_->SetNotifier(notifier);
130 power_handler_->SetNotifier(notifier); 132 power_handler_->SetNotifier(notifier);
(...skipping 237 matching lines...) Expand 10 before | Expand all | Expand 10 after
368 overrides_handler_->OnVisibilityChanged(visible); 370 overrides_handler_->OnVisibilityChanged(visible);
369 } 371 }
370 } 372 }
371 373
372 void RenderViewDevToolsAgentHost::SetRenderViewHost(RenderViewHost* rvh) { 374 void RenderViewDevToolsAgentHost::SetRenderViewHost(RenderViewHost* rvh) {
373 DCHECK(!render_view_host_); 375 DCHECK(!render_view_host_);
374 render_view_host_ = static_cast<RenderViewHostImpl*>(rvh); 376 render_view_host_ = static_cast<RenderViewHostImpl*>(rvh);
375 377
376 WebContentsObserver::Observe(WebContents::FromRenderViewHost(rvh)); 378 WebContentsObserver::Observe(WebContents::FromRenderViewHost(rvh));
377 overrides_handler_->SetRenderViewHost(render_view_host_); 379 overrides_handler_->SetRenderViewHost(render_view_host_);
380 dom_handler_->SetRenderViewHost(render_view_host_);
378 input_handler_->SetRenderViewHost(render_view_host_); 381 input_handler_->SetRenderViewHost(render_view_host_);
379 page_handler_->SetRenderViewHost(render_view_host_); 382 page_handler_->SetRenderViewHost(render_view_host_);
380 383
381 registrar_.Add( 384 registrar_.Add(
382 this, 385 this,
383 content::NOTIFICATION_RENDER_WIDGET_VISIBILITY_CHANGED, 386 content::NOTIFICATION_RENDER_WIDGET_VISIBILITY_CHANGED,
384 content::Source<RenderWidgetHost>(render_view_host_)); 387 content::Source<RenderWidgetHost>(render_view_host_));
385 } 388 }
386 389
387 void RenderViewDevToolsAgentHost::ClearRenderViewHost() { 390 void RenderViewDevToolsAgentHost::ClearRenderViewHost() {
388 DCHECK(render_view_host_); 391 DCHECK(render_view_host_);
389 registrar_.Remove( 392 registrar_.Remove(
390 this, 393 this,
391 content::NOTIFICATION_RENDER_WIDGET_VISIBILITY_CHANGED, 394 content::NOTIFICATION_RENDER_WIDGET_VISIBILITY_CHANGED,
392 content::Source<RenderWidgetHost>(render_view_host_)); 395 content::Source<RenderWidgetHost>(render_view_host_));
393 render_view_host_ = NULL; 396 render_view_host_ = nullptr;
394 overrides_handler_->ClearRenderViewHost(); 397 overrides_handler_->ClearRenderViewHost();
395 input_handler_->SetRenderViewHost(NULL); 398 dom_handler_->SetRenderViewHost(nullptr);
396 page_handler_->SetRenderViewHost(NULL); 399 input_handler_->SetRenderViewHost(nullptr);
400 page_handler_->SetRenderViewHost(nullptr);
397 } 401 }
398 402
399 void RenderViewDevToolsAgentHost::DisconnectWebContents() { 403 void RenderViewDevToolsAgentHost::DisconnectWebContents() {
400 DisconnectRenderViewHost(); 404 DisconnectRenderViewHost();
401 } 405 }
402 406
403 void RenderViewDevToolsAgentHost::ConnectWebContents(WebContents* wc) { 407 void RenderViewDevToolsAgentHost::ConnectWebContents(WebContents* wc) {
404 ConnectRenderViewHost(wc->GetRenderViewHost()); 408 ConnectRenderViewHost(wc->GetRenderViewHost());
405 } 409 }
406 410
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
496 } 500 }
497 501
498 void RenderViewDevToolsAgentHost::OnDispatchOnInspectorFrontend( 502 void RenderViewDevToolsAgentHost::OnDispatchOnInspectorFrontend(
499 const std::string& message) { 503 const std::string& message) {
500 if (!render_view_host_) 504 if (!render_view_host_)
501 return; 505 return;
502 SendMessageToClient(message); 506 SendMessageToClient(message);
503 } 507 }
504 508
505 } // namespace content 509 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698