| Index: Source/web/StorageQuotaChromium.cpp
|
| diff --git a/Source/web/StorageQuotaChromium.cpp b/Source/web/StorageQuotaChromium.cpp
|
| index 5b58a13749e81db7a59ac2ed95f96411a5f3cc96..f0b66e7ea23380be471e073d7e131b1859883028 100644
|
| --- a/Source/web/StorageQuotaChromium.cpp
|
| +++ b/Source/web/StorageQuotaChromium.cpp
|
| @@ -33,10 +33,8 @@
|
|
|
| #include "WebFrameClient.h"
|
| #include "WebFrameImpl.h"
|
| -#include "WebStorageQuotaCallbacksImpl.h"
|
| #include "WebStorageQuotaType.h"
|
| #include "WebWorkerBase.h"
|
| -#include "WorkerStorageQuotaCallbacksBridge.h"
|
| #include "core/dom/Document.h"
|
| #include "core/dom/ExceptionCode.h"
|
| #include "core/dom/ScriptExecutionContext.h"
|
| @@ -45,46 +43,14 @@
|
| #include "modules/quota/StorageErrorCallback.h"
|
| #include "modules/quota/StorageQuotaCallback.h"
|
| #include "modules/quota/StorageUsageCallback.h"
|
| +#include "modules/quota/WebStorageQuotaCallbacksImpl.h"
|
| #include "wtf/Threading.h"
|
|
|
| using namespace WebKit;
|
|
|
| namespace WebCore {
|
|
|
| -static void queryUsageAndQuotaFromWorker(WebCommonWorkerClient* commonClient, WebStorageQuotaType storageType, WebStorageQuotaCallbacksImpl* callbacks)
|
| -{
|
| - WorkerGlobalScope* workerGlobalScope = WorkerScriptController::controllerForContext()->workerGlobalScope();
|
| - WebCore::WorkerThread* workerThread = workerGlobalScope->thread();
|
| - WebCore::WorkerLoaderProxy* workerLoaderProxy = &workerThread->workerLoaderProxy();
|
| -
|
| - String mode = "queryUsageAndQuotaMode" + String::number(workerThread->runLoop().createUniqueId());
|
| -
|
| - RefPtr<WorkerStorageQuotaCallbacksBridge> bridge = WorkerStorageQuotaCallbacksBridge::create(workerLoaderProxy, workerGlobalScope, callbacks);
|
| -
|
| - // The bridge is held by the task that is created in posted to the main thread by this method.
|
| - bridge->postQueryUsageAndQuotaToMainThread(commonClient, storageType, mode);
|
| -}
|
| -
|
| -void StorageQuota::queryUsageAndQuota(ScriptExecutionContext* scriptExecutionContext, PassRefPtr<StorageUsageCallback> successCallback, PassRefPtr<StorageErrorCallback> errorCallback)
|
| -{
|
| - ASSERT(scriptExecutionContext);
|
| - WebStorageQuotaType storageType = static_cast<WebStorageQuotaType>(m_type);
|
| - if (storageType != WebStorageQuotaTypeTemporary && storageType != WebStorageQuotaTypePersistent) {
|
| - // Unknown storage type is requested.
|
| - scriptExecutionContext->postTask(StorageErrorCallback::CallbackTask::create(errorCallback, NotSupportedError));
|
| - return;
|
| - }
|
| - if (scriptExecutionContext->isDocument()) {
|
| - Document* document = toDocument(scriptExecutionContext);
|
| - WebFrameImpl* webFrame = WebFrameImpl::fromFrame(document->frame());
|
| - webFrame->client()->queryStorageUsageAndQuota(webFrame, storageType, new WebStorageQuotaCallbacksImpl(successCallback, errorCallback));
|
| - } else {
|
| - WorkerGlobalScope* workerGlobalScope = toWorkerGlobalScope(scriptExecutionContext);
|
| - WebWorkerBase* webWorker = static_cast<WebWorkerBase*>(workerGlobalScope->thread()->workerLoaderProxy().toWebWorkerBase());
|
| - queryUsageAndQuotaFromWorker(webWorker->commonClient(), storageType, new WebStorageQuotaCallbacksImpl(successCallback, errorCallback));
|
| - }
|
| -}
|
| -
|
| +// FIXME: Implement this as StorageQuotaClient.
|
| void StorageQuota::requestQuota(ScriptExecutionContext* scriptExecutionContext, unsigned long long newQuotaInBytes, PassRefPtr<StorageQuotaCallback> successCallback, PassRefPtr<StorageErrorCallback> errorCallback)
|
| {
|
| ASSERT(scriptExecutionContext);
|
| @@ -97,7 +63,7 @@ void StorageQuota::requestQuota(ScriptExecutionContext* scriptExecutionContext,
|
| if (scriptExecutionContext->isDocument()) {
|
| Document* document = toDocument(scriptExecutionContext);
|
| WebFrameImpl* webFrame = WebFrameImpl::fromFrame(document->frame());
|
| - webFrame->client()->requestStorageQuota(webFrame, storageType, newQuotaInBytes, new WebStorageQuotaCallbacksImpl(successCallback, errorCallback));
|
| + webFrame->client()->requestStorageQuota(webFrame, storageType, newQuotaInBytes, WebStorageQuotaCallbacksImpl::createLeakedPtr(successCallback, errorCallback));
|
| } else {
|
| // Requesting quota in Worker is not supported.
|
| scriptExecutionContext->postTask(StorageErrorCallback::CallbackTask::create(errorCallback, NotSupportedError));
|
|
|