Title: [143038] trunk/Source/WebKit2
- Revision
- 143038
- Author
- ander...@apple.com
- Date
- 2013-02-15 13:03:03 -0800 (Fri, 15 Feb 2013)
Log Message
A storage area should know its storage type
https://bugs.webkit.org/show_bug.cgi?id=109964
Reviewed by Andreas Kling.
* WebProcess/Storage/StorageAreaProxy.cpp:
(WebKit::StorageAreaProxy::StorageAreaProxy):
(WebKit::StorageAreaProxy::disabledByPrivateBrowsingInFrame):
* WebProcess/Storage/StorageAreaProxy.h:
(StorageAreaProxy):
* WebProcess/Storage/StorageNamespaceProxy.cpp:
(WebKit::StorageNamespaceProxy::storageType):
(WebKit):
* WebProcess/Storage/StorageNamespaceProxy.h:
(StorageNamespaceProxy):
Modified Paths
Diff
Modified: trunk/Source/WebKit2/ChangeLog (143037 => 143038)
--- trunk/Source/WebKit2/ChangeLog 2013-02-15 21:01:49 UTC (rev 143037)
+++ trunk/Source/WebKit2/ChangeLog 2013-02-15 21:03:03 UTC (rev 143038)
@@ -1,5 +1,23 @@
2013-02-15 Anders Carlsson <ander...@apple.com>
+ A storage area should know its storage type
+ https://bugs.webkit.org/show_bug.cgi?id=109964
+
+ Reviewed by Andreas Kling.
+
+ * WebProcess/Storage/StorageAreaProxy.cpp:
+ (WebKit::StorageAreaProxy::StorageAreaProxy):
+ (WebKit::StorageAreaProxy::disabledByPrivateBrowsingInFrame):
+ * WebProcess/Storage/StorageAreaProxy.h:
+ (StorageAreaProxy):
+ * WebProcess/Storage/StorageNamespaceProxy.cpp:
+ (WebKit::StorageNamespaceProxy::storageType):
+ (WebKit):
+ * WebProcess/Storage/StorageNamespaceProxy.h:
+ (StorageNamespaceProxy):
+
+2013-02-15 Anders Carlsson <ander...@apple.com>
+
Implement StorageAreaProxy::length
https://bugs.webkit.org/show_bug.cgi?id=109962
Modified: trunk/Source/WebKit2/WebProcess/Storage/StorageAreaProxy.cpp (143037 => 143038)
--- trunk/Source/WebKit2/WebProcess/Storage/StorageAreaProxy.cpp 2013-02-15 21:01:49 UTC (rev 143037)
+++ trunk/Source/WebKit2/WebProcess/Storage/StorageAreaProxy.cpp 2013-02-15 21:03:03 UTC (rev 143038)
@@ -51,7 +51,8 @@
}
StorageAreaProxy::StorageAreaProxy(StorageNamespaceProxy* storageNamespaceProxy, PassRefPtr<SecurityOrigin> securityOrigin)
- : m_storageAreaID(generateStorageAreaID())
+ : m_storageType(storageNamespaceProxy->storageType())
+ , m_storageAreaID(generateStorageAreaID())
{
WebProcess::shared().connection()->send(Messages::StorageManager::CreateStorageArea(m_storageAreaID, storageNamespaceProxy->storageNamespaceID(), SecurityOriginData::fromSecurityOrigin(securityOrigin.get())), 0);
}
@@ -148,7 +149,8 @@
if (!sourceFrame->page()->settings()->privateBrowsingEnabled())
return false;
- // FIXME: Check the type of the storage.
+ if (m_storageType != LocalStorage)
+ return true;
return !SchemeRegistry::allowsLocalStorageAccessInPrivateBrowsing(sourceFrame->document()->securityOrigin()->protocol());
}
Modified: trunk/Source/WebKit2/WebProcess/Storage/StorageAreaProxy.h (143037 => 143038)
--- trunk/Source/WebKit2/WebProcess/Storage/StorageAreaProxy.h 2013-02-15 21:01:49 UTC (rev 143037)
+++ trunk/Source/WebKit2/WebProcess/Storage/StorageAreaProxy.h 2013-02-15 21:03:03 UTC (rev 143038)
@@ -59,6 +59,7 @@
void loadValuesIfNeeded();
+ WebCore::StorageType m_storageType;
uint64_t m_storageAreaID;
OwnPtr<HashMap<String, String> > m_values;
};
Modified: trunk/Source/WebKit2/WebProcess/Storage/StorageNamespaceProxy.cpp (143037 => 143038)
--- trunk/Source/WebKit2/WebProcess/Storage/StorageNamespaceProxy.cpp 2013-02-15 21:01:49 UTC (rev 143037)
+++ trunk/Source/WebKit2/WebProcess/Storage/StorageNamespaceProxy.cpp 2013-02-15 21:03:03 UTC (rev 143038)
@@ -48,6 +48,15 @@
{
}
+StorageType StorageNamespaceProxy::storageType() const
+{
+ // A zero storage namespace ID is used for local storage.
+ if (!m_storageNamespaceID)
+ return LocalStorage;
+
+ return SessionStorage;
+}
+
PassRefPtr<StorageArea> StorageNamespaceProxy::storageArea(PassRefPtr<SecurityOrigin> securityOrigin)
{
return StorageAreaProxy::create(this, securityOrigin);
Modified: trunk/Source/WebKit2/WebProcess/Storage/StorageNamespaceProxy.h (143037 => 143038)
--- trunk/Source/WebKit2/WebProcess/Storage/StorageNamespaceProxy.h 2013-02-15 21:01:49 UTC (rev 143037)
+++ trunk/Source/WebKit2/WebProcess/Storage/StorageNamespaceProxy.h 2013-02-15 21:03:03 UTC (rev 143038)
@@ -39,6 +39,7 @@
virtual ~StorageNamespaceProxy();
uint64_t storageNamespaceID() const { return m_storageNamespaceID; }
+ WebCore::StorageType storageType() const;
private:
explicit StorageNamespaceProxy(WebPage*);
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes