summaryrefslogtreecommitdiffstats
path: root/chrome/renderer
diff options
context:
space:
mode:
authoryurys@chromium.org <yurys@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-12-11 06:37:15 +0000
committeryurys@chromium.org <yurys@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-12-11 06:37:15 +0000
commitd7cd453d824f825f1f55abf93c7bedef4bf05fcf (patch)
treea3728a054a74b279b80ded75ce647ff32b1761c8 /chrome/renderer
parenteabfdae9101aa33a212fdaf240d8e0af70874e16 (diff)
downloadchromium_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.cc43
-rw-r--r--chrome/renderer/devtools_agent.h15
-rw-r--r--chrome/renderer/devtools_agent_filter.cc27
-rw-r--r--chrome/renderer/devtools_agent_filter.h14
-rw-r--r--chrome/renderer/devtools_client.cc27
-rw-r--r--chrome/renderer/devtools_client.h15
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);