Title: [141830] trunk/Source/WebKit2
- Revision
- 141830
- Author
- [email protected]
- Date
- 2013-02-04 16:34:00 -0800 (Mon, 04 Feb 2013)
Log Message
Send message when creating and destroying StorageAreaProxy objects
https://bugs.webkit.org/show_bug.cgi?id=108874
Reviewed by Sam Weinig.
* Shared/SecurityOriginData.cpp:
(WebKit::SecurityOriginData::fromSecurityOrigin):
* Shared/SecurityOriginData.h:
(SecurityOriginData):
Add helper function for creating a SecurityOriginData object given a WebCore::SecurityOrigin object.
* WebProcess/Storage/StorageAreaProxy.cpp:
(WebKit::generateStorageAreaID):
New function to create a unique storage area ID.
(WebKit::StorageAreaProxy::StorageAreaProxy):
Send a CreateStorageArea message.
(WebKit::StorageAreaProxy::~StorageAreaProxy):
Send a DestroyStorageArea message.
(WebKit::StorageAreaProxy::contains):
Remove this assertion for now, it fires too often.
* WebProcess/Storage/StorageNamespaceProxy.h:
(WebKit::StorageNamespaceProxy::storageNamespaceID):
Add getter.
Modified Paths
Diff
Modified: trunk/Source/WebKit2/ChangeLog (141829 => 141830)
--- trunk/Source/WebKit2/ChangeLog 2013-02-05 00:30:22 UTC (rev 141829)
+++ trunk/Source/WebKit2/ChangeLog 2013-02-05 00:34:00 UTC (rev 141830)
@@ -1,3 +1,33 @@
+2013-02-04 Anders Carlsson <[email protected]>
+
+ Send message when creating and destroying StorageAreaProxy objects
+ https://bugs.webkit.org/show_bug.cgi?id=108874
+
+ Reviewed by Sam Weinig.
+
+ * Shared/SecurityOriginData.cpp:
+ (WebKit::SecurityOriginData::fromSecurityOrigin):
+ * Shared/SecurityOriginData.h:
+ (SecurityOriginData):
+ Add helper function for creating a SecurityOriginData object given a WebCore::SecurityOrigin object.
+
+ * WebProcess/Storage/StorageAreaProxy.cpp:
+ (WebKit::generateStorageAreaID):
+ New function to create a unique storage area ID.
+
+ (WebKit::StorageAreaProxy::StorageAreaProxy):
+ Send a CreateStorageArea message.
+
+ (WebKit::StorageAreaProxy::~StorageAreaProxy):
+ Send a DestroyStorageArea message.
+
+ (WebKit::StorageAreaProxy::contains):
+ Remove this assertion for now, it fires too often.
+
+ * WebProcess/Storage/StorageNamespaceProxy.h:
+ (WebKit::StorageNamespaceProxy::storageNamespaceID):
+ Add getter.
+
2013-02-04 Kenneth Rohde Christiansen <[email protected]>
[EFL][WK2] Use C API inside EwkView
Modified: trunk/Source/WebKit2/Shared/SecurityOriginData.cpp (141829 => 141830)
--- trunk/Source/WebKit2/Shared/SecurityOriginData.cpp 2013-02-05 00:30:22 UTC (rev 141829)
+++ trunk/Source/WebKit2/Shared/SecurityOriginData.cpp 2013-02-05 00:34:00 UTC (rev 141830)
@@ -35,6 +35,17 @@
namespace WebKit {
+SecurityOriginData SecurityOriginData::fromSecurityOrigin(SecurityOrigin* securityOrigin)
+{
+ SecurityOriginData securityOriginData;
+
+ securityOriginData.protocol = securityOrigin->protocol();
+ securityOriginData.host = securityOrigin->host();
+ securityOriginData.port = securityOrigin->port();
+
+ return securityOriginData;
+}
+
void SecurityOriginData::encode(CoreIPC::ArgumentEncoder& encoder) const
{
encoder << protocol;
Modified: trunk/Source/WebKit2/Shared/SecurityOriginData.h (141829 => 141830)
--- trunk/Source/WebKit2/Shared/SecurityOriginData.h 2013-02-05 00:30:22 UTC (rev 141829)
+++ trunk/Source/WebKit2/Shared/SecurityOriginData.h 2013-02-05 00:34:00 UTC (rev 141830)
@@ -40,6 +40,8 @@
typedef GenericCallback<WKArrayRef> ArrayCallback;
struct SecurityOriginData {
+ static SecurityOriginData fromSecurityOrigin(WebCore::SecurityOrigin*);
+
void encode(CoreIPC::ArgumentEncoder&) const;
static bool decode(CoreIPC::ArgumentDecoder&, SecurityOriginData&);
Modified: trunk/Source/WebKit2/WebProcess/Storage/StorageAreaProxy.cpp (141829 => 141830)
--- trunk/Source/WebKit2/WebProcess/Storage/StorageAreaProxy.cpp 2013-02-05 00:30:22 UTC (rev 141829)
+++ trunk/Source/WebKit2/WebProcess/Storage/StorageAreaProxy.cpp 2013-02-05 00:34:00 UTC (rev 141830)
@@ -26,6 +26,10 @@
#include "config.h"
#include "StorageAreaProxy.h"
+#include "SecurityOriginData.h"
+#include "StorageManagerMessages.h"
+#include "StorageNamespaceProxy.h"
+#include "WebProcess.h"
#include <WebCore/Frame.h>
#include <WebCore/SecurityOrigin.h>
@@ -33,19 +37,26 @@
namespace WebKit {
+static uint64_t generateStorageAreaID()
+{
+ static uint64_t storageAreaID;
+ return ++storageAreaID;
+}
+
PassRefPtr<StorageAreaProxy> StorageAreaProxy::create(StorageNamespaceProxy* storageNamespaceProxy, PassRefPtr<SecurityOrigin> securityOrigin)
{
return adoptRef(new StorageAreaProxy(storageNamespaceProxy, securityOrigin));
}
-StorageAreaProxy::StorageAreaProxy(StorageNamespaceProxy*, PassRefPtr<SecurityOrigin>)
+StorageAreaProxy::StorageAreaProxy(StorageNamespaceProxy* storageNamespaceProxy, PassRefPtr<SecurityOrigin> securityOrigin)
+ : m_storageAreaID(generateStorageAreaID())
{
- // FIXME: Implement.
+ WebProcess::shared().connection()->send(Messages::StorageManager::CreateStorageArea(m_storageAreaID, storageNamespaceProxy->storageNamespaceID(), SecurityOriginData::fromSecurityOrigin(securityOrigin.get())), 0);
}
StorageAreaProxy::~StorageAreaProxy()
{
- // FIXME: Implement.
+ WebProcess::shared().connection()->send(Messages::StorageManager::DestroyStorageArea(m_storageAreaID), 0);
}
unsigned StorageAreaProxy::length(ExceptionCode&, Frame* sourceFrame) const
@@ -90,7 +101,6 @@
bool StorageAreaProxy::contains(const String& key, ExceptionCode&, Frame* sourceFrame) const
{
// FIXME: Implement this.
- ASSERT_NOT_REACHED();
return false;
}
Modified: trunk/Source/WebKit2/WebProcess/Storage/StorageAreaProxy.h (141829 => 141830)
--- trunk/Source/WebKit2/WebProcess/Storage/StorageAreaProxy.h 2013-02-05 00:30:22 UTC (rev 141829)
+++ trunk/Source/WebKit2/WebProcess/Storage/StorageAreaProxy.h 2013-02-05 00:34:00 UTC (rev 141830)
@@ -53,6 +53,8 @@
virtual void incrementAccessCount() OVERRIDE;
virtual void decrementAccessCount() OVERRIDE;
virtual void closeDatabaseIfIdle() OVERRIDE;
+
+ uint64_t m_storageAreaID;
};
} // namespace WebKit
Modified: trunk/Source/WebKit2/WebProcess/Storage/StorageNamespaceProxy.h (141829 => 141830)
--- trunk/Source/WebKit2/WebProcess/Storage/StorageNamespaceProxy.h 2013-02-05 00:30:22 UTC (rev 141829)
+++ trunk/Source/WebKit2/WebProcess/Storage/StorageNamespaceProxy.h 2013-02-05 00:34:00 UTC (rev 141830)
@@ -38,6 +38,8 @@
static PassRefPtr<StorageNamespaceProxy> createSessionStorageNamespace(WebPage*);
virtual ~StorageNamespaceProxy();
+ uint64_t storageNamespaceID() const { return m_storageNamespaceID; }
+
private:
explicit StorageNamespaceProxy(WebPage*);
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes