Move InProcessIDBServer to WebKitLegacy
https://bugs.webkit.org/show_bug.cgi?id=204896
Reviewed by Brady Eidson.
Source/WebCore:
We only use InProcessIDBServer in WebKitLegacy now.
No behavior change.
* Headers.cmake:
* Modules/indexeddb/server/IDBServer.h:
* Modules/indexeddb/shared/IDBRequestData.h:
* Modules/indexeddb/shared/IDBTransactionInfo.h:
* Modules/indexeddb/shared/InProcessIDBServer.h: Removed.
* Modules/mediastream/MediaStreamTrack.cpp:
* Modules/pictureinpicture/HTMLVideoElementPictureInPicture.cpp:
* Sources.txt:
* WebCore.xcodeproj/project.pbxproj:
* loader/EmptyClients.cpp:
* page/Page.cpp:
Source/WebKit:
* WebProcess/Databases/WebDatabaseProvider.h:
Source/WebKitLegacy:
* CMakeLists.txt:
* Storage/InProcessIDBServer.cpp: Renamed from Source/WebCore/Modules/indexeddb/shared/InProcessIDBServer.cpp.
(InProcessIDBServer::create):
(InProcessIDBServer::quotaManager):
(storageQuotaManagerSpaceRequester):
(InProcessIDBServer::InProcessIDBServer):
(InProcessIDBServer::identifier const):
(InProcessIDBServer::connectionToServer const):
(InProcessIDBServer::connectionToClient const):
(InProcessIDBServer::deleteDatabase):
(InProcessIDBServer::didDeleteDatabase):
(InProcessIDBServer::openDatabase):
(InProcessIDBServer::didOpenDatabase):
(InProcessIDBServer::didAbortTransaction):
(InProcessIDBServer::didCommitTransaction):
(InProcessIDBServer::didCreateObjectStore):
(InProcessIDBServer::didDeleteObjectStore):
(InProcessIDBServer::didRenameObjectStore):
(InProcessIDBServer::didClearObjectStore):
(InProcessIDBServer::didCreateIndex):
(InProcessIDBServer::didDeleteIndex):
(InProcessIDBServer::didRenameIndex):
(InProcessIDBServer::didPutOrAdd):
(InProcessIDBServer::didGetRecord):
(InProcessIDBServer::didGetAllRecords):
(InProcessIDBServer::didGetCount):
(InProcessIDBServer::didDeleteRecord):
(InProcessIDBServer::didOpenCursor):
(InProcessIDBServer::didIterateCursor):
(InProcessIDBServer::abortTransaction):
(InProcessIDBServer::commitTransaction):
(InProcessIDBServer::didFinishHandlingVersionChangeTransaction):
(InProcessIDBServer::createObjectStore):
(InProcessIDBServer::deleteObjectStore):
(InProcessIDBServer::renameObjectStore):
(InProcessIDBServer::clearObjectStore):
(InProcessIDBServer::createIndex):
(InProcessIDBServer::deleteIndex):
(InProcessIDBServer::renameIndex):
(InProcessIDBServer::putOrAdd):
(InProcessIDBServer::getRecord):
(InProcessIDBServer::getAllRecords):
(InProcessIDBServer::getCount):
(InProcessIDBServer::deleteRecord):
(InProcessIDBServer::openCursor):
(InProcessIDBServer::iterateCursor):
(InProcessIDBServer::establishTransaction):
(InProcessIDBServer::fireVersionChangeEvent):
(InProcessIDBServer::didStartTransaction):
(InProcessIDBServer::didCloseFromServer):
(InProcessIDBServer::notifyOpenDBRequestBlocked):
(InProcessIDBServer::databaseConnectionPendingClose):
(InProcessIDBServer::databaseConnectionClosed):
(InProcessIDBServer::abortOpenAndUpgradeNeeded):
(InProcessIDBServer::didFireVersionChangeEvent):
(InProcessIDBServer::openDBRequestCancelled):
(InProcessIDBServer::confirmDidCloseFromServer):
(InProcessIDBServer::getAllDatabaseNames):
(InProcessIDBServer::didGetAllDatabaseNames):
* Storage/InProcessIDBServer.h: Added.
* Storage/WebDatabaseProvider.cpp:
(WebDatabaseProvider::idbConnectionToServerForSession):
(WebDatabaseProvider::deleteAllDatabases):
* Storage/WebDatabaseProvider.h:
* WebKitLegacy.xcodeproj/project.pbxproj:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@253178 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog
index 24257d7..8ac26df 100644
--- a/Source/WebCore/ChangeLog
+++ b/Source/WebCore/ChangeLog
@@ -1,5 +1,28 @@
2019-12-05 Sihui Liu <sihui_liu@apple.com>
+ Move InProcessIDBServer to WebKitLegacy
+ https://bugs.webkit.org/show_bug.cgi?id=204896
+
+ Reviewed by Brady Eidson.
+
+ We only use InProcessIDBServer in WebKitLegacy now.
+
+ No behavior change.
+
+ * Headers.cmake:
+ * Modules/indexeddb/server/IDBServer.h:
+ * Modules/indexeddb/shared/IDBRequestData.h:
+ * Modules/indexeddb/shared/IDBTransactionInfo.h:
+ * Modules/indexeddb/shared/InProcessIDBServer.h: Removed.
+ * Modules/mediastream/MediaStreamTrack.cpp:
+ * Modules/pictureinpicture/HTMLVideoElementPictureInPicture.cpp:
+ * Sources.txt:
+ * WebCore.xcodeproj/project.pbxproj:
+ * loader/EmptyClients.cpp:
+ * page/Page.cpp:
+
+2019-12-05 Sihui Liu <sihui_liu@apple.com>
+
Rename IDBDatabaseIdentifier::debugString to IDBDatabaseIdentifier::loggingString
https://bugs.webkit.org/show_bug.cgi?id=204898
diff --git a/Source/WebCore/Headers.cmake b/Source/WebCore/Headers.cmake
index 882946b..137fc78f 100644
--- a/Source/WebCore/Headers.cmake
+++ b/Source/WebCore/Headers.cmake
@@ -79,7 +79,6 @@
Modules/indexeddb/shared/IDBResourceIdentifier.h
Modules/indexeddb/shared/IDBResultData.h
Modules/indexeddb/shared/IDBTransactionInfo.h
- Modules/indexeddb/shared/InProcessIDBServer.h
Modules/mediasession/MediaSessionEvents.h
Modules/mediasession/MediaSessionMetadata.h
diff --git a/Source/WebCore/Modules/indexeddb/server/IDBServer.h b/Source/WebCore/Modules/indexeddb/server/IDBServer.h
index fc1604f..88746ee 100644
--- a/Source/WebCore/Modules/indexeddb/server/IDBServer.h
+++ b/Source/WebCore/Modules/indexeddb/server/IDBServer.h
@@ -58,7 +58,7 @@
class IDBServer : public RefCounted<IDBServer>, public CrossThreadTaskHandler, public CanMakeWeakPtr<IDBServer> {
public:
using StorageQuotaManagerSpaceRequester = Function<StorageQuotaManager::Decision(const ClientOrigin&, uint64_t spaceRequested)>;
- static Ref<IDBServer> create(PAL::SessionID, StorageQuotaManagerSpaceRequester&&);
+ WEBCORE_EXPORT static Ref<IDBServer> create(PAL::SessionID, StorageQuotaManagerSpaceRequester&&);
WEBCORE_EXPORT static Ref<IDBServer> create(PAL::SessionID, const String& databaseDirectoryPath, StorageQuotaManagerSpaceRequester&&);
WEBCORE_EXPORT void registerConnection(IDBConnectionToClient&);
diff --git a/Source/WebCore/Modules/indexeddb/shared/IDBRequestData.h b/Source/WebCore/Modules/indexeddb/shared/IDBRequestData.h
index 53b7b62..a4c85f6 100644
--- a/Source/WebCore/Modules/indexeddb/shared/IDBRequestData.h
+++ b/Source/WebCore/Modules/indexeddb/shared/IDBRequestData.h
@@ -49,7 +49,7 @@
public:
IDBRequestData(const IDBClient::IDBConnectionProxy&, const IDBOpenDBRequest&);
explicit IDBRequestData(IDBClient::TransactionOperation&);
- IDBRequestData(const IDBRequestData&);
+ WEBCORE_EXPORT IDBRequestData(const IDBRequestData&);
IDBRequestData(IDBRequestData&&) = default;
IDBRequestData& operator=(IDBRequestData&&) = default;
diff --git a/Source/WebCore/Modules/indexeddb/shared/IDBTransactionInfo.h b/Source/WebCore/Modules/indexeddb/shared/IDBTransactionInfo.h
index 7b9477e..b8b48a9 100644
--- a/Source/WebCore/Modules/indexeddb/shared/IDBTransactionInfo.h
+++ b/Source/WebCore/Modules/indexeddb/shared/IDBTransactionInfo.h
@@ -49,7 +49,7 @@
static IDBTransactionInfo clientTransaction(const IDBClient::IDBConnectionProxy&, const Vector<String>& objectStores, IDBTransactionMode);
static IDBTransactionInfo versionChange(const IDBServer::IDBConnectionToClient&, const IDBDatabaseInfo& originalDatabaseInfo, uint64_t newVersion);
- IDBTransactionInfo(const IDBTransactionInfo&);
+ WEBCORE_EXPORT IDBTransactionInfo(const IDBTransactionInfo&);
IDBTransactionInfo(IDBTransactionInfo&&) = default;
IDBTransactionInfo& operator=(IDBTransactionInfo&&) = default;
diff --git a/Source/WebCore/Modules/indexeddb/shared/InProcessIDBServer.h b/Source/WebCore/Modules/indexeddb/shared/InProcessIDBServer.h
deleted file mode 100644
index 8e736a7..0000000
--- a/Source/WebCore/Modules/indexeddb/shared/InProcessIDBServer.h
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
- * Copyright (C) 2015 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.
- */
-
-#pragma once
-
-#if ENABLE(INDEXED_DATABASE)
-
-#include "IDBConnectionToClient.h"
-#include "IDBConnectionToServer.h"
-#include "IDBServer.h"
-#include "StorageQuotaManager.h"
-#include <wtf/RefCounted.h>
-#include <wtf/RefPtr.h>
-#include <wtf/WeakPtr.h>
-
-namespace PAL {
-class SessionID;
-}
-
-namespace WebCore {
-
-struct ClientOrigin;
-
-namespace IDBClient {
-class IDBConnectionToServer;
-}
-
-namespace IDBServer {
-class IDBServer;
-}
-
-class InProcessIDBServer final : public IDBClient::IDBConnectionToServerDelegate, public IDBServer::IDBConnectionToClientDelegate, public RefCounted<InProcessIDBServer> {
-public:
- using IDBClient::IDBConnectionToServerDelegate::weakPtrFactory;
- using WeakValueType = IDBClient::IDBConnectionToServerDelegate::WeakValueType;
-
- WEBCORE_EXPORT static Ref<InProcessIDBServer> create(PAL::SessionID);
- WEBCORE_EXPORT static Ref<InProcessIDBServer> create(PAL::SessionID, const String& databaseDirectoryPath);
-
- WEBCORE_EXPORT virtual ~InProcessIDBServer();
-
- WEBCORE_EXPORT IDBClient::IDBConnectionToServer& connectionToServer() const;
- IDBServer::IDBConnectionToClient& connectionToClient() const;
- IDBServer::IDBServer& server() { return m_server.get(); }
- IDBServer::IDBServer& idbServer() { return m_server.get(); }
-
- // IDBConnectionToServer
- void deleteDatabase(const IDBRequestData&) final;
- void openDatabase(const IDBRequestData&) final;
- void abortTransaction(const IDBResourceIdentifier&) final;
- void commitTransaction(const IDBResourceIdentifier&) final;
- void didFinishHandlingVersionChangeTransaction(uint64_t databaseConnectionIdentifier, const IDBResourceIdentifier&) final;
- void createObjectStore(const IDBRequestData&, const IDBObjectStoreInfo&) final;
- void deleteObjectStore(const IDBRequestData&, const String& objectStoreName) final;
- void renameObjectStore(const IDBRequestData&, uint64_t objectStoreIdentifier, const String& newName) final;
- void clearObjectStore(const IDBRequestData&, uint64_t objectStoreIdentifier) final;
- void createIndex(const IDBRequestData&, const IDBIndexInfo&) final;
- void deleteIndex(const IDBRequestData&, uint64_t objectStoreIdentifier, const String& indexName) final;
- void renameIndex(const IDBRequestData&, uint64_t objectStoreIdentifier, uint64_t indexIdentifier, const String& newName) final;
- void putOrAdd(const IDBRequestData&, const IDBKeyData&, const IDBValue&, const IndexedDB::ObjectStoreOverwriteMode) final;
- void getRecord(const IDBRequestData&, const IDBGetRecordData&) final;
- void getAllRecords(const IDBRequestData&, const IDBGetAllRecordsData&) final;
- void getCount(const IDBRequestData&, const IDBKeyRangeData&) final;
- void deleteRecord(const IDBRequestData&, const IDBKeyRangeData&) final;
- void openCursor(const IDBRequestData&, const IDBCursorInfo&) final;
- void iterateCursor(const IDBRequestData&, const IDBIterateCursorData&) final;
- void establishTransaction(uint64_t databaseConnectionIdentifier, const IDBTransactionInfo&) final;
- void databaseConnectionPendingClose(uint64_t databaseConnectionIdentifier) final;
- void databaseConnectionClosed(uint64_t databaseConnectionIdentifier) final;
- void abortOpenAndUpgradeNeeded(uint64_t databaseConnectionIdentifier, const IDBResourceIdentifier& transactionIdentifier) final;
- void didFireVersionChangeEvent(uint64_t databaseConnectionIdentifier, const IDBResourceIdentifier& requestIdentifier, const IndexedDB::ConnectionClosedOnBehalfOfServer = IndexedDB::ConnectionClosedOnBehalfOfServer::No) final;
- void openDBRequestCancelled(const IDBRequestData&) final;
- void confirmDidCloseFromServer(uint64_t databaseConnectionIdentifier) final;
- void getAllDatabaseNames(const SecurityOriginData& mainFrameOrigin, const SecurityOriginData& openingOrigin, uint64_t callbackID) final;
-
- // IDBConnectionToClient
- IDBConnectionIdentifier identifier() const final;
- void didDeleteDatabase(const IDBResultData&) final;
- void didOpenDatabase(const IDBResultData&) final;
- void didAbortTransaction(const IDBResourceIdentifier& transactionIdentifier, const IDBError&) final;
- void didCommitTransaction(const IDBResourceIdentifier& transactionIdentifier, const IDBError&) final;
- void didCreateObjectStore(const IDBResultData&) final;
- void didDeleteObjectStore(const IDBResultData&) final;
- void didRenameObjectStore(const IDBResultData&) final;
- void didClearObjectStore(const IDBResultData&) final;
- void didCreateIndex(const IDBResultData&) final;
- void didDeleteIndex(const IDBResultData&) final;
- void didRenameIndex(const IDBResultData&) final;
- void didPutOrAdd(const IDBResultData&) final;
- void didGetRecord(const IDBResultData&) final;
- void didGetAllRecords(const IDBResultData&) final;
- void didGetCount(const IDBResultData&) final;
- void didDeleteRecord(const IDBResultData&) final;
- void didOpenCursor(const IDBResultData&) final;
- void didIterateCursor(const IDBResultData&) final;
- void fireVersionChangeEvent(IDBServer::UniqueIDBDatabaseConnection&, const IDBResourceIdentifier& requestIdentifier, uint64_t requestedVersion) final;
- void didStartTransaction(const IDBResourceIdentifier& transactionIdentifier, const IDBError&) final;
- void didCloseFromServer(IDBServer::UniqueIDBDatabaseConnection&, const IDBError&) final;
- void notifyOpenDBRequestBlocked(const IDBResourceIdentifier& requestIdentifier, uint64_t oldVersion, uint64_t newVersion) final;
- void didGetAllDatabaseNames(uint64_t callbackID, const Vector<String>& databaseNames) final;
-
- void ref() override { RefCounted<InProcessIDBServer>::ref(); }
- void deref() override { RefCounted<InProcessIDBServer>::deref(); }
-
- StorageQuotaManager* quotaManager(const ClientOrigin&);
-
-private:
- explicit InProcessIDBServer(PAL::SessionID);
- InProcessIDBServer(PAL::SessionID, const String& databaseDirectoryPath);
-
- Ref<IDBServer::IDBServer> m_server;
- RefPtr<IDBClient::IDBConnectionToServer> m_connectionToServer;
- RefPtr<IDBServer::IDBConnectionToClient> m_connectionToClient;
-
- HashMap<ClientOrigin, RefPtr<StorageQuotaManager>> m_quotaManagers;
-};
-
-} // namespace WebCore
-
-#endif // ENABLE(INDEXED_DATABASE)
diff --git a/Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp b/Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp
index 8ae3d15..2dd6cc3 100644
--- a/Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp
+++ b/Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp
@@ -33,12 +33,15 @@
#include "Document.h"
#include "Event.h"
#include "EventNames.h"
+#include "Frame.h"
+#include "FrameLoader.h"
#include "JSDOMPromiseDeferred.h"
#include "JSOverconstrainedError.h"
#include "Logging.h"
#include "MediaConstraints.h"
#include "MediaStream.h"
#include "MediaStreamPrivate.h"
+#include "NetworkingContext.h"
#include "NotImplemented.h"
#include "OverconstrainedError.h"
#include "Page.h"
diff --git a/Source/WebCore/Modules/pictureinpicture/HTMLVideoElementPictureInPicture.cpp b/Source/WebCore/Modules/pictureinpicture/HTMLVideoElementPictureInPicture.cpp
index 02b73fb..6fd8d25 100644
--- a/Source/WebCore/Modules/pictureinpicture/HTMLVideoElementPictureInPicture.cpp
+++ b/Source/WebCore/Modules/pictureinpicture/HTMLVideoElementPictureInPicture.cpp
@@ -29,6 +29,7 @@
#if ENABLE(PICTURE_IN_PICTURE_API)
+#include "EventNames.h"
#include "HTMLVideoElement.h"
#include "JSDOMPromiseDeferred.h"
#include "JSPictureInPictureWindow.h"
diff --git a/Source/WebCore/Sources.txt b/Source/WebCore/Sources.txt
index cdd31a8..246c7ad 100644
--- a/Source/WebCore/Sources.txt
+++ b/Source/WebCore/Sources.txt
@@ -142,7 +142,6 @@
Modules/indexeddb/shared/IDBResourceIdentifier.cpp
Modules/indexeddb/shared/IDBResultData.cpp
Modules/indexeddb/shared/IDBTransactionInfo.cpp
-Modules/indexeddb/shared/InProcessIDBServer.cpp
Modules/indexeddb/shared/IndexKey.cpp
Modules/mediacapabilities/MediaCapabilities.cpp
diff --git a/Source/WebCore/WebCore.xcodeproj/project.pbxproj b/Source/WebCore/WebCore.xcodeproj/project.pbxproj
index 2b2eb0d..2b61f35 100644
--- a/Source/WebCore/WebCore.xcodeproj/project.pbxproj
+++ b/Source/WebCore/WebCore.xcodeproj/project.pbxproj
@@ -1390,7 +1390,6 @@
51058AE21D67C229009A538C /* MockGamepadProvider.h in Headers */ = {isa = PBXBuildFile; fileRef = 51058ADA1D679257009A538C /* MockGamepadProvider.h */; settings = {ATTRIBUTES = (Private, ); }; };
5105F0691D4BA9D900FB80BC /* IDBGetRecordData.h in Headers */ = {isa = PBXBuildFile; fileRef = 5105F0681D4BA54100FB80BC /* IDBGetRecordData.h */; settings = {ATTRIBUTES = (Private, ); }; };
5106D7BE18BDB76F000AB166 /* ContextMenuContext.h in Headers */ = {isa = PBXBuildFile; fileRef = 5106D7BC18BDB76F000AB166 /* ContextMenuContext.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 510A58E51BAA40B100C19282 /* InProcessIDBServer.h in Headers */ = {isa = PBXBuildFile; fileRef = 510A58E31BAA40AE00C19282 /* InProcessIDBServer.h */; settings = {ATTRIBUTES = (Private, ); }; };
510A58FA1BACC7F200C19282 /* IDBRequestData.h in Headers */ = {isa = PBXBuildFile; fileRef = 510A58F61BACC4A500C19282 /* IDBRequestData.h */; settings = {ATTRIBUTES = (Private, ); }; };
510D4A34103165EE0049EA54 /* SocketStreamError.h in Headers */ = {isa = PBXBuildFile; fileRef = 510D4A2E103165EE0049EA54 /* SocketStreamError.h */; settings = {ATTRIBUTES = (Private, ); }; };
510D4A37103165EE0049EA54 /* SocketStreamHandle.h in Headers */ = {isa = PBXBuildFile; fileRef = 510D4A31103165EE0049EA54 /* SocketStreamHandle.h */; settings = {ATTRIBUTES = (Private, ); }; };
@@ -8051,8 +8050,6 @@
5105F06A1D4BB0BC00FB80BC /* IDBGetRecordData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IDBGetRecordData.cpp; sourceTree = "<group>"; };
5106D7BB18BDB76F000AB166 /* ContextMenuContext.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ContextMenuContext.cpp; sourceTree = "<group>"; };
5106D7BC18BDB76F000AB166 /* ContextMenuContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ContextMenuContext.h; sourceTree = "<group>"; };
- 510A58E21BAA40AE00C19282 /* InProcessIDBServer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InProcessIDBServer.cpp; sourceTree = "<group>"; };
- 510A58E31BAA40AE00C19282 /* InProcessIDBServer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InProcessIDBServer.h; sourceTree = "<group>"; };
510A58EF1BAB720F00C19282 /* IDBServer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IDBServer.cpp; sourceTree = "<group>"; };
510A58F01BAB720F00C19282 /* IDBServer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDBServer.h; sourceTree = "<group>"; };
510A58F51BACC4A500C19282 /* IDBRequestData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IDBRequestData.cpp; sourceTree = "<group>"; };
@@ -18937,8 +18934,6 @@
5198F7AB1BBDD3E300E2CC5F /* IDBTransactionInfo.h */,
517138ED1BED1D17000D5F01 /* IndexKey.cpp */,
517138EE1BED1D17000D5F01 /* IndexKey.h */,
- 510A58E21BAA40AE00C19282 /* InProcessIDBServer.cpp */,
- 510A58E31BAA40AE00C19282 /* InProcessIDBServer.h */,
);
path = shared;
sourceTree = "<group>";
@@ -30249,7 +30244,6 @@
BCEA485A097D93020094C9E4 /* InlineTextBox.h in Headers */,
1C010701192594DF008A4201 /* InlineTextBoxStyle.h in Headers */,
6F1CC1DE225F8B4900720AD2 /* InlineTextItem.h in Headers */,
- 510A58E51BAA40B100C19282 /* InProcessIDBServer.h in Headers */,
2EB767571DA19BDF003E23B5 /* InputEvent.h in Headers */,
E52EFDF42112875A00AD282A /* InputMode.h in Headers */,
37E3524D12450C6600BAF5D9 /* InputType.h in Headers */,
diff --git a/Source/WebCore/loader/EmptyClients.cpp b/Source/WebCore/loader/EmptyClients.cpp
index 600ef7b..779e914 100644
--- a/Source/WebCore/loader/EmptyClients.cpp
+++ b/Source/WebCore/loader/EmptyClients.cpp
@@ -50,7 +50,7 @@
#include "FrameNetworkingContext.h"
#include "HTMLFormElement.h"
#include "HistoryItem.h"
-#include "InProcessIDBServer.h"
+#include "IDBConnectionToServer.h"
#include "InspectorClient.h"
#include "LibWebRTCProvider.h"
#include "NetworkStorageSession.h"
@@ -123,10 +123,46 @@
class EmptyDatabaseProvider final : public DatabaseProvider {
#if ENABLE(INDEXED_DATABASE)
- IDBClient::IDBConnectionToServer& idbConnectionToServerForSession(const PAL::SessionID& sessionID) final
+ struct EmptyIDBConnectionToServerDeletegate final : public IDBClient::IDBConnectionToServerDelegate {
+ IDBConnectionIdentifier identifier() const final { return { }; }
+ void deleteDatabase(const IDBRequestData&) final { }
+ void openDatabase(const IDBRequestData&) final { }
+ void abortTransaction(const IDBResourceIdentifier&) final { }
+ void commitTransaction(const IDBResourceIdentifier&) final { }
+ void didFinishHandlingVersionChangeTransaction(uint64_t, const IDBResourceIdentifier&) final { }
+ void createObjectStore(const IDBRequestData&, const IDBObjectStoreInfo&) final { }
+ void deleteObjectStore(const IDBRequestData&, const String&) final { }
+ void renameObjectStore(const IDBRequestData&, uint64_t, const String&) final { }
+ void clearObjectStore(const IDBRequestData&, uint64_t) final { }
+ void createIndex(const IDBRequestData&, const IDBIndexInfo&) final { }
+ void deleteIndex(const IDBRequestData&, uint64_t, const String&) final { }
+ void renameIndex(const IDBRequestData&, uint64_t, uint64_t, const String&) final { }
+ void putOrAdd(const IDBRequestData&, const IDBKeyData&, const IDBValue&, const IndexedDB::ObjectStoreOverwriteMode) final { }
+ void getRecord(const IDBRequestData&, const IDBGetRecordData&) final { }
+ void getAllRecords(const IDBRequestData&, const IDBGetAllRecordsData&) final { }
+ void getCount(const IDBRequestData&, const IDBKeyRangeData&) final { }
+ void deleteRecord(const IDBRequestData&, const IDBKeyRangeData&) final { }
+ void openCursor(const IDBRequestData&, const IDBCursorInfo&) final { }
+ void iterateCursor(const IDBRequestData&, const IDBIterateCursorData&) final { }
+ void establishTransaction(uint64_t, const IDBTransactionInfo&) final { }
+ void databaseConnectionPendingClose(uint64_t) final { }
+ void databaseConnectionClosed(uint64_t) final { }
+ void abortOpenAndUpgradeNeeded(uint64_t, const IDBResourceIdentifier&) final { }
+ void didFireVersionChangeEvent(uint64_t, const IDBResourceIdentifier&, const IndexedDB::ConnectionClosedOnBehalfOfServer) final { }
+ void openDBRequestCancelled(const IDBRequestData&) final { }
+ void getAllDatabaseNames(const SecurityOriginData&, const SecurityOriginData&, uint64_t) final { }
+ ~EmptyIDBConnectionToServerDeletegate() { }
+
+ void confirmDidCloseFromServer(uint64_t) final { }
+ void ref() { }
+ void deref() { }
+ };
+
+ IDBClient::IDBConnectionToServer& idbConnectionToServerForSession(const PAL::SessionID&) final
{
- static auto& sharedConnection = InProcessIDBServer::create(sessionID).leakRef();
- return sharedConnection.connectionToServer();
+ static NeverDestroyed<EmptyIDBConnectionToServerDeletegate> emptyDelegate;
+ static auto& emptyConnection = IDBClient::IDBConnectionToServer::create(emptyDelegate.get()).leakRef();
+ return emptyConnection;
}
#endif
};
diff --git a/Source/WebCore/page/Page.cpp b/Source/WebCore/page/Page.cpp
index 7f0e00d..203f5ae 100644
--- a/Source/WebCore/page/Page.cpp
+++ b/Source/WebCore/page/Page.cpp
@@ -150,7 +150,6 @@
#if ENABLE(INDEXED_DATABASE)
#include "IDBConnectionToServer.h"
-#include "InProcessIDBServer.h"
#endif
#if ENABLE(DATA_INTERACTION)
diff --git a/Source/WebKit/ChangeLog b/Source/WebKit/ChangeLog
index a8e21dd..cdcfaa1 100644
--- a/Source/WebKit/ChangeLog
+++ b/Source/WebKit/ChangeLog
@@ -1,5 +1,14 @@
2019-12-05 Sihui Liu <sihui_liu@apple.com>
+ Move InProcessIDBServer to WebKitLegacy
+ https://bugs.webkit.org/show_bug.cgi?id=204896
+
+ Reviewed by Brady Eidson.
+
+ * WebProcess/Databases/WebDatabaseProvider.h:
+
+2019-12-05 Sihui Liu <sihui_liu@apple.com>
+
Add ThreadMessageReceiver to IPC::Connection
https://bugs.webkit.org/show_bug.cgi?id=204908
diff --git a/Source/WebKit/WebProcess/Databases/WebDatabaseProvider.h b/Source/WebKit/WebProcess/Databases/WebDatabaseProvider.h
index d4e7f1c..8e9f28b 100644
--- a/Source/WebKit/WebProcess/Databases/WebDatabaseProvider.h
+++ b/Source/WebKit/WebProcess/Databases/WebDatabaseProvider.h
@@ -27,7 +27,6 @@
#define WebDatabaseProvider_h
#include <WebCore/DatabaseProvider.h>
-#include <WebCore/InProcessIDBServer.h>
#include <wtf/HashMap.h>
namespace WebKit {
diff --git a/Source/WebKitLegacy/CMakeLists.txt b/Source/WebKitLegacy/CMakeLists.txt
index 0c3f524..02665bd 100644
--- a/Source/WebKitLegacy/CMakeLists.txt
+++ b/Source/WebKitLegacy/CMakeLists.txt
@@ -3,6 +3,7 @@
set_property(DIRECTORY . PROPERTY FOLDER "WebKitLegacy")
set(WebKitLegacy_SOURCES
+ Storage/InprocessIDBServer.cpp
Storage/StorageAreaImpl.cpp
Storage/StorageAreaSync.cpp
Storage/StorageNamespaceImpl.cpp
diff --git a/Source/WebKitLegacy/ChangeLog b/Source/WebKitLegacy/ChangeLog
index df9835b..73af834 100644
--- a/Source/WebKitLegacy/ChangeLog
+++ b/Source/WebKitLegacy/ChangeLog
@@ -1,3 +1,76 @@
+2019-12-05 Sihui Liu <sihui_liu@apple.com>
+
+ Move InProcessIDBServer to WebKitLegacy
+ https://bugs.webkit.org/show_bug.cgi?id=204896
+
+ Reviewed by Brady Eidson.
+
+ * CMakeLists.txt:
+ * Storage/InProcessIDBServer.cpp: Renamed from Source/WebCore/Modules/indexeddb/shared/InProcessIDBServer.cpp.
+ (InProcessIDBServer::create):
+ (InProcessIDBServer::quotaManager):
+ (storageQuotaManagerSpaceRequester):
+ (InProcessIDBServer::InProcessIDBServer):
+ (InProcessIDBServer::identifier const):
+ (InProcessIDBServer::connectionToServer const):
+ (InProcessIDBServer::connectionToClient const):
+ (InProcessIDBServer::deleteDatabase):
+ (InProcessIDBServer::didDeleteDatabase):
+ (InProcessIDBServer::openDatabase):
+ (InProcessIDBServer::didOpenDatabase):
+ (InProcessIDBServer::didAbortTransaction):
+ (InProcessIDBServer::didCommitTransaction):
+ (InProcessIDBServer::didCreateObjectStore):
+ (InProcessIDBServer::didDeleteObjectStore):
+ (InProcessIDBServer::didRenameObjectStore):
+ (InProcessIDBServer::didClearObjectStore):
+ (InProcessIDBServer::didCreateIndex):
+ (InProcessIDBServer::didDeleteIndex):
+ (InProcessIDBServer::didRenameIndex):
+ (InProcessIDBServer::didPutOrAdd):
+ (InProcessIDBServer::didGetRecord):
+ (InProcessIDBServer::didGetAllRecords):
+ (InProcessIDBServer::didGetCount):
+ (InProcessIDBServer::didDeleteRecord):
+ (InProcessIDBServer::didOpenCursor):
+ (InProcessIDBServer::didIterateCursor):
+ (InProcessIDBServer::abortTransaction):
+ (InProcessIDBServer::commitTransaction):
+ (InProcessIDBServer::didFinishHandlingVersionChangeTransaction):
+ (InProcessIDBServer::createObjectStore):
+ (InProcessIDBServer::deleteObjectStore):
+ (InProcessIDBServer::renameObjectStore):
+ (InProcessIDBServer::clearObjectStore):
+ (InProcessIDBServer::createIndex):
+ (InProcessIDBServer::deleteIndex):
+ (InProcessIDBServer::renameIndex):
+ (InProcessIDBServer::putOrAdd):
+ (InProcessIDBServer::getRecord):
+ (InProcessIDBServer::getAllRecords):
+ (InProcessIDBServer::getCount):
+ (InProcessIDBServer::deleteRecord):
+ (InProcessIDBServer::openCursor):
+ (InProcessIDBServer::iterateCursor):
+ (InProcessIDBServer::establishTransaction):
+ (InProcessIDBServer::fireVersionChangeEvent):
+ (InProcessIDBServer::didStartTransaction):
+ (InProcessIDBServer::didCloseFromServer):
+ (InProcessIDBServer::notifyOpenDBRequestBlocked):
+ (InProcessIDBServer::databaseConnectionPendingClose):
+ (InProcessIDBServer::databaseConnectionClosed):
+ (InProcessIDBServer::abortOpenAndUpgradeNeeded):
+ (InProcessIDBServer::didFireVersionChangeEvent):
+ (InProcessIDBServer::openDBRequestCancelled):
+ (InProcessIDBServer::confirmDidCloseFromServer):
+ (InProcessIDBServer::getAllDatabaseNames):
+ (InProcessIDBServer::didGetAllDatabaseNames):
+ * Storage/InProcessIDBServer.h: Added.
+ * Storage/WebDatabaseProvider.cpp:
+ (WebDatabaseProvider::idbConnectionToServerForSession):
+ (WebDatabaseProvider::deleteAllDatabases):
+ * Storage/WebDatabaseProvider.h:
+ * WebKitLegacy.xcodeproj/project.pbxproj:
+
2019-12-04 Chris Dumez <cdumez@apple.com>
PageConfiguration::progressTrackerClient should use a smart pointer
diff --git a/Source/WebCore/Modules/indexeddb/shared/InProcessIDBServer.cpp b/Source/WebKitLegacy/Storage/InProcessIDBServer.cpp
similarity index 97%
rename from Source/WebCore/Modules/indexeddb/shared/InProcessIDBServer.cpp
rename to Source/WebKitLegacy/Storage/InProcessIDBServer.cpp
index d65bd5a..9fe3b8f 100644
--- a/Source/WebCore/Modules/indexeddb/shared/InProcessIDBServer.cpp
+++ b/Source/WebKitLegacy/Storage/InProcessIDBServer.cpp
@@ -23,27 +23,22 @@
* THE POSSIBILITY OF SUCH DAMAGE.
*/
-#include "config.h"
#include "InProcessIDBServer.h"
#if ENABLE(INDEXED_DATABASE)
-#include "IDBConnectionToClient.h"
-#include "IDBConnectionToServer.h"
-#include "IDBCursorInfo.h"
-#include "IDBGetRecordData.h"
-#include "IDBIterateCursorData.h"
-#include "IDBKeyRangeData.h"
-#include "IDBOpenDBRequest.h"
-#include "IDBRequestData.h"
-#include "IDBResultData.h"
-#include "IDBValue.h"
-#include "Logging.h"
-#include "ProcessIdentifier.h"
-#include <wtf/FileSystem.h>
+#include <WebCore/IDBCursorInfo.h>
+#include <WebCore/IDBGetRecordData.h>
+#include <WebCore/IDBIterateCursorData.h>
+#include <WebCore/IDBKeyRangeData.h>
+#include <WebCore/IDBOpenDBRequest.h>
+#include <WebCore/IDBRequestData.h>
+#include <WebCore/IDBResultData.h>
+#include <WebCore/IDBTransactionInfo.h>
+#include <WebCore/IDBValue.h>
#include <wtf/RunLoop.h>
-namespace WebCore {
+using namespace WebCore;
Ref<InProcessIDBServer> InProcessIDBServer::create(PAL::SessionID sessionID)
{
@@ -465,6 +460,4 @@
});
}
-} // namespace WebCore
-
#endif // ENABLE(INDEXED_DATABASE)
diff --git a/Source/WebKitLegacy/Storage/InProcessIDBServer.h b/Source/WebKitLegacy/Storage/InProcessIDBServer.h
new file mode 100644
index 0000000..ebea27e
--- /dev/null
+++ b/Source/WebKitLegacy/Storage/InProcessIDBServer.h
@@ -0,0 +1,139 @@
+/*
+ * Copyright (C) 2015 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.
+ */
+
+#pragma once
+
+#if ENABLE(INDEXED_DATABASE)
+
+#include <WebCore/IDBConnectionToClient.h>
+#include <WebCore/IDBConnectionToServer.h>
+#include <WebCore/IDBServer.h>
+#include <WebCore/StorageQuotaManager.h>
+#include <wtf/RefCounted.h>
+#include <wtf/RefPtr.h>
+#include <wtf/WeakPtr.h>
+
+namespace PAL {
+class SessionID;
+}
+
+namespace WebCore {
+struct ClientOrigin;
+
+namespace IDBClient {
+class IDBConnectionToServer;
+}
+
+namespace IDBServer {
+class IDBServer;
+}
+} // namespace WebCore
+
+class InProcessIDBServer final : public WebCore::IDBClient::IDBConnectionToServerDelegate, public WebCore::IDBServer::IDBConnectionToClientDelegate, public RefCounted<InProcessIDBServer> {
+public:
+ using WebCore::IDBClient::IDBConnectionToServerDelegate::weakPtrFactory;
+ using WeakValueType = WebCore::IDBClient::IDBConnectionToServerDelegate::WeakValueType;
+
+ WEBCORE_EXPORT static Ref<InProcessIDBServer> create(PAL::SessionID);
+ WEBCORE_EXPORT static Ref<InProcessIDBServer> create(PAL::SessionID, const String& databaseDirectoryPath);
+
+ WEBCORE_EXPORT virtual ~InProcessIDBServer();
+
+ WebCore::IDBClient::IDBConnectionToServer& connectionToServer() const;
+ WebCore::IDBServer::IDBConnectionToClient& connectionToClient() const;
+ WebCore::IDBServer::IDBServer& server() { return m_server.get(); }
+
+ // IDBConnectionToServer
+ void deleteDatabase(const WebCore::IDBRequestData&) final;
+ void openDatabase(const WebCore::IDBRequestData&) final;
+ void abortTransaction(const WebCore::IDBResourceIdentifier&) final;
+ void commitTransaction(const WebCore::IDBResourceIdentifier&) final;
+ void didFinishHandlingVersionChangeTransaction(uint64_t databaseConnectionIdentifier, const WebCore::IDBResourceIdentifier&) final;
+ void createObjectStore(const WebCore::IDBRequestData&, const WebCore::IDBObjectStoreInfo&) final;
+ void deleteObjectStore(const WebCore::IDBRequestData&, const String& objectStoreName) final;
+ void renameObjectStore(const WebCore::IDBRequestData&, uint64_t objectStoreIdentifier, const String& newName) final;
+ void clearObjectStore(const WebCore::IDBRequestData&, uint64_t objectStoreIdentifier) final;
+ void createIndex(const WebCore::IDBRequestData&, const WebCore::IDBIndexInfo&) final;
+ void deleteIndex(const WebCore::IDBRequestData&, uint64_t objectStoreIdentifier, const String& indexName) final;
+ void renameIndex(const WebCore::IDBRequestData&, uint64_t objectStoreIdentifier, uint64_t indexIdentifier, const String& newName) final;
+ void putOrAdd(const WebCore::IDBRequestData&, const WebCore::IDBKeyData&, const WebCore::IDBValue&, const WebCore::IndexedDB::ObjectStoreOverwriteMode) final;
+ void getRecord(const WebCore::IDBRequestData&, const WebCore::IDBGetRecordData&) final;
+ void getAllRecords(const WebCore::IDBRequestData&, const WebCore::IDBGetAllRecordsData&) final;
+ void getCount(const WebCore::IDBRequestData&, const WebCore::IDBKeyRangeData&) final;
+ void deleteRecord(const WebCore::IDBRequestData&, const WebCore::IDBKeyRangeData&) final;
+ void openCursor(const WebCore::IDBRequestData&, const WebCore::IDBCursorInfo&) final;
+ void iterateCursor(const WebCore::IDBRequestData&, const WebCore::IDBIterateCursorData&) final;
+ void establishTransaction(uint64_t databaseConnectionIdentifier, const WebCore::IDBTransactionInfo&) final;
+ void databaseConnectionPendingClose(uint64_t databaseConnectionIdentifier) final;
+ void databaseConnectionClosed(uint64_t databaseConnectionIdentifier) final;
+ void abortOpenAndUpgradeNeeded(uint64_t databaseConnectionIdentifier, const WebCore::IDBResourceIdentifier& transactionIdentifier) final;
+ void didFireVersionChangeEvent(uint64_t databaseConnectionIdentifier, const WebCore::IDBResourceIdentifier& requestIdentifier, const WebCore::IndexedDB::ConnectionClosedOnBehalfOfServer) final;
+ void openDBRequestCancelled(const WebCore::IDBRequestData&) final;
+ void confirmDidCloseFromServer(uint64_t databaseConnectionIdentifier) final;
+ void getAllDatabaseNames(const WebCore::SecurityOriginData& mainFrameOrigin, const WebCore::SecurityOriginData& openingOrigin, uint64_t callbackID) final;
+
+ // IDBConnectionToClient
+ WebCore::IDBConnectionIdentifier identifier() const final;
+ void didDeleteDatabase(const WebCore::IDBResultData&) final;
+ void didOpenDatabase(const WebCore::IDBResultData&) final;
+ void didAbortTransaction(const WebCore::IDBResourceIdentifier& transactionIdentifier, const WebCore::IDBError&) final;
+ void didCommitTransaction(const WebCore::IDBResourceIdentifier& transactionIdentifier, const WebCore::IDBError&) final;
+ void didCreateObjectStore(const WebCore::IDBResultData&) final;
+ void didDeleteObjectStore(const WebCore::IDBResultData&) final;
+ void didRenameObjectStore(const WebCore::IDBResultData&) final;
+ void didClearObjectStore(const WebCore::IDBResultData&) final;
+ void didCreateIndex(const WebCore::IDBResultData&) final;
+ void didDeleteIndex(const WebCore::IDBResultData&) final;
+ void didRenameIndex(const WebCore::IDBResultData&) final;
+ void didPutOrAdd(const WebCore::IDBResultData&) final;
+ void didGetRecord(const WebCore::IDBResultData&) final;
+ void didGetAllRecords(const WebCore::IDBResultData&) final;
+ void didGetCount(const WebCore::IDBResultData&) final;
+ void didDeleteRecord(const WebCore::IDBResultData&) final;
+ void didOpenCursor(const WebCore::IDBResultData&) final;
+ void didIterateCursor(const WebCore::IDBResultData&) final;
+ void fireVersionChangeEvent(WebCore::IDBServer::UniqueIDBDatabaseConnection&, const WebCore::IDBResourceIdentifier& requestIdentifier, uint64_t requestedVersion) final;
+ void didStartTransaction(const WebCore::IDBResourceIdentifier& transactionIdentifier, const WebCore::IDBError&) final;
+ void didCloseFromServer(WebCore::IDBServer::UniqueIDBDatabaseConnection&, const WebCore::IDBError&) final;
+ void notifyOpenDBRequestBlocked(const WebCore::IDBResourceIdentifier& requestIdentifier, uint64_t oldVersion, uint64_t newVersion) final;
+ void didGetAllDatabaseNames(uint64_t callbackID, const Vector<String>& databaseNames) final;
+
+ void ref() override { RefCounted<InProcessIDBServer>::ref(); }
+ void deref() override { RefCounted<InProcessIDBServer>::deref(); }
+
+ WebCore::StorageQuotaManager* quotaManager(const WebCore::ClientOrigin&);
+
+private:
+ explicit InProcessIDBServer(PAL::SessionID);
+ InProcessIDBServer(PAL::SessionID, const String& databaseDirectoryPath);
+
+ Ref<WebCore::IDBServer::IDBServer> m_server;
+ RefPtr<WebCore::IDBClient::IDBConnectionToServer> m_connectionToServer;
+ RefPtr<WebCore::IDBServer::IDBConnectionToClient> m_connectionToClient;
+
+ HashMap<WebCore::ClientOrigin, RefPtr<WebCore::StorageQuotaManager>> m_quotaManagers;
+};
+
+#endif // ENABLE(INDEXED_DATABASE)
diff --git a/Source/WebKitLegacy/Storage/WebDatabaseProvider.cpp b/Source/WebKitLegacy/Storage/WebDatabaseProvider.cpp
index 7f038f3..c2f71ba 100644
--- a/Source/WebKitLegacy/Storage/WebDatabaseProvider.cpp
+++ b/Source/WebKitLegacy/Storage/WebDatabaseProvider.cpp
@@ -46,14 +46,14 @@
WebCore::IDBClient::IDBConnectionToServer& WebDatabaseProvider::idbConnectionToServerForSession(const PAL::SessionID& sessionID)
{
return m_idbServerMap.ensure(sessionID, [&sessionID] {
- return sessionID.isEphemeral() ? WebCore::InProcessIDBServer::create(sessionID) : WebCore::InProcessIDBServer::create(sessionID, indexedDatabaseDirectoryPath());
+ return sessionID.isEphemeral() ? InProcessIDBServer::create(sessionID) : InProcessIDBServer::create(sessionID, indexedDatabaseDirectoryPath());
}).iterator->value->connectionToServer();
}
void WebDatabaseProvider::deleteAllDatabases()
{
for (auto& server : m_idbServerMap.values())
- server->idbServer().closeAndDeleteDatabasesModifiedSince(-WallTime::infinity(), [] { });
+ server->server().closeAndDeleteDatabasesModifiedSince(-WallTime::infinity(), [] { });
}
#endif
diff --git a/Source/WebKitLegacy/Storage/WebDatabaseProvider.h b/Source/WebKitLegacy/Storage/WebDatabaseProvider.h
index d667b86..ad9cb4f 100644
--- a/Source/WebKitLegacy/Storage/WebDatabaseProvider.h
+++ b/Source/WebKitLegacy/Storage/WebDatabaseProvider.h
@@ -31,7 +31,7 @@
#include <wtf/RefPtr.h>
#if ENABLE(INDEXED_DATABASE)
-#include <WebCore/InProcessIDBServer.h>
+#include "InProcessIDBServer.h"
#endif
class WebDatabaseProvider final : public WebCore::DatabaseProvider {
@@ -52,6 +52,6 @@
static String indexedDatabaseDirectoryPath();
#if ENABLE(INDEXED_DATABASE)
- HashMap<PAL::SessionID, RefPtr<WebCore::InProcessIDBServer>> m_idbServerMap;
+ HashMap<PAL::SessionID, RefPtr<InProcessIDBServer>> m_idbServerMap;
#endif
};
diff --git a/Source/WebKitLegacy/WebKitLegacy.xcodeproj/project.pbxproj b/Source/WebKitLegacy/WebKitLegacy.xcodeproj/project.pbxproj
index ce6eb36..41b945c 100644
--- a/Source/WebKitLegacy/WebKitLegacy.xcodeproj/project.pbxproj
+++ b/Source/WebKitLegacy/WebKitLegacy.xcodeproj/project.pbxproj
@@ -227,6 +227,8 @@
934C11670D8710BB00C32ABD /* WebDynamicScrollBarsViewInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 934C11660D8710BB00C32ABD /* WebDynamicScrollBarsViewInternal.h */; };
934C4A910F01406C009372C0 /* WebNSObjectExtras.mm in Sources */ = {isa = PBXBuildFile; fileRef = 934C4A900F01406C009372C0 /* WebNSObjectExtras.mm */; };
934C4AA00F0141F7009372C0 /* WebResourceInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 934C4A9F0F0141F7009372C0 /* WebResourceInternal.h */; };
+ 9364006E23996E81001E185E /* InProcessIDBServer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9364006C23996E80001E185E /* InProcessIDBServer.cpp */; };
+ 9364006F23996E81001E185E /* InProcessIDBServer.h in Headers */ = {isa = PBXBuildFile; fileRef = 9364006D23996E81001E185E /* InProcessIDBServer.h */; };
936A2DE80FD2D08000D312DB /* WebTextCompletionController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 936A2DE70FD2D08000D312DB /* WebTextCompletionController.mm */; };
936A2DEA0FD2D08400D312DB /* WebTextCompletionController.h in Headers */ = {isa = PBXBuildFile; fileRef = 936A2DE90FD2D08400D312DB /* WebTextCompletionController.h */; };
9391F275121B38BD00EBF7E8 /* WebFrameNetworkingContext.h in Headers */ = {isa = PBXBuildFile; fileRef = 9391F273121B38BD00EBF7E8 /* WebFrameNetworkingContext.h */; };
@@ -1024,6 +1026,8 @@
934C11660D8710BB00C32ABD /* WebDynamicScrollBarsViewInternal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebDynamicScrollBarsViewInternal.h; sourceTree = "<group>"; };
934C4A900F01406C009372C0 /* WebNSObjectExtras.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebNSObjectExtras.mm; sourceTree = "<group>"; };
934C4A9F0F0141F7009372C0 /* WebResourceInternal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebResourceInternal.h; sourceTree = "<group>"; };
+ 9364006C23996E80001E185E /* InProcessIDBServer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = InProcessIDBServer.cpp; path = Storage/InProcessIDBServer.cpp; sourceTree = SOURCE_ROOT; };
+ 9364006D23996E81001E185E /* InProcessIDBServer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = InProcessIDBServer.h; path = Storage/InProcessIDBServer.h; sourceTree = SOURCE_ROOT; };
936A2DE70FD2D08000D312DB /* WebTextCompletionController.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebTextCompletionController.mm; sourceTree = "<group>"; };
936A2DE90FD2D08400D312DB /* WebTextCompletionController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebTextCompletionController.h; sourceTree = "<group>"; };
9391F273121B38BD00EBF7E8 /* WebFrameNetworkingContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebFrameNetworkingContext.h; sourceTree = "<group>"; };
@@ -1833,6 +1837,8 @@
511F3FC30CECC7E200852565 /* Storage */ = {
isa = PBXGroup;
children = (
+ 9364006C23996E80001E185E /* InProcessIDBServer.cpp */,
+ 9364006D23996E81001E185E /* InProcessIDBServer.h */,
1A6B31241A51F3A900422975 /* StorageAreaImpl.cpp */,
1A6B31251A51F3A900422975 /* StorageAreaImpl.h */,
1A6B31261A51F3A900422975 /* StorageAreaSync.cpp */,
@@ -2881,6 +2887,7 @@
93D437991D57ABEF00AB85EA /* ExceptionHandlers.h in Headers */,
1A60519417502A5D00BC62F5 /* HistoryPropertyList.h in Headers */,
1A8DED500EE88B8A00F25022 /* HostedNetscapePluginStream.h in Headers */,
+ 9364006F23996E81001E185E /* InProcessIDBServer.h in Headers */,
A10C1D3218202FC50036883A /* MemoryMeasure.h in Headers */,
1AAF5CEA0EDDE1FE008D883D /* NetscapePluginHostManager.h in Headers */,
1AAF5CEC0EDDE1FE008D883D /* NetscapePluginHostProxy.h in Headers */,
@@ -3402,6 +3409,7 @@
5C9A4E5322DE4627007DB353 /* DOMUIKitExtensions.mm in Sources */,
1A60519317502A5D00BC62F5 /* HistoryPropertyList.mm in Sources */,
1A8DED510EE88B8A00F25022 /* HostedNetscapePluginStream.mm in Sources */,
+ 9364006E23996E81001E185E /* InProcessIDBServer.cpp in Sources */,
A10C1D3318202FC50036883A /* MemoryMeasure.mm in Sources */,
1AAF5CEB0EDDE1FE008D883D /* NetscapePluginHostManager.mm in Sources */,
1AAF5CED0EDDE1FE008D883D /* NetscapePluginHostProxy.mm in Sources */,