Diff
Modified: trunk/Source/WebCore/ChangeLog (249636 => 249637)
--- trunk/Source/WebCore/ChangeLog 2019-09-09 08:43:21 UTC (rev 249636)
+++ trunk/Source/WebCore/ChangeLog 2019-09-09 08:50:50 UTC (rev 249637)
@@ -1,3 +1,34 @@
+2019-09-09 Youenn Fablet <[email protected]>
+
+ Move checkProcessLocalPortForActivity from provider to registry
+ https://bugs.webkit.org/show_bug.cgi?id=201400
+
+ Reviewed by Alex Christensen.
+
+ Update the registry to take a callback that is used to implement checkProcessLocalPortForActivity.
+ This allows WK1 and WK2 to have their own implementation.
+
+ Make the call to checkProcessLocalPortForActivity directly on the registry.
+ Remove unneeded worker checkProcessLocalPortForActivity method.
+ No change of behavior.
+
+ * dom/messageports/MessagePortChannel.cpp:
+ (WebCore::MessagePortChannel::checkRemotePortForActivity):
+ * dom/messageports/MessagePortChannelProvider.h:
+ * dom/messageports/MessagePortChannelProviderImpl.cpp:
+ (WebCore::createMessagePortChannelRegistry):
+ (WebCore::MessagePortChannelProviderImpl::MessagePortChannelProviderImpl):
+ (WebCore::MessagePortChannelProviderImpl::checkProcessLocalPortForActivity): Deleted.
+ * dom/messageports/MessagePortChannelProviderImpl.h:
+ * dom/messageports/MessagePortChannelRegistry.cpp:
+ (WebCore::MessagePortChannelRegistry::MessagePortChannelRegistry):
+ (WebCore::MessagePortChannelRegistry::checkProcessLocalPortForActivity):
+ * dom/messageports/MessagePortChannelRegistry.h:
+ (WebCore::MessagePortChannelRegistry::provider): Deleted.
+ * dom/messageports/WorkerMessagePortChannelProvider.cpp:
+ (WebCore::WorkerMessagePortChannelProvider::checkProcessLocalPortForActivity): Deleted.
+ * dom/messageports/WorkerMessagePortChannelProvider.h:
+
2019-09-08 Saam Barati <[email protected]>
[WHLSL] Add back a version of the property resolver
Modified: trunk/Source/WebCore/dom/messageports/MessagePortChannel.cpp (249636 => 249637)
--- trunk/Source/WebCore/dom/messageports/MessagePortChannel.cpp 2019-09-09 08:43:21 UTC (rev 249636)
+++ trunk/Source/WebCore/dom/messageports/MessagePortChannel.cpp 2019-09-09 08:50:50 UTC (rev 249637)
@@ -221,7 +221,7 @@
callback(hasActivity);
};
- m_registry.provider().checkProcessLocalPortForActivity(remotePort, *m_processes[i], WTFMove(outerCallback));
+ m_registry.checkProcessLocalPortForActivity(remotePort, *m_processes[i], WTFMove(outerCallback));
}
bool MessagePortChannel::hasAnyMessagesPendingOrInFlight() const
Modified: trunk/Source/WebCore/dom/messageports/MessagePortChannelProvider.h (249636 => 249637)
--- trunk/Source/WebCore/dom/messageports/MessagePortChannelProvider.h 2019-09-09 08:43:21 UTC (rev 249636)
+++ trunk/Source/WebCore/dom/messageports/MessagePortChannelProvider.h 2019-09-09 08:50:50 UTC (rev 249637)
@@ -59,9 +59,6 @@
};
virtual void checkRemotePortForActivity(const MessagePortIdentifier& remoteTarget, CompletionHandler<void(HasActivity)>&& callback) = 0;
- // Operations that the coordinating process performs (e.g. the UIProcess)
- virtual void checkProcessLocalPortForActivity(const MessagePortIdentifier&, ProcessIdentifier, CompletionHandler<void(HasActivity)>&&) = 0;
-
private:
};
Modified: trunk/Source/WebCore/dom/messageports/MessagePortChannelProviderImpl.cpp (249636 => 249637)
--- trunk/Source/WebCore/dom/messageports/MessagePortChannelProviderImpl.cpp 2019-09-09 08:43:21 UTC (rev 249636)
+++ trunk/Source/WebCore/dom/messageports/MessagePortChannelProviderImpl.cpp 2019-09-09 08:50:50 UTC (rev 249637)
@@ -32,8 +32,16 @@
namespace WebCore {
+static inline MessagePortChannelRegistry::CheckProcessLocalPortForActivityCallback checkActivityCallback()
+{
+ return [](auto& messagePortIdentifier, auto, auto&& callback) {
+ ASSERT(isMainThread());
+ callback(MessagePort::isExistingMessagePortLocallyReachable(messagePortIdentifier) ? MessagePortChannelProvider::HasActivity::Yes : MessagePortChannelProvider::HasActivity::No);
+ };
+}
+
MessagePortChannelProviderImpl::MessagePortChannelProviderImpl()
- : m_registry(*this)
+ : m_registry(checkActivityCallback())
{
}
@@ -111,11 +119,4 @@
});
}
-void MessagePortChannelProviderImpl::checkProcessLocalPortForActivity(const MessagePortIdentifier& identifier, ProcessIdentifier, CompletionHandler<void(HasActivity)>&& callback)
-{
- ASSERT(isMainThread());
-
- callback(MessagePort::isExistingMessagePortLocallyReachable(identifier) ? HasActivity::Yes : HasActivity::No);
-}
-
} // namespace WebCore
Modified: trunk/Source/WebCore/dom/messageports/MessagePortChannelProviderImpl.h (249636 => 249637)
--- trunk/Source/WebCore/dom/messageports/MessagePortChannelProviderImpl.h 2019-09-09 08:43:21 UTC (rev 249636)
+++ trunk/Source/WebCore/dom/messageports/MessagePortChannelProviderImpl.h 2019-09-09 08:50:50 UTC (rev 249637)
@@ -44,8 +44,6 @@
void takeAllMessagesForPort(const MessagePortIdentifier&, CompletionHandler<void(Vector<MessageWithMessagePorts>&&, Function<void()>&&)>&&) final;
void checkRemotePortForActivity(const MessagePortIdentifier& remoteTarget, CompletionHandler<void(HasActivity)>&& callback) final;
- void checkProcessLocalPortForActivity(const MessagePortIdentifier&, ProcessIdentifier, CompletionHandler<void(HasActivity)>&&) final;
-
void performActionOnMainThread(Function<void()>&&);
MessagePortChannelRegistry m_registry;
Modified: trunk/Source/WebCore/dom/messageports/MessagePortChannelRegistry.cpp (249636 => 249637)
--- trunk/Source/WebCore/dom/messageports/MessagePortChannelRegistry.cpp 2019-09-09 08:43:21 UTC (rev 249636)
+++ trunk/Source/WebCore/dom/messageports/MessagePortChannelRegistry.cpp 2019-09-09 08:50:50 UTC (rev 249637)
@@ -32,8 +32,8 @@
namespace WebCore {
-MessagePortChannelRegistry::MessagePortChannelRegistry(MessagePortChannelProvider& provider)
- : m_provider(provider)
+MessagePortChannelRegistry::MessagePortChannelRegistry(CheckProcessLocalPortForActivityCallback&& checkProcessLocalPortForActivityCallback)
+ : m_checkProcessLocalPortForActivityCallback(WTFMove(checkProcessLocalPortForActivityCallback))
{
}
@@ -178,4 +178,9 @@
return m_openChannels.get(port);
}
+void MessagePortChannelRegistry::checkProcessLocalPortForActivity(const MessagePortIdentifier& messagePortIdentifier, ProcessIdentifier processIdentifier, CompletionHandler<void(MessagePortChannelProvider::HasActivity)>&& callback)
+{
+ m_checkProcessLocalPortForActivityCallback(messagePortIdentifier, processIdentifier, WTFMove(callback));
+}
+
} // namespace WebCore
Modified: trunk/Source/WebCore/dom/messageports/MessagePortChannelRegistry.h (249636 => 249637)
--- trunk/Source/WebCore/dom/messageports/MessagePortChannelRegistry.h 2019-09-09 08:43:21 UTC (rev 249636)
+++ trunk/Source/WebCore/dom/messageports/MessagePortChannelRegistry.h 2019-09-09 08:50:50 UTC (rev 249637)
@@ -35,7 +35,9 @@
class MessagePortChannelRegistry {
public:
- WEBCORE_EXPORT MessagePortChannelRegistry(MessagePortChannelProvider&);
+ using CheckProcessLocalPortForActivityCallback = Function<void(const MessagePortIdentifier&, ProcessIdentifier, CompletionHandler<void(MessagePortChannelProvider::HasActivity)>&&)>;
+ WEBCORE_EXPORT explicit MessagePortChannelRegistry(CheckProcessLocalPortForActivityCallback&&);
+
WEBCORE_EXPORT ~MessagePortChannelRegistry();
WEBCORE_EXPORT void didCreateMessagePortChannel(const MessagePortIdentifier& port1, const MessagePortIdentifier& port2);
@@ -51,12 +53,11 @@
WEBCORE_EXPORT void messagePortChannelCreated(MessagePortChannel&);
WEBCORE_EXPORT void messagePortChannelDestroyed(MessagePortChannel&);
- MessagePortChannelProvider& provider() { return m_provider; }
+ void checkProcessLocalPortForActivity(const MessagePortIdentifier&, ProcessIdentifier, CompletionHandler<void(MessagePortChannelProvider::HasActivity)>&&);
private:
HashMap<MessagePortIdentifier, MessagePortChannel*> m_openChannels;
- MessagePortChannelProvider& m_provider;
-
+ CheckProcessLocalPortForActivityCallback m_checkProcessLocalPortForActivityCallback;
};
} // namespace WebCore
Modified: trunk/Source/WebCore/dom/messageports/WorkerMessagePortChannelProvider.cpp (249636 => 249637)
--- trunk/Source/WebCore/dom/messageports/WorkerMessagePortChannelProvider.cpp 2019-09-09 08:43:21 UTC (rev 249636)
+++ trunk/Source/WebCore/dom/messageports/WorkerMessagePortChannelProvider.cpp 2019-09-09 08:50:50 UTC (rev 249637)
@@ -120,19 +120,4 @@
});
}
-void WorkerMessagePortChannelProvider::checkProcessLocalPortForActivity(const MessagePortIdentifier& identifier, ProcessIdentifier processIdentifier, CompletionHandler<void(HasActivity)>&& callback)
-{
- uint64_t callbackIdentifier = ++m_lastCallbackIdentifier;
- m_activityCallbacks.add(callbackIdentifier, WTFMove(callback));
-
- callOnMainThread([this, workerThread = makeRef(m_scope.thread()), callbackIdentifier, identifier, processIdentifier]() mutable {
- MessagePortChannelProvider::singleton().checkProcessLocalPortForActivity(identifier, processIdentifier, [this, workerThread = WTFMove(workerThread), callbackIdentifier](auto hasActivity) {
- workerThread->runLoop().postTaskForMode([this, callbackIdentifier, hasActivity](auto& scope) mutable {
- ASSERT_UNUSED(scope, this == &downcast<WorkerGlobalScope>(scope).messagePortChannelProvider());
- m_activityCallbacks.take(callbackIdentifier)(hasActivity);
- }, WorkerRunLoop::defaultMode());
- });
- });
-}
-
} // namespace WebCore
Modified: trunk/Source/WebCore/dom/messageports/WorkerMessagePortChannelProvider.h (249636 => 249637)
--- trunk/Source/WebCore/dom/messageports/WorkerMessagePortChannelProvider.h 2019-09-09 08:43:21 UTC (rev 249636)
+++ trunk/Source/WebCore/dom/messageports/WorkerMessagePortChannelProvider.h 2019-09-09 08:50:50 UTC (rev 249637)
@@ -49,8 +49,6 @@
void takeAllMessagesForPort(const MessagePortIdentifier&, CompletionHandler<void(Vector<MessageWithMessagePorts>&&, Function<void()>&&)>&&) final;
void checkRemotePortForActivity(const MessagePortIdentifier& remoteTarget, CompletionHandler<void(HasActivity)>&& callback) final;
- void checkProcessLocalPortForActivity(const MessagePortIdentifier&, ProcessIdentifier, CompletionHandler<void(HasActivity)>&&) final;
-
WorkerGlobalScope& m_scope;
uint64_t m_lastCallbackIdentifier { 0 };
Modified: trunk/Source/WebKit/ChangeLog (249636 => 249637)
--- trunk/Source/WebKit/ChangeLog 2019-09-09 08:43:21 UTC (rev 249636)
+++ trunk/Source/WebKit/ChangeLog 2019-09-09 08:50:50 UTC (rev 249637)
@@ -1,3 +1,28 @@
+2019-09-09 Youenn Fablet <[email protected]>
+
+ Move checkProcessLocalPortForActivity from provider to registry
+ https://bugs.webkit.org/show_bug.cgi?id=201400
+
+ Reviewed by Alex Christensen.
+
+ Implement registry callback at NetworkProcess level.
+ Remove NetworkMessagePortChannelProvider since only a registry is now needed.
+
+ * NetworkProcess/NetworkConnectionToWebProcess.cpp:
+ * NetworkProcess/NetworkMessagePortChannelProvider.cpp: Removed.
+ * NetworkProcess/NetworkMessagePortChannelProvider.h: Removed.
+ * NetworkProcess/NetworkProcess.cpp:
+ (WebKit::createMessagePortChannelRegistry):
+ (WebKit::m_messagePortChannelRegistry):
+ (WebKit::m_messagePortChannelProvider): Deleted.
+ * NetworkProcess/NetworkProcess.h:
+ (WebKit::NetworkProcess::messagePortChannelRegistry):
+ * Sources.txt:
+ * WebKit.xcodeproj/project.pbxproj:
+ * WebProcess/WebCoreSupport/WebMessagePortChannelProvider.cpp:
+ (WebKit::WebMessagePortChannelProvider::checkProcessLocalPortForActivity): Deleted.
+ * WebProcess/WebCoreSupport/WebMessagePortChannelProvider.h:
+
2019-09-08 David Quesada <[email protected]>
Remove some unused constants in VersionChecks.h
Modified: trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp (249636 => 249637)
--- trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp 2019-09-09 08:43:21 UTC (rev 249636)
+++ trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp 2019-09-09 08:50:50 UTC (rev 249637)
@@ -31,7 +31,6 @@
#include "DataReference.h"
#include "NetworkCache.h"
#include "NetworkMDNSRegisterMessages.h"
-#include "NetworkMessagePortChannelProvider.h"
#include "NetworkProcess.h"
#include "NetworkProcessConnectionMessages.h"
#include "NetworkProcessMessages.h"
Deleted: trunk/Source/WebKit/NetworkProcess/NetworkMessagePortChannelProvider.cpp (249636 => 249637)
--- trunk/Source/WebKit/NetworkProcess/NetworkMessagePortChannelProvider.cpp 2019-09-09 08:43:21 UTC (rev 249636)
+++ trunk/Source/WebKit/NetworkProcess/NetworkMessagePortChannelProvider.cpp 2019-09-09 08:50:50 UTC (rev 249637)
@@ -1,94 +0,0 @@
-/*
- * Copyright (C) 2018-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.
- */
-
-#include "config.h"
-#include "NetworkMessagePortChannelProvider.h"
-
-#include "NetworkConnectionToWebProcess.h"
-#include "NetworkProcess.h"
-
-namespace WebKit {
-using namespace WebCore;
-
-NetworkMessagePortChannelProvider::NetworkMessagePortChannelProvider(NetworkProcess& networkProcess)
- : m_networkProcess(networkProcess)
- , m_registry(*this)
-{
-}
-
-void NetworkMessagePortChannelProvider::createNewMessagePortChannel(const MessagePortIdentifier&, const MessagePortIdentifier&)
-{
- // Should never be called in the UI process provider.
- ASSERT_NOT_REACHED();
-}
-
-void NetworkMessagePortChannelProvider::entangleLocalPortInThisProcessToRemote(const MessagePortIdentifier&, const MessagePortIdentifier&)
-{
- // Should never be called in the UI process provider.
- ASSERT_NOT_REACHED();
-}
-
-void NetworkMessagePortChannelProvider::messagePortDisentangled(const MessagePortIdentifier&)
-{
- // Should never be called in the UI process provider.
- ASSERT_NOT_REACHED();
-}
-
-void NetworkMessagePortChannelProvider::messagePortClosed(const MessagePortIdentifier&)
-{
- // Should never be called in the UI process provider.
- ASSERT_NOT_REACHED();
-}
-
-void NetworkMessagePortChannelProvider::takeAllMessagesForPort(const MessagePortIdentifier&, CompletionHandler<void(Vector<MessageWithMessagePorts>&&, Function<void()>&&)>&&)
-{
- // Should never be called in the UI process provider.
- ASSERT_NOT_REACHED();
-}
-
-void NetworkMessagePortChannelProvider::postMessageToRemote(const MessageWithMessagePorts&, const MessagePortIdentifier&)
-{
- // Should never be called in the UI process provider.
- ASSERT_NOT_REACHED();
-}
-
-void NetworkMessagePortChannelProvider::checkRemotePortForActivity(const MessagePortIdentifier&, CompletionHandler<void(HasActivity)>&&)
-{
- // Should never be called in the UI process provider.
- ASSERT_NOT_REACHED();
-}
-
-void NetworkMessagePortChannelProvider::checkProcessLocalPortForActivity(const MessagePortIdentifier& port, ProcessIdentifier processIdentifier, CompletionHandler<void(HasActivity)>&& completionHandler)
-{
- auto* connection = m_networkProcess.webProcessConnection(processIdentifier);
- if (!connection) {
- completionHandler(HasActivity::No);
- return;
- }
-
- connection->checkProcessLocalPortForActivity(port, WTFMove(completionHandler));
-}
-
-} // namespace WebKit
Deleted: trunk/Source/WebKit/NetworkProcess/NetworkMessagePortChannelProvider.h (249636 => 249637)
--- trunk/Source/WebKit/NetworkProcess/NetworkMessagePortChannelProvider.h 2019-09-09 08:43:21 UTC (rev 249636)
+++ trunk/Source/WebKit/NetworkProcess/NetworkMessagePortChannelProvider.h 2019-09-09 08:50:50 UTC (rev 249637)
@@ -1,55 +0,0 @@
-/*
- * Copyright (C) 2018-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.
- */
-
-#pragma once
-
-#include <WebCore/MessagePortChannelProvider.h>
-#include <WebCore/MessagePortChannelRegistry.h>
-
-namespace WebKit {
-
-class NetworkProcess;
-
-class NetworkMessagePortChannelProvider : public WebCore::MessagePortChannelProvider {
-public:
- explicit NetworkMessagePortChannelProvider(NetworkProcess&);
- WebCore::MessagePortChannelRegistry& registry() { return m_registry; }
-
-private:
- void createNewMessagePortChannel(const WebCore::MessagePortIdentifier& local, const WebCore::MessagePortIdentifier& remote) final;
- void entangleLocalPortInThisProcessToRemote(const WebCore::MessagePortIdentifier& local, const WebCore::MessagePortIdentifier& remote) final;
- void messagePortDisentangled(const WebCore::MessagePortIdentifier& local) final;
- void messagePortClosed(const WebCore::MessagePortIdentifier& local) final;
- void takeAllMessagesForPort(const WebCore::MessagePortIdentifier&, CompletionHandler<void(Vector<WebCore::MessageWithMessagePorts>&&, Function<void()>&&)>&&) final;
- void postMessageToRemote(const WebCore::MessageWithMessagePorts&, const WebCore::MessagePortIdentifier& remoteTarget) final;
-
- void checkRemotePortForActivity(const WebCore::MessagePortIdentifier& remoteTarget, CompletionHandler<void(HasActivity)>&& callback) final;
- void checkProcessLocalPortForActivity(const WebCore::MessagePortIdentifier&, WebCore::ProcessIdentifier, CompletionHandler<void(HasActivity)>&&) final;
-
- NetworkProcess& m_networkProcess;
- WebCore::MessagePortChannelRegistry m_registry;
-};
-
-} // namespace WebKit
Modified: trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp (249636 => 249637)
--- trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp 2019-09-09 08:43:21 UTC (rev 249636)
+++ trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp 2019-09-09 08:50:50 UTC (rev 249637)
@@ -130,6 +130,19 @@
});
}
+static inline MessagePortChannelRegistry createMessagePortChannelRegistry(NetworkProcess& networkProcess)
+{
+ return MessagePortChannelRegistry { [&networkProcess](auto& messagePortIdentifier, auto processIdentifier, auto&& completionHandler) {
+ auto* connection = networkProcess.webProcessConnection(processIdentifier);
+ if (!connection) {
+ completionHandler(MessagePortChannelProvider::HasActivity::No);
+ return;
+ }
+
+ connection->checkProcessLocalPortForActivity(messagePortIdentifier, WTFMove(completionHandler));
+ } };
+}
+
NetworkProcess::NetworkProcess(AuxiliaryProcessInitializationParameters&& parameters)
: m_downloadManager(*this)
, m_storageManagerSet(StorageManagerSet::create())
@@ -139,7 +152,7 @@
#if PLATFORM(IOS_FAMILY)
, m_webSQLiteDatabaseTracker([this](bool isHoldingLockedFiles) { parentProcessConnection()->send(Messages::NetworkProcessProxy::SetIsHoldingLockedFiles(isHoldingLockedFiles), 0); })
#endif
- , m_messagePortChannelProvider(*this)
+ , m_messagePortChannelRegistry(createMessagePortChannelRegistry(*this))
{
NetworkProcessPlatformStrategies::initialize();
Modified: trunk/Source/WebKit/NetworkProcess/NetworkProcess.h (249636 => 249637)
--- trunk/Source/WebKit/NetworkProcess/NetworkProcess.h 2019-09-09 08:43:21 UTC (rev 249636)
+++ trunk/Source/WebKit/NetworkProcess/NetworkProcess.h 2019-09-09 08:50:50 UTC (rev 249637)
@@ -31,7 +31,6 @@
#include "LocalStorageDatabaseTracker.h"
#include "NetworkContentRuleListManager.h"
#include "NetworkHTTPSUpgradeChecker.h"
-#include "NetworkMessagePortChannelProvider.h"
#include "SandboxExtension.h"
#include "WebPageProxyIdentifier.h"
#include "WebResourceLoadStatisticsStore.h"
@@ -43,6 +42,7 @@
#include <WebCore/FetchIdentifier.h>
#include <WebCore/IDBKeyData.h>
#include <WebCore/IDBServer.h>
+#include <WebCore/MessagePortChannelRegistry.h>
#include <WebCore/PageIdentifier.h>
#include <WebCore/RegistrableDomain.h>
#include <WebCore/ServiceWorkerIdentifier.h>
@@ -350,7 +350,7 @@
const OptionSet<NetworkCache::CacheOption>& cacheOptions() const { return m_cacheOptions; }
NetworkConnectionToWebProcess* webProcessConnection(WebCore::ProcessIdentifier) const;
- WebCore::MessagePortChannelRegistry& messagePortChannelRegistry() { return m_messagePortChannelProvider.registry(); }
+ WebCore::MessagePortChannelRegistry& messagePortChannelRegistry() { return m_messagePortChannelRegistry; }
private:
void platformInitializeNetworkProcess(const NetworkProcessCreationParameters&);
@@ -575,7 +575,7 @@
HashMap<IPC::Connection::UniqueID, PAL::SessionID> m_sessionByConnection;
OptionSet<NetworkCache::CacheOption> m_cacheOptions;
- NetworkMessagePortChannelProvider m_messagePortChannelProvider;
+ WebCore::MessagePortChannelRegistry m_messagePortChannelRegistry;
};
} // namespace WebKit
Modified: trunk/Source/WebKit/Sources.txt (249636 => 249637)
--- trunk/Source/WebKit/Sources.txt 2019-09-09 08:43:21 UTC (rev 249636)
+++ trunk/Source/WebKit/Sources.txt 2019-09-09 08:50:50 UTC (rev 249637)
@@ -31,7 +31,6 @@
NetworkProcess/NetworkHTTPSUpgradeChecker.cpp
NetworkProcess/NetworkLoad.cpp
NetworkProcess/NetworkLoadChecker.cpp
-NetworkProcess/NetworkMessagePortChannelProvider.cpp
NetworkProcess/NetworkProcess.cpp
NetworkProcess/NetworkProcessCreationParameters.cpp
NetworkProcess/NetworkProcessPlatformStrategies.cpp
Modified: trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj (249636 => 249637)
--- trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj 2019-09-09 08:43:21 UTC (rev 249636)
+++ trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj 2019-09-09 08:50:50 UTC (rev 249637)
@@ -3093,8 +3093,6 @@
410482CB1DDD2FB500F006D0 /* RTCNetwork.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RTCNetwork.cpp; sourceTree = "<group>"; };
410482CC1DDD2FB500F006D0 /* RTCNetwork.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RTCNetwork.h; sourceTree = "<group>"; };
4111436320F677B10026F912 /* InjectUserScriptImmediately.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InjectUserScriptImmediately.h; sourceTree = "<group>"; };
- 41114A782316EC3F00B56007 /* NetworkMessagePortChannelProvider.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NetworkMessagePortChannelProvider.h; sourceTree = "<group>"; };
- 41114A792316EC3F00B56007 /* NetworkMessagePortChannelProvider.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NetworkMessagePortChannelProvider.cpp; sourceTree = "<group>"; };
411286EF21C8A90C003A8550 /* MediaCaptureUtilities.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MediaCaptureUtilities.h; sourceTree = "<group>"; };
411286F021C8A90D003A8550 /* MediaCaptureUtilities.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MediaCaptureUtilities.mm; sourceTree = "<group>"; };
4112B5471F9FD3AB00E67875 /* NetworkRTCResolver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NetworkRTCResolver.cpp; sourceTree = "<group>"; };
@@ -6767,8 +6765,6 @@
4103FBA12061BDB700C2EAF8 /* NetworkLoadChecker.h */,
83D454D61BE9D3C4006C93BD /* NetworkLoadClient.h */,
839149631BEA838500D2D953 /* NetworkLoadParameters.h */,
- 41114A792316EC3F00B56007 /* NetworkMessagePortChannelProvider.cpp */,
- 41114A782316EC3F00B56007 /* NetworkMessagePortChannelProvider.h */,
510CC7DF16138E2900D03ED3 /* NetworkProcess.cpp */,
510CC7E016138E2900D03ED3 /* NetworkProcess.h */,
51A8A6171627F5BB000D90E9 /* NetworkProcess.messages.in */,
Modified: trunk/Source/WebKit/WebProcess/WebCoreSupport/WebMessagePortChannelProvider.cpp (249636 => 249637)
--- trunk/Source/WebKit/WebProcess/WebCoreSupport/WebMessagePortChannelProvider.cpp 2019-09-09 08:43:21 UTC (rev 249636)
+++ trunk/Source/WebKit/WebProcess/WebCoreSupport/WebMessagePortChannelProvider.cpp 2019-09-09 08:50:50 UTC (rev 249637)
@@ -90,12 +90,6 @@
networkProcessConnection().send(Messages::NetworkConnectionToWebProcess::PostMessageToRemote { message, remoteTarget }, 0);
}
-void WebMessagePortChannelProvider::checkProcessLocalPortForActivity(const MessagePortIdentifier&, ProcessIdentifier, CompletionHandler<void(HasActivity)>&&)
-{
- // To be called only in the UI process provider, not the Web process provider.
- ASSERT_NOT_REACHED();
-}
-
void WebMessagePortChannelProvider::checkRemotePortForActivity(const MessagePortIdentifier& remoteTarget, CompletionHandler<void(HasActivity)>&& completionHandler)
{
networkProcessConnection().sendWithAsyncReply(Messages::NetworkConnectionToWebProcess::CheckRemotePortForActivity { remoteTarget }, [completionHandler = WTFMove(completionHandler)](bool hasActivity) mutable {
Modified: trunk/Source/WebKit/WebProcess/WebCoreSupport/WebMessagePortChannelProvider.h (249636 => 249637)
--- trunk/Source/WebKit/WebProcess/WebCoreSupport/WebMessagePortChannelProvider.h 2019-09-09 08:43:21 UTC (rev 249636)
+++ trunk/Source/WebKit/WebProcess/WebCoreSupport/WebMessagePortChannelProvider.h 2019-09-09 08:50:50 UTC (rev 249637)
@@ -44,8 +44,6 @@
void messagePortClosed(const WebCore::MessagePortIdentifier& local) final;
void takeAllMessagesForPort(const WebCore::MessagePortIdentifier&, CompletionHandler<void(Vector<WebCore::MessageWithMessagePorts>&&, Function<void()>&&)>&&) final;
void postMessageToRemote(const WebCore::MessageWithMessagePorts&, const WebCore::MessagePortIdentifier& remoteTarget) final;
- void checkProcessLocalPortForActivity(const WebCore::MessagePortIdentifier&, WebCore::ProcessIdentifier, CompletionHandler<void(HasActivity)>&&) final;
-
void checkRemotePortForActivity(const WebCore::MessagePortIdentifier& remoteTarget, CompletionHandler<void(HasActivity)>&& callback) final;
};