diff options
Diffstat (limited to 'WebCore/workers/WorkerContext.cpp')
-rw-r--r-- | WebCore/workers/WorkerContext.cpp | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/WebCore/workers/WorkerContext.cpp b/WebCore/workers/WorkerContext.cpp index e823278..0ec24e6 100644 --- a/WebCore/workers/WorkerContext.cpp +++ b/WebCore/workers/WorkerContext.cpp @@ -32,6 +32,7 @@ #include "WorkerContext.h" #include "ActiveDOMObject.h" +#include "Database.h" #include "DOMTimer.h" #include "DOMWindow.h" #include "Event.h" @@ -254,6 +255,27 @@ NotificationCenter* WorkerContext::webkitNotifications() const } #endif +#if ENABLE(DATABASE) +PassRefPtr<Database> WorkerContext::openDatabase(const String& name, const String& version, const String& displayName, unsigned long estimatedSize, ExceptionCode& ec) +{ + if (!securityOrigin()->canAccessDatabase()) { + ec = SECURITY_ERR; + return 0; + } + + ASSERT(Database::isAvailable()); + if (!Database::isAvailable()) + return 0; + + return Database::openDatabase(this, name, version, displayName, estimatedSize, ec); +} +#endif + +bool WorkerContext::isContextThread() const +{ + return currentThread() == thread()->threadID(); +} + EventTargetData* WorkerContext::eventTargetData() { return &m_eventTargetData; |