Changeset 271243 in webkit
- Timestamp:
- Jan 7, 2021, 10:47:58 AM (6 years ago)
- Location:
- trunk/Source/WebKit
- Files:
-
- 14 edited
-
ChangeLog (modified) (1 diff)
-
Platform/IPC/Connection.cpp (modified) (1 diff)
-
Platform/IPC/Decoder.cpp (modified) (2 diffs)
-
Platform/IPC/Decoder.h (modified) (1 diff)
-
Platform/IPC/Encoder.cpp (modified) (3 diffs)
-
Platform/IPC/Encoder.h (modified) (1 diff)
-
Platform/IPC/MessageArgumentDescriptions.h (modified) (1 diff)
-
Platform/IPC/MessageFlags.h (modified) (2 diffs)
-
Scripts/webkit/messages.py (modified) (5 diffs)
-
Scripts/webkit/model.py (modified) (3 diffs)
-
Scripts/webkit/model_unittest.py (modified) (1 diff)
-
Scripts/webkit/tests/MessageArgumentDescriptions.cpp (modified) (1 diff)
-
Scripts/webkit/tests/MessageNames.cpp (modified) (20 diffs)
-
Scripts/webkit/tests/MessageNames.h (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit/ChangeLog
r271238 r271243 1 2021-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 1 42 2021-01-07 Sihui Liu <sihui_liu@appe.com> 2 43 -
trunk/Source/WebKit/Platform/IPC/Connection.cpp
r270180 r271243 440 440 { 441 441 auto encoder = makeUnique<Encoder>(messageName, destinationID); 442 encoder->setIsSyncMessage(true);443 442 444 443 // Encode the sync request ID. -
trunk/Source/WebKit/Platform/IPC/Decoder.cpp
r270573 r271243 97 97 } 98 98 99 bool Decoder::isSyncMessage() const100 {101 return m_messageFlags.contains(MessageFlags::SyncMessage);102 }103 104 99 ShouldDispatchWhenWaitingForSyncReply Decoder::shouldDispatchMessageWhenWaitingForSyncReply() const 105 100 { … … 166 161 return false; 167 162 } 168 163 169 164 m_bufferPos = alignedPosition; 170 165 return true; -
trunk/Source/WebKit/Platform/IPC/Decoder.h
r270573 r271243 59 59 uint64_t destinationID() const { return m_destinationID; } 60 60 61 bool isSyncMessage() const ;61 bool isSyncMessage() const { return messageIsSync(messageName()); } 62 62 ShouldDispatchWhenWaitingForSyncReply shouldDispatchMessageWhenWaitingForSyncReply() const; 63 63 bool shouldUseFullySynchronousModeForTesting() const; -
trunk/Source/WebKit/Platform/IPC/Encoder.cpp
r270573 r271243 91 91 } 92 92 93 bool Encoder::isSyncMessage() const94 {95 return messageFlags().contains(MessageFlags::SyncMessage);96 }97 98 93 ShouldDispatchWhenWaitingForSyncReply Encoder::shouldDispatchMessageWhenWaitingForSyncReply() const 99 94 { … … 103 98 return ShouldDispatchWhenWaitingForSyncReply::YesDuringUnboundedIPC; 104 99 return ShouldDispatchWhenWaitingForSyncReply::No; 105 }106 107 void Encoder::setIsSyncMessage(bool isSyncMessage)108 {109 if (isSyncMessage)110 messageFlags().add(MessageFlags::SyncMessage);111 else112 messageFlags().remove(MessageFlags::SyncMessage);113 100 } 114 101 … … 206 193 m_bufferSize = alignedSize + size; 207 194 m_bufferPointer = m_buffer + alignedSize + size; 208 195 209 196 return m_buffer + alignedSize; 210 197 } -
trunk/Source/WebKit/Platform/IPC/Encoder.h
r270573 r271243 51 51 uint64_t destinationID() const { return m_destinationID; } 52 52 53 void setIsSyncMessage(bool); 54 bool isSyncMessage() const; 53 bool isSyncMessage() const { return messageIsSync(messageName()); } 55 54 56 55 void setShouldDispatchMessageWhenWaitingForSyncReply(ShouldDispatchWhenWaitingForSyncReply); -
trunk/Source/WebKit/Platform/IPC/MessageArgumentDescriptions.h
r268633 r271243 53 53 Optional<Vector<ArgumentDescription>> messageArgumentDescriptions(MessageName); 54 54 Optional<Vector<ArgumentDescription>> messageReplyArgumentDescriptions(MessageName); 55 bool messageIsSync(MessageName);56 55 57 56 } -
trunk/Source/WebKit/Platform/IPC/MessageFlags.h
r263208 r271243 29 29 30 30 enum 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, 35 34 }; 36 35 … … 48 47 using values = EnumValues< 49 48 IPC::MessageFlags, 50 IPC::MessageFlags::SyncMessage,51 49 IPC::MessageFlags::DispatchMessageWhenWaitingForSyncReply, 52 50 IPC::MessageFlags::DispatchMessageWhenWaitingForUnboundedSyncReply, -
trunk/Source/WebKit/Scripts/webkit/messages.py
r271237 r271243 26 26 27 27 from webkit import parser 28 from webkit.model import BUILTIN_ATTRIBUTE, ASYNC_ATTRIBUTE 28 from webkit.model import BUILTIN_ATTRIBUTE, ASYNC_ATTRIBUTE, SYNCHRONOUS_ATTRIBUTE 29 29 30 30 _license_header = """/* … … 59 59 LEGACY_RECEIVER_ATTRIBUTE = 'LegacyReceiver' 60 60 NOT_REFCOUNTED_RECEIVER_ATTRIBUTE = 'NotRefCounted' 61 SYNCHRONOUS_ATTRIBUTE = 'Synchronous'62 61 63 62 … … 85 84 @classmethod 86 85 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) 88 87 89 88 … … 975 974 result.append('const char* description(MessageName);\n') 976 975 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') 977 985 result.append('\n') 978 986 result.append('} // namespace IPC\n') … … 1174 1182 1175 1183 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 = False1181 previous_message_condition = None1182 for message in receiver.messages:1183 if message.reply_parameters is None or not message.has_attribute(SYNCHRONOUS_ATTRIBUTE):1184 continue1185 if not has_emit_receiver_condition and receiver.condition:1186 has_emit_receiver_condition = True1187 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.condition1194 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')1206 1184 1207 1185 result.append('} // namespace WebKit\n') -
trunk/Source/WebKit/Scripts/webkit/model.py
r271237 r271243 23 23 import itertools 24 24 25 from collections import Counter 25 from collections import Counter, defaultdict 26 26 27 27 BUILTIN_ATTRIBUTE = "Builtin" 28 28 ASYNC_ATTRIBUTE = "Async" 29 SYNCHRONOUS_ATTRIBUTE = 'Synchronous' 29 30 30 31 class MessageReceiver(object): … … 69 70 70 71 ipc_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), 72 73 Message('SyncMessageReply', [], [], attributes=[BUILTIN_ATTRIBUTE], condition=None), 73 74 Message('InitializeConnection', [], [], attributes=[BUILTIN_ATTRIBUTE], condition="PLATFORM(COCOA)"), … … 83 84 errors.append('Duplicate message receiver names: %s' % (', '.join(receiver_duplicates))) 84 85 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)) 85 101 return errors 86 102 -
trunk/Source/WebKit/Scripts/webkit/model_unittest.py
r271237 r271243 64 64 self.assertTrue("Duplicate" in errors[0]) 65 65 66 def test_mismatch_message_attribute_sync(self): 67 contents = """ 68 messages -> 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 66 83 67 84 if __name__ == '__main__': -
trunk/Source/WebKit/Scripts/webkit/tests/MessageArgumentDescriptions.cpp
r271237 r271243 574 574 } 575 575 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 #endif589 #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 #endif595 default:596 break;597 }598 return false;599 }600 601 576 } // namespace WebKit 602 577 -
trunk/Source/WebKit/Scripts/webkit/tests/MessageNames.cpp
r271237 r271243 47 47 case MessageName::TestWithLegacyReceiver_ExperimentalOperation: 48 48 return "TestWithLegacyReceiver_ExperimentalOperation"; 49 case MessageName::TestWithLegacyReceiver_GetPluginProcessConnection:50 return "TestWithLegacyReceiver_GetPluginProcessConnection";51 49 case MessageName::TestWithLegacyReceiver_GetPlugins: 52 50 return "TestWithLegacyReceiver_GetPlugins"; … … 71 69 case MessageName::TestWithLegacyReceiver_TemplateTest: 72 70 return "TestWithLegacyReceiver_TemplateTest"; 73 case MessageName::TestWithLegacyReceiver_TestMultipleAttributes:74 return "TestWithLegacyReceiver_TestMultipleAttributes";75 71 case MessageName::TestWithLegacyReceiver_TestParameterAttributes: 76 72 return "TestWithLegacyReceiver_TestParameterAttributes"; … … 87 83 case MessageName::TestWithSuperclass_TestAsyncMessageWithNoArguments: 88 84 return "TestWithSuperclass_TestAsyncMessageWithNoArguments"; 89 case MessageName::TestWithSuperclass_TestSyncMessage:90 return "TestWithSuperclass_TestSyncMessage";91 case MessageName::TestWithSuperclass_TestSynchronousMessage:92 return "TestWithSuperclass_TestSynchronousMessage";93 85 case MessageName::TestWithoutAttributes_AddEvent: 94 86 return "TestWithoutAttributes_AddEvent"; … … 105 97 case MessageName::TestWithoutAttributes_ExperimentalOperation: 106 98 return "TestWithoutAttributes_ExperimentalOperation"; 107 case MessageName::TestWithoutAttributes_GetPluginProcessConnection:108 return "TestWithoutAttributes_GetPluginProcessConnection";109 99 case MessageName::TestWithoutAttributes_GetPlugins: 110 100 return "TestWithoutAttributes_GetPlugins"; … … 129 119 case MessageName::TestWithoutAttributes_TemplateTest: 130 120 return "TestWithoutAttributes_TemplateTest"; 131 case MessageName::TestWithoutAttributes_TestMultipleAttributes:132 return "TestWithoutAttributes_TestMultipleAttributes";133 121 case MessageName::TestWithoutAttributes_TestParameterAttributes: 134 122 return "TestWithoutAttributes_TestParameterAttributes"; … … 141 129 case MessageName::SyncMessageReply: 142 130 return "SyncMessageReply"; 143 case MessageName::WrappedAsyncMessageForTesting:144 return "WrappedAsyncMessageForTesting";145 131 case MessageName::TestWithSuperclass_TestAsyncMessageReply: 146 132 return "TestWithSuperclass_TestAsyncMessageReply"; … … 151 137 case MessageName::TestWithSuperclass_TestAsyncMessageWithNoArgumentsReply: 152 138 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"; 153 153 } 154 154 ASSERT_NOT_REACHED(); … … 168 168 case MessageName::TestWithLegacyReceiver_DidReceivePolicyDecision: 169 169 case MessageName::TestWithLegacyReceiver_ExperimentalOperation: 170 case MessageName::TestWithLegacyReceiver_GetPluginProcessConnection:171 170 case MessageName::TestWithLegacyReceiver_GetPlugins: 172 171 case MessageName::TestWithLegacyReceiver_InterpretKeyEvent: … … 180 179 case MessageName::TestWithLegacyReceiver_SetVideoLayerID: 181 180 case MessageName::TestWithLegacyReceiver_TemplateTest: 182 case MessageName::TestWithLegacyReceiver_TestMultipleAttributes:183 181 case MessageName::TestWithLegacyReceiver_TestParameterAttributes: 184 182 case MessageName::TestWithLegacyReceiver_TouchEvent: … … 189 187 case MessageName::TestWithSuperclass_TestAsyncMessageWithMultipleArguments: 190 188 case MessageName::TestWithSuperclass_TestAsyncMessageWithNoArguments: 191 case MessageName::TestWithSuperclass_TestSyncMessage:192 case MessageName::TestWithSuperclass_TestSynchronousMessage:193 189 return ReceiverName::TestWithSuperclass; 194 190 case MessageName::TestWithoutAttributes_AddEvent: … … 199 195 case MessageName::TestWithoutAttributes_DidReceivePolicyDecision: 200 196 case MessageName::TestWithoutAttributes_ExperimentalOperation: 201 case MessageName::TestWithoutAttributes_GetPluginProcessConnection:202 197 case MessageName::TestWithoutAttributes_GetPlugins: 203 198 case MessageName::TestWithoutAttributes_InterpretKeyEvent: … … 211 206 case MessageName::TestWithoutAttributes_SetVideoLayerID: 212 207 case MessageName::TestWithoutAttributes_TemplateTest: 213 case MessageName::TestWithoutAttributes_TestMultipleAttributes:214 208 case MessageName::TestWithoutAttributes_TestParameterAttributes: 215 209 case MessageName::TestWithoutAttributes_TouchEvent: … … 218 212 case MessageName::LegacySessionState: 219 213 case MessageName::SyncMessageReply: 220 case MessageName::WrappedAsyncMessageForTesting:221 214 return ReceiverName::IPC; 222 215 case MessageName::TestWithSuperclass_TestAsyncMessageReply: … … 225 218 case MessageName::TestWithSuperclass_TestAsyncMessageWithNoArgumentsReply: 226 219 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; 227 231 } 228 232 ASSERT_NOT_REACHED(); … … 262 266 return true; 263 267 #endif 264 if (messageName == IPC::MessageName::TestWithLegacyReceiver_GetPluginProcessConnection)265 return true;266 268 if (messageName == IPC::MessageName::TestWithLegacyReceiver_GetPlugins) 267 269 return true; … … 292 294 if (messageName == IPC::MessageName::TestWithLegacyReceiver_TemplateTest) 293 295 return true; 294 if (messageName == IPC::MessageName::TestWithLegacyReceiver_TestMultipleAttributes)295 return true;296 296 if (messageName == IPC::MessageName::TestWithLegacyReceiver_TestParameterAttributes) 297 297 return true; … … 318 318 return true; 319 319 #endif 320 if (messageName == IPC::MessageName::TestWithSuperclass_TestSyncMessage)321 return true;322 if (messageName == IPC::MessageName::TestWithSuperclass_TestSynchronousMessage)323 return true;324 320 #if (ENABLE(TOUCH_EVENTS) && (NESTED_MESSAGE_CONDITION && SOME_OTHER_MESSAGE_CONDITION)) 325 321 if (messageName == IPC::MessageName::TestWithoutAttributes_AddEvent) … … 344 340 return true; 345 341 #endif 346 if (messageName == IPC::MessageName::TestWithoutAttributes_GetPluginProcessConnection)347 return true;348 342 if (messageName == IPC::MessageName::TestWithoutAttributes_GetPlugins) 349 343 return true; … … 374 368 if (messageName == IPC::MessageName::TestWithoutAttributes_TemplateTest) 375 369 return true; 376 if (messageName == IPC::MessageName::TestWithoutAttributes_TestMultipleAttributes)377 return true;378 370 if (messageName == IPC::MessageName::TestWithoutAttributes_TestParameterAttributes) 379 371 return true; … … 390 382 if (messageName == IPC::MessageName::SyncMessageReply) 391 383 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; 392 412 if (messageName == IPC::MessageName::WrappedAsyncMessageForTesting) 393 413 return true; 394 #if ENABLE(TEST_FEATURE)395 if (messageName == IPC::MessageName::TestWithSuperclass_TestAsyncMessageReply)396 return true;397 #endif398 #if ENABLE(TEST_FEATURE)399 if (messageName == IPC::MessageName::TestWithSuperclass_TestAsyncMessageWithConnectionReply)400 return true;401 #endif402 #if ENABLE(TEST_FEATURE)403 if (messageName == IPC::MessageName::TestWithSuperclass_TestAsyncMessageWithMultipleArgumentsReply)404 return true;405 #endif406 #if ENABLE(TEST_FEATURE)407 if (messageName == IPC::MessageName::TestWithSuperclass_TestAsyncMessageWithNoArgumentsReply)408 return true;409 #endif410 414 return false; 411 415 }; -
trunk/Source/WebKit/Scripts/webkit/tests/MessageNames.h
r271237 r271243 48 48 , TestWithLegacyReceiver_DidReceivePolicyDecision 49 49 , TestWithLegacyReceiver_ExperimentalOperation 50 , TestWithLegacyReceiver_GetPluginProcessConnection51 50 , TestWithLegacyReceiver_GetPlugins 52 51 , TestWithLegacyReceiver_InterpretKeyEvent … … 60 59 , TestWithLegacyReceiver_SetVideoLayerID 61 60 , TestWithLegacyReceiver_TemplateTest 62 , TestWithLegacyReceiver_TestMultipleAttributes63 61 , TestWithLegacyReceiver_TestParameterAttributes 64 62 , TestWithLegacyReceiver_TouchEvent … … 68 66 , TestWithSuperclass_TestAsyncMessageWithMultipleArguments 69 67 , TestWithSuperclass_TestAsyncMessageWithNoArguments 70 , TestWithSuperclass_TestSyncMessage71 , TestWithSuperclass_TestSynchronousMessage72 68 , TestWithoutAttributes_AddEvent 73 69 , TestWithoutAttributes_Close … … 77 73 , TestWithoutAttributes_DidReceivePolicyDecision 78 74 , TestWithoutAttributes_ExperimentalOperation 79 , TestWithoutAttributes_GetPluginProcessConnection80 75 , TestWithoutAttributes_GetPlugins 81 76 , TestWithoutAttributes_InterpretKeyEvent … … 89 84 , TestWithoutAttributes_SetVideoLayerID 90 85 , TestWithoutAttributes_TemplateTest 91 , TestWithoutAttributes_TestMultipleAttributes92 86 , TestWithoutAttributes_TestParameterAttributes 93 87 , TestWithoutAttributes_TouchEvent … … 95 89 , LegacySessionState 96 90 , SyncMessageReply 97 , WrappedAsyncMessageForTesting98 91 , TestWithSuperclass_TestAsyncMessageReply 99 92 , TestWithSuperclass_TestAsyncMessageWithConnectionReply 100 93 , TestWithSuperclass_TestAsyncMessageWithMultipleArgumentsReply 101 94 , 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 103 103 }; 104 104 … … 106 106 const char* description(MessageName); 107 107 bool isValidMessageName(MessageName); 108 constexpr bool messageIsSync(MessageName name) 109 { 110 return name >= MessageName::TestWithLegacyReceiver_GetPluginProcessConnection; 111 } 108 112 109 113 } // namespace IPC
Note:
See TracChangeset
for help on using the changeset viewer.