Title: [148161] trunk/Source/WebKit2
Revision
148161
Author
[email protected]
Date
2013-04-10 18:22:52 -0700 (Wed, 10 Apr 2013)

Log Message

Make StorageAreaImpl a wrapper around StorageAreaMap
https://bugs.webkit.org/show_bug.cgi?id=114404

Reviewed by Oliver Hunt.

Prepare for moving all the code that deals with local storage values to StorageAreaMap,
and make StorageAreaImpl a dumb wrapper that simply calls through to the map.

* WebProcess/Storage/StorageAreaImpl.cpp:
(WebKit::StorageAreaImpl::create):
(WebKit::StorageAreaImpl::StorageAreaImpl):
(WebKit::StorageAreaImpl::~StorageAreaImpl):
(WebKit::StorageAreaImpl::storageType):
(WebKit::StorageAreaImpl::length):
(WebKit::StorageAreaImpl::key):
(WebKit::StorageAreaImpl::getItem):
(WebKit::StorageAreaImpl::setItem):
(WebKit::StorageAreaImpl::contains):
* WebProcess/Storage/StorageAreaImpl.h:
(WebKit::StorageAreaImpl::storageAreaID):
* WebProcess/Storage/StorageAreaMap.cpp:
(WebKit::generateStorageMapID):
(WebKit::StorageAreaMap::create):
(WebKit::StorageAreaMap::StorageAreaMap):
(WebKit::StorageAreaMap::storageType):
(WebKit::StorageAreaMap::length):
(WebKit::StorageAreaMap::key):
(WebKit::StorageAreaMap::item):
(WebKit::StorageAreaMap::setItem):
(WebKit::StorageAreaMap::contains):
(WebKit::StorageAreaMap::didSetItem):
(WebKit::StorageAreaMap::dispatchStorageEvent):
* WebProcess/Storage/StorageAreaMap.h:
* WebProcess/Storage/StorageNamespaceImpl.cpp:
(WebKit::StorageNamespaceImpl::storageArea):
* WebProcess/Storage/StorageNamespaceImpl.h:
(StorageNamespaceImpl):

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (148160 => 148161)


--- trunk/Source/WebKit2/ChangeLog	2013-04-11 01:03:03 UTC (rev 148160)
+++ trunk/Source/WebKit2/ChangeLog	2013-04-11 01:22:52 UTC (rev 148161)
@@ -1,5 +1,45 @@
 2013-04-10  Anders Carlsson  <[email protected]>
 
+        Make StorageAreaImpl a wrapper around StorageAreaMap
+        https://bugs.webkit.org/show_bug.cgi?id=114404
+
+        Reviewed by Oliver Hunt.
+
+        Prepare for moving all the code that deals with local storage values to StorageAreaMap,
+        and make StorageAreaImpl a dumb wrapper that simply calls through to the map.
+
+        * WebProcess/Storage/StorageAreaImpl.cpp:
+        (WebKit::StorageAreaImpl::create):
+        (WebKit::StorageAreaImpl::StorageAreaImpl):
+        (WebKit::StorageAreaImpl::~StorageAreaImpl):
+        (WebKit::StorageAreaImpl::storageType):
+        (WebKit::StorageAreaImpl::length):
+        (WebKit::StorageAreaImpl::key):
+        (WebKit::StorageAreaImpl::getItem):
+        (WebKit::StorageAreaImpl::setItem):
+        (WebKit::StorageAreaImpl::contains):
+        * WebProcess/Storage/StorageAreaImpl.h:
+        (WebKit::StorageAreaImpl::storageAreaID):
+        * WebProcess/Storage/StorageAreaMap.cpp:
+        (WebKit::generateStorageMapID):
+        (WebKit::StorageAreaMap::create):
+        (WebKit::StorageAreaMap::StorageAreaMap):
+        (WebKit::StorageAreaMap::storageType):
+        (WebKit::StorageAreaMap::length):
+        (WebKit::StorageAreaMap::key):
+        (WebKit::StorageAreaMap::item):
+        (WebKit::StorageAreaMap::setItem):
+        (WebKit::StorageAreaMap::contains):
+        (WebKit::StorageAreaMap::didSetItem):
+        (WebKit::StorageAreaMap::dispatchStorageEvent):
+        * WebProcess/Storage/StorageAreaMap.h:
+        * WebProcess/Storage/StorageNamespaceImpl.cpp:
+        (WebKit::StorageNamespaceImpl::storageArea):
+        * WebProcess/Storage/StorageNamespaceImpl.h:
+        (StorageNamespaceImpl):
+
+2013-04-10  Anders Carlsson  <[email protected]>
+
         Rename StorageManager messages to refer to the StorageMap instead of the StorageArea
         https://bugs.webkit.org/show_bug.cgi?id=114401
 

Modified: trunk/Source/WebKit2/WebProcess/Storage/StorageAreaImpl.cpp (148160 => 148161)


--- trunk/Source/WebKit2/WebProcess/Storage/StorageAreaImpl.cpp	2013-04-11 01:03:03 UTC (rev 148160)
+++ trunk/Source/WebKit2/WebProcess/Storage/StorageAreaImpl.cpp	2013-04-11 01:22:52 UTC (rev 148161)
@@ -26,17 +26,12 @@
 #include "config.h"
 #include "StorageAreaImpl.h"
 
-#include "SecurityOriginData.h"
-#include "StorageAreaMapMessages.h"
-#include "StorageManagerMessages.h"
-#include "StorageNamespaceImpl.h"
-#include "WebProcess.h"
+#include "StorageAreaMap.h"
 #include <WebCore/ExceptionCode.h>
 #include <WebCore/Frame.h>
 #include <WebCore/Page.h>
 #include <WebCore/SchemeRegistry.h>
-#include <WebCore/SecurityOrigin.h>
-#include <WebCore/StorageMap.h>
+#include <WebCore/Settings.h>
 
 using namespace WebCore;
 
@@ -48,27 +43,26 @@
     return ++storageAreaID;
 }
 
-PassRefPtr<StorageAreaImpl> StorageAreaImpl::create(StorageNamespaceImpl* StorageNamespaceImpl, PassRefPtr<SecurityOrigin> securityOrigin)
+PassRefPtr<StorageAreaImpl> StorageAreaImpl::create(PassRefPtr<StorageAreaMap> storageAreaMap)
 {
-    return adoptRef(new StorageAreaImpl(StorageNamespaceImpl, securityOrigin));
+    return adoptRef(new StorageAreaImpl(storageAreaMap));
 }
 
-StorageAreaImpl::StorageAreaImpl(StorageNamespaceImpl* StorageNamespaceImpl, PassRefPtr<SecurityOrigin> securityOrigin)
-    : m_storageNamespaceID(StorageNamespaceImpl->storageNamespaceID())
-    , m_quotaInBytes(StorageNamespaceImpl->quotaInBytes())
-    , m_storageAreaID(generateStorageAreaID())
-    , m_securityOrigin(securityOrigin)
+StorageAreaImpl::StorageAreaImpl(PassRefPtr<StorageAreaMap> storageAreaMap)
+    : m_storageAreaID(generateStorageAreaID())
+    , m_storageAreaMap(storageAreaMap)
 {
-    WebProcess::shared().connection()->send(Messages::StorageManager::CreateStorageMap(m_storageAreaID, StorageNamespaceImpl->storageNamespaceID(), SecurityOriginData::fromSecurityOrigin(m_securityOrigin.get())), 0);
-    WebProcess::shared().addMessageReceiver(Messages::StorageAreaMap::messageReceiverName(), m_storageAreaID, this);
 }
 
 StorageAreaImpl::~StorageAreaImpl()
 {
-    WebProcess::shared().connection()->send(Messages::StorageManager::DestroyStorageMap(m_storageAreaID), 0);
-    WebProcess::shared().removeMessageReceiver(Messages::StorageAreaMap::messageReceiverName(), m_storageAreaID);
 }
 
+StorageType StorageAreaImpl::storageType() const
+{
+    return m_storageAreaMap->storageType();
+}
+
 unsigned StorageAreaImpl::length(ExceptionCode& ec, Frame* sourceFrame)
 {
     ec = 0;
@@ -80,8 +74,7 @@
     if (disabledByPrivateBrowsingInFrame(sourceFrame))
         return 0;
 
-    loadValuesIfNeeded();
-    return m_storageMap->length();
+    return m_storageAreaMap->length();
 }
 
 String StorageAreaImpl::key(unsigned index, ExceptionCode& ec, Frame* sourceFrame)
@@ -91,12 +84,11 @@
         ec = SECURITY_ERR;
         return String();
     }
+
     if (disabledByPrivateBrowsingInFrame(sourceFrame))
         return String();
 
-    loadValuesIfNeeded();
-
-    return m_storageMap->key(index);
+    return m_storageAreaMap->key(index);
 }
 
 String StorageAreaImpl::getItem(const String& key, ExceptionCode& ec, Frame* sourceFrame)
@@ -106,11 +98,11 @@
         ec = SECURITY_ERR;
         return String();
     }
+
     if (disabledByPrivateBrowsingInFrame(sourceFrame))
         return String();
 
-    loadValuesIfNeeded();
-    return m_storageMap->getItem(key);
+    return m_storageAreaMap->item(key);
 }
 
 void StorageAreaImpl::setItem(const String& key, const String& value, ExceptionCode& ec, Frame* sourceFrame)
@@ -128,24 +120,11 @@
         return;
     }
 
-    loadValuesIfNeeded();
-
-    ASSERT(m_storageMap->hasOneRef());
-    String oldValue;
     bool quotaException;
-    m_storageMap->setItem(key, value, oldValue, quotaException);
+    m_storageAreaMap->setItem(this, key, value, quotaException);
 
-    if (quotaException) {
+    if (quotaException)
         ec = QUOTA_EXCEEDED_ERR;
-        return;
-    }
-
-    if (oldValue == value)
-        return;
-
-    m_pendingValueChanges.add(key);
-
-    WebProcess::shared().connection()->send(Messages::StorageManager::SetItem(m_storageAreaID, key, value, sourceFrame->document()->url()), 0);
 }
 
 void StorageAreaImpl::removeItem(const String& key, ExceptionCode&, Frame* sourceFrame)
@@ -173,9 +152,7 @@
     if (disabledByPrivateBrowsingInFrame(sourceFrame))
         return false;
 
-    loadValuesIfNeeded();
-
-    return m_storageMap->contains(key);
+    return m_storageAreaMap->contains(key);
 }
 
 bool StorageAreaImpl::canAccessStorage(Frame* frame)
@@ -204,43 +181,6 @@
     ASSERT_NOT_REACHED();
 }
 
-
-void StorageAreaImpl::didSetItem(const String& key, bool quotaError)
-{
-    ASSERT(m_pendingValueChanges.contains(key));
-
-    m_pendingValueChanges.remove(key);
-
-    if (quotaError)
-        resetValues();
-}
-
-void StorageAreaImpl::dispatchStorageEvent(const String& key, const String& oldValue, const String& newValue, const String& urlString)
-{
-    if (!shouldApplyChangesForKey(key))
-        return;
-
-    ASSERT(!key.isNull());
-    ASSERT(!newValue.isNull());
-
-    ASSERT(m_storageMap->hasOneRef());
-    m_storageMap->setItemIgnoringQuota(key, newValue);
-
-    if (storageType() == SessionStorage)
-        dispatchSessionStorageEvent(key, oldValue, newValue, urlString);
-    else
-        dispatchLocalStorageEvent(key, oldValue, newValue, urlString);
-}
-
-StorageType StorageAreaImpl::storageType() const
-{
-    // A zero storage namespace ID is used for local storage.
-    if (!m_storageNamespaceID)
-        return LocalStorage;
-
-    return SessionStorage;
-}
-
 bool StorageAreaImpl::disabledByPrivateBrowsingInFrame(const Frame* sourceFrame) const
 {
     if (!sourceFrame->page()->settings()->privateBrowsingEnabled())
@@ -252,61 +192,4 @@
     return !SchemeRegistry::allowsLocalStorageAccessInPrivateBrowsing(sourceFrame->document()->securityOrigin()->protocol());
 }
 
-bool StorageAreaImpl::shouldApplyChangesForKey(const String& key) const
-{
-    // We have not yet loaded anything from this storage map.
-    if (!m_storageMap)
-        return false;
-
-    // Check if this storage area is currently waiting for the storage manager to update the given key.
-    // If that is the case, we don't want to apply any changes made by other storage areas, since
-    // our change was made last.
-    if (m_pendingValueChanges.contains(key))
-        return false;
-
-    return true;
-}
-
-void StorageAreaImpl::loadValuesIfNeeded()
-{
-    if (m_storageMap)
-        return;
-
-    HashMap<String, String> values;
-    // FIXME: This should use a special sendSync flag to indicate that we don't want to process incoming messages while waiting for a reply.
-    // (This flag does not yet exist).
-    WebProcess::shared().connection()->sendSync(Messages::StorageManager::GetValues(m_storageAreaID), Messages::StorageManager::GetValues::Reply(values), 0);
-
-    m_storageMap = StorageMap::create(m_quotaInBytes);
-    m_storageMap->importItems(values);
-}
-
-void StorageAreaImpl::resetValues()
-{
-    m_storageMap = nullptr;
-    m_pendingValueChanges.clear();
-}
-
-void StorageAreaImpl::dispatchSessionStorageEvent(const String& key, const String& oldValue, const String& newValue, const String& urlString)
-{
-    ASSERT(storageType() == SessionStorage);
-
-    // FIXME: Implement.
-    UNUSED_PARAM(key);
-    UNUSED_PARAM(oldValue);
-    UNUSED_PARAM(newValue);
-    UNUSED_PARAM(urlString);
-}
-
-void StorageAreaImpl::dispatchLocalStorageEvent(const String& key, const String& oldValue, const String& newValue, const String& urlString)
-{
-    ASSERT(storageType() == LocalStorage);
-
-    // FIXME: Implement.
-    UNUSED_PARAM(key);
-    UNUSED_PARAM(oldValue);
-    UNUSED_PARAM(newValue);
-    UNUSED_PARAM(urlString);
-}
-
 } // namespace WebKit

Modified: trunk/Source/WebKit2/WebProcess/Storage/StorageAreaImpl.h (148160 => 148161)


--- trunk/Source/WebKit2/WebProcess/Storage/StorageAreaImpl.h	2013-04-11 01:03:03 UTC (rev 148160)
+++ trunk/Source/WebKit2/WebProcess/Storage/StorageAreaImpl.h	2013-04-11 01:22:52 UTC (rev 148161)
@@ -31,21 +31,20 @@
 #include <wtf/HashCountedSet.h>
 #include <wtf/HashMap.h>
 
-namespace WebCore {
-class StorageMap;
-}
-
 namespace WebKit {
 
-class StorageNamespaceImpl;
+class StorageAreaMap;
 
-class StorageAreaImpl : public WebCore::StorageArea, private CoreIPC::MessageReceiver {
+class StorageAreaImpl : public WebCore::StorageArea {
 public:
-    static PassRefPtr<StorageAreaImpl> create(StorageNamespaceImpl*, PassRefPtr<WebCore::SecurityOrigin>);
+    static PassRefPtr<StorageAreaImpl> create(PassRefPtr<StorageAreaMap>);
     virtual ~StorageAreaImpl();
 
+    uint64_t storageAreaID() const { return m_storageAreaID; }
+    WebCore::StorageType storageType() const;
+
 private:
-    StorageAreaImpl(StorageNamespaceImpl*, PassRefPtr<WebCore::SecurityOrigin>);
+    StorageAreaImpl(PassRefPtr<StorageAreaMap>);
 
     // WebCore::StorageArea.
     virtual unsigned length(WebCore::ExceptionCode&, WebCore::Frame* sourceFrame) OVERRIDE;
@@ -61,30 +60,10 @@
     virtual void decrementAccessCount() OVERRIDE;
     virtual void closeDatabaseIfIdle() OVERRIDE;
 
-    // CoreIPC::MessageReceiver
-    virtual void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageDecoder&) OVERRIDE;
-
-    void didSetItem(const String& key, bool quotaError);
-    void dispatchStorageEvent(const String& key, const String& oldValue, const String& newValue, const String& urlString);
-
-    WebCore::StorageType storageType() const;
     bool disabledByPrivateBrowsingInFrame(const WebCore::Frame* sourceFrame) const;
 
-    bool shouldApplyChangesForKey(const String& key) const;
-    void loadValuesIfNeeded();
-    void resetValues();
-
-    void dispatchSessionStorageEvent(const String& key, const String& oldValue, const String& newValue, const String& urlString);
-    void dispatchLocalStorageEvent(const String& key, const String& oldValue, const String& newValue, const String& urlString);
-
-    uint64_t m_storageNamespaceID;
-    unsigned m_quotaInBytes;
     uint64_t m_storageAreaID;
-
-    RefPtr<WebCore::SecurityOrigin> m_securityOrigin;
-    RefPtr<WebCore::StorageMap> m_storageMap;
-
-    HashCountedSet<String> m_pendingValueChanges;
+    RefPtr<StorageAreaMap> m_storageAreaMap;
 };
 
 } // namespace WebKit

Modified: trunk/Source/WebKit2/WebProcess/Storage/StorageAreaMap.cpp (148160 => 148161)


--- trunk/Source/WebKit2/WebProcess/Storage/StorageAreaMap.cpp	2013-04-11 01:03:03 UTC (rev 148160)
+++ trunk/Source/WebKit2/WebProcess/Storage/StorageAreaMap.cpp	2013-04-11 01:22:52 UTC (rev 148161)
@@ -26,27 +26,82 @@
 #include "config.h"
 #include "StorageAreaMap.h"
 
+#include "StorageNamespaceImpl.h"
+#include <WebCore/StorageMap.h>
+
+using namespace WebCore;
+
 namespace WebKit {
 
-PassRefPtr<StorageAreaMap> StorageAreaMap::create()
+static uint64_t generateStorageMapID()
 {
-    return adoptRef(new StorageAreaMap);
+    static uint64_t storageMapID;
+    return ++storageMapID;
 }
 
-StorageAreaMap::StorageAreaMap()
+PassRefPtr<StorageAreaMap> StorageAreaMap::create(StorageNamespaceImpl* storageNamespace, PassRefPtr<WebCore::SecurityOrigin> securityOrigin)
 {
+    return adoptRef(new StorageAreaMap(storageNamespace, securityOrigin));
 }
 
+StorageAreaMap::StorageAreaMap(StorageNamespaceImpl* storageNamespace, PassRefPtr<WebCore::SecurityOrigin> securityOrigin)
+    : m_storageMapID(generateStorageMapID())
+    , m_storageNamespaceID(storageNamespace->storageNamespaceID())
+    , m_quotaInBytes(storageNamespace->quotaInBytes())
+    , m_securityOrigin(securityOrigin)
+{
+}
+
 StorageAreaMap::~StorageAreaMap()
 {
 }
 
+StorageType StorageAreaMap::storageType() const
+{
+    // A zero storage namespace ID is used for local storage.
+    if (!m_storageNamespaceID)
+        return LocalStorage;
+
+    return SessionStorage;
+}
+
+unsigned StorageAreaMap::length()
+{
+    // FIXME: Implement.
+    return 0;
+}
+
+String StorageAreaMap::key(unsigned index)
+{
+    // FIXME: Implement.
+    return String();
+}
+
+String StorageAreaMap::item(const String& key)
+{
+    // FIXME: Implement.
+    return String();
+}
+
+void StorageAreaMap::setItem(StorageAreaImpl* sourceArea, const String& key, const String& value, bool& quotaException)
+{
+    // FIXME: Implement.
+}
+
+bool StorageAreaMap::contains(const String& key)
+{
+    // FIXME: Implement.
+    return false;
+}
+
 void StorageAreaMap::didSetItem(const String& key, bool quotaError)
 {
+    // FIXME: Implement.
 }
 
 void StorageAreaMap::dispatchStorageEvent(const String& key, const String& oldValue, const String& newValue, const String& urlString)
 {
+    // FIXME: Implement.
 }
 
 } // namespace WebKit

Modified: trunk/Source/WebKit2/WebProcess/Storage/StorageAreaMap.h (148160 => 148161)


--- trunk/Source/WebKit2/WebProcess/Storage/StorageAreaMap.h	2013-04-11 01:03:03 UTC (rev 148160)
+++ trunk/Source/WebKit2/WebProcess/Storage/StorageAreaMap.h	2013-04-11 01:22:52 UTC (rev 148161)
@@ -27,25 +27,53 @@
 #define StorageAreaMap_h
 
 #include "MessageReceiver.h"
+#include <WebCore/SecurityOrigin.h>
+#include <WebCore/StorageArea.h>
 #include <wtf/Forward.h>
 #include <wtf/PassRefPtr.h>
 #include <wtf/RefCounted.h>
 
+namespace WebCore {
+class SecurityOrigin;
+class StorageMap;
+}
+
 namespace WebKit {
 
+class StorageAreaImpl;
+class StorageNamespaceImpl;
+
 class StorageAreaMap : public RefCounted<StorageAreaMap>, private CoreIPC::MessageReceiver {
 public:
-    static PassRefPtr<StorageAreaMap> create();
+    static PassRefPtr<StorageAreaMap> create(StorageNamespaceImpl*, PassRefPtr<WebCore::SecurityOrigin>);
     ~StorageAreaMap();
 
+    WebCore::StorageType storageType() const;
+
+    unsigned length();
+    String key(unsigned index);
+    String item(const String& key);
+    void setItem(StorageAreaImpl* sourceArea, const String& key, const String& value, bool& quotaException);
+    bool contains(const String& key);
+
 private:
-    StorageAreaMap();
+    StorageAreaMap(StorageNamespaceImpl*, PassRefPtr<WebCore::SecurityOrigin>);
 
     // CoreIPC::MessageReceiver
     virtual void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageDecoder&) OVERRIDE;
 
     void didSetItem(const String& key, bool quotaError);
     void dispatchStorageEvent(const String& key, const String& oldValue, const String& newValue, const String& urlString);
+
+    void loadValuesIfNeeded();
+
+    uint64_t m_storageMapID;
+    uint64_t m_storageNamespaceID;
+    unsigned m_quotaInBytes;
+    RefPtr<WebCore::SecurityOrigin> m_securityOrigin;
+
+
+    RefPtr<WebCore::StorageMap> m_storageMap;
 };
 
 } // namespace WebKit

Modified: trunk/Source/WebKit2/WebProcess/Storage/StorageNamespaceImpl.cpp (148160 => 148161)


--- trunk/Source/WebKit2/WebProcess/Storage/StorageNamespaceImpl.cpp	2013-04-11 01:03:03 UTC (rev 148160)
+++ trunk/Source/WebKit2/WebProcess/Storage/StorageNamespaceImpl.cpp	2013-04-11 01:22:52 UTC (rev 148161)
@@ -27,6 +27,7 @@
 #include "StorageNamespaceImpl.h"
 
 #include "StorageAreaImpl.h"
+#include "StorageAreaMap.h"
 #include "WebPage.h"
 #include <WebCore/SecurityOrigin.h>
 #include <WebCore/Settings.h>
@@ -52,11 +53,11 @@
 
 PassRefPtr<StorageArea> StorageNamespaceImpl::storageArea(PassRefPtr<SecurityOrigin> securityOrigin)
 {
-    HashMap<RefPtr<WebCore::SecurityOrigin>, RefPtr<StorageAreaImpl> >::AddResult result = m_storageAreaMap.add(securityOrigin.get(), 0);
+    HashMap<RefPtr<WebCore::SecurityOrigin>, RefPtr<StorageAreaMap> >::AddResult result = m_storageAreaMaps.add(securityOrigin.get(), 0);
     if (result.isNewEntry)
-        result.iterator->value = StorageAreaImpl::create(this, securityOrigin);
+        result.iterator->value = StorageAreaMap::create(this, securityOrigin);
 
-    return result.iterator->value;
+    return StorageAreaImpl::create(result.iterator->value);
 }
 
 PassRefPtr<StorageNamespace> StorageNamespaceImpl::copy()

Modified: trunk/Source/WebKit2/WebProcess/Storage/StorageNamespaceImpl.h (148160 => 148161)


--- trunk/Source/WebKit2/WebProcess/Storage/StorageNamespaceImpl.h	2013-04-11 01:03:03 UTC (rev 148160)
+++ trunk/Source/WebKit2/WebProcess/Storage/StorageNamespaceImpl.h	2013-04-11 01:22:52 UTC (rev 148161)
@@ -33,7 +33,7 @@
 
 namespace WebKit {
 
-class StorageAreaImpl;
+class StorageAreaMap;
 class WebPage;
 
 class StorageNamespaceImpl : public WebCore::StorageNamespace {
@@ -58,7 +58,7 @@
     uint64_t m_storageNamespaceID;
     unsigned m_quotaInBytes;
 
-    HashMap<RefPtr<WebCore::SecurityOrigin>, RefPtr<StorageAreaImpl> > m_storageAreaMap;
+    HashMap<RefPtr<WebCore::SecurityOrigin>, RefPtr<StorageAreaMap> > m_storageAreaMaps;
 };
 
 } // namespace WebKit
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to