diff options
author | darin@chromium.org <darin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-04-24 20:22:43 +0000 |
---|---|---|
committer | darin@chromium.org <darin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-04-24 20:22:43 +0000 |
commit | 27ba8536c70127d3367f4609cb0ee1e65944ae20 (patch) | |
tree | f004485d299b52c673acece6b0e5ca90f5273f3d /chrome/worker | |
parent | 9c16251546f278a3b804dd2034f29234f6354a09 (diff) | |
download | chromium_src-27ba8536c70127d3367f4609cb0ee1e65944ae20.zip chromium_src-27ba8536c70127d3367f4609cb0ee1e65944ae20.tar.gz chromium_src-27ba8536c70127d3367f4609cb0ee1e65944ae20.tar.bz2 |
Use WebWorker and WebWorkerClient from the WebKit API.
BUG=10995
R=jam
Review URL: http://codereview.chromium.org/92144
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14461 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/worker')
-rw-r--r-- | chrome/worker/webworkerclient_proxy.cc | 38 | ||||
-rw-r--r-- | chrome/worker/webworkerclient_proxy.h | 32 |
2 files changed, 39 insertions, 31 deletions
diff --git a/chrome/worker/webworkerclient_proxy.cc b/chrome/worker/webworkerclient_proxy.cc index 33bcbc8..fa2bd39 100644 --- a/chrome/worker/webworkerclient_proxy.cc +++ b/chrome/worker/webworkerclient_proxy.cc @@ -8,13 +8,18 @@ #include "chrome/common/ipc_logging.h" #include "chrome/common/worker_messages.h" #include "chrome/worker/worker_thread.h" -#include "webkit/glue/webworker.h" +#include "third_party/WebKit/WebKit/chromium/public/WebString.h" +#include "third_party/WebKit/WebKit/chromium/public/WebURL.h" +#include "third_party/WebKit/WebKit/chromium/public/WebWorker.h" +using WebKit::WebString; +using WebKit::WebWorker; +using WebKit::WebWorkerClient; WebWorkerClientProxy::WebWorkerClientProxy(const GURL& url, int route_id) : url_(url), route_id_(route_id), - ALLOW_THIS_IN_INITIALIZER_LIST(impl_(WebWorker::Create(this))) { + ALLOW_THIS_IN_INITIALIZER_LIST(impl_(WebWorker::create(this))) { AddRef(); WorkerThread::current()->AddRoute(route_id_, this); ChildProcess::current()->AddRefProcess(); @@ -25,41 +30,42 @@ WebWorkerClientProxy::~WebWorkerClientProxy() { ChildProcess::current()->ReleaseProcess(); } -void WebWorkerClientProxy::PostMessageToWorkerObject(const string16& message) { +void WebWorkerClientProxy::postMessageToWorkerObject( + const WebString& message) { Send(new WorkerHostMsg_PostMessageToWorkerObject(route_id_, message)); } -void WebWorkerClientProxy::PostExceptionToWorkerObject( - const string16& error_message, +void WebWorkerClientProxy::postExceptionToWorkerObject( + const WebString& error_message, int line_number, - const string16& source_url) { + const WebString& source_url) { Send(new WorkerHostMsg_PostExceptionToWorkerObject( route_id_, error_message, line_number, source_url)); } -void WebWorkerClientProxy::PostConsoleMessageToWorkerObject( +void WebWorkerClientProxy::postConsoleMessageToWorkerObject( int destination, int source, int level, - const string16& message, + const WebString& message, int line_number, - const string16& source_url) { + const WebString& source_url) { Send(new WorkerHostMsg_PostConsoleMessageToWorkerObject( route_id_, destination, source, level,message, line_number, source_url)); } -void WebWorkerClientProxy::ConfirmMessageFromWorkerObject( +void WebWorkerClientProxy::confirmMessageFromWorkerObject( bool has_pending_activity) { Send(new WorkerHostMsg_ConfirmMessageFromWorkerObject( route_id_, has_pending_activity)); } -void WebWorkerClientProxy::ReportPendingActivity(bool has_pending_activity) { +void WebWorkerClientProxy::reportPendingActivity(bool has_pending_activity) { Send(new WorkerHostMsg_ReportPendingActivity( route_id_, has_pending_activity)); } -void WebWorkerClientProxy::WorkerContextDestroyed() { +void WebWorkerClientProxy::workerContextDestroyed() { Send(new WorkerHostMsg_WorkerContextDestroyed(route_id_)); impl_ = NULL; @@ -82,12 +88,12 @@ void WebWorkerClientProxy::OnMessageReceived(const IPC::Message& message) { IPC_BEGIN_MESSAGE_MAP(WebWorkerClientProxy, message) IPC_MESSAGE_FORWARD(WorkerMsg_StartWorkerContext, impl_, - WebWorker::StartWorkerContext) + WebWorker::startWorkerContext) IPC_MESSAGE_FORWARD(WorkerMsg_TerminateWorkerContext, impl_, - WebWorker::TerminateWorkerContext) + WebWorker::terminateWorkerContext) IPC_MESSAGE_FORWARD(WorkerMsg_PostMessageToWorkerContext, impl_, - WebWorker::PostMessageToWorkerContext) + WebWorker::postMessageToWorkerContext) IPC_MESSAGE_FORWARD(WorkerMsg_WorkerObjectDestroyed, impl_, - WebWorker::WorkerObjectDestroyed) + WebWorker::workerObjectDestroyed) IPC_END_MESSAGE_MAP() } diff --git a/chrome/worker/webworkerclient_proxy.h b/chrome/worker/webworkerclient_proxy.h index 31ee56d..f650d58 100644 --- a/chrome/worker/webworkerclient_proxy.h +++ b/chrome/worker/webworkerclient_proxy.h @@ -9,40 +9,42 @@ #include "base/ref_counted.h" #include "chrome/common/ipc_channel.h" #include "googleurl/src/gurl.h" -#include "webkit/glue/webworkerclient.h" +#include "third_party/WebKit/WebKit/chromium/public/WebWorkerClient.h" +namespace WebKit { class WebWorker; +} // This class receives IPCs from the renderer and calls the WebCore::Worker // implementation (after the data types have been converted by glue code). It // is also called by the worker code and converts these function calls into // IPCs that are sent to the renderer, where they're converted back to function // calls by WebWorkerProxy. -class WebWorkerClientProxy : public WebWorkerClient, +class WebWorkerClientProxy : public WebKit::WebWorkerClient, public IPC::Channel::Listener, public base::RefCounted<WebWorkerClientProxy> { public: - WebWorkerClientProxy (const GURL& url, int route_id); + WebWorkerClientProxy(const GURL& url, int route_id); // WebWorkerClient implementation. - void PostMessageToWorkerObject(const string16& message); - void PostExceptionToWorkerObject( - const string16& error_message, + virtual void postMessageToWorkerObject(const WebKit::WebString& message); + virtual void postExceptionToWorkerObject( + const WebKit::WebString& error_message, int line_number, - const string16& source_url); - void PostConsoleMessageToWorkerObject( + const WebKit::WebString& source_url); + virtual void postConsoleMessageToWorkerObject( int destination, int source, int level, - const string16& message, + const WebKit::WebString& message, int line_number, - const string16& source_url); - void ConfirmMessageFromWorkerObject(bool has_pending_activity); - void ReportPendingActivity(bool has_pending_activity); - void WorkerContextDestroyed(); + const WebKit::WebString& source_url); + virtual void confirmMessageFromWorkerObject(bool has_pending_activity); + virtual void reportPendingActivity(bool has_pending_activity); + virtual void workerContextDestroyed(); // IPC::Channel::Listener implementation. - void OnMessageReceived(const IPC::Message& message); + virtual void OnMessageReceived(const IPC::Message& message); private: friend class base::RefCounted<WebWorkerClientProxy>; @@ -55,7 +57,7 @@ class WebWorkerClientProxy : public WebWorkerClient, int route_id_; - WebWorker* impl_; + WebKit::WebWorker* impl_; DISALLOW_COPY_AND_ASSIGN(WebWorkerClientProxy); }; |