⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 271243 in webkit


Ignore:
Timestamp:
Jan 7, 2021, 10:47:58 AM (6 years ago)
Author:
commit-queue@webkit.org
Message:

WebKit IPC message names should indicate if the message is synchronous
https://bugs.webkit.org/show_bug.cgi?id=220319

Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2021-01-07
Reviewed by Chris Dumez.

Order WebKit IPC MessageName enumerators by listing asynchronous
messages first. This enables relatively efficient implementation of
isMessageSync().

Remove MessageFlags::SyncMessage. This information is already stored
in the MessageName -- a message is either synchronous or asynchronous,
but not both.

  • Platform/IPC/Connection.cpp:

(IPC::Connection::createSyncMessageEncoder):

  • Platform/IPC/Decoder.cpp:

(IPC::Decoder::alignBufferPosition):

  • Platform/IPC/Decoder.h:

(IPC::Decoder::isSyncMessage const):

  • Platform/IPC/Encoder.cpp:

(IPC::Encoder::grow):

  • Platform/IPC/Encoder.h:
  • Platform/IPC/MessageArgumentDescriptions.h:
  • Platform/IPC/MessageFlags.h:
  • Scripts/webkit/messages.py:
  • Scripts/webkit/messages_unittest.py:

(GeneratedFileContentsTest):

  • Scripts/webkit/model.py:

(check_global_model_inputs):

  • Scripts/webkit/model_unittest.py:

(test_mismatch_message_attribute_sync):

  • Scripts/webkit/tests/MessageArgumentDescriptions.cpp:
  • Scripts/webkit/tests/MessageNames.cpp:

(IPC::description):
(IPC::receiverName):
(IPC::isValidMessageName):

  • Scripts/webkit/tests/MessageNames.h:

(IPC::messageIsSync):

Location:
trunk/Source/WebKit
Files:
14 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit/ChangeLog

    r271238 r271243  
     12021-01-07  Kimmo Kinnunen  <kkinnunen@apple.com>
     2
     3        WebKit IPC message names should indicate if the message is synchronous
     4        https://bugs.webkit.org/show_bug.cgi?id=220319
     5
     6        Reviewed by Chris Dumez.
     7
     8        Order WebKit IPC MessageName enumerators by listing asynchronous
     9        messages first. This enables relatively efficient implementation of
     10        isMessageSync().
     11
     12        Remove MessageFlags::SyncMessage. This information is already stored
     13        in the MessageName -- a message is either synchronous or asynchronous,
     14        but not both.
     15
     16        * Platform/IPC/Connection.cpp:
     17        (IPC::Connection::createSyncMessageEncoder):
     18        * Platform/IPC/Decoder.cpp:
     19        (IPC::Decoder::alignBufferPosition):
     20        * Platform/IPC/Decoder.h:
     21        (IPC::Decoder::isSyncMessage const):
     22        * Platform/IPC/Encoder.cpp:
     23        (IPC::Encoder::grow):
     24        * Platform/IPC/Encoder.h:
     25        * Platform/IPC/MessageArgumentDescriptions.h:
     26        * Platform/IPC/MessageFlags.h:
     27        * Scripts/webkit/messages.py:
     28        * Scripts/webkit/messages_unittest.py:
     29        (GeneratedFileContentsTest):
     30        * Scripts/webkit/model.py:
     31        (check_global_model_inputs):
     32        * Scripts/webkit/model_unittest.py:
     33        (test_mismatch_message_attribute_sync):
     34        * Scripts/webkit/tests/MessageArgumentDescriptions.cpp:
     35        * Scripts/webkit/tests/MessageNames.cpp:
     36        (IPC::description):
     37        (IPC::receiverName):
     38        (IPC::isValidMessageName):
     39        * Scripts/webkit/tests/MessageNames.h:
     40        (IPC::messageIsSync):
     41
    1422021-01-07  Sihui Liu  <sihui_liu@appe.com>
    243
  • trunk/Source/WebKit/Platform/IPC/Connection.cpp

    r270180 r271243  
    440440{
    441441    auto encoder = makeUnique<Encoder>(messageName, destinationID);
    442     encoder->setIsSyncMessage(true);
    443442
    444443    // Encode the sync request ID.
  • trunk/Source/WebKit/Platform/IPC/Decoder.cpp

    r270573 r271243  
    9797}
    9898
    99 bool Decoder::isSyncMessage() const
    100 {
    101     return m_messageFlags.contains(MessageFlags::SyncMessage);
    102 }
    103 
    10499ShouldDispatchWhenWaitingForSyncReply Decoder::shouldDispatchMessageWhenWaitingForSyncReply() const
    105100{
     
    166161        return false;
    167162    }
    168    
     163
    169164    m_bufferPos = alignedPosition;
    170165    return true;
  • trunk/Source/WebKit/Platform/IPC/Decoder.h

    r270573 r271243  
    5959    uint64_t destinationID() const { return m_destinationID; }
    6060
    61     bool isSyncMessage() const;
     61    bool isSyncMessage() const { return messageIsSync(messageName()); }
    6262    ShouldDispatchWhenWaitingForSyncReply shouldDispatchMessageWhenWaitingForSyncReply() const;
    6363    bool shouldUseFullySynchronousModeForTesting() const;
  • trunk/Source/WebKit/Platform/IPC/Encoder.cpp

    r270573 r271243  
    9191}
    9292
    93 bool Encoder::isSyncMessage() const
    94 {
    95     return messageFlags().contains(MessageFlags::SyncMessage);
    96 }
    97 
    9893ShouldDispatchWhenWaitingForSyncReply Encoder::shouldDispatchMessageWhenWaitingForSyncReply() const
    9994{
     
    10398        return ShouldDispatchWhenWaitingForSyncReply::YesDuringUnboundedIPC;
    10499    return ShouldDispatchWhenWaitingForSyncReply::No;
    105 }
    106 
    107 void Encoder::setIsSyncMessage(bool isSyncMessage)
    108 {
    109     if (isSyncMessage)
    110         messageFlags().add(MessageFlags::SyncMessage);
    111     else
    112         messageFlags().remove(MessageFlags::SyncMessage);
    113100}
    114101
     
    206193    m_bufferSize = alignedSize + size;
    207194    m_bufferPointer = m_buffer + alignedSize + size;
    208    
     195
    209196    return m_buffer + alignedSize;
    210197}
  • trunk/Source/WebKit/Platform/IPC/Encoder.h

    r270573 r271243  
    5151    uint64_t destinationID() const { return m_destinationID; }
    5252
    53     void setIsSyncMessage(bool);
    54     bool isSyncMessage() const;
     53    bool isSyncMessage() const { return messageIsSync(messageName()); }
    5554
    5655    void setShouldDispatchMessageWhenWaitingForSyncReply(ShouldDispatchWhenWaitingForSyncReply);
  • trunk/Source/WebKit/Platform/IPC/MessageArgumentDescriptions.h

    r268633 r271243  
    5353Optional<Vector<ArgumentDescription>> messageArgumentDescriptions(MessageName);
    5454Optional<Vector<ArgumentDescription>> messageReplyArgumentDescriptions(MessageName);
    55 bool messageIsSync(MessageName);
    5655
    5756}
  • trunk/Source/WebKit/Platform/IPC/MessageFlags.h

    r263208 r271243  
    2929
    3030enum class MessageFlags : uint8_t {
    31     SyncMessage = 1 << 0,
    32     DispatchMessageWhenWaitingForSyncReply = 1 << 1,
    33     DispatchMessageWhenWaitingForUnboundedSyncReply = 1 << 2,
    34     UseFullySynchronousModeForTesting = 1 << 3,
     31    DispatchMessageWhenWaitingForSyncReply = 1 << 0,
     32    DispatchMessageWhenWaitingForUnboundedSyncReply = 1 << 1,
     33    UseFullySynchronousModeForTesting = 1 << 2,
    3534};
    3635
     
    4847    using values = EnumValues<
    4948        IPC::MessageFlags,
    50         IPC::MessageFlags::SyncMessage,
    5149        IPC::MessageFlags::DispatchMessageWhenWaitingForSyncReply,
    5250        IPC::MessageFlags::DispatchMessageWhenWaitingForUnboundedSyncReply,
  • trunk/Source/WebKit/Scripts/webkit/messages.py

    r271237 r271243  
    2626
    2727from webkit import parser
    28 from webkit.model import BUILTIN_ATTRIBUTE, ASYNC_ATTRIBUTE
     28from webkit.model import BUILTIN_ATTRIBUTE, ASYNC_ATTRIBUTE, SYNCHRONOUS_ATTRIBUTE
    2929
    3030_license_header = """/*
     
    5959LEGACY_RECEIVER_ATTRIBUTE = 'LegacyReceiver'
    6060NOT_REFCOUNTED_RECEIVER_ATTRIBUTE = 'NotRefCounted'
    61 SYNCHRONOUS_ATTRIBUTE = 'Synchronous'
    6261
    6362
     
    8584    @classmethod
    8685    def sort_key(cls, obj):
    87         return receiver_enumerator_order_key(obj.receiver.name), str(obj)
     86        return obj.messages[0].has_attribute(SYNCHRONOUS_ATTRIBUTE), receiver_enumerator_order_key(obj.receiver.name), str(obj)
    8887
    8988
     
    975974    result.append('const char* description(MessageName);\n')
    976975    result.append('bool isValidMessageName(MessageName);\n')
     976    result.append('constexpr bool messageIsSync(MessageName name)\n')
     977    result.append('{\n')
     978    first_synchronous = next((e for e in message_enumerators if e.messages[0].has_attribute(SYNCHRONOUS_ATTRIBUTE)), None)
     979    if first_synchronous:
     980        result.append('    return name >= MessageName::%s;\n' % first_synchronous)
     981    else:
     982        result.append('    UNUSED_PARAM(name);\n')
     983        result.append('    return false;\n')
     984    result.append('}\n')
    977985    result.append('\n')
    978986    result.append('} // namespace IPC\n')
     
    11741182
    11751183    result.append('\n')
    1176     result.append('bool messageIsSync(MessageName name)\n')
    1177     result.append('{\n')
    1178     result.append('    switch (name) {\n')
    1179     for receiver in receivers:
    1180         has_emit_receiver_condition = False
    1181         previous_message_condition = None
    1182         for message in receiver.messages:
    1183             if message.reply_parameters is None or not message.has_attribute(SYNCHRONOUS_ATTRIBUTE):
    1184                 continue
    1185             if not has_emit_receiver_condition and receiver.condition:
    1186                 has_emit_receiver_condition = True
    1187                 result.append('#if %s\n' % receiver.condition)
    1188             if previous_message_condition != message.condition:
    1189                 if previous_message_condition:
    1190                     result.append('#endif\n')
    1191                 if message.condition:
    1192                     result.append('#if %s\n' % message.condition)
    1193             previous_message_condition = message.condition
    1194             result.append('    case MessageName::%s:\n' % MessageEnumerator(receiver, [message]))
    1195             result.append('        return true;\n')
    1196         if previous_message_condition:
    1197             result.append('#endif\n')
    1198         if has_emit_receiver_condition:
    1199             result.append('#endif\n')
    1200     result.append('    default:\n')
    1201     result.append('        break;\n')
    1202     result.append('    }\n')
    1203     result.append('    return false;\n')
    1204     result.append('}\n')
    1205     result.append('\n')
    12061184
    12071185    result.append('} // namespace WebKit\n')
  • trunk/Source/WebKit/Scripts/webkit/model.py

    r271237 r271243  
    2323import itertools
    2424
    25 from collections import Counter
     25from collections import Counter, defaultdict
    2626
    2727BUILTIN_ATTRIBUTE = "Builtin"
    2828ASYNC_ATTRIBUTE = "Async"
     29SYNCHRONOUS_ATTRIBUTE = 'Synchronous'
    2930
    3031class MessageReceiver(object):
     
    6970
    7071ipc_receiver = MessageReceiver(name="IPC", superclass=None, attributes=[BUILTIN_ATTRIBUTE], messages=[
    71     Message('WrappedAsyncMessageForTesting', [], [], attributes=[BUILTIN_ATTRIBUTE], condition=None),
     72    Message('WrappedAsyncMessageForTesting', [], [], attributes=[BUILTIN_ATTRIBUTE, SYNCHRONOUS_ATTRIBUTE], condition=None),
    7273    Message('SyncMessageReply', [], [], attributes=[BUILTIN_ATTRIBUTE], condition=None),
    7374    Message('InitializeConnection', [], [], attributes=[BUILTIN_ATTRIBUTE], condition="PLATFORM(COCOA)"),
     
    8384        errors.append('Duplicate message receiver names: %s' % (', '.join(receiver_duplicates)))
    8485
     86    # A message might be defined multiple times using ifdef conditions.
     87    # Certain attributes must match in this case. E.g. USE(COCOA) cannot have a sync message that
     88    # would be non-sync in USE(GTK).
     89    matching_attributes = [SYNCHRONOUS_ATTRIBUTE]
     90    for receiver in receivers:
     91        receiver_messages = defaultdict(list)
     92        for message in receiver.messages:
     93            receiver_messages[message.name].append(message)
     94        for messages in receiver_messages.values():
     95            m0 = messages[0]
     96            for i in range(1, len(messages)):
     97                mi = messages[i]
     98                if any(m0.has_attribute(a) != mi.has_attribute(a) for a in matching_attributes):
     99                    errors.append('Receiver %s message %s attribute mismatch: %s (%s) != %s (%s))' % (receiver.name, message.name,
     100                                  m0.attributes, m0.condition, mi.attributes, mi.condition))
    85101    return errors
    86102
  • trunk/Source/WebKit/Scripts/webkit/model_unittest.py

    r271237 r271243  
    6464        self.assertTrue("Duplicate" in errors[0])
    6565
     66    def test_mismatch_message_attribute_sync(self):
     67        contents = """
     68messages -> WebPage {
     69#if USE(COCOA)
     70    LoadURL(String url) Synchronous
     71#endif
     72#if USE(GTK)
     73    LoadURL(String url)
     74#endif
     75}"""
     76        receiver = parser.parse(StringIO(contents))
     77        self.assertEquals(receiver.name, 'WebPage')
     78        self.assertEquals(receiver.messages[0].name, 'LoadURL')
     79        errors = model.check_global_model_inputs([receiver])
     80        self.assertEquals(len(errors), 1)
     81        self.assertTrue("attribute mismatch" in errors[0])
     82
    6683
    6784if __name__ == '__main__':
  • trunk/Source/WebKit/Scripts/webkit/tests/MessageArgumentDescriptions.cpp

    r271237 r271243  
    574574}
    575575
    576 bool messageIsSync(MessageName name)
    577 {
    578     switch (name) {
    579     case MessageName::TestWithSuperclass_TestSyncMessage:
    580         return true;
    581     case MessageName::TestWithSuperclass_TestSynchronousMessage:
    582         return true;
    583 #if (ENABLE(WEBKIT2) && (NESTED_MASTER_CONDITION || MASTER_OR && MASTER_AND))
    584     case MessageName::TestWithLegacyReceiver_GetPluginProcessConnection:
    585         return true;
    586     case MessageName::TestWithLegacyReceiver_TestMultipleAttributes:
    587         return true;
    588 #endif
    589 #if (ENABLE(WEBKIT2) && (NESTED_MASTER_CONDITION || MASTER_OR && MASTER_AND))
    590     case MessageName::TestWithoutAttributes_GetPluginProcessConnection:
    591         return true;
    592     case MessageName::TestWithoutAttributes_TestMultipleAttributes:
    593         return true;
    594 #endif
    595     default:
    596         break;
    597     }
    598     return false;
    599 }
    600 
    601576} // namespace WebKit
    602577
  • trunk/Source/WebKit/Scripts/webkit/tests/MessageNames.cpp

    r271237 r271243  
    4747    case MessageName::TestWithLegacyReceiver_ExperimentalOperation:
    4848        return "TestWithLegacyReceiver_ExperimentalOperation";
    49     case MessageName::TestWithLegacyReceiver_GetPluginProcessConnection:
    50         return "TestWithLegacyReceiver_GetPluginProcessConnection";
    5149    case MessageName::TestWithLegacyReceiver_GetPlugins:
    5250        return "TestWithLegacyReceiver_GetPlugins";
     
    7169    case MessageName::TestWithLegacyReceiver_TemplateTest:
    7270        return "TestWithLegacyReceiver_TemplateTest";
    73     case MessageName::TestWithLegacyReceiver_TestMultipleAttributes:
    74         return "TestWithLegacyReceiver_TestMultipleAttributes";
    7571    case MessageName::TestWithLegacyReceiver_TestParameterAttributes:
    7672        return "TestWithLegacyReceiver_TestParameterAttributes";
     
    8783    case MessageName::TestWithSuperclass_TestAsyncMessageWithNoArguments:
    8884        return "TestWithSuperclass_TestAsyncMessageWithNoArguments";
    89     case MessageName::TestWithSuperclass_TestSyncMessage:
    90         return "TestWithSuperclass_TestSyncMessage";
    91     case MessageName::TestWithSuperclass_TestSynchronousMessage:
    92         return "TestWithSuperclass_TestSynchronousMessage";
    9385    case MessageName::TestWithoutAttributes_AddEvent:
    9486        return "TestWithoutAttributes_AddEvent";
     
    10597    case MessageName::TestWithoutAttributes_ExperimentalOperation:
    10698        return "TestWithoutAttributes_ExperimentalOperation";
    107     case MessageName::TestWithoutAttributes_GetPluginProcessConnection:
    108         return "TestWithoutAttributes_GetPluginProcessConnection";
    10999    case MessageName::TestWithoutAttributes_GetPlugins:
    110100        return "TestWithoutAttributes_GetPlugins";
     
    129119    case MessageName::TestWithoutAttributes_TemplateTest:
    130120        return "TestWithoutAttributes_TemplateTest";
    131     case MessageName::TestWithoutAttributes_TestMultipleAttributes:
    132         return "TestWithoutAttributes_TestMultipleAttributes";
    133121    case MessageName::TestWithoutAttributes_TestParameterAttributes:
    134122        return "TestWithoutAttributes_TestParameterAttributes";
     
    141129    case MessageName::SyncMessageReply:
    142130        return "SyncMessageReply";
    143     case MessageName::WrappedAsyncMessageForTesting:
    144         return "WrappedAsyncMessageForTesting";
    145131    case MessageName::TestWithSuperclass_TestAsyncMessageReply:
    146132        return "TestWithSuperclass_TestAsyncMessageReply";
     
    151137    case MessageName::TestWithSuperclass_TestAsyncMessageWithNoArgumentsReply:
    152138        return "TestWithSuperclass_TestAsyncMessageWithNoArgumentsReply";
     139    case MessageName::TestWithLegacyReceiver_GetPluginProcessConnection:
     140        return "TestWithLegacyReceiver_GetPluginProcessConnection";
     141    case MessageName::TestWithLegacyReceiver_TestMultipleAttributes:
     142        return "TestWithLegacyReceiver_TestMultipleAttributes";
     143    case MessageName::TestWithSuperclass_TestSyncMessage:
     144        return "TestWithSuperclass_TestSyncMessage";
     145    case MessageName::TestWithSuperclass_TestSynchronousMessage:
     146        return "TestWithSuperclass_TestSynchronousMessage";
     147    case MessageName::TestWithoutAttributes_GetPluginProcessConnection:
     148        return "TestWithoutAttributes_GetPluginProcessConnection";
     149    case MessageName::TestWithoutAttributes_TestMultipleAttributes:
     150        return "TestWithoutAttributes_TestMultipleAttributes";
     151    case MessageName::WrappedAsyncMessageForTesting:
     152        return "WrappedAsyncMessageForTesting";
    153153    }
    154154    ASSERT_NOT_REACHED();
     
    168168    case MessageName::TestWithLegacyReceiver_DidReceivePolicyDecision:
    169169    case MessageName::TestWithLegacyReceiver_ExperimentalOperation:
    170     case MessageName::TestWithLegacyReceiver_GetPluginProcessConnection:
    171170    case MessageName::TestWithLegacyReceiver_GetPlugins:
    172171    case MessageName::TestWithLegacyReceiver_InterpretKeyEvent:
     
    180179    case MessageName::TestWithLegacyReceiver_SetVideoLayerID:
    181180    case MessageName::TestWithLegacyReceiver_TemplateTest:
    182     case MessageName::TestWithLegacyReceiver_TestMultipleAttributes:
    183181    case MessageName::TestWithLegacyReceiver_TestParameterAttributes:
    184182    case MessageName::TestWithLegacyReceiver_TouchEvent:
     
    189187    case MessageName::TestWithSuperclass_TestAsyncMessageWithMultipleArguments:
    190188    case MessageName::TestWithSuperclass_TestAsyncMessageWithNoArguments:
    191     case MessageName::TestWithSuperclass_TestSyncMessage:
    192     case MessageName::TestWithSuperclass_TestSynchronousMessage:
    193189        return ReceiverName::TestWithSuperclass;
    194190    case MessageName::TestWithoutAttributes_AddEvent:
     
    199195    case MessageName::TestWithoutAttributes_DidReceivePolicyDecision:
    200196    case MessageName::TestWithoutAttributes_ExperimentalOperation:
    201     case MessageName::TestWithoutAttributes_GetPluginProcessConnection:
    202197    case MessageName::TestWithoutAttributes_GetPlugins:
    203198    case MessageName::TestWithoutAttributes_InterpretKeyEvent:
     
    211206    case MessageName::TestWithoutAttributes_SetVideoLayerID:
    212207    case MessageName::TestWithoutAttributes_TemplateTest:
    213     case MessageName::TestWithoutAttributes_TestMultipleAttributes:
    214208    case MessageName::TestWithoutAttributes_TestParameterAttributes:
    215209    case MessageName::TestWithoutAttributes_TouchEvent:
     
    218212    case MessageName::LegacySessionState:
    219213    case MessageName::SyncMessageReply:
    220     case MessageName::WrappedAsyncMessageForTesting:
    221214        return ReceiverName::IPC;
    222215    case MessageName::TestWithSuperclass_TestAsyncMessageReply:
     
    225218    case MessageName::TestWithSuperclass_TestAsyncMessageWithNoArgumentsReply:
    226219        return ReceiverName::AsyncReply;
     220    case MessageName::TestWithLegacyReceiver_GetPluginProcessConnection:
     221    case MessageName::TestWithLegacyReceiver_TestMultipleAttributes:
     222        return ReceiverName::TestWithLegacyReceiver;
     223    case MessageName::TestWithSuperclass_TestSyncMessage:
     224    case MessageName::TestWithSuperclass_TestSynchronousMessage:
     225        return ReceiverName::TestWithSuperclass;
     226    case MessageName::TestWithoutAttributes_GetPluginProcessConnection:
     227    case MessageName::TestWithoutAttributes_TestMultipleAttributes:
     228        return ReceiverName::TestWithoutAttributes;
     229    case MessageName::WrappedAsyncMessageForTesting:
     230        return ReceiverName::IPC;
    227231    }
    228232    ASSERT_NOT_REACHED();
     
    262266        return true;
    263267#endif
    264     if (messageName == IPC::MessageName::TestWithLegacyReceiver_GetPluginProcessConnection)
    265         return true;
    266268    if (messageName == IPC::MessageName::TestWithLegacyReceiver_GetPlugins)
    267269        return true;
     
    292294    if (messageName == IPC::MessageName::TestWithLegacyReceiver_TemplateTest)
    293295        return true;
    294     if (messageName == IPC::MessageName::TestWithLegacyReceiver_TestMultipleAttributes)
    295         return true;
    296296    if (messageName == IPC::MessageName::TestWithLegacyReceiver_TestParameterAttributes)
    297297        return true;
     
    318318        return true;
    319319#endif
    320     if (messageName == IPC::MessageName::TestWithSuperclass_TestSyncMessage)
    321         return true;
    322     if (messageName == IPC::MessageName::TestWithSuperclass_TestSynchronousMessage)
    323         return true;
    324320#if (ENABLE(TOUCH_EVENTS) && (NESTED_MESSAGE_CONDITION && SOME_OTHER_MESSAGE_CONDITION))
    325321    if (messageName == IPC::MessageName::TestWithoutAttributes_AddEvent)
     
    344340        return true;
    345341#endif
    346     if (messageName == IPC::MessageName::TestWithoutAttributes_GetPluginProcessConnection)
    347         return true;
    348342    if (messageName == IPC::MessageName::TestWithoutAttributes_GetPlugins)
    349343        return true;
     
    374368    if (messageName == IPC::MessageName::TestWithoutAttributes_TemplateTest)
    375369        return true;
    376     if (messageName == IPC::MessageName::TestWithoutAttributes_TestMultipleAttributes)
    377         return true;
    378370    if (messageName == IPC::MessageName::TestWithoutAttributes_TestParameterAttributes)
    379371        return true;
     
    390382    if (messageName == IPC::MessageName::SyncMessageReply)
    391383        return true;
     384#if ENABLE(TEST_FEATURE)
     385    if (messageName == IPC::MessageName::TestWithSuperclass_TestAsyncMessageReply)
     386        return true;
     387#endif
     388#if ENABLE(TEST_FEATURE)
     389    if (messageName == IPC::MessageName::TestWithSuperclass_TestAsyncMessageWithConnectionReply)
     390        return true;
     391#endif
     392#if ENABLE(TEST_FEATURE)
     393    if (messageName == IPC::MessageName::TestWithSuperclass_TestAsyncMessageWithMultipleArgumentsReply)
     394        return true;
     395#endif
     396#if ENABLE(TEST_FEATURE)
     397    if (messageName == IPC::MessageName::TestWithSuperclass_TestAsyncMessageWithNoArgumentsReply)
     398        return true;
     399#endif
     400    if (messageName == IPC::MessageName::TestWithLegacyReceiver_GetPluginProcessConnection)
     401        return true;
     402    if (messageName == IPC::MessageName::TestWithLegacyReceiver_TestMultipleAttributes)
     403        return true;
     404    if (messageName == IPC::MessageName::TestWithSuperclass_TestSyncMessage)
     405        return true;
     406    if (messageName == IPC::MessageName::TestWithSuperclass_TestSynchronousMessage)
     407        return true;
     408    if (messageName == IPC::MessageName::TestWithoutAttributes_GetPluginProcessConnection)
     409        return true;
     410    if (messageName == IPC::MessageName::TestWithoutAttributes_TestMultipleAttributes)
     411        return true;
    392412    if (messageName == IPC::MessageName::WrappedAsyncMessageForTesting)
    393413        return true;
    394 #if ENABLE(TEST_FEATURE)
    395     if (messageName == IPC::MessageName::TestWithSuperclass_TestAsyncMessageReply)
    396         return true;
    397 #endif
    398 #if ENABLE(TEST_FEATURE)
    399     if (messageName == IPC::MessageName::TestWithSuperclass_TestAsyncMessageWithConnectionReply)
    400         return true;
    401 #endif
    402 #if ENABLE(TEST_FEATURE)
    403     if (messageName == IPC::MessageName::TestWithSuperclass_TestAsyncMessageWithMultipleArgumentsReply)
    404         return true;
    405 #endif
    406 #if ENABLE(TEST_FEATURE)
    407     if (messageName == IPC::MessageName::TestWithSuperclass_TestAsyncMessageWithNoArgumentsReply)
    408         return true;
    409 #endif
    410414    return false;
    411415};
  • trunk/Source/WebKit/Scripts/webkit/tests/MessageNames.h

    r271237 r271243  
    4848    , TestWithLegacyReceiver_DidReceivePolicyDecision
    4949    , TestWithLegacyReceiver_ExperimentalOperation
    50     , TestWithLegacyReceiver_GetPluginProcessConnection
    5150    , TestWithLegacyReceiver_GetPlugins
    5251    , TestWithLegacyReceiver_InterpretKeyEvent
     
    6059    , TestWithLegacyReceiver_SetVideoLayerID
    6160    , TestWithLegacyReceiver_TemplateTest
    62     , TestWithLegacyReceiver_TestMultipleAttributes
    6361    , TestWithLegacyReceiver_TestParameterAttributes
    6462    , TestWithLegacyReceiver_TouchEvent
     
    6866    , TestWithSuperclass_TestAsyncMessageWithMultipleArguments
    6967    , TestWithSuperclass_TestAsyncMessageWithNoArguments
    70     , TestWithSuperclass_TestSyncMessage
    71     , TestWithSuperclass_TestSynchronousMessage
    7268    , TestWithoutAttributes_AddEvent
    7369    , TestWithoutAttributes_Close
     
    7773    , TestWithoutAttributes_DidReceivePolicyDecision
    7874    , TestWithoutAttributes_ExperimentalOperation
    79     , TestWithoutAttributes_GetPluginProcessConnection
    8075    , TestWithoutAttributes_GetPlugins
    8176    , TestWithoutAttributes_InterpretKeyEvent
     
    8984    , TestWithoutAttributes_SetVideoLayerID
    9085    , TestWithoutAttributes_TemplateTest
    91     , TestWithoutAttributes_TestMultipleAttributes
    9286    , TestWithoutAttributes_TestParameterAttributes
    9387    , TestWithoutAttributes_TouchEvent
     
    9589    , LegacySessionState
    9690    , SyncMessageReply
    97     , WrappedAsyncMessageForTesting
    9891    , TestWithSuperclass_TestAsyncMessageReply
    9992    , TestWithSuperclass_TestAsyncMessageWithConnectionReply
    10093    , TestWithSuperclass_TestAsyncMessageWithMultipleArgumentsReply
    10194    , TestWithSuperclass_TestAsyncMessageWithNoArgumentsReply
    102     , Last = TestWithSuperclass_TestAsyncMessageWithNoArgumentsReply
     95    , TestWithLegacyReceiver_GetPluginProcessConnection
     96    , TestWithLegacyReceiver_TestMultipleAttributes
     97    , TestWithSuperclass_TestSyncMessage
     98    , TestWithSuperclass_TestSynchronousMessage
     99    , TestWithoutAttributes_GetPluginProcessConnection
     100    , TestWithoutAttributes_TestMultipleAttributes
     101    , WrappedAsyncMessageForTesting
     102    , Last = WrappedAsyncMessageForTesting
    103103};
    104104
     
    106106const char* description(MessageName);
    107107bool isValidMessageName(MessageName);
     108constexpr bool messageIsSync(MessageName name)
     109{
     110    return name >= MessageName::TestWithLegacyReceiver_GetPluginProcessConnection;
     111}
    108112
    109113} // namespace IPC
Note: See TracChangeset for help on using the changeset viewer.