diff options
author | yurys@chromium.org <yurys@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-12-11 06:37:15 +0000 |
---|---|---|
committer | yurys@chromium.org <yurys@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-12-11 06:37:15 +0000 |
commit | d7cd453d824f825f1f55abf93c7bedef4bf05fcf (patch) | |
tree | a3728a054a74b279b80ded75ce647ff32b1761c8 /chrome/renderer | |
parent | eabfdae9101aa33a212fdaf240d8e0af70874e16 (diff) | |
download | chromium_src-d7cd453d824f825f1f55abf93c7bedef4bf05fcf.zip chromium_src-d7cd453d824f825f1f55abf93c7bedef4bf05fcf.tar.gz chromium_src-d7cd453d824f825f1f55abf93c7bedef4bf05fcf.tar.bz2 |
DevTools: use WebDevToolsMessageData for devtools rpc messages
Review URL: http://codereview.chromium.org/463065
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@34333 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/renderer')
-rw-r--r-- | chrome/renderer/devtools_agent.cc | 43 | ||||
-rw-r--r-- | chrome/renderer/devtools_agent.h | 15 | ||||
-rw-r--r-- | chrome/renderer/devtools_agent_filter.cc | 27 | ||||
-rw-r--r-- | chrome/renderer/devtools_agent_filter.h | 14 | ||||
-rw-r--r-- | chrome/renderer/devtools_client.cc | 27 | ||||
-rw-r--r-- | chrome/renderer/devtools_client.h | 15 |
6 files changed, 36 insertions, 105 deletions
diff --git a/chrome/renderer/devtools_agent.cc b/chrome/renderer/devtools_agent.cc index d1e81e2..11211fd 100644 --- a/chrome/renderer/devtools_agent.cc +++ b/chrome/renderer/devtools_agent.cc @@ -9,13 +9,16 @@ #include "chrome/renderer/devtools_agent_filter.h" #include "chrome/renderer/render_view.h" #include "third_party/WebKit/WebKit/chromium/public/WebDevToolsAgent.h" +#include "third_party/WebKit/WebKit/chromium/public/WebDevToolsMessageData.h" #include "third_party/WebKit/WebKit/chromium/public/WebPoint.h" #include "third_party/WebKit/WebKit/chromium/public/WebString.h" +#include "webkit/glue/devtools/devtools_message_data.h" #include "webkit/glue/glue_util.h" using WebKit::WebDevToolsAgent; using WebKit::WebPoint; using WebKit::WebString; +using WebKit::WebVector; using WebKit::WebView; // static @@ -53,19 +56,11 @@ bool DevToolsAgent::OnMessageReceived(const IPC::Message& message) { return handled; } -void DevToolsAgent::sendMessageToFrontend(const WebString& class_name, - const WebString& method_name, - const WebString& param1, - const WebString& param2, - const WebString& param3) { +void DevToolsAgent::sendMessageToFrontend( + const WebKit::WebDevToolsMessageData& data) { IPC::Message* m = new ViewHostMsg_ForwardToDevToolsClient( routing_id_, - DevToolsClientMsg_RpcMessage( - class_name.utf8(), - method_name.utf8(), - param1.utf8(), - param2.utf8(), - param3.utf8())); + DevToolsClientMsg_RpcMessage(DevToolsMessageData(data))); render_view_->Send(m); } @@ -113,19 +108,10 @@ void DevToolsAgent::OnDetach() { } } -void DevToolsAgent::OnRpcMessage(const std::string& class_name, - const std::string& method_name, - const std::string& param1, - const std::string& param2, - const std::string& param3) { +void DevToolsAgent::OnRpcMessage(const DevToolsMessageData& data) { WebDevToolsAgent* web_agent = GetWebAgent(); if (web_agent) { - web_agent->dispatchMessageFromFrontend( - WebString::fromUTF8(class_name), - WebString::fromUTF8(method_name), - WebString::fromUTF8(param1), - WebString::fromUTF8(param2), - WebString::fromUTF8(param3)); + web_agent->dispatchMessageFromFrontend(data.ToWebDevToolsMessageData()); } } @@ -155,15 +141,6 @@ WebDevToolsAgent* DevToolsAgent::GetWebAgent() { // static void WebKit::WebDevToolsAgentClient::sendMessageToFrontendOnIOThread( - const WebString& class_name, - const WebString& method_name, - const WebString& param1, - const WebString& param2, - const WebString& param3) { - DevToolsAgentFilter::SendRpcMessage( - class_name.utf8(), - method_name.utf8(), - param1.utf8(), - param2.utf8(), - param3.utf8()); + const WebDevToolsMessageData& data) { + DevToolsAgentFilter::SendRpcMessage(DevToolsMessageData(data)); } diff --git a/chrome/renderer/devtools_agent.h b/chrome/renderer/devtools_agent.h index 26a6297..4d05fe0 100644 --- a/chrome/renderer/devtools_agent.h +++ b/chrome/renderer/devtools_agent.h @@ -21,6 +21,7 @@ class WebDevToolsAgent; } class RenderView; +struct DevToolsMessageData; // DevToolsAgent belongs to the inspectable RenderView and provides Glue's // agents with the communication capabilities. All messages from/to Glue's @@ -37,11 +38,9 @@ class DevToolsAgent : public WebKit::WebDevToolsAgentClient { virtual bool OnMessageReceived(const IPC::Message& message); // WebDevToolsAgentClient implementation - virtual void sendMessageToFrontend(const WebKit::WebString& class_name, - const WebKit::WebString& method_name, - const WebKit::WebString& param1, - const WebKit::WebString& param2, - const WebKit::WebString& param3); + virtual void sendMessageToFrontend( + const WebKit::WebDevToolsMessageData& data); + virtual int hostIdentifier(); virtual void forceRepaint(); virtual void runtimeFeatureStateChanged(const WebKit::WebString& feature, @@ -59,11 +58,7 @@ class DevToolsAgent : public WebKit::WebDevToolsAgentClient { void OnAttach(const std::vector<std::string>& runtime_features); void OnDetach(); - void OnRpcMessage(const std::string& class_name, - const std::string& method_name, - const std::string& param1, - const std::string& param2, - const std::string& param3); + void OnRpcMessage(const DevToolsMessageData& data); void OnInspectElement(int x, int y); void OnSetApuAgentEnabled(bool enabled); diff --git a/chrome/renderer/devtools_agent_filter.cc b/chrome/renderer/devtools_agent_filter.cc index 375c743..d3a8289 100644 --- a/chrome/renderer/devtools_agent_filter.cc +++ b/chrome/renderer/devtools_agent_filter.cc @@ -11,7 +11,9 @@ #include "chrome/renderer/plugin_channel_host.h" #include "chrome/renderer/render_view.h" #include "third_party/WebKit/WebKit/chromium/public/WebDevToolsAgent.h" +#include "third_party/WebKit/WebKit/chromium/public/WebDevToolsMessageData.h" #include "third_party/WebKit/WebKit/chromium/public/WebString.h" +#include "webkit/glue/devtools/devtools_message_data.h" using WebKit::WebDevToolsAgent; using WebKit::WebString; @@ -62,32 +64,15 @@ void DevToolsAgentFilter::OnDebuggerPauseScript() { WebDevToolsAgent::debuggerPauseScript(); } -void DevToolsAgentFilter::OnRpcMessage(const std::string& class_name, - const std::string& method_name, - const std::string& param1, - const std::string& param2, - const std::string& param3) { +void DevToolsAgentFilter::OnRpcMessage(const DevToolsMessageData& data) { message_handled_ = WebDevToolsAgent::dispatchMessageFromFrontendOnIOThread( - WebString::fromUTF8(class_name), - WebString::fromUTF8(method_name), - WebString::fromUTF8(param1), - WebString::fromUTF8(param2), - WebString::fromUTF8(param3)); + data.ToWebDevToolsMessageData()); } // static -void DevToolsAgentFilter::SendRpcMessage(const std::string& class_name, - const std::string& method_name, - const std::string& param1, - const std::string& param2, - const std::string& param3) { +void DevToolsAgentFilter::SendRpcMessage(const DevToolsMessageData& data) { IPC::Message* m = new ViewHostMsg_ForwardToDevToolsClient( current_routing_id_, - DevToolsClientMsg_RpcMessage( - class_name, - method_name, - param1, - param2, - param3)); + DevToolsClientMsg_RpcMessage(data)); channel_->Send(m); } diff --git a/chrome/renderer/devtools_agent_filter.h b/chrome/renderer/devtools_agent_filter.h index ac5fd0c..8d23918 100644 --- a/chrome/renderer/devtools_agent_filter.h +++ b/chrome/renderer/devtools_agent_filter.h @@ -10,6 +10,8 @@ #include "ipc/ipc_channel_proxy.h" +struct DevToolsMessageData; + // DevToolsAgentFilter is registered as an IPC filter in order to be able to // dispatch messages while on the IO thread. The reason for that is that while // debugging, Render thread is being held by the v8 and hence no messages @@ -22,11 +24,7 @@ class DevToolsAgentFilter : public IPC::ChannelProxy::MessageFilter { DevToolsAgentFilter(); virtual ~DevToolsAgentFilter(); - static void SendRpcMessage(const std::string& class_name, - const std::string& method_name, - const std::string& param1, - const std::string& param2, - const std::string& param3); + static void SendRpcMessage(const DevToolsMessageData& data); private: // IPC::ChannelProxy::MessageFilter override. Called on IO thread. @@ -40,11 +38,7 @@ class DevToolsAgentFilter : public IPC::ChannelProxy::MessageFilter { // handle debug messages even when v8 is stopped. void OnDebuggerCommand(const std::string& command); void OnDebuggerPauseScript(); - void OnRpcMessage(const std::string& class_name, - const std::string& method_name, - const std::string& param1, - const std::string& param2, - const std::string& param3); + void OnRpcMessage(const DevToolsMessageData& data); bool message_handled_; diff --git a/chrome/renderer/devtools_client.cc b/chrome/renderer/devtools_client.cc index 8083288..2ab162e 100644 --- a/chrome/renderer/devtools_client.cc +++ b/chrome/renderer/devtools_client.cc @@ -11,6 +11,7 @@ #include "chrome/renderer/render_thread.h" #include "chrome/renderer/render_view.h" #include "third_party/WebKit/WebKit/chromium/public/WebDevToolsFrontend.h" +#include "third_party/WebKit/WebKit/chromium/public/WebDevToolsMessageData.h" #include "third_party/WebKit/WebKit/chromium/public/WebString.h" using WebKit::WebDevToolsFrontend; @@ -47,17 +48,9 @@ bool DevToolsClient::OnMessageReceived(const IPC::Message& message) { return handled; } -void DevToolsClient::sendMessageToAgent(const WebString& class_name, - const WebString& method_name, - const WebString& param1, - const WebString& param2, - const WebString& param3) { - Send(DevToolsAgentMsg_RpcMessage( - class_name.utf8(), - method_name.utf8(), - param1.utf8(), - param2.utf8(), - param3.utf8())); +void DevToolsClient::sendMessageToAgent( + const WebKit::WebDevToolsMessageData& data) { + Send(DevToolsAgentMsg_RpcMessage(DevToolsMessageData(data))); } void DevToolsClient::sendDebuggerCommandToAgent(const WebString& command) { @@ -88,15 +81,7 @@ void DevToolsClient::undockWindow() { render_view_->routing_id())); } -void DevToolsClient::OnRpcMessage(const std::string& class_name, - const std::string& method_name, - const std::string& param1, - const std::string& param2, - const std::string& param3) { +void DevToolsClient::OnRpcMessage(const DevToolsMessageData& data) { web_tools_frontend_->dispatchMessageFromAgent( - WebString::fromUTF8(class_name), - WebString::fromUTF8(method_name), - WebString::fromUTF8(param1), - WebString::fromUTF8(param2), - WebString::fromUTF8(param3)); + data.ToWebDevToolsMessageData()); } diff --git a/chrome/renderer/devtools_client.h b/chrome/renderer/devtools_client.h index aad5c09..c8eba9f 100644 --- a/chrome/renderer/devtools_client.h +++ b/chrome/renderer/devtools_client.h @@ -21,6 +21,8 @@ namespace WebKit { class WebDevToolsFrontend; } +struct DevToolsMessageData; + // Developer tools UI end of communication channel between the render process of // the page being inspected and tools UI renderer process. All messages will // go through browser process. On the side of the inspected page there's @@ -37,11 +39,8 @@ class DevToolsClient : public WebKit::WebDevToolsFrontendClient { bool OnMessageReceived(const IPC::Message& message); // WebDevToolsFrontendClient implementation - virtual void sendMessageToAgent(const WebKit::WebString& class_name, - const WebKit::WebString& method_name, - const WebKit::WebString& param1, - const WebKit::WebString& param2, - const WebKit::WebString& param3); + virtual void sendMessageToAgent( + const WebKit::WebDevToolsMessageData& data); virtual void sendDebuggerCommandToAgent(const WebKit::WebString& command); virtual void sendDebuggerPauseScript(); @@ -51,11 +50,7 @@ class DevToolsClient : public WebKit::WebDevToolsFrontendClient { virtual void undockWindow(); private: - void OnRpcMessage(const std::string& class_name, - const std::string& method_name, - const std::string& param1, - const std::string& param2, - const std::string& param3); + void OnRpcMessage(const DevToolsMessageData& data); // Sends message to DevToolsAgent. void Send(const IPC::Message& tools_agent_message); |