2010-12-01 Anton D'Auria <adauria@apple.com>
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 1 Dec 2010 12:03:53 +0000 (12:03 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 1 Dec 2010 12:03:53 +0000 (12:03 +0000)
        Reviewed by Kevin Decker.

        Private browsing denies read access to local and session storage,
        so updating expected test results.

        https://bugs.webkit.org/show_bug.cgi?id=49329

        * storage/domstorage/localstorage/private-browsing-affects-storage-expected.txt:
        * storage/domstorage/sessionstorage/private-browsing-affects-storage-expected.txt:
2010-12-01  Anton D'Auria  <adauria@apple.com>

        Reviewed by Kevin Decker.

        Deny access to local and session storage in private browsing mode.
        https://bugs.webkit.org/show_bug.cgi?id=49329

        * storage/Storage.cpp:
        (WebCore::Storage::length):
        (WebCore::Storage::key):
        (WebCore::Storage::getItem):
        (WebCore::Storage::contains):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@73015 268f45cc-cd09-0410-ab3c-d52691b4dbfc

LayoutTests/ChangeLog
LayoutTests/storage/domstorage/localstorage/private-browsing-affects-storage-expected.txt
LayoutTests/storage/domstorage/sessionstorage/private-browsing-affects-storage-expected.txt
WebCore/ChangeLog
WebCore/storage/Storage.cpp

index c5cad48..653a2e9 100644 (file)
@@ -1,3 +1,15 @@
+2010-12-01  Anton D'Auria  <adauria@apple.com>
+
+        Reviewed by Kevin Decker.
+
+        Private browsing denies read access to local and session storage,
+        so updating expected test results.
+
+        https://bugs.webkit.org/show_bug.cgi?id=49329
+
+        * storage/domstorage/localstorage/private-browsing-affects-storage-expected.txt:
+        * storage/domstorage/sessionstorage/private-browsing-affects-storage-expected.txt:
+
 2010-12-01  Hayato Ito  <hayato@chromium.org>
 
         Unreviewed trivial fix.
index 6de4296..2fea061 100644 (file)
@@ -1,7 +1,7 @@
 This is a test to make sure that when private browsing is on any attempt to change the localStorage area fail.
-Initial value of testItem is: InitialValue
+Initial value of testItem is: null
 Caught exception trying to change item: Error: QUOTA_EXCEEDED_ERR: DOM Exception 22
-After change attempt, testItem is: InitialValue
-After remove attempt, testItem is: InitialValue
-After clear attempt, testItem is: InitialValue
+After change attempt, testItem is: null
+After remove attempt, testItem is: null
+After clear attempt, testItem is: null
 
index ed2017a..58c99f2 100644 (file)
@@ -1,7 +1,7 @@
 This is a test to make sure that when private browsing is on any attempt to change the sessionStorage area fail.
-Initial value of testItem is: InitialValue
+Initial value of testItem is: null
 Caught exception trying to change item: Error: QUOTA_EXCEEDED_ERR: DOM Exception 22
-After change attempt, testItem is: InitialValue
-After remove attempt, testItem is: InitialValue
-After clear attempt, testItem is: InitialValue
+After change attempt, testItem is: null
+After remove attempt, testItem is: null
+After clear attempt, testItem is: null
 
index 9fe856f..5267fca 100644 (file)
@@ -1,3 +1,16 @@
+2010-12-01  Anton D'Auria  <adauria@apple.com>
+
+        Reviewed by Kevin Decker.
+
+        Deny access to local and session storage in private browsing mode.
+        https://bugs.webkit.org/show_bug.cgi?id=49329
+
+        * storage/Storage.cpp:
+        (WebCore::Storage::length):
+        (WebCore::Storage::key):
+        (WebCore::Storage::getItem):
+        (WebCore::Storage::contains):
+
 2010-12-01  Philippe Normand  <pnormand@igalia.com>
 
         Reviewed by Martin Robinson.
index 0a8eed7..0259ca4 100644 (file)
@@ -28,6 +28,9 @@
 
 #if ENABLE(DOM_STORAGE)
 
+#include "Frame.h"
+#include "Page.h"
+#include "Settings.h"
 #include "StorageArea.h"
 #include "PlatformString.h"
 #include <wtf/PassRefPtr.h>
@@ -53,7 +56,7 @@ Storage::~Storage()
 
 unsigned Storage::length() const
 {
-    if (!m_frame)
+    if (!m_frame || !m_frame->page() || m_frame->page()->settings()->privateBrowsingEnabled())
         return 0;
 
     return m_storageArea->length();
@@ -61,7 +64,7 @@ unsigned Storage::length() const
 
 String Storage::key(unsigned index) const
 {
-    if (!m_frame)
+    if (!m_frame || !m_frame->page() || m_frame->page()->settings()->privateBrowsingEnabled())
         return String();
 
     return m_storageArea->key(index);
@@ -69,7 +72,7 @@ String Storage::key(unsigned index) const
 
 String Storage::getItem(const String& key) const
 {
-    if (!m_frame)
+    if (!m_frame || !m_frame->page() || m_frame->page()->settings()->privateBrowsingEnabled())
         return String();
 
     return m_storageArea->getItem(key);
@@ -102,7 +105,7 @@ void Storage::clear()
 
 bool Storage::contains(const String& key) const
 {
-    if (!m_frame)
+    if (!m_frame || !m_frame->page() || m_frame->page()->settings()->privateBrowsingEnabled())
         return false;
 
     return m_storageArea->contains(key);