Title: [177126] trunk/Source/WebCore
- Revision
- 177126
- Author
- ander...@apple.com
- Date
- 2014-12-10 18:35:06 -0800 (Wed, 10 Dec 2014)
Log Message
Add an empty storage namespace provider
https://bugs.webkit.org/show_bug.cgi?id=139520
Reviewed by Tim Horton.
* loader/EmptyClients.cpp:
(WebCore::fillWithEmptyClients):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (177125 => 177126)
--- trunk/Source/WebCore/ChangeLog 2014-12-11 02:33:57 UTC (rev 177125)
+++ trunk/Source/WebCore/ChangeLog 2014-12-11 02:35:06 UTC (rev 177126)
@@ -1,3 +1,13 @@
+2014-12-10 Anders Carlsson <ander...@apple.com>
+
+ Add an empty storage namespace provider
+ https://bugs.webkit.org/show_bug.cgi?id=139520
+
+ Reviewed by Tim Horton.
+
+ * loader/EmptyClients.cpp:
+ (WebCore::fillWithEmptyClients):
+
2014-12-10 Beth Dakin <bda...@apple.com>
Speculative build fix.
Modified: trunk/Source/WebCore/loader/EmptyClients.cpp (177125 => 177126)
--- trunk/Source/WebCore/loader/EmptyClients.cpp 2014-12-11 02:33:57 UTC (rev 177125)
+++ trunk/Source/WebCore/loader/EmptyClients.cpp 2014-12-11 02:35:06 UTC (rev 177126)
@@ -36,6 +36,9 @@
#include "FrameNetworkingContext.h"
#include "HTMLFormElement.h"
#include "PageConfiguration.h"
+#include "StorageArea.h"
+#include "StorageNamespace.h"
+#include "StorageNamespaceProvider.h"
#include <wtf/NeverDestroyed.h>
#if ENABLE(INPUT_TYPE_COLOR)
@@ -44,6 +47,46 @@
namespace WebCore {
+class EmptyStorageNamespaceProvider final : public StorageNamespaceProvider {
+ struct EmptyStorageArea : public StorageArea {
+ virtual unsigned length() override { return 0; }
+ virtual String key(unsigned) override { return String(); }
+ virtual String item(const String&) override { return String(); }
+ virtual void setItem(Frame*, const String&, const String&, bool&) override { }
+ virtual void removeItem(Frame*, const String&) override { }
+ virtual void clear(Frame*) override { }
+ virtual bool contains(const String&) override { return false; }
+ virtual bool canAccessStorage(Frame*) override { return false; }
+ virtual StorageType storageType() const override { return LocalStorage; }
+ virtual size_t memoryBytesUsedByCache() override { return 0; }
+ };
+
+ struct EmptyStorageNamespace final : public StorageNamespace {
+ virtual PassRefPtr<StorageArea> storageArea(PassRefPtr<SecurityOrigin>) override { return adoptRef(new EmptyStorageArea); }
+ virtual PassRefPtr<StorageNamespace> copy(Page*) override { return adoptRef(new EmptyStorageNamespace); }
+ virtual void close() override { }
+ virtual void clearOriginForDeletion(SecurityOrigin*) override { }
+ virtual void clearAllOriginsForDeletion() override { }
+ virtual void sync() override { }
+ virtual void closeIdleLocalStorageDatabases() override { }
+ };
+
+ virtual RefPtr<StorageNamespace> createSessionStorageNamespace(Page&, unsigned) override
+ {
+ return adoptRef(new EmptyStorageNamespace);
+ }
+
+ virtual RefPtr<StorageNamespace> createLocalStorageNamespace(unsigned) override
+ {
+ return adoptRef(new EmptyStorageNamespace);
+ }
+
+ virtual RefPtr<StorageNamespace> createTransientLocalStorageNamespace(SecurityOrigin&, unsigned) override
+ {
+ return adoptRef(new EmptyStorageNamespace);
+ }
+};
+
class EmptyVisitedLinkStore : public VisitedLinkStore {
virtual bool isLinkVisited(Page&, LinkHash, const URL&, const AtomicString&) override { return false; }
virtual void addVisitedLink(Page&, LinkHash) override { }
@@ -79,6 +122,7 @@
static NeverDestroyed<EmptyDiagnosticLoggingClient> dummyDiagnosticLoggingClient;
pageConfiguration.diagnosticLoggingClient = &dummyDiagnosticLoggingClient.get();
+ pageConfiguration.storageNamespaceProvider = adoptRef(new EmptyStorageNamespaceProvider);
pageConfiguration.visitedLinkStore = adoptRef(new EmptyVisitedLinkStore);
}
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes