Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5)

Unified Diff: Source/modules/quota/StorageManager.cpp

Issue 1302643002: Update Durable Storage API method signature (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Fix assert string Created 5 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « Source/modules/quota/OWNERS ('k') | Source/modules/quota/StorageManager.idl » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/modules/quota/StorageManager.cpp
diff --git a/Source/modules/quota/StorageManager.cpp b/Source/modules/quota/StorageManager.cpp
index 18e0d261e02207c1318059c63717edbf5a5ecf89..acfac05c47ffca0fc9b78493d760830087db08fe 100644
--- a/Source/modules/quota/StorageManager.cpp
+++ b/Source/modules/quota/StorageManager.cpp
@@ -18,9 +18,9 @@ namespace blink {
namespace {
-class DurableStoragePermissionCallbacks final : public WebCallbacks<WebPermissionStatus*, void> {
+class DurableStorageQueryCallbacks final : public WebCallbacks<WebPermissionStatus*, void> {
public:
- DurableStoragePermissionCallbacks(ScriptPromiseResolver* resolver)
+ DurableStorageQueryCallbacks(ScriptPromiseResolver* resolver)
: m_resolver(resolver)
{
}
@@ -51,6 +51,27 @@ private:
Persistent<ScriptPromiseResolver> m_resolver;
};
+class DurableStorageRequestCallbacks final : public WebCallbacks<WebPermissionStatus*, void> {
+public:
+ DurableStorageRequestCallbacks(ScriptPromiseResolver* resolver)
+ : m_resolver(resolver)
+ {
+ }
+
+ void onSuccess(WebPermissionStatus* rawStatus) override
+ {
+ OwnPtr<WebPermissionStatus> status = adoptPtr(rawStatus);
+ m_resolver->resolve(*status == WebPermissionStatusGranted);
+ }
+ void onError() override
+ {
+ ASSERT_NOT_REACHED();
+ }
+
+private:
+ Persistent<ScriptPromiseResolver> m_resolver;
+};
+
} // namespace
ScriptPromise StorageManager::requestPersistent(ScriptState* scriptState)
@@ -77,7 +98,7 @@ ScriptPromise StorageManager::requestPersistent(ScriptState* scriptState)
resolver->reject(DOMException::create(InvalidStateError, "In its current state, the global scope can't request permissions."));
return promise;
}
- permissionClient->requestPermission(WebPermissionTypeDurableStorage, KURL(KURL(), scriptState->executionContext()->securityOrigin()->toString()), new DurableStoragePermissionCallbacks(resolver));
+ permissionClient->requestPermission(WebPermissionTypeDurableStorage, KURL(KURL(), scriptState->executionContext()->securityOrigin()->toString()), new DurableStorageRequestCallbacks(resolver));
return promise;
}
@@ -91,7 +112,7 @@ ScriptPromise StorageManager::persistentPermission(ScriptState* scriptState)
resolver->reject(DOMException::create(InvalidStateError, "In its current state, the global scope can't query permissions."));
return promise;
}
- permissionClient->queryPermission(WebPermissionTypeDurableStorage, KURL(KURL(), scriptState->executionContext()->securityOrigin()->toString()), new DurableStoragePermissionCallbacks(resolver));
+ permissionClient->queryPermission(WebPermissionTypeDurableStorage, KURL(KURL(), scriptState->executionContext()->securityOrigin()->toString()), new DurableStorageQueryCallbacks(resolver));
return promise;
}
« no previous file with comments | « Source/modules/quota/OWNERS ('k') | Source/modules/quota/StorageManager.idl » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698