Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: facee632ca540dd4cabc522903c54418b326656f
      
https://github.com/WebKit/WebKit/commit/facee632ca540dd4cabc522903c54418b326656f
  Author: Alex Christensen <[email protected]>
  Date:   2025-05-30 (Fri, 30 May 2025)

  Changed paths:
    M Source/WebCore/dom/MessageChannel.cpp
    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/WorkerMessagePortChannelProvider.cpp
    M Source/WebCore/dom/messageports/WorkerMessagePortChannelProvider.h
    M Source/WebKit/WebProcess/WebCoreSupport/WebMessagePortChannelProvider.cpp
    M Source/WebKit/WebProcess/WebCoreSupport/WebMessagePortChannelProvider.h
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/SiteIsolation.mm

  Log Message:
  -----------
  Fix MessageChannel with site isolation enabled
https://bugs.webkit.org/show_bug.cgi?id=293822

Reviewed by Sihui Liu.

In 255948@main we introduced a performance optimization to avoid IPC when a 
MessagePort
is in the same process as its other port.  However, with site isolation enabled 
we don't
know that the MessagePort will continue to only be used in the same process so 
this
performance optimization caused messages to be dropped when sent by the same 
process that
created the MessageChannel.  Skip the perf optimization when site isolation is 
enabled.
This is one of at least 2 fixes needed to fix rdar://145004235

* Source/WebCore/dom/MessageChannel.cpp:
(WebCore::MessageChannel::MessageChannel):
* Source/WebCore/dom/messageports/MessagePortChannelProvider.h:
* Source/WebCore/dom/messageports/MessagePortChannelProviderImpl.cpp:
(WebCore::MessagePortChannelProviderImpl::createNewMessagePortChannel):
* Source/WebCore/dom/messageports/MessagePortChannelProviderImpl.h:
* Source/WebCore/dom/messageports/WorkerMessagePortChannelProvider.cpp:
(WebCore::WorkerMessagePortChannelProvider::createNewMessagePortChannel):
* Source/WebCore/dom/messageports/WorkerMessagePortChannelProvider.h:
* Source/WebKit/WebProcess/WebCoreSupport/WebMessagePortChannelProvider.cpp:
(WebKit::WebMessagePortChannelProvider::createNewMessagePortChannel):
* Source/WebKit/WebProcess/WebCoreSupport/WebMessagePortChannelProvider.h:
* Tools/TestWebKitAPI/Tests/WebKitCocoa/SiteIsolation.mm:
(TestWebKitAPI::TEST(SiteIsolation, PostMessageWithMessagePorts)):

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to