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

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

Issue 290873002: DevTools: allow embedder handling remote debugger commands. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Removed unnecessary include Created 6 years, 7 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 "content/browser/child_process_security_policy_impl.h" 9 #include "content/browser/child_process_security_policy_impl.h"
10 #include "content/browser/devtools/devtools_manager_impl.h" 10 #include "content/browser/devtools/devtools_manager_impl.h"
11 #include "content/browser/devtools/devtools_power_handler.h" 11 #include "content/browser/devtools/devtools_power_handler.h"
12 #include "content/browser/devtools/devtools_protocol.h" 12 #include "content/browser/devtools/devtools_protocol.h"
13 #include "content/browser/devtools/devtools_protocol_constants.h" 13 #include "content/browser/devtools/devtools_protocol_constants.h"
14 #include "content/browser/devtools/devtools_tracing_handler.h" 14 #include "content/browser/devtools/devtools_tracing_handler.h"
15 #include "content/browser/devtools/renderer_overrides_handler.h" 15 #include "content/browser/devtools/renderer_overrides_handler.h"
16 #include "content/browser/renderer_host/render_process_host_impl.h" 16 #include "content/browser/renderer_host/render_process_host_impl.h"
17 #include "content/browser/renderer_host/render_view_host_impl.h" 17 #include "content/browser/renderer_host/render_view_host_impl.h"
18 #include "content/browser/site_instance_impl.h" 18 #include "content/browser/site_instance_impl.h"
19 #include "content/browser/web_contents/web_contents_impl.h" 19 #include "content/browser/web_contents/web_contents_impl.h"
20 #include "content/common/devtools_messages.h" 20 #include "content/common/devtools_messages.h"
21 #include "content/common/view_messages.h" 21 #include "content/common/view_messages.h"
22 #include "content/public/browser/content_browser_client.h" 22 #include "content/public/browser/content_browser_client.h"
23 #include "content/public/browser/devtools_manager_delegate.h"
23 #include "content/public/browser/notification_service.h" 24 #include "content/public/browser/notification_service.h"
24 #include "content/public/browser/notification_types.h" 25 #include "content/public/browser/notification_types.h"
25 #include "content/public/browser/render_widget_host_iterator.h" 26 #include "content/public/browser/render_widget_host_iterator.h"
26 27
27 #if defined(OS_ANDROID) 28 #if defined(OS_ANDROID)
28 #include "content/browser/power_save_blocker_impl.h" 29 #include "content/browser/power_save_blocker_impl.h"
29 #include "content/public/browser/render_widget_host_view.h" 30 #include "content/public/browser/render_widget_host_view.h"
30 #endif 31 #endif
31 32
32 namespace content { 33 namespace content {
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after
178 AddRef(); // Balanced in RenderViewHostDestroyed. 179 AddRef(); // Balanced in RenderViewHostDestroyed.
179 } 180 }
180 181
181 RenderViewHost* RenderViewDevToolsAgentHost::GetRenderViewHost() { 182 RenderViewHost* RenderViewDevToolsAgentHost::GetRenderViewHost() {
182 return render_view_host_; 183 return render_view_host_;
183 } 184 }
184 185
185 void RenderViewDevToolsAgentHost::DispatchOnInspectorBackend( 186 void RenderViewDevToolsAgentHost::DispatchOnInspectorBackend(
186 const std::string& message) { 187 const std::string& message) {
187 std::string error_message; 188 std::string error_message;
189
190 scoped_ptr<base::DictionaryValue> message_dict(
191 DevToolsProtocol::ParseMessage(message, &error_message));
188 scoped_refptr<DevToolsProtocol::Command> command = 192 scoped_refptr<DevToolsProtocol::Command> command =
189 DevToolsProtocol::ParseCommand(message, &error_message); 193 DevToolsProtocol::ParseCommand(message_dict.get(), &error_message);
190 194
191 if (command) { 195 if (command) {
192 scoped_refptr<DevToolsProtocol::Response> overridden_response = 196 scoped_refptr<DevToolsProtocol::Response> overridden_response;
193 overrides_handler_->HandleCommand(command); 197
198 DevToolsManagerDelegate* delegate =
199 DevToolsManagerImpl::GetInstance()->delegate();
200 if (delegate) {
201 scoped_ptr<base::DictionaryValue> overridden_response_value(
202 delegate->HandleCommand(this, message_dict.get()));
203 if (overridden_response_value)
204 overridden_response = DevToolsProtocol::ParseResponse(
205 overridden_response_value.get());
206 }
207 if (!overridden_response)
208 overridden_response = overrides_handler_->HandleCommand(command);
194 if (!overridden_response) 209 if (!overridden_response)
195 overridden_response = tracing_handler_->HandleCommand(command); 210 overridden_response = tracing_handler_->HandleCommand(command);
196 if (!overridden_response) 211 if (!overridden_response)
197 overridden_response = power_handler_->HandleCommand(command); 212 overridden_response = power_handler_->HandleCommand(command);
198 if (overridden_response) { 213 if (overridden_response) {
199 if (!overridden_response->is_async_promise()) 214 if (!overridden_response->is_async_promise())
200 OnDispatchOnInspectorFrontend(overridden_response->Serialize()); 215 OnDispatchOnInspectorFrontend(overridden_response->Serialize());
201 return; 216 return;
202 } 217 }
203 } 218 }
(...skipping 229 matching lines...) Expand 10 before | Expand all | Expand 10 after
433 448
434 void RenderViewDevToolsAgentHost::OnDispatchOnInspectorFrontend( 449 void RenderViewDevToolsAgentHost::OnDispatchOnInspectorFrontend(
435 const std::string& message) { 450 const std::string& message) {
436 if (!render_view_host_) 451 if (!render_view_host_)
437 return; 452 return;
438 DevToolsManagerImpl::GetInstance()->DispatchOnInspectorFrontend( 453 DevToolsManagerImpl::GetInstance()->DispatchOnInspectorFrontend(
439 this, message); 454 this, message);
440 } 455 }
441 456
442 } // namespace content 457 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/devtools/devtools_protocol.cc ('k') | content/public/browser/devtools_manager_delegate.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698