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 */,