Title: [185625] trunk/Source/WebKit2
Revision
185625
Author
ander...@apple.com
Date
2015-06-16 16:30:49 -0700 (Tue, 16 Jun 2015)

Log Message

Move LocalStorageDetails into the local storage database tracker
https://bugs.webkit.org/show_bug.cgi?id=146034

Reviewed by Andreas Kling.

* UIProcess/API/C/WKKeyValueStorageManager.cpp:
(WKKeyValueStorageManagerGetStorageDetailsByOrigin):
(WKKeyValueStorageManagerDeleteAllEntries):
* UIProcess/LocalStorageDetails.h: Removed.
* UIProcess/Storage/LocalStorageDatabaseTracker.cpp:
(WebKit::LocalStorageDatabaseTracker::originDetails):
(WebKit::LocalStorageDatabaseTracker::details): Deleted.
* UIProcess/Storage/LocalStorageDatabaseTracker.h:
* UIProcess/Storage/StorageManager.cpp:
(WebKit::StorageManager::getLocalStorageOriginDetails):
(WebKit::StorageManager::getLocalStorageDetailsByOrigin): Deleted.
(WebKit::StorageManager::deleteAllLocalStorageEntries): Deleted.
* UIProcess/Storage/StorageManager.h:
* WebKit2.xcodeproj/project.pbxproj:

Modified Paths

Removed Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (185624 => 185625)


--- trunk/Source/WebKit2/ChangeLog	2015-06-16 22:56:24 UTC (rev 185624)
+++ trunk/Source/WebKit2/ChangeLog	2015-06-16 23:30:49 UTC (rev 185625)
@@ -1,3 +1,25 @@
+2015-06-16  Anders Carlsson  <ander...@apple.com>
+
+        Move LocalStorageDetails into the local storage database tracker
+        https://bugs.webkit.org/show_bug.cgi?id=146034
+
+        Reviewed by Andreas Kling.
+
+        * UIProcess/API/C/WKKeyValueStorageManager.cpp:
+        (WKKeyValueStorageManagerGetStorageDetailsByOrigin):
+        (WKKeyValueStorageManagerDeleteAllEntries):
+        * UIProcess/LocalStorageDetails.h: Removed.
+        * UIProcess/Storage/LocalStorageDatabaseTracker.cpp:
+        (WebKit::LocalStorageDatabaseTracker::originDetails):
+        (WebKit::LocalStorageDatabaseTracker::details): Deleted.
+        * UIProcess/Storage/LocalStorageDatabaseTracker.h:
+        * UIProcess/Storage/StorageManager.cpp:
+        (WebKit::StorageManager::getLocalStorageOriginDetails):
+        (WebKit::StorageManager::getLocalStorageDetailsByOrigin): Deleted.
+        (WebKit::StorageManager::deleteAllLocalStorageEntries): Deleted.
+        * UIProcess/Storage/StorageManager.h:
+        * WebKit2.xcodeproj/project.pbxproj:
+
 2015-06-16  Dan Bernstein  <m...@apple.com>
 
         Removed the WebKit2SandboxProfiles target.

Modified: trunk/Source/WebKit2/UIProcess/API/C/WKKeyValueStorageManager.cpp (185624 => 185625)


--- trunk/Source/WebKit2/UIProcess/API/C/WKKeyValueStorageManager.cpp	2015-06-16 22:56:24 UTC (rev 185624)
+++ trunk/Source/WebKit2/UIProcess/API/C/WKKeyValueStorageManager.cpp	2015-06-16 23:30:49 UTC (rev 185625)
@@ -28,7 +28,6 @@
 
 #include "APIDictionary.h"
 #include "APIWebsiteDataStore.h"
-#include "LocalStorageDetails.h"
 #include "StorageManager.h"
 #include "WKAPICast.h"
 #include "WebsiteDataStore.h"
@@ -90,12 +89,12 @@
         return;
     }
 
-    storageManager->getLocalStorageDetailsByOrigin([context, callback](Vector<LocalStorageDetails> storageDetails) {
+    storageManager->getLocalStorageOriginDetails([context, callback](Vector<LocalStorageDatabaseTracker::OriginDetails> storageDetails) {
         HashMap<String, RefPtr<API::Object>> detailsMap;
         Vector<RefPtr<API::Object>> result;
         result.reserveInitialCapacity(storageDetails.size());
 
-        for (const LocalStorageDetails& originDetails : storageDetails) {
+        for (const auto& originDetails : storageDetails) {
             HashMap<String, RefPtr<API::Object>> detailsMap;
 
             RefPtr<API::Object> origin = API::SecurityOrigin::create(WebCore::SecurityOrigin::createFromDatabaseIdentifier(originDetails.originIdentifier));
@@ -128,5 +127,5 @@
     if (!storageManager)
         return;
 
-    storageManager->deleteAllLocalStorageEntries();
+    storageManager->deleteLocalStorageOriginsModifiedSince(std::chrono::system_clock::time_point::min(), [] { });
 }

Deleted: trunk/Source/WebKit2/UIProcess/LocalStorageDetails.h (185624 => 185625)


--- trunk/Source/WebKit2/UIProcess/LocalStorageDetails.h	2015-06-16 22:56:24 UTC (rev 185624)
+++ trunk/Source/WebKit2/UIProcess/LocalStorageDetails.h	2015-06-16 23:30:49 UTC (rev 185625)
@@ -1,42 +0,0 @@
-/*
- * Copyright (C) 2014 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 LocalStorageDetails_h
-#define LocalStorageDetails_h
-
-#include <wtf/Optional.h>
-#include <wtf/text/WTFString.h>
-
-namespace WebKit {
-
-struct LocalStorageDetails {
-    String originIdentifier;
-    Optional<time_t> creationTime;
-    Optional<time_t> modificationTime;
-};
-
-} // namespace WebKit
-
-#endif // LocalStorageDetails_h

Modified: trunk/Source/WebKit2/UIProcess/Storage/LocalStorageDatabaseTracker.cpp (185624 => 185625)


--- trunk/Source/WebKit2/UIProcess/Storage/LocalStorageDatabaseTracker.cpp	2015-06-16 22:56:24 UTC (rev 185624)
+++ trunk/Source/WebKit2/UIProcess/Storage/LocalStorageDatabaseTracker.cpp	2015-06-16 23:30:49 UTC (rev 185625)
@@ -26,7 +26,6 @@
 #include "config.h"
 #include "LocalStorageDatabaseTracker.h"
 
-#include "LocalStorageDetails.h"
 #include <WebCore/FileSystem.h>
 #include <WebCore/SQLiteStatement.h>
 #include <WebCore/SecurityOrigin.h>
@@ -178,15 +177,15 @@
     return origins;
 }
 
-Vector<LocalStorageDetails> LocalStorageDatabaseTracker::details()
+Vector<LocalStorageDatabaseTracker::OriginDetails> LocalStorageDatabaseTracker::originDetails()
 {
-    Vector<LocalStorageDetails> result;
+    Vector<OriginDetails> result;
     result.reserveInitialCapacity(m_origins.size());
 
     for (const String& origin : m_origins) {
         String filePath = pathForDatabaseWithOriginIdentifier(origin);
 
-        LocalStorageDetails details;
+        OriginDetails details;
         details.originIdentifier = origin.isolatedCopy();
         details.creationTime = fileCreationTime(filePath);
         details.modificationTime = fileModificationTime(filePath);

Modified: trunk/Source/WebKit2/UIProcess/Storage/LocalStorageDatabaseTracker.h (185624 => 185625)


--- trunk/Source/WebKit2/UIProcess/Storage/LocalStorageDatabaseTracker.h	2015-06-16 22:56:24 UTC (rev 185624)
+++ trunk/Source/WebKit2/UIProcess/Storage/LocalStorageDatabaseTracker.h	2015-06-16 23:30:49 UTC (rev 185625)
@@ -28,6 +28,7 @@
 
 #include <WebCore/SQLiteDatabase.h>
 #include <wtf/HashSet.h>
+#include <wtf/Optional.h>
 #include <wtf/PassRefPtr.h>
 #include <wtf/RefPtr.h>
 #include <wtf/ThreadSafeRefCounted.h>
@@ -58,8 +59,14 @@
     Vector<Ref<WebCore::SecurityOrigin>> deleteDatabasesModifiedSince(std::chrono::system_clock::time_point);
 
     Vector<Ref<WebCore::SecurityOrigin>> origins() const;
-    Vector<LocalStorageDetails> details();
 
+    struct OriginDetails {
+        String originIdentifier;
+        Optional<time_t> creationTime;
+        Optional<time_t> modificationTime;
+    };
+    Vector<OriginDetails> originDetails();
+
 private:
     LocalStorageDatabaseTracker(PassRefPtr<WorkQueue>, const String& localStorageDirectory);
 

Modified: trunk/Source/WebKit2/UIProcess/Storage/StorageManager.cpp (185624 => 185625)


--- trunk/Source/WebKit2/UIProcess/Storage/StorageManager.cpp	2015-06-16 22:56:24 UTC (rev 185624)
+++ trunk/Source/WebKit2/UIProcess/Storage/StorageManager.cpp	2015-06-16 23:30:49 UTC (rev 185625)
@@ -28,7 +28,6 @@
 
 #include "LocalStorageDatabase.h"
 #include "LocalStorageDatabaseTracker.h"
-#include "LocalStorageDetails.h"
 #include "SecurityOriginData.h"
 #include "StorageAreaMapMessages.h"
 #include "StorageManagerMessages.h"
@@ -624,15 +623,15 @@
     });
 }
 
-void StorageManager::getLocalStorageDetailsByOrigin(std::function<void (Vector<LocalStorageDetails>)> completionHandler)
+void StorageManager::getLocalStorageOriginDetails(std::function<void (Vector<LocalStorageDatabaseTracker::OriginDetails>)> completionHandler)
 {
     RefPtr<StorageManager> storageManager(this);
 
     m_queue->dispatch([storageManager, completionHandler] {
-        auto storageDetails = storageManager->m_localStorageDatabaseTracker->details();
+        auto originDetails = storageManager->m_localStorageDatabaseTracker->originDetails();
 
-        RunLoop::main().dispatch([storageDetails, completionHandler]() mutable {
-            completionHandler(WTF::move(storageDetails));
+        RunLoop::main().dispatch([originDetails, completionHandler]() mutable {
+            completionHandler(WTF::move(originDetails));
         });
     });
 }
@@ -653,21 +652,6 @@
     });
 }
 
-void StorageManager::deleteAllLocalStorageEntries()
-{
-    RefPtr<StorageManager> storageManager(this);
-
-    m_queue->dispatch([storageManager] {
-        for (auto& localStorageNamespace : storageManager->m_localStorageNamespaces.values())
-            localStorageNamespace->clearAllStorageAreas();
-
-        for (auto& transientLocalStorageNamespace : storageManager->m_transientLocalStorageNamespaces.values())
-            transientLocalStorageNamespace->clearAllStorageAreas();
-
-        storageManager->m_localStorageDatabaseTracker->deleteAllDatabases();
-    });
-}
-
 void StorageManager::deleteLocalStorageOriginsModifiedSince(std::chrono::system_clock::time_point time, std::function<void ()> completionHandler)
 {
     RefPtr<StorageManager> storageManager(this);

Modified: trunk/Source/WebKit2/UIProcess/Storage/StorageManager.h (185624 => 185625)


--- trunk/Source/WebKit2/UIProcess/Storage/StorageManager.h	2015-06-16 22:56:24 UTC (rev 185624)
+++ trunk/Source/WebKit2/UIProcess/Storage/StorageManager.h	2015-06-16 23:30:49 UTC (rev 185625)
@@ -27,6 +27,7 @@
 #define StorageManager_h
 
 #include "Connection.h"
+#include "LocalStorageDatabaseTracker.h"
 #include <WebCore/SecurityOriginHash.h>
 #include <chrono>
 #include <wtf/Forward.h>
@@ -40,7 +41,6 @@
 
 namespace WebKit {
 
-struct LocalStorageDetails;
 struct SecurityOriginData;
 class LocalStorageDatabaseTracker;
 class WebProcessProxy;
@@ -64,13 +64,13 @@
     void deleteSessionStorageEntriesForOrigins(const Vector<RefPtr<WebCore::SecurityOrigin>>&, std::function<void ()> completionHandler);
 
     void getLocalStorageOrigins(std::function<void (HashSet<RefPtr<WebCore::SecurityOrigin>>&&)> completionHandler);
-    void getLocalStorageDetailsByOrigin(std::function<void (Vector<LocalStorageDetails>)> completionHandler);
     void deleteLocalStorageEntriesForOrigin(const WebCore::SecurityOrigin&);
-    void deleteAllLocalStorageEntries();
 
     void deleteLocalStorageOriginsModifiedSince(std::chrono::system_clock::time_point, std::function<void ()> completionHandler);
     void deleteLocalStorageEntriesForOrigins(const Vector<RefPtr<WebCore::SecurityOrigin>>&, std::function<void ()> completionHandler);
 
+    void getLocalStorageOriginDetails(std::function<void (Vector<LocalStorageDatabaseTracker::OriginDetails>)> completionHandler);
+
 private:
     explicit StorageManager(const String& localStorageDirectory);
 

Modified: trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj (185624 => 185625)


--- trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj	2015-06-16 22:56:24 UTC (rev 185624)
+++ trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj	2015-06-16 23:30:49 UTC (rev 185625)
@@ -1703,7 +1703,6 @@
 		E115C716190F8A2500ECC516 /* com.apple.WebKit.Databases.sb in Resources */ = {isa = PBXBuildFile; fileRef = E115C715190F8A2500ECC516 /* com.apple.WebKit.Databases.sb */; };
 		E11D35AE16B63D1B006D23D7 /* com.apple.WebProcess.sb in Resources */ = {isa = PBXBuildFile; fileRef = E1967E37150AB5E200C73169 /* com.apple.WebProcess.sb */; };
 		E133FD8A1423DD7F00FC7BFB /* WebKit.icns in Resources */ = {isa = PBXBuildFile; fileRef = E133FD891423DD7F00FC7BFB /* WebKit.icns */; };
-		E13833EC189C33C8001E2350 /* LocalStorageDetails.h in Headers */ = {isa = PBXBuildFile; fileRef = E13833EB189C33C8001E2350 /* LocalStorageDetails.h */; };
 		E14A954916E016A40068DE82 /* NetworkProcessPlatformStrategies.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E14A954716E016A40068DE82 /* NetworkProcessPlatformStrategies.cpp */; };
 		E14A954A16E016A40068DE82 /* NetworkProcessPlatformStrategies.h in Headers */ = {isa = PBXBuildFile; fileRef = E14A954816E016A40068DE82 /* NetworkProcessPlatformStrategies.h */; };
 		E1513C66166EABB200149FCB /* ChildProcessProxy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E1513C64166EABB200149FCB /* ChildProcessProxy.cpp */; };
@@ -3937,7 +3936,6 @@
 		E105FE5318D7B9DE008F57A8 /* EditingRange.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EditingRange.h; sourceTree = "<group>"; };
 		E115C715190F8A2500ECC516 /* com.apple.WebKit.Databases.sb */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = com.apple.WebKit.Databases.sb; sourceTree = "<group>"; };
 		E133FD891423DD7F00FC7BFB /* WebKit.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; name = WebKit.icns; path = Resources/WebKit.icns; sourceTree = "<group>"; };
-		E13833EB189C33C8001E2350 /* LocalStorageDetails.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LocalStorageDetails.h; sourceTree = "<group>"; };
 		E14A954716E016A40068DE82 /* NetworkProcessPlatformStrategies.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = NetworkProcessPlatformStrategies.cpp; path = NetworkProcess/NetworkProcessPlatformStrategies.cpp; sourceTree = "<group>"; };
 		E14A954816E016A40068DE82 /* NetworkProcessPlatformStrategies.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = NetworkProcessPlatformStrategies.h; path = NetworkProcess/NetworkProcessPlatformStrategies.h; sourceTree = "<group>"; };
 		E1513C64166EABB200149FCB /* ChildProcessProxy.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ChildProcessProxy.cpp; sourceTree = "<group>"; };
@@ -6078,7 +6076,6 @@
 				BC06F43912DBCCFB002D78DE /* GeolocationPermissionRequestProxy.cpp */,
 				BC06F43812DBCCFB002D78DE /* GeolocationPermissionRequestProxy.h */,
 				31607F3819627002009B87DA /* LegacySessionStateCoding.h */,
-				E13833EB189C33C8001E2350 /* LocalStorageDetails.h */,
 				BC6EDAA5111271C600E7678B /* PageClient.h */,
 				1AC75379183A9FDA0072CB15 /* PageLoadState.cpp */,
 				1AC7537A183A9FDB0072CB15 /* PageLoadState.h */,
@@ -7684,7 +7681,6 @@
 				1A1DC340196346D700FF7059 /* LegacySessionStateCoding.h in Headers */,
 				1A1D8BA21731A36300141DA4 /* LocalStorageDatabase.h in Headers */,
 				1A8C728D1738477C000A6554 /* LocalStorageDatabaseTracker.h in Headers */,
-				E13833EC189C33C8001E2350 /* LocalStorageDetails.h in Headers */,
 				51A7F2F3125BF820008AEB1D /* Logging.h in Headers */,
 				BCC56F791159957D001CCAF9 /* MachPort.h in Headers */,
 				1A24B5F311F531E800C38269 /* MachUtilities.h in Headers */,
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to