diff options
author | atwilson@chromium.org <atwilson@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-11-05 06:29:08 +0000 |
---|---|---|
committer | atwilson@chromium.org <atwilson@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-11-05 06:29:08 +0000 |
commit | bec1ed112990143fe30b6cae4624fdde3015efce (patch) | |
tree | 24ca36e4bc748f6a872decfaccd7f41cac60c4b3 /chrome/worker/worker_thread.cc | |
parent | c38a0c74b4a29e6eecb99babf7c98045f05c1c56 (diff) | |
download | chromium_src-bec1ed112990143fe30b6cae4624fdde3015efce.zip chromium_src-bec1ed112990143fe30b6cae4624fdde3015efce.tar.gz chromium_src-bec1ed112990143fe30b6cae4624fdde3015efce.tar.bz2 |
Added beginnings of browser-process support for shared workers.
Refactored WebWorkerClientProxy into two classes - WebWorkerDispatcher which dispatches incoming IPCs for the worker, and WebWorkerClientProxy, which handles outgoing API calls from WebWorkerImpl. This allows WebWorkerClientProxy to be reused by WebSharedWorkerDispatcher.
BUG=26233
TEST=none (will enable layout tests when basic functionality available)
Review URL: http://codereview.chromium.org/351004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31077 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/worker/worker_thread.cc')
-rw-r--r-- | chrome/worker/worker_thread.cc | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/chrome/worker/worker_thread.cc b/chrome/worker/worker_thread.cc index e4be0b9..8ffc92b 100644 --- a/chrome/worker/worker_thread.cc +++ b/chrome/worker/worker_thread.cc @@ -7,7 +7,8 @@ #include "base/lazy_instance.h" #include "base/thread_local.h" #include "chrome/common/worker_messages.h" -#include "chrome/worker/webworkerclient_proxy.h" +#include "chrome/worker/webworker_stub.h" +#include "chrome/worker/websharedworker_stub.h" #include "chrome/worker/worker_webkitclient_impl.h" #include "webkit/api/public/WebKit.h" @@ -37,7 +38,13 @@ void WorkerThread::OnControlMessageReceived(const IPC::Message& msg) { IPC_END_MESSAGE_MAP() } -void WorkerThread::OnCreateWorker(const GURL& url, int route_id) { - // WebWorkerClientProxy owns itself. - new WebWorkerClientProxy(url, route_id); +void WorkerThread::OnCreateWorker(const GURL& url, + bool is_shared, + const string16& name, + int route_id) { + // WebWorkerStub and WebSharedWorkerStub own themselves. + if (is_shared) + new WebSharedWorkerStub(name, route_id); + else + new WebWorkerStub(url, route_id); } |