[webkit-changes] [WebKit/WebKit] 74200f: Support move-only types in IPC messages.in, and us...
mattwoodrow
noreply at github.com
Fri Jun 2 20:10:20 PDT 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 74200f5b920190e9e8b38e95a41583447b7463cb
https://github.com/WebKit/WebKit/commit/74200f5b920190e9e8b38e95a41583447b7463cb
Author: Matt Woodrow <mattwoodrow at apple.com>
Date: 2023-06-02 (Fri, 02 Jun 2023)
Changed paths:
M Source/WebKit/Platform/IPC/StreamServerConnection.h
M Source/WebKit/Scripts/webkit/messages.py
M Source/WebKit/Scripts/webkit/messages_unittest.py
M Source/WebKit/Scripts/webkit/tests/Makefile
M Source/WebKit/Scripts/webkit/tests/MessageArgumentDescriptions.cpp
M Source/WebKit/Scripts/webkit/tests/MessageNames.cpp
M Source/WebKit/Scripts/webkit/tests/MessageNames.h
M Source/WebKit/Scripts/webkit/tests/TestWithCVPixelBufferMessages.h
M Source/WebKit/Scripts/webkit/tests/TestWithIfMessageMessages.h
M Source/WebKit/Scripts/webkit/tests/TestWithImageDataMessages.h
M Source/WebKit/Scripts/webkit/tests/TestWithLegacyReceiverMessages.h
M Source/WebKit/Scripts/webkit/tests/TestWithSemaphoreMessages.h
M Source/WebKit/Scripts/webkit/tests/TestWithStreamBatchedMessages.h
M Source/WebKit/Scripts/webkit/tests/TestWithStreamBufferMessages.h
M Source/WebKit/Scripts/webkit/tests/TestWithStreamMessages.h
A Source/WebKit/Scripts/webkit/tests/TestWithStreamServerConnectionHandle.messages.in
A Source/WebKit/Scripts/webkit/tests/TestWithStreamServerConnectionHandleMessageReceiver.cpp
A Source/WebKit/Scripts/webkit/tests/TestWithStreamServerConnectionHandleMessages.h
M Source/WebKit/Scripts/webkit/tests/TestWithSuperclassMessages.h
M Source/WebKit/Scripts/webkit/tests/TestWithoutAttributesMessages.h
M Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.cpp
M Source/WebKit/WebProcess/WebPage/IPCTestingAPI.cpp
Log Message:
-----------
Support move-only types in IPC messages.in, and use it for StreamServerConnection::Handle.
https://bugs.webkit.org/show_bug.cgi?id=257528
Reviewed by Kimmo Kinnunen.
Adds basic support to messages.py for creating rvalue references for types that are move only, and using WTFMove.
Makes StreamServerConnection::Handle move-only, since we never want to copy these (and the underlying connection state depends on their lifetime).
* Source/WebKit/Platform/IPC/StreamServerConnection.h:
(IPC::StreamServerConnection::Handle::encode):
(IPC::StreamServerConnection::Handle::decode):
(IPC::StreamServerConnection::Handle::encode const): Deleted.
* Source/WebKit/Scripts/webkit/messages.py:
(types_that_must_be_moved):
(function_parameter_type):
(arguments_constructor_name):
(message_to_struct_declaration):
* Source/WebKit/Scripts/webkit/tests/TestWithCVPixelBufferMessages.h:
(Messages::TestWithCVPixelBuffer::SendCVPixelBuffer::arguments):
(Messages::TestWithCVPixelBuffer::ReceiveCVPixelBuffer::arguments):
(Messages::TestWithCVPixelBuffer::SendCVPixelBuffer::arguments const): Deleted.
(Messages::TestWithCVPixelBuffer::ReceiveCVPixelBuffer::arguments const): Deleted.
* Source/WebKit/Scripts/webkit/tests/TestWithIfMessageMessages.h:
(Messages::TestWithIfMessage::LoadURL::arguments):
(Messages::TestWithIfMessage::LoadURL::arguments const): Deleted.
* Source/WebKit/Scripts/webkit/tests/TestWithImageDataMessages.h:
(Messages::TestWithImageData::SendImageData::arguments):
(Messages::TestWithImageData::ReceiveImageData::arguments):
(Messages::TestWithImageData::SendImageData::arguments const): Deleted.
(Messages::TestWithImageData::ReceiveImageData::arguments const): Deleted.
* Source/WebKit/Scripts/webkit/tests/TestWithLegacyReceiverMessages.h:
(Messages::TestWithLegacyReceiver::LoadURL::arguments):
(Messages::TestWithLegacyReceiver::LoadSomething::arguments):
(Messages::TestWithLegacyReceiver::TouchEvent::arguments):
(Messages::TestWithLegacyReceiver::AddEvent::arguments):
(Messages::TestWithLegacyReceiver::LoadSomethingElse::arguments):
(Messages::TestWithLegacyReceiver::DidReceivePolicyDecision::arguments):
(Messages::TestWithLegacyReceiver::Close::arguments):
(Messages::TestWithLegacyReceiver::PreferencesDidChange::arguments):
(Messages::TestWithLegacyReceiver::SendDoubleAndFloat::arguments):
(Messages::TestWithLegacyReceiver::SendInts::arguments):
(Messages::TestWithLegacyReceiver::CreatePlugin::arguments):
(Messages::TestWithLegacyReceiver::RunJavaScriptAlert::arguments):
(Messages::TestWithLegacyReceiver::GetPlugins::GetPlugins):
(Messages::TestWithLegacyReceiver::GetPlugins::arguments):
(Messages::TestWithLegacyReceiver::GetPluginProcessConnection::arguments):
(Messages::TestWithLegacyReceiver::TestMultipleAttributes::arguments):
(Messages::TestWithLegacyReceiver::TestParameterAttributes::arguments):
(Messages::TestWithLegacyReceiver::TemplateTest::arguments):
(Messages::TestWithLegacyReceiver::SetVideoLayerID::arguments):
(Messages::TestWithLegacyReceiver::DidCreateWebProcessConnection::arguments):
(Messages::TestWithLegacyReceiver::InterpretKeyEvent::arguments):
(Messages::TestWithLegacyReceiver::DeprecatedOperation::arguments):
(Messages::TestWithLegacyReceiver::ExperimentalOperation::arguments):
(Messages::TestWithLegacyReceiver::LoadURL::arguments const): Deleted.
(Messages::TestWithLegacyReceiver::LoadSomething::arguments const): Deleted.
(Messages::TestWithLegacyReceiver::TouchEvent::arguments const): Deleted.
(Messages::TestWithLegacyReceiver::AddEvent::arguments const): Deleted.
(Messages::TestWithLegacyReceiver::LoadSomethingElse::arguments const): Deleted.
(Messages::TestWithLegacyReceiver::DidReceivePolicyDecision::arguments const): Deleted.
(Messages::TestWithLegacyReceiver::Close::arguments const): Deleted.
(Messages::TestWithLegacyReceiver::PreferencesDidChange::arguments const): Deleted.
(Messages::TestWithLegacyReceiver::SendDoubleAndFloat::arguments const): Deleted.
(Messages::TestWithLegacyReceiver::SendInts::arguments const): Deleted.
(Messages::TestWithLegacyReceiver::CreatePlugin::arguments const): Deleted.
(Messages::TestWithLegacyReceiver::RunJavaScriptAlert::arguments const): Deleted.
(Messages::TestWithLegacyReceiver::GetPlugins::arguments const): Deleted.
(Messages::TestWithLegacyReceiver::GetPluginProcessConnection::arguments const): Deleted.
(Messages::TestWithLegacyReceiver::TestMultipleAttributes::arguments const): Deleted.
(Messages::TestWithLegacyReceiver::TestParameterAttributes::arguments const): Deleted.
(Messages::TestWithLegacyReceiver::TemplateTest::arguments const): Deleted.
(Messages::TestWithLegacyReceiver::SetVideoLayerID::arguments const): Deleted.
(Messages::TestWithLegacyReceiver::DidCreateWebProcessConnection::arguments const): Deleted.
(Messages::TestWithLegacyReceiver::InterpretKeyEvent::arguments const): Deleted.
(Messages::TestWithLegacyReceiver::DeprecatedOperation::arguments const): Deleted.
(Messages::TestWithLegacyReceiver::ExperimentalOperation::arguments const): Deleted.
* Source/WebKit/Scripts/webkit/tests/TestWithSemaphoreMessages.h:
(Messages::TestWithSemaphore::SendSemaphore::arguments):
(Messages::TestWithSemaphore::ReceiveSemaphore::arguments):
(Messages::TestWithSemaphore::SendSemaphore::arguments const): Deleted.
(Messages::TestWithSemaphore::ReceiveSemaphore::arguments const): Deleted.
* Source/WebKit/Scripts/webkit/tests/TestWithStreamBatchedMessages.h:
(Messages::TestWithStreamBatched::SendString::arguments):
(Messages::TestWithStreamBatched::SendString::arguments const): Deleted.
* Source/WebKit/Scripts/webkit/tests/TestWithStreamBufferMessages.h:
(Messages::TestWithStreamBuffer::SendStreamBuffer::arguments):
(Messages::TestWithStreamBuffer::SendStreamBuffer::arguments const): Deleted.
* Source/WebKit/Scripts/webkit/tests/TestWithStreamMessages.h:
(Messages::TestWithStream::SendString::arguments):
(Messages::TestWithStream::SendStringAsync::arguments):
(Messages::TestWithStream::SendStringSync::arguments):
(Messages::TestWithStream::CallWithIdentifier::arguments):
(Messages::TestWithStream::SendMachSendRight::arguments):
(Messages::TestWithStream::ReceiveMachSendRight::arguments):
(Messages::TestWithStream::SendAndReceiveMachSendRight::arguments):
(Messages::TestWithStream::SendString::arguments const): Deleted.
(Messages::TestWithStream::SendStringAsync::arguments const): Deleted.
(Messages::TestWithStream::SendStringSync::arguments const): Deleted.
(Messages::TestWithStream::CallWithIdentifier::arguments const): Deleted.
(Messages::TestWithStream::SendMachSendRight::arguments const): Deleted.
(Messages::TestWithStream::ReceiveMachSendRight::arguments const): Deleted.
(Messages::TestWithStream::SendAndReceiveMachSendRight::arguments const): Deleted.
* Source/WebKit/Scripts/webkit/tests/TestWithSuperclassMessages.h:
(Messages::TestWithSuperclass::LoadURL::arguments):
(Messages::TestWithSuperclass::TestAsyncMessage::arguments):
(Messages::TestWithSuperclass::TestAsyncMessageWithNoArguments::arguments):
(Messages::TestWithSuperclass::TestAsyncMessageWithMultipleArguments::arguments):
(Messages::TestWithSuperclass::TestAsyncMessageWithConnection::arguments):
(Messages::TestWithSuperclass::TestSyncMessage::arguments):
(Messages::TestWithSuperclass::TestSynchronousMessage::TestSynchronousMessage):
(Messages::TestWithSuperclass::TestSynchronousMessage::arguments):
(Messages::TestWithSuperclass::LoadURL::arguments const): Deleted.
(Messages::TestWithSuperclass::TestAsyncMessage::arguments const): Deleted.
(Messages::TestWithSuperclass::TestAsyncMessageWithNoArguments::arguments const): Deleted.
(Messages::TestWithSuperclass::TestAsyncMessageWithMultipleArguments::arguments const): Deleted.
(Messages::TestWithSuperclass::TestAsyncMessageWithConnection::arguments const): Deleted.
(Messages::TestWithSuperclass::TestSyncMessage::arguments const): Deleted.
(Messages::TestWithSuperclass::TestSynchronousMessage::arguments const): Deleted.
* Source/WebKit/Scripts/webkit/tests/TestWithoutAttributesMessages.h:
(Messages::TestWithoutAttributes::LoadURL::arguments):
(Messages::TestWithoutAttributes::LoadSomething::arguments):
(Messages::TestWithoutAttributes::TouchEvent::arguments):
(Messages::TestWithoutAttributes::AddEvent::arguments):
(Messages::TestWithoutAttributes::LoadSomethingElse::arguments):
(Messages::TestWithoutAttributes::DidReceivePolicyDecision::arguments):
(Messages::TestWithoutAttributes::Close::arguments):
(Messages::TestWithoutAttributes::PreferencesDidChange::arguments):
(Messages::TestWithoutAttributes::SendDoubleAndFloat::arguments):
(Messages::TestWithoutAttributes::SendInts::arguments):
(Messages::TestWithoutAttributes::CreatePlugin::arguments):
(Messages::TestWithoutAttributes::RunJavaScriptAlert::arguments):
(Messages::TestWithoutAttributes::GetPlugins::GetPlugins):
(Messages::TestWithoutAttributes::GetPlugins::arguments):
(Messages::TestWithoutAttributes::GetPluginProcessConnection::arguments):
(Messages::TestWithoutAttributes::TestMultipleAttributes::arguments):
(Messages::TestWithoutAttributes::TestParameterAttributes::arguments):
(Messages::TestWithoutAttributes::TemplateTest::arguments):
(Messages::TestWithoutAttributes::SetVideoLayerID::arguments):
(Messages::TestWithoutAttributes::DidCreateWebProcessConnection::arguments):
(Messages::TestWithoutAttributes::InterpretKeyEvent::arguments):
(Messages::TestWithoutAttributes::DeprecatedOperation::arguments):
(Messages::TestWithoutAttributes::ExperimentalOperation::arguments):
(Messages::TestWithoutAttributes::LoadURL::arguments const): Deleted.
(Messages::TestWithoutAttributes::LoadSomething::arguments const): Deleted.
(Messages::TestWithoutAttributes::TouchEvent::arguments const): Deleted.
(Messages::TestWithoutAttributes::AddEvent::arguments const): Deleted.
(Messages::TestWithoutAttributes::LoadSomethingElse::arguments const): Deleted.
(Messages::TestWithoutAttributes::DidReceivePolicyDecision::arguments const): Deleted.
(Messages::TestWithoutAttributes::Close::arguments const): Deleted.
(Messages::TestWithoutAttributes::PreferencesDidChange::arguments const): Deleted.
(Messages::TestWithoutAttributes::SendDoubleAndFloat::arguments const): Deleted.
(Messages::TestWithoutAttributes::SendInts::arguments const): Deleted.
(Messages::TestWithoutAttributes::CreatePlugin::arguments const): Deleted.
(Messages::TestWithoutAttributes::RunJavaScriptAlert::arguments const): Deleted.
(Messages::TestWithoutAttributes::GetPlugins::arguments const): Deleted.
(Messages::TestWithoutAttributes::GetPluginProcessConnection::arguments const): Deleted.
(Messages::TestWithoutAttributes::TestMultipleAttributes::arguments const): Deleted.
(Messages::TestWithoutAttributes::TestParameterAttributes::arguments const): Deleted.
(Messages::TestWithoutAttributes::TemplateTest::arguments const): Deleted.
(Messages::TestWithoutAttributes::SetVideoLayerID::arguments const): Deleted.
(Messages::TestWithoutAttributes::DidCreateWebProcessConnection::arguments const): Deleted.
(Messages::TestWithoutAttributes::InterpretKeyEvent::arguments const): Deleted.
(Messages::TestWithoutAttributes::DeprecatedOperation::arguments const): Deleted.
(Messages::TestWithoutAttributes::ExperimentalOperation::arguments const): Deleted.
* Source/WebKit/WebProcess/WebPage/IPCTestingAPI.cpp:
(WebKit::IPCTestingAPI::JSIPCConnectionHandle::encode):
(WebKit::IPCTestingAPI::JSIPCStreamServerConnectionHandle::encode):
(WebKit::IPCTestingAPI::JSIPCConnectionHandle::encode const): Deleted.
(WebKit::IPCTestingAPI::JSIPCStreamServerConnectionHandle::encode const): Deleted.
Canonical link: https://commits.webkit.org/264848@main
More information about the webkit-changes
mailing list