Diff
Modified: trunk/Source/WebKit/CMakeLists.txt (253451 => 253452)
--- trunk/Source/WebKit/CMakeLists.txt 2019-12-13 00:02:51 UTC (rev 253451)
+++ trunk/Source/WebKit/CMakeLists.txt 2019-12-13 00:10:07 UTC (rev 253452)
@@ -112,7 +112,7 @@
set(WebKit_MESSAGES_IN_FILES
NetworkProcess/Cookies/WebCookieManager.messages.in
- NetworkProcess/IndexedDB/WebIDBConnectionToClient.messages.in
+ NetworkProcess/IndexedDB/WebIDBServer.messages.in
NetworkProcess/NetworkConnectionToWebProcess.messages.in
NetworkProcess/NetworkContentRuleListManager.messages.in
Modified: trunk/Source/WebKit/ChangeLog (253451 => 253452)
--- trunk/Source/WebKit/ChangeLog 2019-12-13 00:02:51 UTC (rev 253451)
+++ trunk/Source/WebKit/ChangeLog 2019-12-13 00:10:07 UTC (rev 253452)
@@ -1,3 +1,105 @@
+2019-12-12 Sihui Liu <[email protected]>
+
+ IndexedDB: make WebIDBServer a MessageReceiver to replace WebIDBConnection
+ https://bugs.webkit.org/show_bug.cgi?id=205145
+
+ Reviewed by Alex Christensen.
+
+ Work towards <rdar://problem/56908496>. Move message handling from WebIDBConnectionToClient to WebIDBServer.
+
+ Also, WebIDBConnectionClient now is owned by WebIDBServer instead of NetworkConnectionToWebProcess.
+
+ No behavior change.
+
+ * CMakeLists.txt:
+ * DerivedSources-input.xcfilelist:
+ * DerivedSources-output.xcfilelist:
+ * DerivedSources.make:
+ * NetworkProcess/IndexedDB/WebIDBConnectionToClient.cpp:
+ (WebKit::WebIDBConnectionToClient::WebIDBConnectionToClient):
+ (WebKit::WebIDBConnectionToClient::messageSenderConnection const):
+ (WebKit::WebIDBConnectionToClient::idbServer): Deleted.
+ (WebKit::WebIDBConnectionToClient::disconnectedFromWebProcess): Deleted.
+ (WebKit::WebIDBConnectionToClient::deleteDatabase): Deleted.
+ (WebKit::WebIDBConnectionToClient::openDatabase): Deleted.
+ (WebKit::WebIDBConnectionToClient::abortTransaction): Deleted.
+ (WebKit::WebIDBConnectionToClient::commitTransaction): Deleted.
+ (WebKit::WebIDBConnectionToClient::didFinishHandlingVersionChangeTransaction): Deleted.
+ (WebKit::WebIDBConnectionToClient::createObjectStore): Deleted.
+ (WebKit::WebIDBConnectionToClient::deleteObjectStore): Deleted.
+ (WebKit::WebIDBConnectionToClient::renameObjectStore): Deleted.
+ (WebKit::WebIDBConnectionToClient::clearObjectStore): Deleted.
+ (WebKit::WebIDBConnectionToClient::createIndex): Deleted.
+ (WebKit::WebIDBConnectionToClient::deleteIndex): Deleted.
+ (WebKit::WebIDBConnectionToClient::renameIndex): Deleted.
+ (WebKit::WebIDBConnectionToClient::putOrAdd): Deleted.
+ (WebKit::WebIDBConnectionToClient::getRecord): Deleted.
+ (WebKit::WebIDBConnectionToClient::getAllRecords): Deleted.
+ (WebKit::WebIDBConnectionToClient::getCount): Deleted.
+ (WebKit::WebIDBConnectionToClient::deleteRecord): Deleted.
+ (WebKit::WebIDBConnectionToClient::openCursor): Deleted.
+ (WebKit::WebIDBConnectionToClient::iterateCursor): Deleted.
+ (WebKit::WebIDBConnectionToClient::establishTransaction): Deleted.
+ (WebKit::WebIDBConnectionToClient::databaseConnectionPendingClose): Deleted.
+ (WebKit::WebIDBConnectionToClient::databaseConnectionClosed): Deleted.
+ (WebKit::WebIDBConnectionToClient::abortOpenAndUpgradeNeeded): Deleted.
+ (WebKit::WebIDBConnectionToClient::didFireVersionChangeEvent): Deleted.
+ (WebKit::WebIDBConnectionToClient::openDBRequestCancelled): Deleted.
+ (WebKit::WebIDBConnectionToClient::confirmDidCloseFromServer): Deleted.
+ (WebKit::WebIDBConnectionToClient::getAllDatabaseNames): Deleted.
+ * NetworkProcess/IndexedDB/WebIDBConnectionToClient.h:
+ * NetworkProcess/IndexedDB/WebIDBServer.cpp:
+ (WebKit::WebIDBServer::getAllDatabaseNames):
+ (WebKit::WebIDBServer::addConnection):
+ (WebKit::WebIDBServer::removeConnection):
+ * NetworkProcess/IndexedDB/WebIDBServer.h:
+ * NetworkProcess/IndexedDB/WebIDBServer.messages.in: Renamed from Source/WebKit/NetworkProcess/IndexedDB/WebIDBConnectionToClient.messages.in.
+ * NetworkProcess/NetworkConnectionToWebProcess.cpp:
+ (WebKit::NetworkConnectionToWebProcess::didReceiveMessage):
+ (WebKit::NetworkConnectionToWebProcess::didClose):
+ (WebKit::NetworkConnectionToWebProcess::findNetworkActivityTracker):
+ (WebKit::NetworkConnectionToWebProcess::establishIDBConnectionToServer): Deleted.
+ NetworkConnectionToWebProcess::establishIDBConnectionToServer was used to ensure WebIDBConnectionToCilent member
+ exists in NetworkConnectionToWebProcess. Now WebIDBConnectionToCilent is created in
+ WebIDBServer::addConnection(when NetworkConnectionToWebProcess is created), so we don't need the message to do
+ initialization.
+ * NetworkProcess/NetworkConnectionToWebProcess.h:
+ * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
+ * NetworkProcess/NetworkProcess.cpp:
+ (WebKit::NetworkProcess::createNetworkConnectionToWebProcess):
+ (WebKit::NetworkProcess::connectionToWebProcessClosed):
+ * NetworkProcess/NetworkProcess.h:
+ * WebKit.xcodeproj/project.pbxproj:
+ * WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.cpp:
+ (WebKit::WebIDBConnectionToServer::WebIDBConnectionToServer):
+ (WebKit::WebIDBConnectionToServer::deleteDatabase):
+ (WebKit::WebIDBConnectionToServer::openDatabase):
+ (WebKit::WebIDBConnectionToServer::abortTransaction):
+ (WebKit::WebIDBConnectionToServer::commitTransaction):
+ (WebKit::WebIDBConnectionToServer::didFinishHandlingVersionChangeTransaction):
+ (WebKit::WebIDBConnectionToServer::createObjectStore):
+ (WebKit::WebIDBConnectionToServer::deleteObjectStore):
+ (WebKit::WebIDBConnectionToServer::renameObjectStore):
+ (WebKit::WebIDBConnectionToServer::clearObjectStore):
+ (WebKit::WebIDBConnectionToServer::createIndex):
+ (WebKit::WebIDBConnectionToServer::deleteIndex):
+ (WebKit::WebIDBConnectionToServer::renameIndex):
+ (WebKit::WebIDBConnectionToServer::putOrAdd):
+ (WebKit::WebIDBConnectionToServer::getRecord):
+ (WebKit::WebIDBConnectionToServer::getAllRecords):
+ (WebKit::WebIDBConnectionToServer::getCount):
+ (WebKit::WebIDBConnectionToServer::deleteRecord):
+ (WebKit::WebIDBConnectionToServer::openCursor):
+ (WebKit::WebIDBConnectionToServer::iterateCursor):
+ (WebKit::WebIDBConnectionToServer::establishTransaction):
+ (WebKit::WebIDBConnectionToServer::databaseConnectionPendingClose):
+ (WebKit::WebIDBConnectionToServer::databaseConnectionClosed):
+ (WebKit::WebIDBConnectionToServer::abortOpenAndUpgradeNeeded):
+ (WebKit::WebIDBConnectionToServer::didFireVersionChangeEvent):
+ (WebKit::WebIDBConnectionToServer::openDBRequestCancelled):
+ (WebKit::WebIDBConnectionToServer::confirmDidCloseFromServer):
+ (WebKit::WebIDBConnectionToServer::getAllDatabaseNames):
+
2019-12-12 Chris Dumez <[email protected]>
Regression(r253394) swipe/basic-cached-back-swipe.html is timing out on iOS
Modified: trunk/Source/WebKit/DerivedSources-input.xcfilelist (253451 => 253452)
--- trunk/Source/WebKit/DerivedSources-input.xcfilelist 2019-12-13 00:02:51 UTC (rev 253451)
+++ trunk/Source/WebKit/DerivedSources-input.xcfilelist 2019-12-13 00:10:07 UTC (rev 253452)
@@ -18,7 +18,7 @@
$(PROJECT_DIR)/GPUProcess/mac/com.apple.WebKit.GPUProcess.sb.in
$(PROJECT_DIR)/NetworkProcess/Cookies/WebCookieManager.messages.in
$(PROJECT_DIR)/NetworkProcess/CustomProtocols/LegacyCustomProtocolManager.messages.in
-$(PROJECT_DIR)/NetworkProcess/IndexedDB/WebIDBConnectionToClient.messages.in
+$(PROJECT_DIR)/NetworkProcess/IndexedDB/WebIDBServer.messages.in
$(PROJECT_DIR)/NetworkProcess/NetworkConnectionToWebProcess.messages.in
$(PROJECT_DIR)/NetworkProcess/NetworkContentRuleListManager.messages.in
$(PROJECT_DIR)/NetworkProcess/NetworkProcess.messages.in
Modified: trunk/Source/WebKit/DerivedSources-output.xcfilelist (253451 => 253452)
--- trunk/Source/WebKit/DerivedSources-output.xcfilelist 2019-12-13 00:02:51 UTC (rev 253451)
+++ trunk/Source/WebKit/DerivedSources-output.xcfilelist 2019-12-13 00:10:07 UTC (rev 253452)
@@ -211,12 +211,12 @@
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebKit2/WebGeolocationManagerProxyMessageReceiver.cpp
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebKit2/WebGeolocationManagerProxyMessages.h
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebKit2/WebGeolocationManagerProxyMessagesReplies.h
-$(BUILT_PRODUCTS_DIR)/DerivedSources/WebKit2/WebIDBConnectionToClientMessageReceiver.cpp
-$(BUILT_PRODUCTS_DIR)/DerivedSources/WebKit2/WebIDBConnectionToClientMessages.h
-$(BUILT_PRODUCTS_DIR)/DerivedSources/WebKit2/WebIDBConnectionToClientMessagesReplies.h
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebKit2/WebIDBConnectionToServerMessageReceiver.cpp
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebKit2/WebIDBConnectionToServerMessages.h
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebKit2/WebIDBConnectionToServerMessagesReplies.h
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebKit2/WebIDBServerMessageReceiver.cpp
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebKit2/WebIDBServerMessages.h
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebKit2/WebIDBServerMessagesReplies.h
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebKit2/WebInspectorInterruptDispatcherMessageReceiver.cpp
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebKit2/WebInspectorInterruptDispatcherMessages.h
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebKit2/WebInspectorInterruptDispatcherMessagesReplies.h
Modified: trunk/Source/WebKit/DerivedSources.make (253451 => 253452)
--- trunk/Source/WebKit/DerivedSources.make 2019-12-13 00:02:51 UTC (rev 253451)
+++ trunk/Source/WebKit/DerivedSources.make 2019-12-13 00:10:07 UTC (rev 253452)
@@ -164,8 +164,8 @@
WebFullScreenManagerProxy \
WebGeolocationManager \
WebGeolocationManagerProxy \
- WebIDBConnectionToClient \
WebIDBConnectionToServer \
+ WebIDBServer \
WebInspector \
WebInspectorInterruptDispatcher \
WebInspectorProxy \
Modified: trunk/Source/WebKit/NetworkProcess/IndexedDB/WebIDBConnectionToClient.cpp (253451 => 253452)
--- trunk/Source/WebKit/NetworkProcess/IndexedDB/WebIDBConnectionToClient.cpp 2019-12-13 00:02:51 UTC (rev 253451)
+++ trunk/Source/WebKit/NetworkProcess/IndexedDB/WebIDBConnectionToClient.cpp 2019-12-13 00:10:07 UTC (rev 253452)
@@ -28,29 +28,22 @@
#if ENABLE(INDEXED_DATABASE)
-#include "DataReference.h"
-#include "NetworkProcess.h"
-#include "WebCoreArgumentCoders.h"
#include "WebIDBConnectionToServerMessages.h"
#include "WebIDBResult.h"
#include "WebIDBServer.h"
-#include <WebCore/IDBError.h>
#include <WebCore/IDBGetAllRecordsData.h>
#include <WebCore/IDBGetRecordData.h>
#include <WebCore/IDBResultData.h>
-#include <WebCore/IDBValue.h>
-#include <WebCore/ThreadSafeDataBuffer.h>
#include <WebCore/UniqueIDBDatabaseConnection.h>
namespace WebKit {
using namespace WebCore;
-WebIDBConnectionToClient::WebIDBConnectionToClient(NetworkConnectionToWebProcess& connection, WebCore::IDBConnectionIdentifier serverConnectionIdentifier)
- : m_connection(connection)
+WebIDBConnectionToClient::WebIDBConnectionToClient(IPC::Connection& connection, WebCore::IDBConnectionIdentifier serverConnectionIdentifier)
+ : m_connection(makeRef(connection))
, m_identifier(serverConnectionIdentifier)
, m_connectionToClient(IDBServer::IDBConnectionToClient::create(*this))
{
- idbServer().registerConnection(m_connectionToClient);
}
WebIDBConnectionToClient::~WebIDBConnectionToClient()
@@ -57,19 +50,9 @@
{
}
-WebIDBServer& WebIDBConnectionToClient::idbServer()
-{
- return m_connection.networkProcess().webIDBServer(m_connection.sessionID());
-}
-
-void WebIDBConnectionToClient::disconnectedFromWebProcess()
-{
- idbServer().unregisterConnection(m_connectionToClient);
-}
-
IPC::Connection* WebIDBConnectionToClient::messageSenderConnection() const
{
- return &m_connection.connection();
+ return m_connection.ptr();
}
WebCore::IDBServer::IDBConnectionToClient& WebIDBConnectionToClient::connectionToClient()
@@ -213,141 +196,6 @@
send(Messages::WebIDBConnectionToServer::DidGetAllDatabaseNames(callbackID, databaseNames));
}
-void WebIDBConnectionToClient::deleteDatabase(const IDBRequestData& request)
-{
- idbServer().deleteDatabase(request);
-}
-
-void WebIDBConnectionToClient::openDatabase(const IDBRequestData& request)
-{
- idbServer().openDatabase(request);
-}
-
-void WebIDBConnectionToClient::abortTransaction(const IDBResourceIdentifier& transactionIdentifier)
-{
- idbServer().abortTransaction(transactionIdentifier);
-}
-
-void WebIDBConnectionToClient::commitTransaction(const IDBResourceIdentifier& transactionIdentifier)
-{
- idbServer().commitTransaction(transactionIdentifier);
-}
-
-void WebIDBConnectionToClient::didFinishHandlingVersionChangeTransaction(uint64_t databaseConnectionIdentifier, const IDBResourceIdentifier& transactionIdentifier)
-{
- idbServer().didFinishHandlingVersionChangeTransaction(databaseConnectionIdentifier, transactionIdentifier);
-}
-
-void WebIDBConnectionToClient::createObjectStore(const IDBRequestData& request, const IDBObjectStoreInfo& info)
-{
- idbServer().createObjectStore(request, info);
-}
-
-void WebIDBConnectionToClient::deleteObjectStore(const IDBRequestData& request, const String& name)
-{
- idbServer().deleteObjectStore(request, name);
-}
-
-void WebIDBConnectionToClient::renameObjectStore(const IDBRequestData& request, uint64_t objectStoreIdentifier, const String& newName)
-{
- idbServer().renameObjectStore(request, objectStoreIdentifier, newName);
-}
-
-void WebIDBConnectionToClient::clearObjectStore(const IDBRequestData& request, uint64_t objectStoreIdentifier)
-{
- idbServer().clearObjectStore(request, objectStoreIdentifier);
-}
-
-void WebIDBConnectionToClient::createIndex(const IDBRequestData& request, const IDBIndexInfo& info)
-{
- idbServer().createIndex(request, info);
-}
-
-void WebIDBConnectionToClient::deleteIndex(const IDBRequestData& request, uint64_t objectStoreIdentifier, const String& name)
-{
- idbServer().deleteIndex(request, objectStoreIdentifier, name);
-}
-
-void WebIDBConnectionToClient::renameIndex(const IDBRequestData& request, uint64_t objectStoreIdentifier, uint64_t indexIdentifier, const String& newName)
-{
- idbServer().renameIndex(request, objectStoreIdentifier, indexIdentifier, newName);
-}
-
-void WebIDBConnectionToClient::putOrAdd(const IDBRequestData& request, const IDBKeyData& key, const IDBValue& value, IndexedDB::ObjectStoreOverwriteMode mode)
-{
- idbServer().putOrAdd(request, key, value, mode);
-}
-
-void WebIDBConnectionToClient::getRecord(const IDBRequestData& request, const IDBGetRecordData& getRecordData)
-{
- idbServer().getRecord(request, getRecordData);
-}
-
-void WebIDBConnectionToClient::getAllRecords(const IDBRequestData& request, const IDBGetAllRecordsData& getAllRecordsData)
-{
- idbServer().getAllRecords(request, getAllRecordsData);
-}
-
-void WebIDBConnectionToClient::getCount(const IDBRequestData& request, const IDBKeyRangeData& range)
-{
- idbServer().getCount(request, range);
-}
-
-void WebIDBConnectionToClient::deleteRecord(const IDBRequestData& request, const IDBKeyRangeData& range)
-{
- idbServer().deleteRecord(request, range);
-}
-
-void WebIDBConnectionToClient::openCursor(const IDBRequestData& request, const IDBCursorInfo& info)
-{
- idbServer().openCursor(request, info);
-}
-
-void WebIDBConnectionToClient::iterateCursor(const IDBRequestData& request, const IDBIterateCursorData& data)
-{
- idbServer().iterateCursor(request, data);
-}
-
-void WebIDBConnectionToClient::establishTransaction(uint64_t databaseConnectionIdentifier, const IDBTransactionInfo& info)
-{
- idbServer().establishTransaction(databaseConnectionIdentifier, info);
-}
-
-void WebIDBConnectionToClient::databaseConnectionPendingClose(uint64_t databaseConnectionIdentifier)
-{
- idbServer().databaseConnectionPendingClose(databaseConnectionIdentifier);
-}
-
-void WebIDBConnectionToClient::databaseConnectionClosed(uint64_t databaseConnectionIdentifier)
-{
- idbServer().databaseConnectionClosed(databaseConnectionIdentifier);
-}
-
-void WebIDBConnectionToClient::abortOpenAndUpgradeNeeded(uint64_t databaseConnectionIdentifier, const IDBResourceIdentifier& transactionIdentifier)
-{
- idbServer().abortOpenAndUpgradeNeeded(databaseConnectionIdentifier, transactionIdentifier);
-}
-
-void WebIDBConnectionToClient::didFireVersionChangeEvent(uint64_t databaseConnectionIdentifier, const IDBResourceIdentifier& transactionIdentifier, IndexedDB::ConnectionClosedOnBehalfOfServer connectionClosed)
-{
- idbServer().didFireVersionChangeEvent(databaseConnectionIdentifier, transactionIdentifier, connectionClosed);
-}
-
-void WebIDBConnectionToClient::openDBRequestCancelled(const IDBRequestData& requestData)
-{
- idbServer().openDBRequestCancelled(requestData);
-}
-
-void WebIDBConnectionToClient::confirmDidCloseFromServer(uint64_t databaseConnectionIdentifier)
-{
- idbServer().confirmDidCloseFromServer(databaseConnectionIdentifier);
-}
-
-void WebIDBConnectionToClient::getAllDatabaseNames(const WebCore::SecurityOriginData& topOrigin, const WebCore::SecurityOriginData& openingOrigin, uint64_t callbackID)
-{
- idbServer().getAllDatabaseNames(identifier(), topOrigin, openingOrigin, callbackID);
-}
-
} // namespace WebKit
#endif // ENABLE(INDEXED_DATABASE)
Modified: trunk/Source/WebKit/NetworkProcess/IndexedDB/WebIDBConnectionToClient.h (253451 => 253452)
--- trunk/Source/WebKit/NetworkProcess/IndexedDB/WebIDBConnectionToClient.h 2019-12-13 00:02:51 UTC (rev 253451)
+++ trunk/Source/WebKit/NetworkProcess/IndexedDB/WebIDBConnectionToClient.h 2019-12-13 00:10:07 UTC (rev 253452)
@@ -28,26 +28,11 @@
#if ENABLE(INDEXED_DATABASE)
#include "MessageSender.h"
-#include "NetworkConnectionToWebProcess.h"
#include <WebCore/IDBConnectionToClient.h>
#include <WebCore/IndexedDB.h>
#include <WebCore/ProcessIdentifier.h>
namespace WebCore {
-class IDBCursorInfo;
-class IDBIndexInfo;
-class IDBKeyData;
-class IDBObjectStoreInfo;
-class IDBRequestData;
-class IDBTransactionInfo;
-class IDBValue;
-class SerializedScriptValue;
-struct IDBGetAllRecordsData;
-struct IDBGetRecordData;
-struct IDBIterateCursorData;
-struct IDBKeyRangeData;
-struct SecurityOriginData;
-
namespace IDBServer {
class IDBServer;
}
@@ -61,7 +46,7 @@
class WebIDBConnectionToClient final : public WebCore::IDBServer::IDBConnectionToClientDelegate, public IPC::MessageSender {
WTF_MAKE_FAST_ALLOCATED;
public:
- WebIDBConnectionToClient(NetworkConnectionToWebProcess&, WebCore::IDBConnectionIdentifier);
+ WebIDBConnectionToClient(IPC::Connection&, WebCore::IDBConnectionIdentifier);
virtual ~WebIDBConnectionToClient();
@@ -68,44 +53,10 @@
WebCore::IDBServer::IDBConnectionToClient& connectionToClient();
WebCore::IDBConnectionIdentifier identifier() const final { return m_identifier; }
- void didReceiveMessage(IPC::Connection&, IPC::Decoder&);
- void disconnectedFromWebProcess();
-
private:
IPC::Connection* messageSenderConnection() const final;
uint64_t messageSenderDestinationID() const final { return 0; }
- // Messages received from WebProcess
- void deleteDatabase(const WebCore::IDBRequestData&);
- void openDatabase(const WebCore::IDBRequestData&);
- void abortTransaction(const WebCore::IDBResourceIdentifier&);
- void commitTransaction(const WebCore::IDBResourceIdentifier&);
- void didFinishHandlingVersionChangeTransaction(uint64_t databaseConnectionIdentifier, const WebCore::IDBResourceIdentifier&);
- void createObjectStore(const WebCore::IDBRequestData&, const WebCore::IDBObjectStoreInfo&);
- void deleteObjectStore(const WebCore::IDBRequestData&, const String& objectStoreName);
- void renameObjectStore(const WebCore::IDBRequestData&, uint64_t objectStoreIdentifier, const String& newName);
- void clearObjectStore(const WebCore::IDBRequestData&, uint64_t objectStoreIdentifier);
- void createIndex(const WebCore::IDBRequestData&, const WebCore::IDBIndexInfo&);
- void deleteIndex(const WebCore::IDBRequestData&, uint64_t objectStoreIdentifier, const String& indexName);
- void renameIndex(const WebCore::IDBRequestData&, uint64_t objectStoreIdentifier, uint64_t indexIdentifier, const String& newName);
- void putOrAdd(const WebCore::IDBRequestData&, const WebCore::IDBKeyData&, const WebCore::IDBValue&, WebCore::IndexedDB::ObjectStoreOverwriteMode);
- void getRecord(const WebCore::IDBRequestData&, const WebCore::IDBGetRecordData&);
- void getAllRecords(const WebCore::IDBRequestData&, const WebCore::IDBGetAllRecordsData&);
- void getCount(const WebCore::IDBRequestData&, const WebCore::IDBKeyRangeData&);
- void deleteRecord(const WebCore::IDBRequestData&, const WebCore::IDBKeyRangeData&);
- void openCursor(const WebCore::IDBRequestData&, const WebCore::IDBCursorInfo&);
- void iterateCursor(const WebCore::IDBRequestData&, const WebCore::IDBIterateCursorData&);
-
- void establishTransaction(uint64_t databaseConnectionIdentifier, const WebCore::IDBTransactionInfo&);
- void databaseConnectionPendingClose(uint64_t databaseConnectionIdentifier);
- void databaseConnectionClosed(uint64_t databaseConnectionIdentifier);
- void abortOpenAndUpgradeNeeded(uint64_t databaseConnectionIdentifier, const WebCore::IDBResourceIdentifier& transactionIdentifier);
- void didFireVersionChangeEvent(uint64_t databaseConnectionIdentifier, const WebCore::IDBResourceIdentifier& requestIdentifier, WebCore::IndexedDB::ConnectionClosedOnBehalfOfServer);
- void openDBRequestCancelled(const WebCore::IDBRequestData&);
- void confirmDidCloseFromServer(uint64_t databaseConnectionIdentifier);
-
- void getAllDatabaseNames(const WebCore::SecurityOriginData& topOrigin, const WebCore::SecurityOriginData& openingOrigin, uint64_t callbackID);
-
// IDBConnectionToClientDelegate
void didDeleteDatabase(const WebCore::IDBResultData&) final;
void didOpenDatabase(const WebCore::IDBResultData&) final;
@@ -135,9 +86,7 @@
template<class MessageType> void handleGetResult(const WebCore::IDBResultData&);
- WebIDBServer& idbServer();
-
- NetworkConnectionToWebProcess& m_connection;
+ Ref<IPC::Connection> m_connection;
WebCore::IDBConnectionIdentifier m_identifier;
Ref<WebCore::IDBServer::IDBConnectionToClient> m_connectionToClient;
};
Deleted: trunk/Source/WebKit/NetworkProcess/IndexedDB/WebIDBConnectionToClient.messages.in (253451 => 253452)
--- trunk/Source/WebKit/NetworkProcess/IndexedDB/WebIDBConnectionToClient.messages.in 2019-12-13 00:02:51 UTC (rev 253451)
+++ trunk/Source/WebKit/NetworkProcess/IndexedDB/WebIDBConnectionToClient.messages.in 2019-12-13 00:10:07 UTC (rev 253452)
@@ -1,56 +0,0 @@
-# Copyright (C) 2016 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.
-
-#if ENABLE(INDEXED_DATABASE)
-
-messages -> WebIDBConnectionToClient NotRefCounted {
- DeleteDatabase(WebCore::IDBRequestData requestData)
- OpenDatabase(WebCore::IDBRequestData requestData);
- AbortTransaction(WebCore::IDBResourceIdentifier transactionIdentifier);
- CommitTransaction(WebCore::IDBResourceIdentifier transactionIdentifier);
- DidFinishHandlingVersionChangeTransaction(uint64_t databaseConnectionIdentifier, WebCore::IDBResourceIdentifier transactionIdentifier);
- CreateObjectStore(WebCore::IDBRequestData requestData, WebCore::IDBObjectStoreInfo info);
- DeleteObjectStore(WebCore::IDBRequestData requestData, String objectStoreName);
- RenameObjectStore(WebCore::IDBRequestData requestData, uint64_t objectStoreIdentifier, String newName);
- ClearObjectStore(WebCore::IDBRequestData requestData, uint64_t objectStoreIdentifier);
- CreateIndex(WebCore::IDBRequestData requestData, WebCore::IDBIndexInfo info);
- DeleteIndex(WebCore::IDBRequestData requestData, uint64_t objectStoreIdentifier, String indexName);
- RenameIndex(WebCore::IDBRequestData requestData, uint64_t objectStoreIdentifier, uint64_t indexIdentifier, String newName);
- PutOrAdd(WebCore::IDBRequestData requestData, WebCore::IDBKeyData key, WebCore::IDBValue value, WebCore::IndexedDB::ObjectStoreOverwriteMode overwriteMode);
- GetRecord(WebCore::IDBRequestData requestData, struct WebCore::IDBGetRecordData getRecordData);
- GetAllRecords(WebCore::IDBRequestData requestData, struct WebCore::IDBGetAllRecordsData getAllRecordsData);
- GetCount(WebCore::IDBRequestData requestData, struct WebCore::IDBKeyRangeData range);
- DeleteRecord(WebCore::IDBRequestData requestData, struct WebCore::IDBKeyRangeData range);
- OpenCursor(WebCore::IDBRequestData requestData, WebCore::IDBCursorInfo info);
- IterateCursor(WebCore::IDBRequestData requestData, struct WebCore::IDBIterateCursorData data);
-
- EstablishTransaction(uint64_t databaseConnectionIdentifier, WebCore::IDBTransactionInfo info);
- DatabaseConnectionPendingClose(uint64_t databaseConnectionIdentifier);
- DatabaseConnectionClosed(uint64_t databaseConnectionIdentifier);
- AbortOpenAndUpgradeNeeded(uint64_t databaseConnectionIdentifier, WebCore::IDBResourceIdentifier transactionIdentifier);
- DidFireVersionChangeEvent(uint64_t databaseConnectionIdentifier, WebCore::IDBResourceIdentifier requestIdentifier, WebCore::IndexedDB::ConnectionClosedOnBehalfOfServer connectionClosedOnBehalfOfServer);
- OpenDBRequestCancelled(WebCore::IDBRequestData requestData);
- ConfirmDidCloseFromServer(uint64_t databaseConnectionIdentifier);
-
- GetAllDatabaseNames(struct WebCore::SecurityOriginData topOrigin, struct WebCore::SecurityOriginData openingOrigin, uint64_t callbackID);
-}
-#endif // ENABLE(INDEXED_DATABASE)
Modified: trunk/Source/WebKit/NetworkProcess/IndexedDB/WebIDBServer.cpp (253451 => 253452)
--- trunk/Source/WebKit/NetworkProcess/IndexedDB/WebIDBServer.cpp 2019-12-13 00:02:51 UTC (rev 253451)
+++ trunk/Source/WebKit/NetworkProcess/IndexedDB/WebIDBServer.cpp 2019-12-13 00:10:07 UTC (rev 253452)
@@ -269,11 +269,14 @@
m_server->openDBRequestCancelled(requestData);
}
-void WebIDBServer::getAllDatabaseNames(WebCore::IDBConnectionIdentifier serverConnectionIdentifier, const WebCore::SecurityOriginData& mainFrameOrigin, const WebCore::SecurityOriginData& openingOrigin, uint64_t callbackID)
+void WebIDBServer::getAllDatabaseNames(IPC::Connection& connection, const WebCore::SecurityOriginData& mainFrameOrigin, const WebCore::SecurityOriginData& openingOrigin, uint64_t callbackID)
{
ASSERT(RunLoop::isMain());
- m_server->getAllDatabaseNames(serverConnectionIdentifier, mainFrameOrigin, openingOrigin, callbackID);
+ auto* webIDBConnection = m_connectionMap.get(connection.uniqueID());
+ ASSERT(webIDBConnection);
+
+ m_server->getAllDatabaseNames(webIDBConnection->identifier(), mainFrameOrigin, openingOrigin, callbackID);
}
void WebIDBServer::confirmDidCloseFromServer(uint64_t databaseConnectionIdentifier)
@@ -283,5 +286,27 @@
m_server->confirmDidCloseFromServer(databaseConnectionIdentifier);
}
+void WebIDBServer::addConnection(IPC::Connection& connection, WebCore::ProcessIdentifier processIdentifier)
+{
+ ASSERT(RunLoop::isMain());
+
+ auto[iter, isNewEntry] = m_connectionMap.ensure(connection.uniqueID(), [&connection, processIdentifier] {
+ return makeUnique<WebIDBConnectionToClient>(connection, processIdentifier);
+ });
+
+ ASSERT(isNewEntry);
+
+ m_server->registerConnection(iter->value->connectionToClient());
+}
+
+void WebIDBServer::removeConnection(IPC::Connection& connection)
+{
+ auto takenConnection = m_connectionMap.take(connection.uniqueID());
+
+ ASSERT(takenConnection);
+
+ m_server->unregisterConnection(takenConnection->connectionToClient());
+}
+
} // namespace WebKit
#endif
Modified: trunk/Source/WebKit/NetworkProcess/IndexedDB/WebIDBServer.h (253451 => 253452)
--- trunk/Source/WebKit/NetworkProcess/IndexedDB/WebIDBServer.h 2019-12-13 00:02:51 UTC (rev 253451)
+++ trunk/Source/WebKit/NetworkProcess/IndexedDB/WebIDBServer.h 2019-12-13 00:10:07 UTC (rev 253452)
@@ -82,13 +82,20 @@
void didFireVersionChangeEvent(uint64_t databaseConnectionIdentifier, const WebCore::IDBResourceIdentifier& requestIdentifier, const WebCore::IndexedDB::ConnectionClosedOnBehalfOfServer);
void openDBRequestCancelled(const WebCore::IDBRequestData&);
void confirmDidCloseFromServer(uint64_t databaseConnectionIdentifier);
- void getAllDatabaseNames(WebCore::IDBConnectionIdentifier, const WebCore::SecurityOriginData&, const WebCore::SecurityOriginData&, uint64_t callbackID);
+ void getAllDatabaseNames(IPC::Connection&, const WebCore::SecurityOriginData&, const WebCore::SecurityOriginData&, uint64_t callbackID);
+ void addConnection(IPC::Connection&, WebCore::ProcessIdentifier);
+ void removeConnection(IPC::Connection&);
+
+ void didReceiveMessage(IPC::Connection&, IPC::Decoder&);
+
private:
WebIDBServer(PAL::SessionID, const String& directory, WebCore::IDBServer::IDBServer::StorageQuotaManagerSpaceRequester&&);
Ref<WebCore::IDBServer::IDBServer> m_server;
bool m_isSuspended { false };
+
+ HashMap<IPC::Connection::UniqueID, std::unique_ptr<WebIDBConnectionToClient>> m_connectionMap;
};
} // namespace WebKit
Copied: trunk/Source/WebKit/NetworkProcess/IndexedDB/WebIDBServer.messages.in (from rev 253451, trunk/Source/WebKit/NetworkProcess/IndexedDB/WebIDBConnectionToClient.messages.in) (0 => 253452)
--- trunk/Source/WebKit/NetworkProcess/IndexedDB/WebIDBServer.messages.in (rev 0)
+++ trunk/Source/WebKit/NetworkProcess/IndexedDB/WebIDBServer.messages.in 2019-12-13 00:10:07 UTC (rev 253452)
@@ -0,0 +1,57 @@
+# Copyright (C) 2019 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.
+
+#if ENABLE(INDEXED_DATABASE)
+
+messages -> WebIDBServer {
+ DeleteDatabase(WebCore::IDBRequestData requestData)
+ OpenDatabase(WebCore::IDBRequestData requestData)
+ AbortTransaction(WebCore::IDBResourceIdentifier transactionIdentifier)
+ CommitTransaction(WebCore::IDBResourceIdentifier transactionIdentifier)
+ DidFinishHandlingVersionChangeTransaction(uint64_t databaseConnectionIdentifier, WebCore::IDBResourceIdentifier transactionIdentifier)
+ CreateObjectStore(WebCore::IDBRequestData requestData, WebCore::IDBObjectStoreInfo info)
+ DeleteObjectStore(WebCore::IDBRequestData requestData, String objectStoreName)
+ RenameObjectStore(WebCore::IDBRequestData requestData, uint64_t objectStoreIdentifier, String newName)
+ ClearObjectStore(WebCore::IDBRequestData requestData, uint64_t objectStoreIdentifier)
+ CreateIndex(WebCore::IDBRequestData requestData, WebCore::IDBIndexInfo info)
+ DeleteIndex(WebCore::IDBRequestData requestData, uint64_t objectStoreIdentifier, String indexName)
+ RenameIndex(WebCore::IDBRequestData requestData, uint64_t objectStoreIdentifier, uint64_t indexIdentifier, String newName)
+ PutOrAdd(WebCore::IDBRequestData requestData, WebCore::IDBKeyData key, WebCore::IDBValue value, WebCore::IndexedDB::ObjectStoreOverwriteMode overwriteMode)
+ GetRecord(WebCore::IDBRequestData requestData, struct WebCore::IDBGetRecordData getRecordData)
+ GetAllRecords(WebCore::IDBRequestData requestData, struct WebCore::IDBGetAllRecordsData getAllRecordsData)
+ GetCount(WebCore::IDBRequestData requestData, struct WebCore::IDBKeyRangeData range)
+ DeleteRecord(WebCore::IDBRequestData requestData, struct WebCore::IDBKeyRangeData range)
+ OpenCursor(WebCore::IDBRequestData requestData, WebCore::IDBCursorInfo info)
+ IterateCursor(WebCore::IDBRequestData requestData, struct WebCore::IDBIterateCursorData data)
+
+ EstablishTransaction(uint64_t databaseConnectionIdentifier, WebCore::IDBTransactionInfo info)
+ DatabaseConnectionPendingClose(uint64_t databaseConnectionIdentifier)
+ DatabaseConnectionClosed(uint64_t databaseConnectionIdentifier)
+ AbortOpenAndUpgradeNeeded(uint64_t databaseConnectionIdentifier, WebCore::IDBResourceIdentifier transactionIdentifier)
+ DidFireVersionChangeEvent(uint64_t databaseConnectionIdentifier, WebCore::IDBResourceIdentifier requestIdentifier, WebCore::IndexedDB::ConnectionClosedOnBehalfOfServer connectionClosedOnBehalfOfServer)
+ OpenDBRequestCancelled(WebCore::IDBRequestData requestData)
+ ConfirmDidCloseFromServer(uint64_t databaseConnectionIdentifier)
+
+ GetAllDatabaseNames(struct WebCore::SecurityOriginData topOrigin, struct WebCore::SecurityOriginData openingOrigin, uint64_t callbackID) WantsConnection
+}
+
+#endif // ENABLE(INDEXED_DATABASE)
Modified: trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp (253451 => 253452)
--- trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp 2019-12-13 00:02:51 UTC (rev 253451)
+++ trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp 2019-12-13 00:10:07 UTC (rev 253452)
@@ -54,8 +54,7 @@
#include "ServiceWorkerFetchTaskMessages.h"
#include "WebCoreArgumentCoders.h"
#include "WebErrors.h"
-#include "WebIDBConnectionToClient.h"
-#include "WebIDBConnectionToClientMessages.h"
+#include "WebIDBServerMessages.h"
#include "WebProcessMessages.h"
#include "WebProcessPoolMessages.h"
#include "WebResourceLoadStatisticsStore.h"
@@ -220,9 +219,8 @@
}
#if ENABLE(INDEXED_DATABASE)
- if (decoder.messageReceiverName() == Messages::WebIDBConnectionToClient::messageReceiverName()) {
- if (m_webIDBConnection)
- m_webIDBConnection->didReceiveMessage(connection, decoder);
+ if (decoder.messageReceiverName() == Messages::WebIDBServer::messageReceiverName()) {
+ m_networkProcess->webIDBServer(m_sessionID).didReceiveMessage(connection, decoder);
return;
}
#endif
@@ -314,7 +312,7 @@
// root activity trackers.
stopAllNetworkActivityTracking();
- m_networkProcess->connectionToWebProcessClosed(connection);
+ m_networkProcess->connectionToWebProcessClosed(connection, m_sessionID);
m_networkProcess->removeNetworkConnectionToWebProcess(*this);
@@ -325,11 +323,6 @@
}
#endif
-#if ENABLE(INDEXED_DATABASE)
- if (auto idbConnection = std::exchange(m_webIDBConnection, { }))
- idbConnection->disconnectedFromWebProcess();
-#endif
-
#if ENABLE(SERVICE_WORKER)
unregisterSWConnection();
#endif
@@ -908,17 +901,7 @@
return item.resourceID == resourceID;
});
}
-
-#if ENABLE(INDEXED_DATABASE)
-void NetworkConnectionToWebProcess::establishIDBConnectionToServer()
-{
- LOG(IndexedDB, "NetworkConnectionToWebProcess::establishIDBConnectionToServer - %" PRIu64, m_sessionID.toUInt64());
- ASSERT(!m_webIDBConnection);
- m_webIDBConnection = makeUnique<WebIDBConnectionToClient>(*this, m_webProcessIdentifier);
-}
-#endif
-
#if ENABLE(SERVICE_WORKER)
void NetworkConnectionToWebProcess::unregisterSWConnection()
{
Modified: trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.h (253451 => 253452)
--- trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.h 2019-12-13 00:02:51 UTC (rev 253451)
+++ trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.h 2019-12-13 00:10:07 UTC (rev 253452)
@@ -72,7 +72,6 @@
class NetworkSession;
class NetworkSocketChannel;
class NetworkSocketStream;
-class WebIDBConnectionToClient;
class WebSWServerConnection;
class WebSWServerToContextConnection;
typedef uint64_t ResourceLoadIdentifier;
@@ -220,11 +219,6 @@
void createSocketChannel(const WebCore::ResourceRequest&, const String& protocol, uint64_t identifier);
-#if ENABLE(INDEXED_DATABASE)
- // Messages handlers (Modern IDB).
- void establishIDBConnectionToServer();
-#endif
-
#if ENABLE(SERVICE_WORKER)
void establishSWServerConnection();
void establishSWContextConnection(WebCore::RegistrableDomain&&);
@@ -335,10 +329,6 @@
RefPtr<CacheStorageEngineConnection> m_cacheStorageConnection;
-#if ENABLE(INDEXED_DATABASE)
- std::unique_ptr<WebIDBConnectionToClient> m_webIDBConnection;
-#endif
-
#if ENABLE(SERVICE_WORKER)
WeakPtr<WebSWServerConnection> m_swConnection;
std::unique_ptr<WebSWServerToContextConnection> m_swContextConnection;
Modified: trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.messages.in (253451 => 253452)
--- trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.messages.in 2019-12-13 00:02:51 UTC (rev 253451)
+++ trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.messages.in 2019-12-13 00:10:07 UTC (rev 253452)
@@ -74,10 +74,6 @@
GetNetworkLoadIntermediateInformation(uint64_t resourceLoadIdentifier) -> (Vector<WebCore::NetworkTransactionInformation> transactions) Synchronous
TakeNetworkLoadInformationMetrics(uint64_t resourceLoadIdentifier) -> (WebCore::NetworkLoadMetrics networkMetrics) Synchronous
-#if ENABLE(INDEXED_DATABASE)
- EstablishIDBConnectionToServer()
-#endif
-
#if ENABLE(SERVICE_WORKER)
EstablishSWContextConnection(WebCore::RegistrableDomain domain)
CloseSWContextConnection()
Modified: trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp (253451 => 253452)
--- trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp 2019-12-13 00:02:51 UTC (rev 253451)
+++ trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp 2019-12-13 00:10:07 UTC (rev 253452)
@@ -387,6 +387,8 @@
connection.setOnLineState(NetworkStateNotifier::singleton().onLine());
m_storageManagerSet->addConnection(connection.connection());
+
+ webIDBServer(sessionID).addConnection(connection.connection(), identifier);
}
void NetworkProcess::clearCachedCredentials()
@@ -2527,9 +2529,10 @@
});
}
-void NetworkProcess::connectionToWebProcessClosed(IPC::Connection& connection)
+void NetworkProcess::connectionToWebProcessClosed(IPC::Connection& connection, PAL::SessionID sessionID)
{
m_storageManagerSet->removeConnection(connection);
+ webIDBServer(sessionID).removeConnection(connection);
}
NetworkConnectionToWebProcess* NetworkProcess::webProcessConnection(ProcessIdentifier identifier) const
Modified: trunk/Source/WebKit/NetworkProcess/NetworkProcess.h (253451 => 253452)
--- trunk/Source/WebKit/NetworkProcess/NetworkProcess.h 2019-12-13 00:02:51 UTC (rev 253451)
+++ trunk/Source/WebKit/NetworkProcess/NetworkProcess.h 2019-12-13 00:10:07 UTC (rev 253452)
@@ -270,7 +270,7 @@
void setSessionIsControlledByAutomation(PAL::SessionID, bool);
bool sessionIsControlledByAutomation(PAL::SessionID) const;
- void connectionToWebProcessClosed(IPC::Connection&);
+ void connectionToWebProcessClosed(IPC::Connection&, PAL::SessionID);
void getLocalStorageOriginDetails(PAL::SessionID, CompletionHandler<void(Vector<LocalStorageDatabaseTracker::OriginDetails>&&)>&&);
#if ENABLE(CONTENT_EXTENSIONS)
Modified: trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj (253451 => 253452)
--- trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj 2019-12-13 00:02:51 UTC (rev 253451)
+++ trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj 2019-12-13 00:10:07 UTC (rev 253452)
@@ -932,8 +932,6 @@
4F601432155C5AA2001FBDE0 /* BlockingResponseMap.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F601430155C5A32001FBDE0 /* BlockingResponseMap.h */; };
510523741C73D38B007993CB /* WebIDBConnectionToServerMessages.h in Headers */ = {isa = PBXBuildFile; fileRef = 510523731C73D37B007993CB /* WebIDBConnectionToServerMessages.h */; };
510523751C73D38F007993CB /* WebIDBConnectionToServerMessageReceiver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 510523721C73D37B007993CB /* WebIDBConnectionToServerMessageReceiver.cpp */; };
- 510523791C73DA77007993CB /* WebIDBConnectionToClientMessageReceiver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 510523771C73DA70007993CB /* WebIDBConnectionToClientMessageReceiver.cpp */; };
- 5105237A1C73DA77007993CB /* WebIDBConnectionToClientMessages.h in Headers */ = {isa = PBXBuildFile; fileRef = 510523781C73DA70007993CB /* WebIDBConnectionToClientMessages.h */; };
5106D7C418BDBE73000AB166 /* ContextMenuContextData.h in Headers */ = {isa = PBXBuildFile; fileRef = 5106D7C018BDBE73000AB166 /* ContextMenuContextData.h */; };
510AFFBA16542048001BA05E /* WebResourceLoader.h in Headers */ = {isa = PBXBuildFile; fileRef = 510AFFB816542048001BA05E /* WebResourceLoader.h */; };
510F59101DDE296900412FF5 /* _WKIconLoadingDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 5143B25E1DDCDFD10014FAC6 /* _WKIconLoadingDelegate.h */; settings = {ATTRIBUTES = (Private, ); }; };
@@ -1295,6 +1293,8 @@
93261161214054F4000806E7 /* WebIDBConnectionToClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 939288DD21404D6C00EBBA33 /* WebIDBConnectionToClient.h */; };
933DF82E1B3BC09000AEA9E3 /* WKImagePreviewViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 933DF82D1B3BC09000AEA9E3 /* WKImagePreviewViewController.h */; };
933E835523A07C0600DEF289 /* WebIDBServer.h in Headers */ = {isa = PBXBuildFile; fileRef = 933E835323A07BF800DEF289 /* WebIDBServer.h */; };
+ 933E835A23A1AE2800DEF289 /* WebIDBServerMessages.h in Headers */ = {isa = PBXBuildFile; fileRef = 933E835923A1ADF500DEF289 /* WebIDBServerMessages.h */; };
+ 933E835B23A1B75000DEF289 /* WebIDBServerMessageReceiver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 933E835823A1ADF500DEF289 /* WebIDBServerMessageReceiver.cpp */; };
934B724419F5B9BE00AE96D6 /* WKActionMenuItemTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 934B724319F5B9BE00AE96D6 /* WKActionMenuItemTypes.h */; settings = {ATTRIBUTES = (Private, ); }; };
9356F2DC2152B6B500E6D5DF /* WebSWClientConnection.h in Headers */ = {isa = PBXBuildFile; fileRef = 517A53021F4793B200DCDC0A /* WebSWClientConnection.h */; };
9356F2DD2152B6F600E6D5DF /* WebSWServerConnection.h in Headers */ = {isa = PBXBuildFile; fileRef = 93BA04E02151ADF4007F455F /* WebSWServerConnection.h */; };
@@ -4048,6 +4048,9 @@
933DF82F1B3BC0B400AEA9E3 /* WKImagePreviewViewController.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WKImagePreviewViewController.mm; sourceTree = "<group>"; };
933E835323A07BF800DEF289 /* WebIDBServer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebIDBServer.h; sourceTree = "<group>"; };
933E835423A07BF900DEF289 /* WebIDBServer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebIDBServer.cpp; sourceTree = "<group>"; };
+ 933E835723A1A87200DEF289 /* WebIDBServer.messages.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebIDBServer.messages.in; sourceTree = "<group>"; };
+ 933E835823A1ADF500DEF289 /* WebIDBServerMessageReceiver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = WebIDBServerMessageReceiver.cpp; path = DerivedSources/WebKit2/WebIDBServerMessageReceiver.cpp; sourceTree = BUILT_PRODUCTS_DIR; };
+ 933E835923A1ADF500DEF289 /* WebIDBServerMessages.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = WebIDBServerMessages.h; path = DerivedSources/WebKit2/WebIDBServerMessages.h; sourceTree = BUILT_PRODUCTS_DIR; };
934B724319F5B9BE00AE96D6 /* WKActionMenuItemTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKActionMenuItemTypes.h; sourceTree = "<group>"; };
935EEB951277616D003322B8 /* WKBundleBackForwardList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WKBundleBackForwardList.cpp; sourceTree = "<group>"; };
935EEB961277616D003322B8 /* WKBundleBackForwardList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKBundleBackForwardList.h; sourceTree = "<group>"; };
@@ -4064,7 +4067,6 @@
9391F284121B38F500EBF7E8 /* WebFrameNetworkingContext.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebFrameNetworkingContext.mm; sourceTree = "<group>"; };
939288DD21404D6C00EBBA33 /* WebIDBConnectionToClient.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WebIDBConnectionToClient.h; sourceTree = "<group>"; };
939288E121404E1000EBBA33 /* WebIDBConnectionToClient.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebIDBConnectionToClient.cpp; sourceTree = "<group>"; };
- 939288E221404E1000EBBA33 /* WebIDBConnectionToClient.messages.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebIDBConnectionToClient.messages.in; sourceTree = "<group>"; };
9395E6891BF2C33200F49BCE /* WKPreviewElementInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKPreviewElementInfo.h; sourceTree = "<group>"; };
9395E68B1BF2C35200F49BCE /* WKPreviewElementInfo.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WKPreviewElementInfo.mm; sourceTree = "<group>"; };
939AE7651316E99C00AE06A6 /* WebCoreArgumentCoders.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebCoreArgumentCoders.cpp; sourceTree = "<group>"; };
@@ -7619,9 +7621,9 @@
children = (
939288E121404E1000EBBA33 /* WebIDBConnectionToClient.cpp */,
939288DD21404D6C00EBBA33 /* WebIDBConnectionToClient.h */,
- 939288E221404E1000EBBA33 /* WebIDBConnectionToClient.messages.in */,
933E835423A07BF900DEF289 /* WebIDBServer.cpp */,
933E835323A07BF800DEF289 /* WebIDBServer.h */,
+ 933E835723A1A87200DEF289 /* WebIDBServer.messages.in */,
);
path = IndexedDB;
sourceTree = "<group>";
@@ -9193,6 +9195,8 @@
510523781C73DA70007993CB /* WebIDBConnectionToClientMessages.h */,
510523721C73D37B007993CB /* WebIDBConnectionToServerMessageReceiver.cpp */,
510523731C73D37B007993CB /* WebIDBConnectionToServerMessages.h */,
+ 933E835823A1ADF500DEF289 /* WebIDBServerMessageReceiver.cpp */,
+ 933E835923A1ADF500DEF289 /* WebIDBServerMessages.h */,
FEDBDCD41E68D19C00A59F8F /* WebInspectorInterruptDispatcherMessageReceiver.cpp */,
FEDBDCD51E68D19C00A59F8F /* WebInspectorInterruptDispatcherMessages.h */,
1C8E2A311277852400BC7BD0 /* WebInspectorMessageReceiver.cpp */,
@@ -10202,10 +10206,10 @@
93A88B331BC6E9CD00ABA5C2 /* WebHitTestResultData.h in Headers */,
F44DFEB21E9E752F0038D196 /* WebIconUtilities.h in Headers */,
93261161214054F4000806E7 /* WebIDBConnectionToClient.h in Headers */,
- 5105237A1C73DA77007993CB /* WebIDBConnectionToClientMessages.h in Headers */,
514129941C6428BB0059E714 /* WebIDBConnectionToServer.h in Headers */,
510523741C73D38B007993CB /* WebIDBConnectionToServerMessages.h in Headers */,
933E835523A07C0600DEF289 /* WebIDBServer.h in Headers */,
+ 933E835A23A1AE2800DEF289 /* WebIDBServerMessages.h in Headers */,
BCCF6ABD12C91EF9008F9C35 /* WebImage.h in Headers */,
1C8E28201275D15400BC7BD0 /* WebInspector.h in Headers */,
BC032D8210F4378D0058C15A /* WebInspectorClient.h in Headers */,
@@ -11875,8 +11879,8 @@
CD73BA47131ACC9A00EEDED2 /* WebFullScreenManagerProxyMessageReceiver.cpp in Sources */,
BC0E606112D6BA910012A72A /* WebGeolocationManagerMessageReceiver.cpp in Sources */,
BC0E618212D6CB1D0012A72A /* WebGeolocationManagerProxyMessageReceiver.cpp in Sources */,
- 510523791C73DA77007993CB /* WebIDBConnectionToClientMessageReceiver.cpp in Sources */,
510523751C73D38F007993CB /* WebIDBConnectionToServerMessageReceiver.cpp in Sources */,
+ 933E835B23A1B75000DEF289 /* WebIDBServerMessageReceiver.cpp in Sources */,
FEDBDCD61E68D20000A59F8F /* WebInspectorInterruptDispatcherMessageReceiver.cpp in Sources */,
1C8E2A351277852400BC7BD0 /* WebInspectorMessageReceiver.cpp in Sources */,
1CA8B945127C882A00576C2B /* WebInspectorProxyMessageReceiver.cpp in Sources */,
Modified: trunk/Source/WebKit/WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.cpp (253451 => 253452)
--- trunk/Source/WebKit/WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.cpp 2019-12-13 00:02:51 UTC (rev 253451)
+++ trunk/Source/WebKit/WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.cpp 2019-12-13 00:10:07 UTC (rev 253452)
@@ -32,8 +32,8 @@
#include "NetworkConnectionToWebProcessMessages.h"
#include "NetworkProcessConnection.h"
#include "WebCoreArgumentCoders.h"
-#include "WebIDBConnectionToClientMessages.h"
#include "WebIDBResult.h"
+#include "WebIDBServerMessages.h"
#include "WebProcess.h"
#include <WebCore/IDBConnectionToServer.h>
#include <WebCore/IDBCursorInfo.h>
@@ -61,7 +61,6 @@
WebIDBConnectionToServer::WebIDBConnectionToServer()
: m_connectionToServer(IDBClient::IDBConnectionToServer::create(*this))
{
- send(Messages::NetworkConnectionToWebProcess::EstablishIDBConnectionToServer(), 0);
}
WebIDBConnectionToServer::~WebIDBConnectionToServer()
@@ -85,137 +84,137 @@
void WebIDBConnectionToServer::deleteDatabase(const IDBRequestData& requestData)
{
- send(Messages::WebIDBConnectionToClient::DeleteDatabase(requestData));
+ send(Messages::WebIDBServer::DeleteDatabase(requestData));
}
void WebIDBConnectionToServer::openDatabase(const IDBRequestData& requestData)
{
- send(Messages::WebIDBConnectionToClient::OpenDatabase(requestData));
+ send(Messages::WebIDBServer::OpenDatabase(requestData));
}
void WebIDBConnectionToServer::abortTransaction(const IDBResourceIdentifier& transactionIdentifier)
{
- send(Messages::WebIDBConnectionToClient::AbortTransaction(transactionIdentifier));
+ send(Messages::WebIDBServer::AbortTransaction(transactionIdentifier));
}
void WebIDBConnectionToServer::commitTransaction(const IDBResourceIdentifier& transactionIdentifier)
{
- send(Messages::WebIDBConnectionToClient::CommitTransaction(transactionIdentifier));
+ send(Messages::WebIDBServer::CommitTransaction(transactionIdentifier));
}
void WebIDBConnectionToServer::didFinishHandlingVersionChangeTransaction(uint64_t databaseConnectionIdentifier, const IDBResourceIdentifier& transactionIdentifier)
{
- send(Messages::WebIDBConnectionToClient::DidFinishHandlingVersionChangeTransaction(databaseConnectionIdentifier, transactionIdentifier));
+ send(Messages::WebIDBServer::DidFinishHandlingVersionChangeTransaction(databaseConnectionIdentifier, transactionIdentifier));
}
void WebIDBConnectionToServer::createObjectStore(const IDBRequestData& requestData, const IDBObjectStoreInfo& info)
{
- send(Messages::WebIDBConnectionToClient::CreateObjectStore(requestData, info));
+ send(Messages::WebIDBServer::CreateObjectStore(requestData, info));
}
void WebIDBConnectionToServer::deleteObjectStore(const IDBRequestData& requestData, const String& objectStoreName)
{
- send(Messages::WebIDBConnectionToClient::DeleteObjectStore(requestData, objectStoreName));
+ send(Messages::WebIDBServer::DeleteObjectStore(requestData, objectStoreName));
}
void WebIDBConnectionToServer::renameObjectStore(const IDBRequestData& requestData, uint64_t objectStoreIdentifier, const String& newName)
{
- send(Messages::WebIDBConnectionToClient::RenameObjectStore(requestData, objectStoreIdentifier, newName));
+ send(Messages::WebIDBServer::RenameObjectStore(requestData, objectStoreIdentifier, newName));
}
void WebIDBConnectionToServer::clearObjectStore(const IDBRequestData& requestData, uint64_t objectStoreIdentifier)
{
- send(Messages::WebIDBConnectionToClient::ClearObjectStore(requestData, objectStoreIdentifier));
+ send(Messages::WebIDBServer::ClearObjectStore(requestData, objectStoreIdentifier));
}
void WebIDBConnectionToServer::createIndex(const IDBRequestData& requestData, const IDBIndexInfo& info)
{
- send(Messages::WebIDBConnectionToClient::CreateIndex(requestData, info));
+ send(Messages::WebIDBServer::CreateIndex(requestData, info));
}
void WebIDBConnectionToServer::deleteIndex(const IDBRequestData& requestData, uint64_t objectStoreIdentifier, const String& indexName)
{
- send(Messages::WebIDBConnectionToClient::DeleteIndex(requestData, objectStoreIdentifier, indexName));
+ send(Messages::WebIDBServer::DeleteIndex(requestData, objectStoreIdentifier, indexName));
}
void WebIDBConnectionToServer::renameIndex(const IDBRequestData& requestData, uint64_t objectStoreIdentifier, uint64_t indexIdentifier, const String& newName)
{
- send(Messages::WebIDBConnectionToClient::RenameIndex(requestData, objectStoreIdentifier, indexIdentifier, newName));
+ send(Messages::WebIDBServer::RenameIndex(requestData, objectStoreIdentifier, indexIdentifier, newName));
}
void WebIDBConnectionToServer::putOrAdd(const IDBRequestData& requestData, const IDBKeyData& keyData, const IDBValue& value, const IndexedDB::ObjectStoreOverwriteMode mode)
{
- send(Messages::WebIDBConnectionToClient::PutOrAdd(requestData, keyData, value, mode));
+ send(Messages::WebIDBServer::PutOrAdd(requestData, keyData, value, mode));
}
void WebIDBConnectionToServer::getRecord(const IDBRequestData& requestData, const IDBGetRecordData& getRecordData)
{
- send(Messages::WebIDBConnectionToClient::GetRecord(requestData, getRecordData));
+ send(Messages::WebIDBServer::GetRecord(requestData, getRecordData));
}
void WebIDBConnectionToServer::getAllRecords(const IDBRequestData& requestData, const IDBGetAllRecordsData& getAllRecordsData)
{
- send(Messages::WebIDBConnectionToClient::GetAllRecords(requestData, getAllRecordsData));
+ send(Messages::WebIDBServer::GetAllRecords(requestData, getAllRecordsData));
}
void WebIDBConnectionToServer::getCount(const IDBRequestData& requestData, const IDBKeyRangeData& range)
{
- send(Messages::WebIDBConnectionToClient::GetCount(requestData, range));
+ send(Messages::WebIDBServer::GetCount(requestData, range));
}
void WebIDBConnectionToServer::deleteRecord(const IDBRequestData& requestData, const IDBKeyRangeData& range)
{
- send(Messages::WebIDBConnectionToClient::DeleteRecord(requestData, range));
+ send(Messages::WebIDBServer::DeleteRecord(requestData, range));
}
void WebIDBConnectionToServer::openCursor(const IDBRequestData& requestData, const IDBCursorInfo& info)
{
- send(Messages::WebIDBConnectionToClient::OpenCursor(requestData, info));
+ send(Messages::WebIDBServer::OpenCursor(requestData, info));
}
void WebIDBConnectionToServer::iterateCursor(const IDBRequestData& requestData, const IDBIterateCursorData& data)
{
- send(Messages::WebIDBConnectionToClient::IterateCursor(requestData, data));
+ send(Messages::WebIDBServer::IterateCursor(requestData, data));
}
void WebIDBConnectionToServer::establishTransaction(uint64_t databaseConnectionIdentifier, const IDBTransactionInfo& info)
{
- send(Messages::WebIDBConnectionToClient::EstablishTransaction(databaseConnectionIdentifier, info));
+ send(Messages::WebIDBServer::EstablishTransaction(databaseConnectionIdentifier, info));
}
void WebIDBConnectionToServer::databaseConnectionPendingClose(uint64_t databaseConnectionIdentifier)
{
- send(Messages::WebIDBConnectionToClient::DatabaseConnectionPendingClose(databaseConnectionIdentifier));
+ send(Messages::WebIDBServer::DatabaseConnectionPendingClose(databaseConnectionIdentifier));
}
void WebIDBConnectionToServer::databaseConnectionClosed(uint64_t databaseConnectionIdentifier)
{
- send(Messages::WebIDBConnectionToClient::DatabaseConnectionClosed(databaseConnectionIdentifier));
+ send(Messages::WebIDBServer::DatabaseConnectionClosed(databaseConnectionIdentifier));
}
void WebIDBConnectionToServer::abortOpenAndUpgradeNeeded(uint64_t databaseConnectionIdentifier, const IDBResourceIdentifier& transactionIdentifier)
{
- send(Messages::WebIDBConnectionToClient::AbortOpenAndUpgradeNeeded(databaseConnectionIdentifier, transactionIdentifier));
+ send(Messages::WebIDBServer::AbortOpenAndUpgradeNeeded(databaseConnectionIdentifier, transactionIdentifier));
}
void WebIDBConnectionToServer::didFireVersionChangeEvent(uint64_t databaseConnectionIdentifier, const IDBResourceIdentifier& requestIdentifier, const IndexedDB::ConnectionClosedOnBehalfOfServer connectionClosed)
{
- send(Messages::WebIDBConnectionToClient::DidFireVersionChangeEvent(databaseConnectionIdentifier, requestIdentifier, connectionClosed));
+ send(Messages::WebIDBServer::DidFireVersionChangeEvent(databaseConnectionIdentifier, requestIdentifier, connectionClosed));
}
void WebIDBConnectionToServer::openDBRequestCancelled(const IDBRequestData& requestData)
{
- send(Messages::WebIDBConnectionToClient::OpenDBRequestCancelled(requestData));
+ send(Messages::WebIDBServer::OpenDBRequestCancelled(requestData));
}
void WebIDBConnectionToServer::confirmDidCloseFromServer(uint64_t databaseConnectionIdentifier)
{
- send(Messages::WebIDBConnectionToClient::ConfirmDidCloseFromServer(databaseConnectionIdentifier));
+ send(Messages::WebIDBServer::ConfirmDidCloseFromServer(databaseConnectionIdentifier));
}
void WebIDBConnectionToServer::getAllDatabaseNames(const WebCore::SecurityOriginData& topOrigin, const WebCore::SecurityOriginData& openingOrigin, uint64_t callbackID)
{
- send(Messages::WebIDBConnectionToClient::GetAllDatabaseNames(topOrigin, openingOrigin, callbackID));
+ send(Messages::WebIDBServer::GetAllDatabaseNames(topOrigin, openingOrigin, callbackID));
}
void WebIDBConnectionToServer::didDeleteDatabase(const IDBResultData& result)