diff options
Diffstat (limited to 'src/3rdparty/webkit/WebCore/page/DOMWindow.cpp')
-rw-r--r-- | src/3rdparty/webkit/WebCore/page/DOMWindow.cpp | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/src/3rdparty/webkit/WebCore/page/DOMWindow.cpp b/src/3rdparty/webkit/WebCore/page/DOMWindow.cpp index 8e64fe3ff..e8f9004c4 100644 --- a/src/3rdparty/webkit/WebCore/page/DOMWindow.cpp +++ b/src/3rdparty/webkit/WebCore/page/DOMWindow.cpp @@ -546,12 +546,17 @@ Storage* DOMWindow::sessionStorage() const { if (m_sessionStorage) return m_sessionStorage.get(); - - Page* page = m_frame->page(); + + Document* document = this->document(); + if (!document) + return 0; + + Page* page = document->page(); if (!page) return 0; - Document* document = m_frame->document(); + if (!page->settings()->sessionStorageEnabled()) + return 0; RefPtr<StorageArea> storageArea = page->sessionStorage()->storageArea(document->securityOrigin()); page->inspectorController()->didUseDOMStorage(storageArea.get(), false, m_frame); @@ -573,8 +578,7 @@ Storage* DOMWindow::localStorage() const if (!page) return 0; - Settings* settings = document->settings(); - if (!settings || !settings->localStorageEnabled()) + if (!page->settings()->localStorageEnabled()) return 0; StorageNamespace* localStorage = page->group().localStorage(); |