summaryrefslogtreecommitdiffstats
path: root/content/worker/webworkerclient_proxy.h
diff options
context:
space:
mode:
authoryurys@chromium.org <yurys@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-05-27 08:26:06 +0000
committeryurys@chromium.org <yurys@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-05-27 08:26:06 +0000
commitbf7cc538f3e6f04f043fb5c56457597e2702fda7 (patch)
tree31745bc501a32190b9eedde0b9783a5395405bbb /content/worker/webworkerclient_proxy.h
parent69b5cc1cd49d108cdb7ced431f8caf56e8d3bd43 (diff)
downloadchromium_src-bf7cc538f3e6f04f043fb5c56457597e2702fda7.zip
chromium_src-bf7cc538f3e6f04f043fb5c56457597e2702fda7.tar.gz
chromium_src-bf7cc538f3e6f04f043fb5c56457597e2702fda7.tar.bz2
This change provides initial support for sending DevTools messages between Worker and Page processes.
On the Page side devtools messages are handled by WorkerDevtoolsAgentProxy. It implements WebWorkerBase::DevToolsDelegate interface which isolates worker stuff under content/ from DevTools specifics. In the worker process it's WorkerDevtoolsAgent that is responsible for sending/receiving devtools messages. It implements WebWorkerStub::DevToolsDelegate and WebWorkerClientProxy::DevToolsDelegate which insulate worker stuff under content/ from the devtools implementation details. WorkerDevtoolsAgentProxy and WorkerDevtoolsAgent are counterparts of WebWorkerProxy and WebWorkerStub. Since devtools is not a part of HTML5 the new classes live under chrome/ ContentWorkerClient is introduced for notifying embedder about certain events when worker clients can be installed. BUG=13684 TEST=None Review URL: http://codereview.chromium.org/6990059 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@86991 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/worker/webworkerclient_proxy.h')
-rw-r--r--content/worker/webworkerclient_proxy.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/content/worker/webworkerclient_proxy.h b/content/worker/webworkerclient_proxy.h
index 66268a2..31c0340 100644
--- a/content/worker/webworkerclient_proxy.h
+++ b/content/worker/webworkerclient_proxy.h
@@ -20,6 +20,7 @@ class WebWorker;
}
class WebWorkerStubBase;
+class WorkerDevToolsAgent;
// This class receives IPCs from the renderer and calls the WebCore::Worker
// implementation (after the data types have been converted by glue code). It
@@ -78,9 +79,14 @@ class WebWorkerClientProxy : public WebKit::WebWorkerClient {
long long size,
bool create,
WebKit::WebFileSystemCallbacks* callbacks);
+ virtual void dispatchDevToolsMessage(const WebKit::WebString&);
void EnsureWorkerContextTerminates();
+ void set_devtools_agent(WorkerDevToolsAgent* devtools_agent) {
+ devtools_agent_ = devtools_agent;
+ }
+
private:
bool Send(IPC::Message* message);
@@ -88,6 +94,7 @@ class WebWorkerClientProxy : public WebKit::WebWorkerClient {
int appcache_host_id_;
WebWorkerStubBase* stub_;
ScopedRunnableMethodFactory<WebWorkerClientProxy> kill_process_factory_;
+ WorkerDevToolsAgent* devtools_agent_;
DISALLOW_COPY_AND_ASSIGN(WebWorkerClientProxy);
};