summaryrefslogtreecommitdiffstats
path: root/chromium/third_party/WebKit/Source/modules/quota/NavigatorStorageQuota.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/WebKit/Source/modules/quota/NavigatorStorageQuota.cpp')
-rw-r--r--chromium/third_party/WebKit/Source/modules/quota/NavigatorStorageQuota.cpp49
1 files changed, 35 insertions, 14 deletions
diff --git a/chromium/third_party/WebKit/Source/modules/quota/NavigatorStorageQuota.cpp b/chromium/third_party/WebKit/Source/modules/quota/NavigatorStorageQuota.cpp
index 0760321a4b5..35d08cb0926 100644
--- a/chromium/third_party/WebKit/Source/modules/quota/NavigatorStorageQuota.cpp
+++ b/chromium/third_party/WebKit/Source/modules/quota/NavigatorStorageQuota.cpp
@@ -32,11 +32,12 @@
#include "modules/quota/NavigatorStorageQuota.h"
#include "core/frame/Navigator.h"
+#include "modules/quota/DeprecatedStorageQuota.h"
#include "modules/quota/StorageQuota.h"
namespace WebCore {
-NavigatorStorageQuota::NavigatorStorageQuota(Frame* frame)
+NavigatorStorageQuota::NavigatorStorageQuota(LocalFrame* frame)
: DOMWindowProperty(frame)
{
}
@@ -50,38 +51,58 @@ const char* NavigatorStorageQuota::supplementName()
return "NavigatorStorageQuota";
}
-NavigatorStorageQuota* NavigatorStorageQuota::from(Navigator* navigator)
+NavigatorStorageQuota& NavigatorStorageQuota::from(Navigator& navigator)
{
- NavigatorStorageQuota* supplement = static_cast<NavigatorStorageQuota*>(Supplement<Navigator>::from(navigator, supplementName()));
+ NavigatorStorageQuota* supplement = static_cast<NavigatorStorageQuota*>(WillBeHeapSupplement<Navigator>::from(navigator, supplementName()));
if (!supplement) {
- supplement = new NavigatorStorageQuota(navigator->frame());
- provideTo(navigator, supplementName(), adoptPtr(supplement));
+ supplement = new NavigatorStorageQuota(navigator.frame());
+ provideTo(navigator, supplementName(), adoptPtrWillBeNoop(supplement));
}
- return supplement;
+ return *supplement;
}
-StorageQuota* NavigatorStorageQuota::webkitTemporaryStorage(Navigator* navigator)
+StorageQuota* NavigatorStorageQuota::storageQuota(Navigator& navigator)
{
- return NavigatorStorageQuota::from(navigator)->webkitTemporaryStorage();
+ return NavigatorStorageQuota::from(navigator).storageQuota();
}
-StorageQuota* NavigatorStorageQuota::webkitPersistentStorage(Navigator* navigator)
+DeprecatedStorageQuota* NavigatorStorageQuota::webkitTemporaryStorage(Navigator& navigator)
{
- return NavigatorStorageQuota::from(navigator)->webkitPersistentStorage();
+ return NavigatorStorageQuota::from(navigator).webkitTemporaryStorage();
}
-StorageQuota* NavigatorStorageQuota::webkitTemporaryStorage() const
+DeprecatedStorageQuota* NavigatorStorageQuota::webkitPersistentStorage(Navigator& navigator)
+{
+ return NavigatorStorageQuota::from(navigator).webkitPersistentStorage();
+}
+
+StorageQuota* NavigatorStorageQuota::storageQuota() const
+{
+ if (!m_storageQuota && frame())
+ m_storageQuota = StorageQuota::create();
+ return m_storageQuota.get();
+}
+
+DeprecatedStorageQuota* NavigatorStorageQuota::webkitTemporaryStorage() const
{
if (!m_temporaryStorage && frame())
- m_temporaryStorage = StorageQuota::create(StorageQuota::Temporary);
+ m_temporaryStorage = DeprecatedStorageQuota::create(DeprecatedStorageQuota::Temporary);
return m_temporaryStorage.get();
}
-StorageQuota* NavigatorStorageQuota::webkitPersistentStorage() const
+DeprecatedStorageQuota* NavigatorStorageQuota::webkitPersistentStorage() const
{
if (!m_persistentStorage && frame())
- m_persistentStorage = StorageQuota::create(StorageQuota::Persistent);
+ m_persistentStorage = DeprecatedStorageQuota::create(DeprecatedStorageQuota::Persistent);
return m_persistentStorage.get();
}
+void NavigatorStorageQuota::trace(Visitor* visitor)
+{
+ visitor->trace(m_storageQuota);
+ visitor->trace(m_temporaryStorage);
+ visitor->trace(m_persistentStorage);
+ WillBeHeapSupplement<Navigator>::trace(visitor);
+}
+
} // namespace WebCore