[webkit-changes] [WebKit/WebKit] 346f18: EnabledBy on a message erroneously applies to the ...

Ryosuke Niwa noreply at github.com
Wed Jul 31 17:30:38 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 346f18e01202ed906f078cd60de93eeba7f4aefa
      https://github.com/WebKit/WebKit/commit/346f18e01202ed906f078cd60de93eeba7f4aefa
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M Source/WebKit/Scripts/webkit/messages_unittest.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
    A Source/WebKit/Scripts/webkit/tests/TestWithEnabledBy.messages.in
    A Source/WebKit/Scripts/webkit/tests/TestWithEnabledByMessageReceiver.cpp
    A Source/WebKit/Scripts/webkit/tests/TestWithEnabledByMessages.h

  Log Message:
  -----------
  EnabledBy on a message erroneously applies to the entire receiver if it doesn't have any attribute
https://bugs.webkit.org/show_bug.cgi?id=277434

Reviewed by Chris Dumez.

The bug was caused by the parser erroneously matching [EnabledBy=X] on a IPC message as the one
which appears before the message receiver declaration when there is no attribute on the receiver.

Fixed the bug by checking the value of "destination" instead of "receiver_attributes" to check
that the message receiver hadn't been declared yet.

* Source/WebKit/Scripts/webkit/messages_unittest.py:
* Source/WebKit/Scripts/webkit/parser.py:
(parse):
* Source/WebKit/Scripts/webkit/tests/Makefile:
* Source/WebKit/Scripts/webkit/tests/MessageArgumentDescriptions.cpp:
(IPC::jsValueForArguments):
(IPC::messageArgumentDescriptions):
* Source/WebKit/Scripts/webkit/tests/MessageNames.cpp:
* Source/WebKit/Scripts/webkit/tests/MessageNames.h:
* Source/WebKit/Scripts/webkit/tests/TestWithEnabledBy.messages.in: Added.
* Source/WebKit/Scripts/webkit/tests/TestWithEnabledByMessageReceiver.cpp: Added.
(WebKit::TestWithEnabledBy::didReceiveMessage):
(IPC::jsValueForDecodedMessage<MessageName::TestWithEnabledBy_AlwaysEnabled>):
(IPC::jsValueForDecodedMessage<MessageName::TestWithEnabledBy_ConditionallyEnabled>):
* Source/WebKit/Scripts/webkit/tests/TestWithEnabledByMessages.h: Added.
(Messages::TestWithEnabledBy::messageReceiverName):
(Messages::TestWithEnabledBy::AlwaysEnabled::name):
(Messages::TestWithEnabledBy::AlwaysEnabled::AlwaysEnabled):
(Messages::TestWithEnabledBy::AlwaysEnabled::arguments):
(Messages::TestWithEnabledBy::ConditionallyEnabled::name):
(Messages::TestWithEnabledBy::ConditionallyEnabled::ConditionallyEnabled):
(Messages::TestWithEnabledBy::ConditionallyEnabled::arguments):

Canonical link: https://commits.webkit.org/281678@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