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/WebString.h" |
13 #include "webkit/glue/webdevtoolsclient.h" | 14 #include "webkit/glue/webdevtoolsclient.h" |
14 | 15 |
| 16 using WebKit::WebString; |
| 17 |
15 DevToolsClient::DevToolsClient(RenderView* view) | 18 DevToolsClient::DevToolsClient(RenderView* view) |
16 : render_view_(view) { | 19 : render_view_(view) { |
17 const CommandLine& command_line = *CommandLine::ForCurrentProcess(); | 20 const CommandLine& command_line = *CommandLine::ForCurrentProcess(); |
18 web_tools_client_.reset( | 21 web_tools_client_.reset( |
19 WebDevToolsClient::Create( | 22 WebDevToolsClient::Create( |
20 view->webview(), | 23 view->webview(), |
21 this, | 24 this, |
22 WideToASCII(command_line.GetSwitchValue(switches::kLang)))); | 25 WideToUTF16Hack(command_line.GetSwitchValue(switches::kLang)))); |
23 } | 26 } |
24 | 27 |
25 DevToolsClient::~DevToolsClient() { | 28 DevToolsClient::~DevToolsClient() { |
26 } | 29 } |
27 | 30 |
28 void DevToolsClient::Send(const IPC::Message& tools_agent_message) { | 31 void DevToolsClient::Send(const IPC::Message& tools_agent_message) { |
29 render_view_->Send(new ViewHostMsg_ForwardToDevToolsAgent( | 32 render_view_->Send(new ViewHostMsg_ForwardToDevToolsAgent( |
30 render_view_->routing_id(), | 33 render_view_->routing_id(), |
31 tools_agent_message)); | 34 tools_agent_message)); |
32 } | 35 } |
33 | 36 |
34 bool DevToolsClient::OnMessageReceived(const IPC::Message& message) { | 37 bool DevToolsClient::OnMessageReceived(const IPC::Message& message) { |
35 DCHECK(RenderThread::current()->message_loop() == MessageLoop::current()); | 38 DCHECK(RenderThread::current()->message_loop() == MessageLoop::current()); |
36 | 39 |
37 bool handled = true; | 40 bool handled = true; |
38 IPC_BEGIN_MESSAGE_MAP(DevToolsClient, message) | 41 IPC_BEGIN_MESSAGE_MAP(DevToolsClient, message) |
39 IPC_MESSAGE_HANDLER(DevToolsClientMsg_RpcMessage, OnRpcMessage) | 42 IPC_MESSAGE_HANDLER(DevToolsClientMsg_RpcMessage, OnRpcMessage) |
40 IPC_MESSAGE_UNHANDLED(handled = false); | 43 IPC_MESSAGE_UNHANDLED(handled = false); |
41 IPC_END_MESSAGE_MAP() | 44 IPC_END_MESSAGE_MAP() |
42 | 45 |
43 return handled; | 46 return handled; |
44 } | 47 } |
45 | 48 |
46 void DevToolsClient::SendMessageToAgent(const std::string& class_name, | 49 void DevToolsClient::SendMessageToAgent(const WebString& class_name, |
47 const std::string& method_name, | 50 const WebString& method_name, |
48 const std::string& param1, | 51 const WebString& param1, |
49 const std::string& param2, | 52 const WebString& param2, |
50 const std::string& param3) { | 53 const WebString& param3) { |
51 Send(DevToolsAgentMsg_RpcMessage(class_name, method_name, param1, param2, | 54 Send(DevToolsAgentMsg_RpcMessage( |
52 param3)); | 55 class_name.utf8(), |
| 56 method_name.utf8(), |
| 57 param1.utf8(), |
| 58 param2.utf8(), |
| 59 param3.utf8())); |
53 } | 60 } |
54 | 61 |
55 void DevToolsClient::SendDebuggerCommandToAgent(const std::string& command) { | 62 void DevToolsClient::SendDebuggerCommandToAgent(const WebString& command) { |
56 Send(DevToolsAgentMsg_DebuggerCommand(command)); | 63 Send(DevToolsAgentMsg_DebuggerCommand(command.utf8())); |
57 } | 64 } |
58 | 65 |
59 void DevToolsClient::ActivateWindow() { | 66 void DevToolsClient::ActivateWindow() { |
60 render_view_->Send(new ViewHostMsg_ActivateDevToolsWindow( | 67 render_view_->Send(new ViewHostMsg_ActivateDevToolsWindow( |
61 render_view_->routing_id())); | 68 render_view_->routing_id())); |
62 } | 69 } |
63 | 70 |
64 void DevToolsClient::CloseWindow() { | 71 void DevToolsClient::CloseWindow() { |
65 render_view_->Send(new ViewHostMsg_CloseDevToolsWindow( | 72 render_view_->Send(new ViewHostMsg_CloseDevToolsWindow( |
66 render_view_->routing_id())); | 73 render_view_->routing_id())); |
(...skipping 13 matching lines...) Expand all Loading... |
80 render_view_->Send(new ViewHostMsg_ToggleInspectElementMode( | 87 render_view_->Send(new ViewHostMsg_ToggleInspectElementMode( |
81 render_view_->routing_id(), enabled)); | 88 render_view_->routing_id(), enabled)); |
82 } | 89 } |
83 | 90 |
84 | 91 |
85 void DevToolsClient::OnRpcMessage(const std::string& class_name, | 92 void DevToolsClient::OnRpcMessage(const std::string& class_name, |
86 const std::string& method_name, | 93 const std::string& method_name, |
87 const std::string& param1, | 94 const std::string& param1, |
88 const std::string& param2, | 95 const std::string& param2, |
89 const std::string& param3) { | 96 const std::string& param3) { |
90 web_tools_client_->DispatchMessageFromAgent(class_name, method_name, param1, | 97 web_tools_client_->DispatchMessageFromAgent( |
91 param2, param3); | 98 WebString::fromUTF8(class_name), |
| 99 WebString::fromUTF8(method_name), |
| 100 WebString::fromUTF8(param1), |
| 101 WebString::fromUTF8(param2), |
| 102 WebString::fromUTF8(param3)); |
92 } | 103 } |
OLD | NEW |