diff options
| author | Kristian Monsen <kristianm@google.com> | 2010-05-21 16:53:46 +0100 |
|---|---|---|
| committer | Kristian Monsen <kristianm@google.com> | 2010-05-25 10:24:15 +0100 |
| commit | 6c2af9490927c3c5959b5cb07461b646f8b32f6c (patch) | |
| tree | f7111b9b22befab472616c1d50ec94eb50f1ec8c /WebKit/chromium/src/DatabaseObserver.cpp | |
| parent | a149172322a9067c14e8b474a53e63649aa17cad (diff) | |
| download | external_webkit-6c2af9490927c3c5959b5cb07461b646f8b32f6c.zip external_webkit-6c2af9490927c3c5959b5cb07461b646f8b32f6c.tar.gz external_webkit-6c2af9490927c3c5959b5cb07461b646f8b32f6c.tar.bz2 | |
Merge WebKit at r59636: Initial merge by git
Change-Id: I59b289c4e6b18425f06ce41cc9d34c522515de91
Diffstat (limited to 'WebKit/chromium/src/DatabaseObserver.cpp')
| -rw-r--r-- | WebKit/chromium/src/DatabaseObserver.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/WebKit/chromium/src/DatabaseObserver.cpp b/WebKit/chromium/src/DatabaseObserver.cpp index 6a2e2a7..1c5117c 100644 --- a/WebKit/chromium/src/DatabaseObserver.cpp +++ b/WebKit/chromium/src/DatabaseObserver.cpp @@ -50,12 +50,16 @@ namespace WebCore { bool DatabaseObserver::canEstablishDatabase(ScriptExecutionContext* scriptExecutionContext, const String& name, const String& displayName, unsigned long estimatedSize) { ASSERT(scriptExecutionContext->isContextThread()); - // FIXME: add support for the case scriptExecutionContext()->isWorker() once workers implement web databases. - ASSERT(scriptExecutionContext->isDocument()); + ASSERT(scriptExecutionContext->isDocument() || scriptExecutionContext->isWorkerContext()); if (scriptExecutionContext->isDocument()) { Document* document = static_cast<Document*>(scriptExecutionContext); WebFrameImpl* webFrame = WebFrameImpl::fromFrame(document->frame()); return webFrame->client()->allowDatabase(webFrame, name, displayName, estimatedSize); + } else { + WorkerContext* workerContext = static_cast<WorkerContext*>(scriptExecutionContext); + WorkerLoaderProxy* workerLoaderProxy = &workerContext->thread()->workerLoaderProxy(); + WebWorkerBase* webWorker = static_cast<WebWorkerBase*>(workerLoaderProxy); + return webWorker->allowDatabase(0, name, displayName, estimatedSize); } return true; |
