diff options
Diffstat (limited to 'chromium/third_party/WebKit/Source/modules/quota/NavigatorStorageQuota.cpp')
-rw-r--r-- | chromium/third_party/WebKit/Source/modules/quota/NavigatorStorageQuota.cpp | 49 |
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 |