diff options
author | pfeldman@chromium.org <pfeldman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-03-20 16:01:03 +0000 |
---|---|---|
committer | pfeldman@chromium.org <pfeldman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-03-20 16:01:03 +0000 |
commit | a95972d843da1bfe3b0c5a3d850604dc660609d7 (patch) | |
tree | 955c8f5ba9a7a45601a68f1f2f744b63e8ee1f6d /webkit/glue/webdevtoolsclient_impl.h | |
parent | daa071ea80b8498f497ed41b4892e5e02208e38d (diff) | |
download | chromium_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.h | 21 |
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); }; |