[webkit-changes] [WebKit/WebKit] 69660f: Simplify MessagePort garbage collection logic

Chris Dumez noreply at github.com
Tue Nov 8 10:09:50 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 69660ff46e158c50ff8248f7d10d12db74ef71ff
      https://github.com/WebKit/WebKit/commit/69660ff46e158c50ff8248f7d10d12db74ef71ff
  Author: Chris Dumez <cdumez at apple.com>
  Date:   2022-11-08 (Tue, 08 Nov 2022)

  Changed paths:
    M Source/WebCore/dom/MessagePort.cpp
    M Source/WebCore/dom/MessagePort.h
    M Source/WebCore/dom/ScriptExecutionContext.cpp
    M Source/WebCore/dom/ScriptExecutionContext.h
    M Source/WebCore/dom/messageports/MessagePortChannel.cpp
    M Source/WebCore/dom/messageports/MessagePortChannel.h
    M Source/WebCore/dom/messageports/MessagePortChannelProvider.h
    M Source/WebCore/dom/messageports/MessagePortChannelProviderImpl.cpp
    M Source/WebCore/dom/messageports/MessagePortChannelProviderImpl.h
    M Source/WebCore/dom/messageports/MessagePortChannelRegistry.cpp
    M Source/WebCore/dom/messageports/MessagePortChannelRegistry.h
    M Source/WebCore/dom/messageports/WorkerMessagePortChannelProvider.cpp
    M Source/WebCore/dom/messageports/WorkerMessagePortChannelProvider.h
    M Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp
    M Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.h
    M Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.messages.in
    M Source/WebKit/NetworkProcess/NetworkProcess.cpp
    M Source/WebKit/WebProcess/Network/NetworkProcessConnection.cpp
    M Source/WebKit/WebProcess/Network/NetworkProcessConnection.h
    M Source/WebKit/WebProcess/Network/NetworkProcessConnection.messages.in
    M Source/WebKit/WebProcess/WebCoreSupport/WebMessagePortChannelProvider.cpp
    M Source/WebKit/WebProcess/WebCoreSupport/WebMessagePortChannelProvider.h

  Log Message:
  -----------
  Simplify MessagePort garbage collection logic
https://bugs.webkit.org/show_bug.cgi?id=247528

Reviewed by Geoffrey Garen.

Simplify MessagePort garbage collection logic and align with the specification:
- https://html.spec.whatwg.org/multipage/web-messaging.html#ports-and-garbage-collection

Drop all logic to track remote port activity since this is not per specification.

* Source/WebCore/dom/MessagePort.cpp:
(WebCore::MessagePort::deref const):
(WebCore::MessagePort::postMessage):
(WebCore::MessagePort::disentangle):
(WebCore::MessagePort::messageAvailable):
(WebCore::MessagePort::start):
(WebCore::MessagePort::close):
(WebCore::MessagePort::dispatchMessages):
(WebCore::MessagePort::virtualHasPendingActivity const):
(WebCore::MessagePort::addEventListener):
(WebCore::MessagePort::isExistingMessagePortLocallyReachable): Deleted.
(WebCore::MessagePort::registerLocalActivity): Deleted.
(WebCore::MessagePort::updateActivity): Deleted.
(WebCore::MessagePort::isLocallyReachable const): Deleted.
* Source/WebCore/dom/MessagePort.h:
* Source/WebCore/dom/ScriptExecutionContext.cpp:
(WebCore::ScriptExecutionContext::~ScriptExecutionContext):
(WebCore::ScriptExecutionContext::processMessageWithMessagePortsSoon):
(WebCore::ScriptExecutionContext::dispatchMessagePortEvents):
(WebCore::ScriptExecutionContext::resumeActiveDOMObjects):
* Source/WebCore/dom/ScriptExecutionContext.h:
* Source/WebCore/dom/messageports/MessagePortChannel.cpp:
(WebCore::MessagePortChannel::checkRemotePortForActivity): Deleted.
* Source/WebCore/dom/messageports/MessagePortChannel.h:
* Source/WebCore/dom/messageports/MessagePortChannelProvider.h:
* Source/WebCore/dom/messageports/MessagePortChannelProviderImpl.cpp:
(WebCore::MessagePortChannelProviderImpl::MessagePortChannelProviderImpl):
(WebCore::checkActivityCallback): Deleted.
(WebCore::MessagePortChannelProviderImpl::checkRemotePortForActivity): Deleted.
* Source/WebCore/dom/messageports/MessagePortChannelProviderImpl.h:
* Source/WebCore/dom/messageports/MessagePortChannelRegistry.cpp:
(WebCore::MessagePortChannelRegistry::MessagePortChannelRegistry): Deleted.
(WebCore::MessagePortChannelRegistry::checkRemotePortForActivity): Deleted.
(WebCore::MessagePortChannelRegistry::checkProcessLocalPortForActivity): Deleted.
* Source/WebCore/dom/messageports/MessagePortChannelRegistry.h:
* Source/WebCore/dom/messageports/WorkerMessagePortChannelProvider.cpp:
(WebCore::WorkerMessagePortChannelProvider::~WorkerMessagePortChannelProvider):
(WebCore::WorkerMessagePortChannelProvider::checkRemotePortForActivity): Deleted.
* Source/WebCore/dom/messageports/WorkerMessagePortChannelProvider.h:
* Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::checkRemotePortForActivity): Deleted.
(WebKit::NetworkConnectionToWebProcess::checkProcessLocalPortForActivity): Deleted.
* Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.h:
* Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.messages.in:
* Source/WebKit/NetworkProcess/NetworkProcess.cpp:
(WebKit::createMessagePortChannelRegistry): Deleted.
(WebKit::m_messagePortChannelRegistry): Deleted.
* Source/WebKit/WebProcess/Network/NetworkProcessConnection.cpp:
(WebKit::NetworkProcessConnection::checkProcessLocalPortForActivity): Deleted.
* Source/WebKit/WebProcess/Network/NetworkProcessConnection.h:
* Source/WebKit/WebProcess/Network/NetworkProcessConnection.messages.in:
* Source/WebKit/WebProcess/WebCoreSupport/WebMessagePortChannelProvider.cpp:
(WebKit::WebMessagePortChannelProvider::checkRemotePortForActivity): Deleted.
* Source/WebKit/WebProcess/WebCoreSupport/WebMessagePortChannelProvider.h:

Canonical link: https://commits.webkit.org/256452@main




More information about the webkit-changes mailing list