[SCM] WebKit Debian packaging branch, webkit-1.1, updated. upstream/1.1.15.1-1414-gc69ee75
eric at webkit.org
eric at webkit.org
Thu Oct 29 20:39:30 UTC 2009
The following commit has been merged in the webkit-1.1 branch:
commit 8fda51a80b5ce15bc6ad56a8bfcc70283dc170d2
Author: eric at webkit.org <eric at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Mon Oct 5 23:34:30 2009 +0000
2009-10-05 Drew Wilson <atwilson at google.com>
Reviewed by David Levin.
Chromium wants to turn off SharedWorkers at runtime
https://bugs.webkit.org/show_bug.cgi?id=29757
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::sharedWorker):
Now returns jsUndefined if isAvailable() returns false, to allow SharedWorkers to be disabled at runtime.
* workers/DefaultSharedWorkerRepository.cpp:
(WebCore::SharedWorkerRepository::isAvailable):
Made SharedWorkers available by default.
* workers/SharedWorkerRepository.h:
Added definition for SharedWorkerRepository::isAvailable().
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@49130 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index cbfaa11..75901d9 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,19 @@
+2009-10-05 Drew Wilson <atwilson at google.com>
+
+ Reviewed by David Levin.
+
+ Chromium wants to turn off SharedWorkers at runtime
+ https://bugs.webkit.org/show_bug.cgi?id=29757
+
+ * bindings/js/JSDOMWindowCustom.cpp:
+ (WebCore::JSDOMWindow::sharedWorker):
+ Now returns jsUndefined if isAvailable() returns false, to allow SharedWorkers to be disabled at runtime.
+ * workers/DefaultSharedWorkerRepository.cpp:
+ (WebCore::SharedWorkerRepository::isAvailable):
+ Made SharedWorkers available by default.
+ * workers/SharedWorkerRepository.h:
+ Added definition for SharedWorkerRepository::isAvailable().
+
2009-10-05 Hironori Bono <hbono at chromium.org>
Reviewed by Eric Seidel.
diff --git a/WebCore/bindings/js/JSDOMWindowCustom.cpp b/WebCore/bindings/js/JSDOMWindowCustom.cpp
index 222fb5f..7ddc5ed 100644
--- a/WebCore/bindings/js/JSDOMWindowCustom.cpp
+++ b/WebCore/bindings/js/JSDOMWindowCustom.cpp
@@ -80,6 +80,7 @@
#include "ScheduledAction.h"
#include "ScriptController.h"
#include "Settings.h"
+#include "SharedWorkerRepository.h"
#include "WindowFeatures.h"
#include <runtime/Error.h>
#include <runtime/JSFunction.h>
@@ -713,7 +714,9 @@ JSValue JSDOMWindow::worker(ExecState* exec) const
#if ENABLE(SHARED_WORKERS)
JSValue JSDOMWindow::sharedWorker(ExecState* exec) const
{
- return getDOMConstructor<JSSharedWorkerConstructor>(exec, this);
+ if (SharedWorkerRepository::isAvailable())
+ return getDOMConstructor<JSSharedWorkerConstructor>(exec, this);
+ return jsUndefined();
}
#endif
diff --git a/WebCore/workers/DefaultSharedWorkerRepository.cpp b/WebCore/workers/DefaultSharedWorkerRepository.cpp
index 11106ee..2126df4 100644
--- a/WebCore/workers/DefaultSharedWorkerRepository.cpp
+++ b/WebCore/workers/DefaultSharedWorkerRepository.cpp
@@ -311,6 +311,12 @@ void DefaultSharedWorkerRepository::workerScriptLoaded(SharedWorkerProxy& proxy,
proxy.thread()->runLoop().postTask(SharedWorkerConnectTask::create(port));
}
+bool SharedWorkerRepository::isAvailable()
+{
+ // SharedWorkers are enabled on the default WebKit platform.
+ return true;
+}
+
void SharedWorkerRepository::connect(PassRefPtr<SharedWorker> worker, PassOwnPtr<MessagePortChannel> port, const KURL& url, const String& name, ExceptionCode& ec)
{
DefaultSharedWorkerRepository::instance().connectToWorker(worker, port, url, name, ec);
diff --git a/WebCore/workers/SharedWorkerRepository.h b/WebCore/workers/SharedWorkerRepository.h
index 96d2fb1..49f3941 100644
--- a/WebCore/workers/SharedWorkerRepository.h
+++ b/WebCore/workers/SharedWorkerRepository.h
@@ -48,6 +48,9 @@ namespace WebCore {
// Interface to a repository which manages references to the set of active shared workers.
class SharedWorkerRepository {
public:
+ // Returns true if the platform supports SharedWorkers, otherwise false.
+ static bool isAvailable();
+
// Connects the passed SharedWorker object with the specified worker thread, creating a new thread if necessary.
static void connect(PassRefPtr<SharedWorker>, PassOwnPtr<MessagePortChannel>, const KURL&, const String& name, ExceptionCode&);
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list