OLD | NEW |
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2009 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 "chrome/renderer/devtools_client.h" | 5 #include "chrome/renderer/devtools_client.h" |
6 | 6 |
7 #include "app/app_switches.h" | 7 #include "app/app_switches.h" |
8 #include "base/command_line.h" | 8 #include "base/command_line.h" |
9 #include "chrome/common/devtools_messages.h" | 9 #include "chrome/common/devtools_messages.h" |
10 #include "chrome/common/render_messages.h" | 10 #include "chrome/common/render_messages.h" |
11 #include "chrome/renderer/render_thread.h" | 11 #include "chrome/renderer/render_thread.h" |
12 #include "chrome/renderer/render_view.h" | 12 #include "chrome/renderer/render_view.h" |
| 13 #include "webkit/api/public/WebDevToolsFrontend.h" |
13 #include "webkit/api/public/WebString.h" | 14 #include "webkit/api/public/WebString.h" |
14 #include "webkit/glue/webdevtoolsclient.h" | |
15 | 15 |
| 16 using WebKit::WebDevToolsFrontend; |
16 using WebKit::WebString; | 17 using WebKit::WebString; |
17 | 18 |
18 DevToolsClient::DevToolsClient(RenderView* view) | 19 DevToolsClient::DevToolsClient(RenderView* view) |
19 : render_view_(view) { | 20 : render_view_(view) { |
20 const CommandLine& command_line = *CommandLine::ForCurrentProcess(); | 21 const CommandLine& command_line = *CommandLine::ForCurrentProcess(); |
21 web_tools_client_.reset( | 22 web_tools_frontend_.reset( |
22 WebDevToolsClient::Create( | 23 WebDevToolsFrontend::create( |
23 view->webview(), | 24 view->webview(), |
24 this, | 25 this, |
25 WideToUTF16Hack(command_line.GetSwitchValue(switches::kLang)))); | 26 WideToUTF16Hack(command_line.GetSwitchValue(switches::kLang)))); |
26 } | 27 } |
27 | 28 |
28 DevToolsClient::~DevToolsClient() { | 29 DevToolsClient::~DevToolsClient() { |
29 } | 30 } |
30 | 31 |
31 void DevToolsClient::Send(const IPC::Message& tools_agent_message) { | 32 void DevToolsClient::Send(const IPC::Message& tools_agent_message) { |
32 render_view_->Send(new ViewHostMsg_ForwardToDevToolsAgent( | 33 render_view_->Send(new ViewHostMsg_ForwardToDevToolsAgent( |
33 render_view_->routing_id(), | 34 render_view_->routing_id(), |
34 tools_agent_message)); | 35 tools_agent_message)); |
35 } | 36 } |
36 | 37 |
37 bool DevToolsClient::OnMessageReceived(const IPC::Message& message) { | 38 bool DevToolsClient::OnMessageReceived(const IPC::Message& message) { |
38 DCHECK(RenderThread::current()->message_loop() == MessageLoop::current()); | 39 DCHECK(RenderThread::current()->message_loop() == MessageLoop::current()); |
39 | 40 |
40 bool handled = true; | 41 bool handled = true; |
41 IPC_BEGIN_MESSAGE_MAP(DevToolsClient, message) | 42 IPC_BEGIN_MESSAGE_MAP(DevToolsClient, message) |
42 IPC_MESSAGE_HANDLER(DevToolsClientMsg_RpcMessage, OnRpcMessage) | 43 IPC_MESSAGE_HANDLER(DevToolsClientMsg_RpcMessage, OnRpcMessage) |
43 IPC_MESSAGE_UNHANDLED(handled = false); | 44 IPC_MESSAGE_UNHANDLED(handled = false); |
44 IPC_END_MESSAGE_MAP() | 45 IPC_END_MESSAGE_MAP() |
45 | 46 |
46 return handled; | 47 return handled; |
47 } | 48 } |
48 | 49 |
49 void DevToolsClient::SendMessageToAgent(const WebString& class_name, | 50 void DevToolsClient::sendMessageToAgent(const WebString& class_name, |
50 const WebString& method_name, | 51 const WebString& method_name, |
51 const WebString& param1, | 52 const WebString& param1, |
52 const WebString& param2, | 53 const WebString& param2, |
53 const WebString& param3) { | 54 const WebString& param3) { |
54 Send(DevToolsAgentMsg_RpcMessage( | 55 Send(DevToolsAgentMsg_RpcMessage( |
55 class_name.utf8(), | 56 class_name.utf8(), |
56 method_name.utf8(), | 57 method_name.utf8(), |
57 param1.utf8(), | 58 param1.utf8(), |
58 param2.utf8(), | 59 param2.utf8(), |
59 param3.utf8())); | 60 param3.utf8())); |
60 } | 61 } |
61 | 62 |
62 void DevToolsClient::SendDebuggerCommandToAgent(const WebString& command) { | 63 void DevToolsClient::sendDebuggerCommandToAgent(const WebString& command) { |
63 Send(DevToolsAgentMsg_DebuggerCommand(command.utf8())); | 64 Send(DevToolsAgentMsg_DebuggerCommand(command.utf8())); |
64 } | 65 } |
65 | 66 |
66 void DevToolsClient::ActivateWindow() { | 67 void DevToolsClient::activateWindow() { |
67 render_view_->Send(new ViewHostMsg_ActivateDevToolsWindow( | 68 render_view_->Send(new ViewHostMsg_ActivateDevToolsWindow( |
68 render_view_->routing_id())); | 69 render_view_->routing_id())); |
69 } | 70 } |
70 | 71 |
71 void DevToolsClient::CloseWindow() { | 72 void DevToolsClient::closeWindow() { |
72 render_view_->Send(new ViewHostMsg_CloseDevToolsWindow( | 73 render_view_->Send(new ViewHostMsg_CloseDevToolsWindow( |
73 render_view_->routing_id())); | 74 render_view_->routing_id())); |
74 } | 75 } |
75 | 76 |
76 void DevToolsClient::DockWindow() { | 77 void DevToolsClient::dockWindow() { |
77 render_view_->Send(new ViewHostMsg_DockDevToolsWindow( | 78 render_view_->Send(new ViewHostMsg_DockDevToolsWindow( |
78 render_view_->routing_id())); | 79 render_view_->routing_id())); |
79 } | 80 } |
80 | 81 |
81 void DevToolsClient::UndockWindow() { | 82 void DevToolsClient::undockWindow() { |
82 render_view_->Send(new ViewHostMsg_UndockDevToolsWindow( | 83 render_view_->Send(new ViewHostMsg_UndockDevToolsWindow( |
83 render_view_->routing_id())); | 84 render_view_->routing_id())); |
84 } | 85 } |
85 | 86 |
86 void DevToolsClient::ToggleInspectElementMode(bool enabled) { | 87 void DevToolsClient::toggleInspectElementMode(bool enabled) { |
87 render_view_->Send(new ViewHostMsg_ToggleInspectElementMode( | 88 render_view_->Send(new ViewHostMsg_ToggleInspectElementMode( |
88 render_view_->routing_id(), enabled)); | 89 render_view_->routing_id(), enabled)); |
89 } | 90 } |
90 | 91 |
91 | 92 |
92 void DevToolsClient::OnRpcMessage(const std::string& class_name, | 93 void DevToolsClient::OnRpcMessage(const std::string& class_name, |
93 const std::string& method_name, | 94 const std::string& method_name, |
94 const std::string& param1, | 95 const std::string& param1, |
95 const std::string& param2, | 96 const std::string& param2, |
96 const std::string& param3) { | 97 const std::string& param3) { |
97 web_tools_client_->DispatchMessageFromAgent( | 98 web_tools_frontend_->dispatchMessageFromAgent( |
98 WebString::fromUTF8(class_name), | 99 WebString::fromUTF8(class_name), |
99 WebString::fromUTF8(method_name), | 100 WebString::fromUTF8(method_name), |
100 WebString::fromUTF8(param1), | 101 WebString::fromUTF8(param1), |
101 WebString::fromUTF8(param2), | 102 WebString::fromUTF8(param2), |
102 WebString::fromUTF8(param3)); | 103 WebString::fromUTF8(param3)); |
103 } | 104 } |
OLD | NEW |