[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