[webkit-changes] [WebKit/WebKit] ea719b: messages.in files should be annotated with a dispa...

Gavin noreply at github.com
Fri Dec 6 04:25:02 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: ea719b6182f67abdd5719844d11fa60d95e4377b
      https://github.com/WebKit/WebKit/commit/ea719b6182f67abdd5719844d11fa60d95e4377b
  Author: Gavin Phillips <gavin.p at apple.com>
  Date:   2024-12-06 (Fri, 06 Dec 2024)

  Changed paths:
    M Source/WTF/wtf/RuntimeApplicationChecks.h
    M Source/WebKit/GPUProcess/GPUConnectionToWebProcess.messages.in
    M Source/WebKit/ModelProcess/ModelConnectionToWebProcess.messages.in
    M Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.messages.in
    M Source/WebKit/Scripts/webkit/messages.py
    M Source/WebKit/Scripts/webkit/messages_unittest.py
    M Source/WebKit/Scripts/webkit/model.py
    M Source/WebKit/Scripts/webkit/parser.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/TestWithDeferSendingOptionMessages.h
    A Source/WebKit/Scripts/webkit/tests/TestWithDispatchedFromAndTo.messages.in
    A Source/WebKit/Scripts/webkit/tests/TestWithDispatchedFromAndToMessageReceiver.cpp
    A Source/WebKit/Scripts/webkit/tests/TestWithDispatchedFromAndToMessages.h
    M Source/WebKit/Scripts/webkit/tests/TestWithEnabledByAndConjunctionMessages.h
    M Source/WebKit/Scripts/webkit/tests/TestWithEnabledByMessages.h
    M Source/WebKit/Scripts/webkit/tests/TestWithEnabledByOrConjunctionMessages.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
    A Source/WebKit/Scripts/webkit/tests/TestWithMultiLineExtendedAttributes.messages.in
    A Source/WebKit/Scripts/webkit/tests/TestWithMultiLineExtendedAttributesMessageReceiver.cpp
    A Source/WebKit/Scripts/webkit/tests/TestWithMultiLineExtendedAttributesMessages.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
    M Source/WebKit/Scripts/webkit/tests/TestWithStreamServerConnectionHandleMessages.h
    M Source/WebKit/Scripts/webkit/tests/TestWithSuperclassAndWantsAsyncDispatchMessages.h
    M Source/WebKit/Scripts/webkit/tests/TestWithSuperclassAndWantsDispatchMessages.h
    M Source/WebKit/Scripts/webkit/tests/TestWithSuperclassMessages.h
    M Source/WebKit/Scripts/webkit/tests/TestWithValidatorMessages.h
    M Source/WebKit/Scripts/webkit/tests/TestWithWantsAsyncDispatchMessages.h
    M Source/WebKit/Scripts/webkit/tests/TestWithWantsDispatchMessages.h
    M Source/WebKit/Scripts/webkit/tests/TestWithWantsDispatchNoSyncMessagesMessages.h
    M Source/WebKit/Scripts/webkit/tests/TestWithoutAttributesMessages.h
    M Source/WebKit/Scripts/webkit/tests/TestWithoutUsingIPCConnectionMessages.h
    M Source/WebKit/UIProcess/WebPageProxy.messages.in

  Log Message:
  -----------
  messages.in files should be annotated with a dispatched(From|To)="(UI|Network|GPU|Model|WebProcess)" attribute
https://bugs.webkit.org/show_bug.cgi?id=283827
rdar://125231437

Reviewed by Alex Christensen and Sihui Liu.

Currently, it’s non trivial to tell where a given IPC message is expected to be sent
from/received without understanding how a given receiver is constructed and attached to the connection.

This change creates a new dispatched(From|To)="(UI|Network|GPU|WebProcess|Model)" attribute
which can be used to assert a given process always sends/receives the message.
This is achieved via an ASSERT(WebKit::IsInXXXProcess()); generated via the .messages.in parser
and placed in the generated sender/receiver code.

* Source/WebKit/GPUProcess/GPUConnectionToWebProcess.messages.in:
* Source/WebKit/ModelProcess/ModelConnectionToWebProcess.messages.in:
* Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.messages.in:
* Source/WebKit/Scripts/webkit/messages.py:
(message_to_struct_declaration):
(generate_dispatched_for_x):
(generate_message_handler):
* Source/WebKit/Scripts/webkit/model.py:
(MessageReceiver.__init__):
(generate_global_model):
* Source/WebKit/Scripts/webkit/parser.py:
(parse):
(parse_process_name_string):
* Source/WebKit/UIProcess/WebPageProxy.messages.in:

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



To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications


More information about the webkit-changes mailing list