summaryrefslogtreecommitdiffstats
path: root/webkit/glue
diff options
context:
space:
mode:
Diffstat (limited to 'webkit/glue')
-rw-r--r--webkit/glue/webview_delegate.h6
-rw-r--r--webkit/glue/webworker.h31
-rw-r--r--webkit/glue/webworker_impl.cc89
-rw-r--r--webkit/glue/webworker_impl.h52
-rw-r--r--webkit/glue/webworkerclient.h37
-rw-r--r--webkit/glue/webworkerclient_impl.cc73
-rw-r--r--webkit/glue/webworkerclient_impl.h61
7 files changed, 156 insertions, 193 deletions
diff --git a/webkit/glue/webview_delegate.h b/webkit/glue/webview_delegate.h
index d62024f..d2065c5 100644
--- a/webkit/glue/webview_delegate.h
+++ b/webkit/glue/webview_delegate.h
@@ -39,6 +39,8 @@ class WebMediaPlayerDelegate;
namespace WebKit {
class WebDragData;
+class WebWorker;
+class WebWorkerClient;
struct WebPoint;
struct WebRect;
}
@@ -58,8 +60,6 @@ class WebRequest;
class WebResponse;
class WebView;
class WebWidget;
-class WebWorker;
-class WebWorkerClient;
enum NavigationGesture {
NavigationGestureUser, // User initiated navigation/load. This is not
@@ -125,7 +125,7 @@ class WebViewDelegate : virtual public WebWidgetDelegate {
}
// This method is called when the renderer creates a worker object.
- virtual WebWorker* CreateWebWorker(WebWorkerClient* client) {
+ virtual WebKit::WebWorker* CreateWebWorker(WebKit::WebWorkerClient* client) {
return NULL;
}
diff --git a/webkit/glue/webworker.h b/webkit/glue/webworker.h
deleted file mode 100644
index 302fa24..0000000
--- a/webkit/glue/webworker.h
+++ /dev/null
@@ -1,31 +0,0 @@
-// Copyright (c) 2009 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef WEBKIT_GLUE_WEBWORKER_H_
-#define WEBKIT_GLUE_WEBWORKER_H_
-
-#include "base/string16.h"
-
-class GURL;
-class WebWorkerClient;
-
-// This is a version of the WebCore::WorkerContextProxy interface that uses
-// Chrome data types.
-class WebWorker {
- public:
- virtual ~WebWorker() { }
-
- // Creates a WebWorker object that wraps around the WebKit code that implements
- // web workers.
- static WebWorker* Create(WebWorkerClient* client);
-
- virtual void StartWorkerContext(const GURL& script_url,
- const string16& user_agent,
- const string16& source_code) = 0;
- virtual void TerminateWorkerContext() = 0;
- virtual void PostMessageToWorkerContext(const string16& message) = 0;
- virtual void WorkerObjectDestroyed() = 0;
-};
-
-#endif // #ifndef WEBKIT_GLUE_WEBWORKER_H_
diff --git a/webkit/glue/webworker_impl.cc b/webkit/glue/webworker_impl.cc
index 9fdf1fc..a8e461d 100644
--- a/webkit/glue/webworker_impl.cc
+++ b/webkit/glue/webworker_impl.cc
@@ -18,16 +18,25 @@
#include "base/logging.h"
#include "webkit/glue/glue_util.h"
-#include "webkit/glue/webworkerclient.h"
#include "webkit/glue/webworker_impl.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/WebWorkerClient.h"
+using WebKit::WebWorker;
+using WebKit::WebWorkerClient;
+using WebKit::WebString;
+using WebKit::WebURL;
#if ENABLE(WORKERS)
-WebWorker* WebWorker::Create(WebWorkerClient* client) {
+namespace WebKit {
+
+WebWorker* WebWorker::create(WebWorkerClient* client) {
return new WebWorkerImpl(client);
}
+}
// This function is called on the main thread to force to initialize some static
// values used in WebKit before any worker thread is started. This is because in
@@ -62,17 +71,19 @@ void WebWorkerImpl::PostMessageToWorkerContextTask(
static_cast<WebCore::WorkerContext*>(context);
worker_context->dispatchMessage(message);
- this_ptr->client_->ConfirmMessageFromWorkerObject(
+ this_ptr->client_->confirmMessageFromWorkerObject(
worker_context->hasPendingActivity());
}
-void WebWorkerImpl::StartWorkerContext(const GURL& script_url,
- const string16& user_agent,
- const string16& source_code) {
+// WebWorker -------------------------------------------------------------------
+
+void WebWorkerImpl::startWorkerContext(const WebURL& script_url,
+ const WebString& user_agent,
+ const WebString& source_code) {
worker_thread_ = WebCore::WorkerThread::create(
- webkit_glue::GURLToKURL(script_url),
- webkit_glue::String16ToString(user_agent),
- webkit_glue::String16ToString(source_code),
+ webkit_glue::WebURLToKURL(script_url),
+ webkit_glue::WebStringToString(user_agent),
+ webkit_glue::WebStringToString(source_code),
this);
// Worker initialization means a pending activity.
@@ -81,32 +92,34 @@ void WebWorkerImpl::StartWorkerContext(const GURL& script_url,
worker_thread_->start();
}
-void WebWorkerImpl::TerminateWorkerContext() {
+void WebWorkerImpl::terminateWorkerContext() {
worker_thread_->stop();
}
-void WebWorkerImpl::PostMessageToWorkerContext(const string16& message) {
+void WebWorkerImpl::postMessageToWorkerContext(const WebString& message) {
worker_thread_->runLoop().postTask(WebCore::createCallbackTask(
&PostMessageToWorkerContextTask,
this,
- webkit_glue::String16ToString(message)));
+ webkit_glue::WebStringToString(message)));
}
-void WebWorkerImpl::WorkerObjectDestroyed() {
+void WebWorkerImpl::workerObjectDestroyed() {
}
+// WorkerObjectProxy -----------------------------------------------------------
+
void WebWorkerImpl::postMessageToWorkerObject(const WebCore::String& message) {
- client_->PostMessageToWorkerObject(webkit_glue::StringToString16(message));
+ client_->postMessageToWorkerObject(webkit_glue::StringToWebString(message));
}
void WebWorkerImpl::postExceptionToWorkerObject(
- const WebCore::String& errorMessage,
- int lineNumber,
- const WebCore::String& sourceURL) {
- client_->PostExceptionToWorkerObject(
- webkit_glue::StringToString16(errorMessage),
- lineNumber,
- webkit_glue::StringToString16(sourceURL));
+ const WebCore::String& error_message,
+ int line_number,
+ const WebCore::String& source_url) {
+ client_->postExceptionToWorkerObject(
+ webkit_glue::StringToWebString(error_message),
+ line_number,
+ webkit_glue::StringToWebString(source_url));
}
void WebWorkerImpl::postConsoleMessageToWorkerObject(
@@ -114,27 +127,27 @@ void WebWorkerImpl::postConsoleMessageToWorkerObject(
WebCore::MessageSource source,
WebCore::MessageLevel level,
const WebCore::String& message,
- int lineNumber,
- const WebCore::String& sourceURL) {
- client_->PostConsoleMessageToWorkerObject(
- destination,
- source,
- level,
- webkit_glue::StringToString16(message),
- lineNumber,
- webkit_glue::StringToString16(sourceURL));
+ int line_number,
+ const WebCore::String& source_url) {
+ client_->postConsoleMessageToWorkerObject(
+ static_cast<int>(destination),
+ static_cast<int>(source),
+ static_cast<int>(level),
+ webkit_glue::StringToWebString(message),
+ line_number,
+ webkit_glue::StringToWebString(source_url));
}
-void WebWorkerImpl::confirmMessageFromWorkerObject(bool hasPendingActivity) {
- client_->ConfirmMessageFromWorkerObject(hasPendingActivity);
+void WebWorkerImpl::confirmMessageFromWorkerObject(bool has_pending_activity) {
+ client_->confirmMessageFromWorkerObject(has_pending_activity);
}
-void WebWorkerImpl::reportPendingActivity(bool hasPendingActivity) {
- client_->ReportPendingActivity(hasPendingActivity);
+void WebWorkerImpl::reportPendingActivity(bool has_pending_activity) {
+ client_->reportPendingActivity(has_pending_activity);
}
void WebWorkerImpl::workerContextDestroyed() {
- client_->WorkerContextDestroyed();
+ client_->workerContextDestroyed();
// The lifetime of this proxy is controlled by the worker context.
delete this;
@@ -142,8 +155,12 @@ void WebWorkerImpl::workerContextDestroyed() {
#else
-WebWorker* WebWorker::Create(WebWorkerClient* client) {
+namespace WebKit {
+
+WebWorker* WebWorker::create(WebWorkerClient* client) {
return NULL;
}
+}
+
#endif
diff --git a/webkit/glue/webworker_impl.h b/webkit/glue/webworker_impl.h
index 4af1f64..8ae78c6 100644
--- a/webkit/glue/webworker_impl.h
+++ b/webkit/glue/webworker_impl.h
@@ -5,7 +5,7 @@
#ifndef WEBKIT_GLUE_WEBWORKER_IMPL_H_
#define WEBKIT_GLUE_WEBWORKER_IMPL_H_
-#include "webkit/glue/webworker.h"
+#include "third_party/WebKit/WebKit/chromium/public/WebWorker.h"
#if ENABLE(WORKERS)
@@ -26,33 +26,35 @@ class WorkerThread;
// WebCore::WorkerObjectProxy, this class will conver to Chrome data types first
// and then call the supplied WebWorkerClient.
class WebWorkerImpl: public WebCore::WorkerObjectProxy,
- public WebWorker {
+ public WebKit::WebWorker {
public:
- WebWorkerImpl(WebWorkerClient* client);
+ explicit WebWorkerImpl(WebKit::WebWorkerClient* client);
virtual ~WebWorkerImpl();
- // WebCore::WorkerObjectProxy implementation.
- void postMessageToWorkerObject(const WebCore::String& message);
- void postExceptionToWorkerObject(const WebCore::String& errorMessage,
- int lineNumber,
- const WebCore::String& sourceURL);
- void postConsoleMessageToWorkerObject(WebCore::MessageDestination destination,
- WebCore::MessageSource source,
- WebCore::MessageLevel level,
- const WebCore::String& message,
- int lineNumber,
- const WebCore::String& sourceURL);
- void confirmMessageFromWorkerObject(bool hasPendingActivity);
- void reportPendingActivity(bool hasPendingActivity);
- void workerContextDestroyed();
+ // WebCore::WorkerObjectProxy methods:
+ virtual void postMessageToWorkerObject(const WebCore::String& message);
+ virtual void postExceptionToWorkerObject(
+ const WebCore::String& error_message,
+ int line_number,
+ const WebCore::String& source_url);
+ virtual void postConsoleMessageToWorkerObject(
+ WebCore::MessageDestination destination,
+ WebCore::MessageSource source,
+ WebCore::MessageLevel level,
+ const WebCore::String& message,
+ int line_number,
+ const WebCore::String& source_url);
+ virtual void confirmMessageFromWorkerObject(bool has_pending_activity);
+ virtual void reportPendingActivity(bool has_pending_activity);
+ virtual void workerContextDestroyed();
- // WebWorker implementation.
- void StartWorkerContext(const GURL& script_url,
- const string16& user_agent,
- const string16& source_code);
- void TerminateWorkerContext();
- void PostMessageToWorkerContext(const string16& message);
- void WorkerObjectDestroyed();
+ // WebWorker methods:
+ virtual void startWorkerContext(const WebKit::WebURL& script_url,
+ const WebKit::WebString& user_agent,
+ const WebKit::WebString& source_code);
+ virtual void terminateWorkerContext();
+ virtual void postMessageToWorkerContext(const WebKit::WebString& message);
+ virtual void workerObjectDestroyed();
private:
static void PostMessageToWorkerContextTask(
@@ -60,7 +62,7 @@ class WebWorkerImpl: public WebCore::WorkerObjectProxy,
WebWorkerImpl* this_ptr,
const WebCore::String& message);
- WebWorkerClient* client_;
+ WebKit::WebWorkerClient* client_;
WTF::RefPtr<WebCore::WorkerThread> worker_thread_;
DISALLOW_COPY_AND_ASSIGN(WebWorkerImpl);
diff --git a/webkit/glue/webworkerclient.h b/webkit/glue/webworkerclient.h
deleted file mode 100644
index 7938aa1..0000000
--- a/webkit/glue/webworkerclient.h
+++ /dev/null
@@ -1,37 +0,0 @@
-// Copyright (c) 2009 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef WEBKIT_GLUE_WEBWORKERCLIENT_H_
-#define WEBKIT_GLUE_WEBWORKERCLIENT_H_
-
-#include "base/string16.h"
-
-// This is a version of the WebCore::WorkerObjectProxy interface that uses
-// Chrome data types.
-class WebWorkerClient {
- public:
- virtual ~WebWorkerClient() { }
-
- // These functions are called on the worker thread.
- virtual void PostMessageToWorkerObject(const string16& message) = 0;
- virtual void PostExceptionToWorkerObject(
- const string16& error_message,
- int line_number,
- const string16& source_url) = 0;
- // destination, source, and level are the int values of the corresponding
- // WebKit enums. This avoids duplicating the enums and having to stay up to
- // date.
- virtual void PostConsoleMessageToWorkerObject(
- int destination,
- int source,
- int level,
- const string16& message,
- int line_number,
- const string16& source_url) = 0;
- virtual void ConfirmMessageFromWorkerObject(bool has_pending_activity) = 0;
- virtual void ReportPendingActivity(bool has_pending_activity) = 0;
- virtual void WorkerContextDestroyed() = 0;
-};
-
-#endif // #ifndef WEBKIT_GLUE_WEBWORKERCLIENT_H_
diff --git a/webkit/glue/webworkerclient_impl.cc b/webkit/glue/webworkerclient_impl.cc
index 68cd330..add7eeb 100644
--- a/webkit/glue/webworkerclient_impl.cc
+++ b/webkit/glue/webworkerclient_impl.cc
@@ -23,8 +23,15 @@
#include "webkit/glue/webframe_impl.h"
#include "webkit/glue/webview_delegate.h"
#include "webkit/glue/webview_impl.h"
-#include "webkit/glue/webworker.h"
+#include "third_party/WebKit/WebKit/chromium/public/WebConsoleMessage.h"
+#include "third_party/WebKit/WebKit/chromium/public/WebScriptSource.h"
+#include "third_party/WebKit/WebKit/chromium/public/WebWorker.h"
+using WebKit::WebConsoleMessage;
+using WebKit::WebScriptSource;
+using WebKit::WebString;
+using WebKit::WebWorker;
+using WebKit::WebWorkerClient;
// When WebKit creates a WorkerContextProxy object, we check if we're in the
// renderer or worker process. If the latter, then we just use
@@ -71,16 +78,17 @@ void WebWorkerClientImpl::set_webworker(WebWorker* webworker) {
}
void WebWorkerClientImpl::startWorkerContext(
- const WebCore::KURL& scriptURL,
- const WebCore::String& userAgent,
- const WebCore::String& sourceCode) {
+ const WebCore::KURL& script_url,
+ const WebCore::String& user_agent,
+ const WebCore::String& source_code) {
// Worker.terminate() could be called from JS before the context is started.
if (asked_to_terminate_)
return;
- webworker_->StartWorkerContext(webkit_glue::KURLToGURL(scriptURL),
- webkit_glue::StringToString16(userAgent),
- webkit_glue::StringToString16(sourceCode));
+ webworker_->startWorkerContext(
+ webkit_glue::KURLToWebURL(script_url),
+ webkit_glue::StringToWebString(user_agent),
+ webkit_glue::StringToWebString(source_code));
}
void WebWorkerClientImpl::terminateWorkerContext() {
@@ -88,7 +96,7 @@ void WebWorkerClientImpl::terminateWorkerContext() {
return;
asked_to_terminate_ = true;
- webworker_->TerminateWorkerContext();
+ webworker_->terminateWorkerContext();
}
void WebWorkerClientImpl::postMessageToWorkerContext(
@@ -98,8 +106,8 @@ void WebWorkerClientImpl::postMessageToWorkerContext(
return;
++unconfirmed_message_count_;
- webworker_->PostMessageToWorkerContext(
- webkit_glue::StringToString16(message));
+ webworker_->postMessageToWorkerContext(
+ webkit_glue::StringToWebString(message));
}
bool WebWorkerClientImpl::hasPendingActivity() const {
@@ -108,51 +116,52 @@ bool WebWorkerClientImpl::hasPendingActivity() const {
}
void WebWorkerClientImpl::workerObjectDestroyed() {
- webworker_->WorkerObjectDestroyed();
+ webworker_->workerObjectDestroyed();
// The lifetime of this proxy is controlled by the worker.
delete this;
}
-void WebWorkerClientImpl::PostMessageToWorkerObject(const string16& message) {
- worker_->dispatchMessage(webkit_glue::String16ToString(message));
+void WebWorkerClientImpl::postMessageToWorkerObject(const WebString& message) {
+ worker_->dispatchMessage(webkit_glue::WebStringToString(message));
}
-void WebWorkerClientImpl::PostExceptionToWorkerObject(
- const string16& error_message,
+void WebWorkerClientImpl::postExceptionToWorkerObject(
+ const WebString& error_message,
int line_number,
- const string16& source_url) {
+ const WebString& source_url) {
script_execution_context_->reportException(
- webkit_glue::String16ToString(error_message),
+ webkit_glue::WebStringToString(error_message),
line_number,
- webkit_glue::String16ToString(source_url));
+ webkit_glue::WebStringToString(source_url));
}
-void WebWorkerClientImpl::PostConsoleMessageToWorkerObject(
- int destination,
- int source,
- int level,
- const string16& message,
+void WebWorkerClientImpl::postConsoleMessageToWorkerObject(
+ int destination_id,
+ int source_id,
+ int message_level,
+ const WebString& message,
int line_number,
- const string16& source_url) {
+ const WebString& source_url) {
script_execution_context_->addMessage(
- static_cast<WebCore::MessageDestination>(destination),
- static_cast<WebCore::MessageSource>(source),
- static_cast<WebCore::MessageLevel>(level),
- webkit_glue::String16ToString(message),
+ static_cast<WebCore::MessageDestination>(destination_id),
+ static_cast<WebCore::MessageSource>(source_id),
+ static_cast<WebCore::MessageLevel>(message_level),
+ webkit_glue::WebStringToString(message),
line_number,
- webkit_glue::String16ToString(source_url));
+ webkit_glue::WebStringToString(source_url));
}
-void WebWorkerClientImpl::ConfirmMessageFromWorkerObject(bool has_pending_activity) {
+void WebWorkerClientImpl::confirmMessageFromWorkerObject(
+ bool has_pending_activity) {
--unconfirmed_message_count_;
}
-void WebWorkerClientImpl::ReportPendingActivity(bool has_pending_activity) {
+void WebWorkerClientImpl::reportPendingActivity(bool has_pending_activity) {
worker_context_had_pending_activity_ = has_pending_activity;
}
-void WebWorkerClientImpl::WorkerContextDestroyed() {
+void WebWorkerClientImpl::workerContextDestroyed() {
}
#endif
diff --git a/webkit/glue/webworkerclient_impl.h b/webkit/glue/webworkerclient_impl.h
index 5a8a4cd..847b341 100644
--- a/webkit/glue/webworkerclient_impl.h
+++ b/webkit/glue/webworkerclient_impl.h
@@ -7,51 +7,54 @@
#if ENABLE(WORKERS)
-#include "webkit/glue/webworkerclient.h"
+#include "third_party/WebKit/WebKit/chromium/public/WebWorkerClient.h"
#include "WorkerContextProxy.h"
#include <wtf/RefPtr.h>
-class WebWorker;
-
namespace WebCore {
class ScriptExecutionContext;
-};
+}
+namespace WebKit {
+class WebWorker;
+}
// The purpose of this class is to provide a WorkerContextProxy
// implementation that we can give to WebKit. Internally, it converts the
// data types to Chrome compatible ones so that renderer code can use it over
// IPC.
class WebWorkerClientImpl : public WebCore::WorkerContextProxy,
- public WebWorkerClient {
+ public WebKit::WebWorkerClient {
public:
WebWorkerClientImpl(WebCore::Worker* worker);
- void set_webworker(WebWorker* webworker);
+ void set_webworker(WebKit::WebWorker* webworker);
- // WebCore::WorkerContextProxy implementation
- void startWorkerContext(const WebCore::KURL& scriptURL,
- const WebCore::String& userAgent,
- const WebCore::String& sourceCode);
- void terminateWorkerContext();
- void postMessageToWorkerContext(const WebCore::String& message);
- bool hasPendingActivity() const;
- void workerObjectDestroyed();
+ // WebCore::WorkerContextProxy methods:
+ virtual void startWorkerContext(const WebCore::KURL& script_url,
+ const WebCore::String& user_agent,
+ const WebCore::String& source_code);
+ virtual void terminateWorkerContext();
+ virtual void postMessageToWorkerContext(const WebCore::String& message);
+ virtual bool hasPendingActivity() const;
+ virtual void workerObjectDestroyed();
- // WebWorkerClient implementation.
- void PostMessageToWorkerObject(const string16& message);
- void PostExceptionToWorkerObject(const string16& error_message,
- int line_number,
- const string16& source_url);
- void PostConsoleMessageToWorkerObject(int destination,
- int source,
- int level,
- const string16& message,
- int line_number,
- const string16& source_url);
- void ConfirmMessageFromWorkerObject(bool has_pending_activity);
- void ReportPendingActivity(bool has_pending_activity);
- void WorkerContextDestroyed();
+ // WebWorkerClient methods:
+ virtual void postMessageToWorkerObject(const WebKit::WebString& message);
+ virtual void postExceptionToWorkerObject(
+ const WebKit::WebString& error_message,
+ int line_number,
+ const WebKit::WebString& source_url);
+ virtual void postConsoleMessageToWorkerObject(
+ int destination_id,
+ int source_id,
+ int message_level,
+ const WebKit::WebString& message,
+ int line_number,
+ const WebKit::WebString& source_url);
+ virtual void confirmMessageFromWorkerObject(bool has_pending_activity);
+ virtual void reportPendingActivity(bool has_pending_activity);
+ virtual void workerContextDestroyed();
private:
virtual ~WebWorkerClientImpl();
@@ -60,7 +63,7 @@ class WebWorkerClientImpl : public WebCore::WorkerContextProxy,
WTF::RefPtr<WebCore::ScriptExecutionContext> script_execution_context_;
WebCore::Worker* worker_;
- WebWorker* webworker_;
+ WebKit::WebWorker* webworker_;
bool asked_to_terminate_;
uint32 unconfirmed_message_count_;
bool worker_context_had_pending_activity_;