Permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
MessagePort is not always destroyed in the right thread
https://bugs.webkit.org/show_bug.cgi?id=183053 Patch by Youenn Fablet <youenn@apple.com> on 2018-02-26 Reviewed by Chris Dumez. Source/WebCore: Make existingMessagePortForIdentifier take a lambda so that we hold the lock until there is no longer a need to keep the MessagePort around. This is very time sensitive and does not happen a lot when running WPT tests. Update existing call sites to pass a lambda. * dom/MessagePort.cpp: (WebCore::MessagePort::existingMessagePortForIdentifier): * dom/MessagePort.h: * dom/messageports/MessagePortChannelProviderImpl.cpp: (WebCore::MessagePortChannelProviderImpl::postMessageToRemote): (WebCore::MessagePortChannelProviderImpl::checkProcessLocalPortForActivity): Source/WebKit: Update code to pass a lambda to MessagePort::existingMessagePortForIdentifier. * WebProcess/WebCoreSupport/WebMessagePortChannelProvider.cpp: (WebKit::WebMessagePortChannelProvider::checkProcessLocalPortForActivity): * WebProcess/WebProcess.cpp: (WebKit::WebProcess::messagesAvailableForPort): Canonical link: https://commits.webkit.org/198848@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@229028 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- Loading branch information
Showing
with
54 additions
and 26 deletions.
- +20 −0 Source/WebCore/ChangeLog
- +12 −8 Source/WebCore/dom/MessagePort.cpp
- +3 −1 Source/WebCore/dom/MessagePort.h
- +3 −12 Source/WebCore/dom/messageports/MessagePortChannelProviderImpl.cpp
- +14 −0 Source/WebKit/ChangeLog
- +1 −2 Source/WebKit/WebProcess/WebCoreSupport/WebMessagePortChannelProvider.cpp
- +1 −3 Source/WebKit/WebProcess/WebProcess.cpp
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters