Add a stubbed out StorageAreaMap class
authorandersca@apple.com <andersca@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 11 Apr 2013 00:02:01 +0000 (00:02 +0000)
committerandersca@apple.com <andersca@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 11 Apr 2013 00:02:01 +0000 (00:02 +0000)
https://bugs.webkit.org/show_bug.cgi?id=114392

Reviewed by Andreas Kling.

The intention is that StorageAreaMap is going to take over responsibility for storing the storage values in the
web process, as well as dispatching events. A StorageAreaMap will be shared between multiple StorageAreaImpl objects,
for example if multiple frames with the same origin use local storage.

* DerivedSources.make:
* UIProcess/Storage/StorageManager.cpp:
(WebKit::StorageManager::StorageArea::dispatchEvents):
(WebKit::StorageManager::setItem):
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/Storage/StorageAreaImpl.cpp:
(WebKit::StorageAreaImpl::StorageAreaImpl):
(WebKit::StorageAreaImpl::~StorageAreaImpl):
* WebProcess/Storage/StorageAreaMap.cpp: Added.
(WebKit):
(WebKit::StorageAreaMap::create):
(WebKit::StorageAreaMap::StorageAreaMap):
(WebKit::StorageAreaMap::~StorageAreaMap):
(WebKit::StorageAreaMap::didSetItem):
(WebKit::StorageAreaMap::dispatchStorageEvent):
* WebProcess/Storage/StorageAreaMap.h: Added.
(WebKit):
(StorageAreaMap):
* WebProcess/Storage/StorageAreaMap.messages.in: Renamed from Source/WebKit2/WebProcess/Storage/StorageAreaImpl.messages.in.

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

Source/WebKit2/ChangeLog
Source/WebKit2/DerivedSources.make
Source/WebKit2/UIProcess/Storage/StorageManager.cpp
Source/WebKit2/WebKit2.xcodeproj/project.pbxproj
Source/WebKit2/WebProcess/Storage/StorageAreaImpl.cpp
Source/WebKit2/WebProcess/Storage/StorageAreaMap.cpp [new file with mode: 0644]
Source/WebKit2/WebProcess/Storage/StorageAreaMap.h [new file with mode: 0644]
Source/WebKit2/WebProcess/Storage/StorageAreaMap.messages.in [moved from Source/WebKit2/WebProcess/Storage/StorageAreaImpl.messages.in with 98% similarity]

index 81e94a2..a097819 100644 (file)
@@ -1,5 +1,36 @@
 2013-04-10  Anders Carlsson  <andersca@apple.com>
 
+        Add a stubbed out StorageAreaMap class
+        https://bugs.webkit.org/show_bug.cgi?id=114392
+
+        Reviewed by Andreas Kling.
+
+        The intention is that StorageAreaMap is going to take over responsibility for storing the storage values in the
+        web process, as well as dispatching events. A StorageAreaMap will be shared between multiple StorageAreaImpl objects,
+        for example if multiple frames with the same origin use local storage.
+
+        * DerivedSources.make:
+        * UIProcess/Storage/StorageManager.cpp:
+        (WebKit::StorageManager::StorageArea::dispatchEvents):
+        (WebKit::StorageManager::setItem):
+        * WebKit2.xcodeproj/project.pbxproj:
+        * WebProcess/Storage/StorageAreaImpl.cpp:
+        (WebKit::StorageAreaImpl::StorageAreaImpl):
+        (WebKit::StorageAreaImpl::~StorageAreaImpl):
+        * WebProcess/Storage/StorageAreaMap.cpp: Added.
+        (WebKit):
+        (WebKit::StorageAreaMap::create):
+        (WebKit::StorageAreaMap::StorageAreaMap):
+        (WebKit::StorageAreaMap::~StorageAreaMap):
+        (WebKit::StorageAreaMap::didSetItem):
+        (WebKit::StorageAreaMap::dispatchStorageEvent):
+        * WebProcess/Storage/StorageAreaMap.h: Added.
+        (WebKit):
+        (StorageAreaMap):
+        * WebProcess/Storage/StorageAreaMap.messages.in: Renamed from Source/WebKit2/WebProcess/Storage/StorageAreaImpl.messages.in.
+
+2013-04-10  Anders Carlsson  <andersca@apple.com>
+
         Rename StorageAreaProxy to StorageAreaImpl.
 
         Rubber-stamped by Beth Dakin.
index 7b246f5..5dd8ab2 100644 (file)
@@ -90,7 +90,7 @@ MESSAGE_RECEIVERS = \
     RemoteLayerTreeHost \
     SecItemShim \
     SecItemShimProxy \
-    StorageAreaImpl \
+    StorageAreaMap \
     WebContext \
     WebDatabaseManager \
     WebDatabaseManagerProxy \
index fa7403d..fd342fb 100644 (file)
@@ -27,7 +27,7 @@
 #include "StorageManager.h"
 
 #include "SecurityOriginData.h"
-#include "StorageAreaImplMessages.h"
+#include "StorageAreaMapMessages.h"
 #include "StorageManagerMessages.h"
 #include "WebProcessProxy.h"
 #include "WorkQueue.h"
@@ -103,7 +103,7 @@ void StorageManager::StorageArea::dispatchEvents(CoreIPC::Connection* connection
             continue;
         }
 
-        it->first->send(Messages::StorageAreaImpl::DispatchStorageEvent(key, oldValue, newValue, urlString), it->second);
+        it->first->send(Messages::StorageAreaMap::DispatchStorageEvent(key, oldValue, newValue, urlString), it->second);
     }
 }
 
@@ -273,7 +273,7 @@ void StorageManager::setItem(CoreIPC::Connection* connection, uint64_t storageAr
 
     bool quotaError;
     storageArea->setItem(connection, storageAreaID, key, value, urlString, quotaError);
-    connection->send(Messages::StorageAreaImpl::DidSetItem(key, quotaError), storageAreaID);
+    connection->send(Messages::StorageAreaMap::DidSetItem(key, quotaError), storageAreaID);
 }
 
 void StorageManager::createSessionStorageNamespaceInternal(uint64_t storageNamespaceID, CoreIPC::Connection* allowedConnection, unsigned quotaInBytes)
index 2964148..18127f4 100644 (file)
                1A2D957012848564001EB962 /* ChildProcess.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A2D956E12848564001EB962 /* ChildProcess.cpp */; };
                1A30066E1110F4F70031937C /* ResponsivenessTimer.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A30066C1110F4F70031937C /* ResponsivenessTimer.h */; };
                1A30EAC6115D7DA30053E937 /* ConnectionMac.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A30EAC5115D7DA30053E937 /* ConnectionMac.cpp */; };
-               1A334DED16DE8F88006A8E38 /* StorageAreaImplMessageReceiver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A334DEB16DE8F88006A8E38 /* StorageAreaImplMessageReceiver.cpp */; };
-               1A334DEE16DE8F88006A8E38 /* StorageAreaImplMessages.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A334DEC16DE8F88006A8E38 /* StorageAreaImplMessages.h */; };
+               1A334DED16DE8F88006A8E38 /* StorageAreaMapMessageReceiver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A334DEB16DE8F88006A8E38 /* StorageAreaMapMessageReceiver.cpp */; };
+               1A334DEE16DE8F88006A8E38 /* StorageAreaMapMessages.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A334DEC16DE8F88006A8E38 /* StorageAreaMapMessages.h */; };
                1A3979F61332983A00E00300 /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0867D6A5FE840307C02AAC07 /* AppKit.framework */; };
                1A3979F71332983F00E00300 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1AA1CC5C100FA1A10078DEBC /* QuartzCore.framework */; };
                1A3D610113A7CC2A00F95D4E /* PluginModuleInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3D60FF13A7CC2A00F95D4E /* PluginModuleInfo.cpp */; };
                1AC86FF4130B46D3002C1257 /* WKPluginSiteDataManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 1AC86FF2130B46D3002C1257 /* WKPluginSiteDataManager.h */; settings = {ATTRIBUTES = (Private, ); }; };
                1AC8702D130B49A2002C1257 /* WebPluginSiteDataManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 1AC8702B130B49A2002C1257 /* WebPluginSiteDataManager.h */; };
                1AC8702E130B49A2002C1257 /* WebPluginSiteDataManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1AC8702C130B49A2002C1257 /* WebPluginSiteDataManager.cpp */; };
+               1ACECD2417162DB1001FC9EF /* StorageAreaMap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ACECD2217162DB1001FC9EF /* StorageAreaMap.cpp */; };
+               1ACECD2517162DB1001FC9EF /* StorageAreaMap.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ACECD2317162DB1001FC9EF /* StorageAreaMap.h */; };
                1AD25E95167AB08100EA9BCD /* DownloadProxyMap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1AD25E93167AB08100EA9BCD /* DownloadProxyMap.cpp */; };
                1AD25E96167AB08100EA9BCD /* DownloadProxyMap.h in Headers */ = {isa = PBXBuildFile; fileRef = 1AD25E94167AB08100EA9BCD /* DownloadProxyMap.h */; };
                1AD3306E16B1D991004F60E7 /* StorageAreaImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1AD3306C16B1D991004F60E7 /* StorageAreaImpl.cpp */; };
                1A2D956E12848564001EB962 /* ChildProcess.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ChildProcess.cpp; sourceTree = "<group>"; };
                1A30066C1110F4F70031937C /* ResponsivenessTimer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ResponsivenessTimer.h; sourceTree = "<group>"; };
                1A30EAC5115D7DA30053E937 /* ConnectionMac.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ConnectionMac.cpp; sourceTree = "<group>"; };
-               1A334DEA16DE8B68006A8E38 /* StorageAreaImpl.messages.in */ = {isa = PBXFileReference; lastKnownFileType = text; path = StorageAreaImpl.messages.in; sourceTree = "<group>"; };
-               1A334DEB16DE8F88006A8E38 /* StorageAreaImplMessageReceiver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StorageAreaImplMessageReceiver.cpp; sourceTree = "<group>"; };
-               1A334DEC16DE8F88006A8E38 /* StorageAreaImplMessages.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StorageAreaImplMessages.h; sourceTree = "<group>"; };
+               1A334DEA16DE8B68006A8E38 /* StorageAreaMap.messages.in */ = {isa = PBXFileReference; lastKnownFileType = text; path = StorageAreaMap.messages.in; sourceTree = "<group>"; };
+               1A334DEB16DE8F88006A8E38 /* StorageAreaMapMessageReceiver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StorageAreaMapMessageReceiver.cpp; sourceTree = "<group>"; };
+               1A334DEC16DE8F88006A8E38 /* StorageAreaMapMessages.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StorageAreaMapMessages.h; sourceTree = "<group>"; };
                1A3D60FF13A7CC2A00F95D4E /* PluginModuleInfo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PluginModuleInfo.cpp; sourceTree = "<group>"; };
                1A3D610013A7CC2A00F95D4E /* PluginModuleInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PluginModuleInfo.h; sourceTree = "<group>"; };
                1A3D610413A7F03A00F95D4E /* ArgumentCoders.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ArgumentCoders.cpp; sourceTree = "<group>"; };
                1AC86FF2130B46D3002C1257 /* WKPluginSiteDataManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKPluginSiteDataManager.h; sourceTree = "<group>"; };
                1AC8702B130B49A2002C1257 /* WebPluginSiteDataManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebPluginSiteDataManager.h; sourceTree = "<group>"; };
                1AC8702C130B49A2002C1257 /* WebPluginSiteDataManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebPluginSiteDataManager.cpp; sourceTree = "<group>"; };
+               1ACECD2217162DB1001FC9EF /* StorageAreaMap.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StorageAreaMap.cpp; sourceTree = "<group>"; };
+               1ACECD2317162DB1001FC9EF /* StorageAreaMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StorageAreaMap.h; sourceTree = "<group>"; };
                1AD25E93167AB08100EA9BCD /* DownloadProxyMap.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DownloadProxyMap.cpp; sourceTree = "<group>"; };
                1AD25E94167AB08100EA9BCD /* DownloadProxyMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DownloadProxyMap.h; sourceTree = "<group>"; };
                1AD3306C16B1D991004F60E7 /* StorageAreaImpl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StorageAreaImpl.cpp; sourceTree = "<group>"; };
                        children = (
                                1AD3306C16B1D991004F60E7 /* StorageAreaImpl.cpp */,
                                1AD3306D16B1D991004F60E7 /* StorageAreaImpl.h */,
-                               1A334DEA16DE8B68006A8E38 /* StorageAreaImpl.messages.in */,
+                               1A334DEA16DE8B68006A8E38 /* StorageAreaMap.messages.in */,
+                               1ACECD2217162DB1001FC9EF /* StorageAreaMap.cpp */,
+                               1ACECD2317162DB1001FC9EF /* StorageAreaMap.h */,
                                1A17635416B1D5D000D88FD6 /* StorageNamespaceImpl.cpp */,
                                1A17635516B1D5D000D88FD6 /* StorageNamespaceImpl.h */,
                                1AAC4DE116B1CBF6009425E3 /* WebKeyValueStorageManager.cpp */,
                                E1EDFDB21628AD730039ECDA /* SharedWorkerProcessMessages.h */,
                                E1EDFDB31628AD730039ECDA /* SharedWorkerProcessProxyMessageReceiver.cpp */,
                                E1EDFDB41628AD730039ECDA /* SharedWorkerProcessProxyMessages.h */,
-                               1A334DEB16DE8F88006A8E38 /* StorageAreaImplMessageReceiver.cpp */,
-                               1A334DEC16DE8F88006A8E38 /* StorageAreaImplMessages.h */,
+                               1A334DEB16DE8F88006A8E38 /* StorageAreaMapMessageReceiver.cpp */,
+                               1A334DEC16DE8F88006A8E38 /* StorageAreaMapMessages.h */,
                                1AB31A9416BC688100F6DBC9 /* StorageManagerMessageReceiver.cpp */,
                                1AB31A9516BC688100F6DBC9 /* StorageManagerMessages.h */,
                                512E3568130B57F000ABD19A /* WebApplicationCacheManagerMessageReceiver.cpp */,
                                5163199516289A6300E22F00 /* NetworkProcessMessages.h in Headers */,
                                5179556E162877B300FA43B6 /* NetworkProcessProxy.h in Headers */,
                                513A163D163088F6005D7D22 /* NetworkProcessProxyMessages.h in Headers */,
+                               1ACECD2517162DB1001FC9EF /* StorageAreaMap.h in Headers */,
                                BCF4DE23168E4BD500C94AFC /* NetworkProcessSupplement.h in Headers */,
                                51FD18B61651FBAD00DBE1CE /* NetworkResourceLoader.h in Headers */,
                                51CBBA10165219B6005BE8FD /* NetworkResourceLoadParameters.h in Headers */,
                                1A3E736111CC2659007BD539 /* WebPlatformStrategies.h in Headers */,
                                31D5929F166E060000E6BF02 /* WebPlugInClient.h in Headers */,
                                1AC8702D130B49A2002C1257 /* WebPluginSiteDataManager.h in Headers */,
-                               1A334DEE16DE8F88006A8E38 /* StorageAreaImplMessages.h in Headers */,
+                               1A334DEE16DE8F88006A8E38 /* StorageAreaMapMessages.h in Headers */,
                                BCB9F8B01124E07700A137E0 /* WebPolicyClient.h in Headers */,
                                BC5744F012638FB3006F0F12 /* WebPopupItem.h in Headers */,
                                D3B9484711FF4B6500032B39 /* WebPopupMenu.h in Headers */,
                                BCEE966C112FAF57006BCC24 /* Attachment.cpp in Sources */,
                                E1A31735134CEA80007C9A4F /* AttributedString.mm in Sources */,
                                512F589612A8838800629530 /* AuthenticationChallengeProxy.cpp in Sources */,
-                               1A334DED16DE8F88006A8E38 /* StorageAreaImplMessageReceiver.cpp in Sources */,
+                               1A334DED16DE8F88006A8E38 /* StorageAreaMapMessageReceiver.cpp in Sources */,
                                512F589812A8838800629530 /* AuthenticationDecisionListener.cpp in Sources */,
                                518E8EF816B2091C00E91429 /* AuthenticationManager.cpp in Sources */,
                                518E8EFB16B2091C00E91429 /* AuthenticationManager.mac.mm in Sources */,
                                33D3A3B51339600B00709BE4 /* WKMediaCacheManager.cpp in Sources */,
                                1A7865B916CAC71500ACE83A /* PluginProcessConnectionManagerMessageReceiver.cpp in Sources */,
                                BC4075FD124FF0270068F20A /* WKMutableArray.cpp in Sources */,
+                               1ACECD2417162DB1001FC9EF /* StorageAreaMap.cpp in Sources */,
                                BC4075FF124FF0270068F20A /* WKMutableDictionary.cpp in Sources */,
                                BCF69FAA1176D1CB00471A52 /* WKNavigationData.cpp in Sources */,
                                318BE17714743E6000A8FBB2 /* WKNotification.cpp in Sources */,
index 780f0fc..e3ffe93 100644 (file)
@@ -27,7 +27,7 @@
 #include "StorageAreaImpl.h"
 
 #include "SecurityOriginData.h"
-#include "StorageAreaImplMessages.h"
+#include "StorageAreaMapMessages.h"
 #include "StorageManagerMessages.h"
 #include "StorageNamespaceImpl.h"
 #include "WebProcess.h"
@@ -60,13 +60,13 @@ StorageAreaImpl::StorageAreaImpl(StorageNamespaceImpl* StorageNamespaceImpl, Pas
     , m_securityOrigin(securityOrigin)
 {
     WebProcess::shared().connection()->send(Messages::StorageManager::CreateStorageArea(m_storageAreaID, StorageNamespaceImpl->storageNamespaceID(), SecurityOriginData::fromSecurityOrigin(m_securityOrigin.get())), 0);
-    WebProcess::shared().addMessageReceiver(Messages::StorageAreaImpl::messageReceiverName(), m_storageAreaID, this);
+    WebProcess::shared().addMessageReceiver(Messages::StorageAreaMap::messageReceiverName(), m_storageAreaID, this);
 }
 
 StorageAreaImpl::~StorageAreaImpl()
 {
     WebProcess::shared().connection()->send(Messages::StorageManager::DestroyStorageArea(m_storageAreaID), 0);
-    WebProcess::shared().removeMessageReceiver(Messages::StorageAreaImpl::messageReceiverName(), m_storageAreaID);
+    WebProcess::shared().removeMessageReceiver(Messages::StorageAreaMap::messageReceiverName(), m_storageAreaID);
 }
 
 unsigned StorageAreaImpl::length(ExceptionCode& ec, Frame* sourceFrame)
diff --git a/Source/WebKit2/WebProcess/Storage/StorageAreaMap.cpp b/Source/WebKit2/WebProcess/Storage/StorageAreaMap.cpp
new file mode 100644 (file)
index 0000000..667cd73
--- /dev/null
@@ -0,0 +1,52 @@
+/*
+ * Copyright (C) 2013 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "StorageAreaMap.h"
+
+namespace WebKit {
+
+PassRefPtr<StorageAreaMap> StorageAreaMap::create()
+{
+    return adoptRef(new StorageAreaMap);
+}
+
+StorageAreaMap::StorageAreaMap()
+{
+}
+
+StorageAreaMap::~StorageAreaMap()
+{
+}
+
+void StorageAreaMap::didSetItem(const String& key, bool quotaError)
+{
+}
+
+void StorageAreaMap::dispatchStorageEvent(const String& key, const String& oldValue, const String& newValue, const String& urlString)
+{
+}
+
+} // namespace WebKit
diff --git a/Source/WebKit2/WebProcess/Storage/StorageAreaMap.h b/Source/WebKit2/WebProcess/Storage/StorageAreaMap.h
new file mode 100644 (file)
index 0000000..7043530
--- /dev/null
@@ -0,0 +1,53 @@
+/*
+ * Copyright (C) 2013 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef StorageAreaMap_h
+#define StorageAreaMap_h
+
+#include "MessageReceiver.h"
+#include <wtf/Forward.h>
+#include <wtf/PassRefPtr.h>
+#include <wtf/RefCounted.h>
+
+namespace WebKit {
+
+class StorageAreaMap : public RefCounted<StorageAreaMap>, private CoreIPC::MessageReceiver {
+public:
+    static PassRefPtr<StorageAreaMap> create();
+    ~StorageAreaMap();
+
+private:
+    StorageAreaMap();
+
+    // 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);
+};
+
+} // namespace WebKit
+
+#endif // StorageAreaMap_h
@@ -20,7 +20,7 @@
 # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
-messages -> StorageAreaImpl {
+messages -> StorageAreaMap {
     DidSetItem(WTF::String key, bool quotaException)
 
     DispatchStorageEvent(WTF::String key, WTF::String oldValue, WTF::String newValue, WTF::String urlString)