summaryrefslogtreecommitdiffstats
path: root/webkit/glue/webdevtoolsclient_impl.h
diff options
context:
space:
mode:
authorpfeldman@chromium.org <pfeldman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-03-20 16:01:03 +0000
committerpfeldman@chromium.org <pfeldman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-03-20 16:01:03 +0000
commita95972d843da1bfe3b0c5a3d850604dc660609d7 (patch)
tree955c8f5ba9a7a45601a68f1f2f744b63e8ee1f6d /webkit/glue/webdevtoolsclient_impl.h
parentdaa071ea80b8498f497ed41b4892e5e02208e38d (diff)
downloadchromium_src-a95972d843da1bfe3b0c5a3d850604dc660609d7.zip
chromium_src-a95972d843da1bfe3b0c5a3d850604dc660609d7.tar.gz
chromium_src-a95972d843da1bfe3b0c5a3d850604dc660609d7.tar.bz2
Add support for Javascript function callbacks into the WebDevToolsClient.
Review URL: http://codereview.chromium.org/42443 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12189 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/glue/webdevtoolsclient_impl.h')
-rw-r--r--webkit/glue/webdevtoolsclient_impl.h21
1 files changed, 14 insertions, 7 deletions
diff --git a/webkit/glue/webdevtoolsclient_impl.h b/webkit/glue/webdevtoolsclient_impl.h
index 9714d28..91ea321 100644
--- a/webkit/glue/webdevtoolsclient_impl.h
+++ b/webkit/glue/webdevtoolsclient_impl.h
@@ -7,6 +7,9 @@
#include <string>
+#include <wtf/HashMap.h>
+#include <wtf/OwnPtr.h>
+
#include "base/string_util.h"
#include "webkit/glue/cpp_bound_class.h"
#include "webkit/glue/devtools/devtools_rpc.h"
@@ -38,7 +41,8 @@ class WebDevToolsClientImpl : public WebDevToolsClient,
virtual ~WebDevToolsClientImpl();
// DomAgentDelegate implementation.
- virtual void DocumentElementUpdated(const Value& value);
+ virtual void GetDocumentElementResult(int call_id, const std::string& value);
+ virtual void GetChildNodesResult(int call_id, const std::string& value);
virtual void AttributesUpdated(int id, const Value& attributes);
virtual void ChildNodesUpdated(int id, const Value& value);
virtual void ChildNodeInserted(
@@ -57,9 +61,9 @@ class WebDevToolsClientImpl : public WebDevToolsClient,
const Value& response);
virtual void DidFinishLoading(int identifier, const Value& response);
virtual void DidFailLoading(int identifier, const Value& response);
- virtual void SetResourceContent(
- int identifier,
- const WebCore::String& content);
+ virtual void GetResourceContentResult(
+ int call_id,
+ const std::string& content);
// ToolsAgentDelegate implementation.
virtual void UpdateFocusedNode(int node_id);
@@ -71,6 +75,7 @@ class WebDevToolsClientImpl : public WebDevToolsClient,
virtual void DispatchMessageFromAgent(const std::string& raw_msg);
private:
+ void ProcessCallback(int call_id, const std::string& data);
// MakeJsCall templates.
void MakeJsCall(const std::string& func) {
EvaluateJs(StringPrintf("%s()", func.c_str()));
@@ -130,9 +135,11 @@ class WebDevToolsClientImpl : public WebDevToolsClient,
WebViewImpl* web_view_impl_;
WebDevToolsClientDelegate* delegate_;
- scoped_ptr<DomAgentStub> dom_agent_stub_;
- scoped_ptr<NetAgentStub> net_agent_stub_;
- scoped_ptr<ToolsAgentStub> tools_agent_stub_;
+ OwnPtr<DomAgentStub> dom_agent_stub_;
+ OwnPtr<NetAgentStub> net_agent_stub_;
+ OwnPtr<ToolsAgentStub> tools_agent_stub_;
+ int last_call_id_;
+ HashMap<int, CppVariant> callbacks_;
DISALLOW_COPY_AND_ASSIGN(WebDevToolsClientImpl);
};