Diff
Modified: trunk/Source/WebKit/ChangeLog (271242 => 271243)
--- trunk/Source/WebKit/ChangeLog 2021-01-07 18:17:44 UTC (rev 271242)
+++ trunk/Source/WebKit/ChangeLog 2021-01-07 18:47:58 UTC (rev 271243)
@@ -1,3 +1,44 @@
+2021-01-07 Kimmo Kinnunen <[email protected]>
+
+ WebKit IPC message names should indicate if the message is synchronous
+ https://bugs.webkit.org/show_bug.cgi?id=220319
+
+ 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):
+
2021-01-07 Sihui Liu <[email protected]>
ASSERTION FAILED: !m_messageReceiverMapCount under WebKit::SpeechRecognitionServer::~SpeechRecognitionServer()
Modified: trunk/Source/WebKit/Platform/IPC/Connection.cpp (271242 => 271243)
--- trunk/Source/WebKit/Platform/IPC/Connection.cpp 2021-01-07 18:17:44 UTC (rev 271242)
+++ trunk/Source/WebKit/Platform/IPC/Connection.cpp 2021-01-07 18:47:58 UTC (rev 271243)
@@ -439,7 +439,6 @@
std::unique_ptr<Encoder> Connection::createSyncMessageEncoder(MessageName messageName, uint64_t destinationID, uint64_t& syncRequestID)
{
auto encoder = makeUnique<Encoder>(messageName, destinationID);
- encoder->setIsSyncMessage(true);
// Encode the sync request ID.
syncRequestID = ++m_syncRequestID;
Modified: trunk/Source/WebKit/Platform/IPC/Decoder.cpp (271242 => 271243)
--- trunk/Source/WebKit/Platform/IPC/Decoder.cpp 2021-01-07 18:17:44 UTC (rev 271242)
+++ trunk/Source/WebKit/Platform/IPC/Decoder.cpp 2021-01-07 18:47:58 UTC (rev 271243)
@@ -96,11 +96,6 @@
// FIXME: We need to dispose of the mach ports in cases of failure.
}
-bool Decoder::isSyncMessage() const
-{
- return m_messageFlags.contains(MessageFlags::SyncMessage);
-}
-
ShouldDispatchWhenWaitingForSyncReply Decoder::shouldDispatchMessageWhenWaitingForSyncReply() const
{
if (m_messageFlags.contains(MessageFlags::DispatchMessageWhenWaitingForSyncReply))
@@ -165,7 +160,7 @@
markInvalid();
return false;
}
-
+
m_bufferPos = alignedPosition;
return true;
}
Modified: trunk/Source/WebKit/Platform/IPC/Decoder.h (271242 => 271243)
--- trunk/Source/WebKit/Platform/IPC/Decoder.h 2021-01-07 18:17:44 UTC (rev 271242)
+++ trunk/Source/WebKit/Platform/IPC/Decoder.h 2021-01-07 18:47:58 UTC (rev 271243)
@@ -58,7 +58,7 @@
MessageName messageName() const { return m_messageName; }
uint64_t destinationID() const { return m_destinationID; }
- bool isSyncMessage() const;
+ bool isSyncMessage() const { return messageIsSync(messageName()); }
ShouldDispatchWhenWaitingForSyncReply shouldDispatchMessageWhenWaitingForSyncReply() const;
bool shouldUseFullySynchronousModeForTesting() const;
Modified: trunk/Source/WebKit/Platform/IPC/Encoder.cpp (271242 => 271243)
--- trunk/Source/WebKit/Platform/IPC/Encoder.cpp 2021-01-07 18:17:44 UTC (rev 271242)
+++ trunk/Source/WebKit/Platform/IPC/Encoder.cpp 2021-01-07 18:47:58 UTC (rev 271243)
@@ -90,11 +90,6 @@
// FIXME: We need to dispose of the attachments in cases of failure.
}
-bool Encoder::isSyncMessage() const
-{
- return messageFlags().contains(MessageFlags::SyncMessage);
-}
-
ShouldDispatchWhenWaitingForSyncReply Encoder::shouldDispatchMessageWhenWaitingForSyncReply() const
{
if (messageFlags().contains(MessageFlags::DispatchMessageWhenWaitingForSyncReply))
@@ -104,14 +99,6 @@
return ShouldDispatchWhenWaitingForSyncReply::No;
}
-void Encoder::setIsSyncMessage(bool isSyncMessage)
-{
- if (isSyncMessage)
- messageFlags().add(MessageFlags::SyncMessage);
- else
- messageFlags().remove(MessageFlags::SyncMessage);
-}
-
void Encoder::setShouldDispatchMessageWhenWaitingForSyncReply(ShouldDispatchWhenWaitingForSyncReply shouldDispatchWhenWaitingForSyncReply)
{
switch (shouldDispatchWhenWaitingForSyncReply) {
@@ -205,7 +192,7 @@
m_bufferSize = alignedSize + size;
m_bufferPointer = m_buffer + alignedSize + size;
-
+
return m_buffer + alignedSize;
}
Modified: trunk/Source/WebKit/Platform/IPC/Encoder.h (271242 => 271243)
--- trunk/Source/WebKit/Platform/IPC/Encoder.h 2021-01-07 18:17:44 UTC (rev 271242)
+++ trunk/Source/WebKit/Platform/IPC/Encoder.h 2021-01-07 18:47:58 UTC (rev 271243)
@@ -50,8 +50,7 @@
MessageName messageName() const { return m_messageName; }
uint64_t destinationID() const { return m_destinationID; }
- void setIsSyncMessage(bool);
- bool isSyncMessage() const;
+ bool isSyncMessage() const { return messageIsSync(messageName()); }
void setShouldDispatchMessageWhenWaitingForSyncReply(ShouldDispatchWhenWaitingForSyncReply);
ShouldDispatchWhenWaitingForSyncReply shouldDispatchMessageWhenWaitingForSyncReply() const;
Modified: trunk/Source/WebKit/Platform/IPC/MessageArgumentDescriptions.h (271242 => 271243)
--- trunk/Source/WebKit/Platform/IPC/MessageArgumentDescriptions.h 2021-01-07 18:17:44 UTC (rev 271242)
+++ trunk/Source/WebKit/Platform/IPC/MessageArgumentDescriptions.h 2021-01-07 18:47:58 UTC (rev 271243)
@@ -52,6 +52,5 @@
Optional<Vector<ArgumentDescription>> messageArgumentDescriptions(MessageName);
Optional<Vector<ArgumentDescription>> messageReplyArgumentDescriptions(MessageName);
-bool messageIsSync(MessageName);
}
Modified: trunk/Source/WebKit/Platform/IPC/MessageFlags.h (271242 => 271243)
--- trunk/Source/WebKit/Platform/IPC/MessageFlags.h 2021-01-07 18:17:44 UTC (rev 271242)
+++ trunk/Source/WebKit/Platform/IPC/MessageFlags.h 2021-01-07 18:47:58 UTC (rev 271243)
@@ -28,10 +28,9 @@
namespace IPC {
enum class MessageFlags : uint8_t {
- SyncMessage = 1 << 0,
- DispatchMessageWhenWaitingForSyncReply = 1 << 1,
- DispatchMessageWhenWaitingForUnboundedSyncReply = 1 << 2,
- UseFullySynchronousModeForTesting = 1 << 3,
+ DispatchMessageWhenWaitingForSyncReply = 1 << 0,
+ DispatchMessageWhenWaitingForUnboundedSyncReply = 1 << 1,
+ UseFullySynchronousModeForTesting = 1 << 2,
};
enum class ShouldDispatchWhenWaitingForSyncReply : uint8_t {
@@ -47,7 +46,6 @@
template<> struct EnumTraits<IPC::MessageFlags> {
using values = EnumValues<
IPC::MessageFlags,
- IPC::MessageFlags::SyncMessage,
IPC::MessageFlags::DispatchMessageWhenWaitingForSyncReply,
IPC::MessageFlags::DispatchMessageWhenWaitingForUnboundedSyncReply,
IPC::MessageFlags::UseFullySynchronousModeForTesting
Modified: trunk/Source/WebKit/Scripts/webkit/messages.py (271242 => 271243)
--- trunk/Source/WebKit/Scripts/webkit/messages.py 2021-01-07 18:17:44 UTC (rev 271242)
+++ trunk/Source/WebKit/Scripts/webkit/messages.py 2021-01-07 18:47:58 UTC (rev 271243)
@@ -25,7 +25,7 @@
import sys
from webkit import parser
-from webkit.model import BUILTIN_ATTRIBUTE, ASYNC_ATTRIBUTE
+from webkit.model import BUILTIN_ATTRIBUTE, ASYNC_ATTRIBUTE, SYNCHRONOUS_ATTRIBUTE
_license_header = """/*
* Copyright (C) 2010-2021 Apple Inc. All rights reserved.
@@ -58,7 +58,6 @@
WANTS_ASYNC_DISPATCH_MESSAGE_ATTRIBUTE = 'WantsAsyncDispatchMessage'
LEGACY_RECEIVER_ATTRIBUTE = 'LegacyReceiver'
NOT_REFCOUNTED_RECEIVER_ATTRIBUTE = 'NotRefCounted'
-SYNCHRONOUS_ATTRIBUTE = 'Synchronous'
def receiver_enumerator_order_key(receiver_name):
@@ -84,7 +83,7 @@
@classmethod
def sort_key(cls, obj):
- return receiver_enumerator_order_key(obj.receiver.name), str(obj)
+ return obj.messages[0].has_attribute(SYNCHRONOUS_ATTRIBUTE), receiver_enumerator_order_key(obj.receiver.name), str(obj)
def get_message_enumerators(receivers):
@@ -974,6 +973,15 @@
result.append('ReceiverName receiverName(MessageName);\n')
result.append('const char* description(MessageName);\n')
result.append('bool isValidMessageName(MessageName);\n')
+ result.append('constexpr bool messageIsSync(MessageName name)\n')
+ result.append('{\n')
+ first_synchronous = next((e for e in message_enumerators if e.messages[0].has_attribute(SYNCHRONOUS_ATTRIBUTE)), None)
+ if first_synchronous:
+ result.append(' return name >= MessageName::%s;\n' % first_synchronous)
+ else:
+ result.append(' UNUSED_PARAM(name);\n')
+ result.append(' return false;\n')
+ result.append('}\n')
result.append('\n')
result.append('} // namespace IPC\n')
result.append('\n')
@@ -1173,36 +1181,6 @@
result += generate_js_argument_descriptions(receivers, 'messageReplyArgumentDescriptions', lambda message: message.reply_parameters if message.has_attribute(SYNCHRONOUS_ATTRIBUTE) or message.has_attribute(ASYNC_ATTRIBUTE) else None)
result.append('\n')
- result.append('bool messageIsSync(MessageName name)\n')
- result.append('{\n')
- result.append(' switch (name) {\n')
- for receiver in receivers:
- has_emit_receiver_condition = False
- previous_message_condition = None
- for message in receiver.messages:
- if message.reply_parameters is None or not message.has_attribute(SYNCHRONOUS_ATTRIBUTE):
- continue
- if not has_emit_receiver_condition and receiver.condition:
- has_emit_receiver_condition = True
- result.append('#if %s\n' % receiver.condition)
- if previous_message_condition != message.condition:
- if previous_message_condition:
- result.append('#endif\n')
- if message.condition:
- result.append('#if %s\n' % message.condition)
- previous_message_condition = message.condition
- result.append(' case MessageName::%s:\n' % MessageEnumerator(receiver, [message]))
- result.append(' return true;\n')
- if previous_message_condition:
- result.append('#endif\n')
- if has_emit_receiver_condition:
- result.append('#endif\n')
- result.append(' default:\n')
- result.append(' break;\n')
- result.append(' }\n')
- result.append(' return false;\n')
- result.append('}\n')
- result.append('\n')
result.append('} // namespace WebKit\n')
result.append('\n')
Modified: trunk/Source/WebKit/Scripts/webkit/model.py (271242 => 271243)
--- trunk/Source/WebKit/Scripts/webkit/model.py 2021-01-07 18:17:44 UTC (rev 271242)
+++ trunk/Source/WebKit/Scripts/webkit/model.py 2021-01-07 18:47:58 UTC (rev 271243)
@@ -22,10 +22,11 @@
import itertools
-from collections import Counter
+from collections import Counter, defaultdict
BUILTIN_ATTRIBUTE = "Builtin"
ASYNC_ATTRIBUTE = "Async"
+SYNCHRONOUS_ATTRIBUTE = 'Synchronous'
class MessageReceiver(object):
def __init__(self, name, superclass, attributes, messages, condition):
@@ -68,7 +69,7 @@
ipc_receiver = MessageReceiver(name="IPC", superclass=None, attributes=[BUILTIN_ATTRIBUTE], messages=[
- Message('WrappedAsyncMessageForTesting', [], [], attributes=[BUILTIN_ATTRIBUTE], condition=None),
+ Message('WrappedAsyncMessageForTesting', [], [], attributes=[BUILTIN_ATTRIBUTE, SYNCHRONOUS_ATTRIBUTE], condition=None),
Message('SyncMessageReply', [], [], attributes=[BUILTIN_ATTRIBUTE], condition=None),
Message('InitializeConnection', [], [], attributes=[BUILTIN_ATTRIBUTE], condition="PLATFORM(COCOA)"),
Message('LegacySessionState', [], [], attributes=[BUILTIN_ATTRIBUTE], condition=None)
@@ -82,6 +83,21 @@
if receiver_duplicates:
errors.append('Duplicate message receiver names: %s' % (', '.join(receiver_duplicates)))
+ # A message might be defined multiple times using ifdef conditions.
+ # Certain attributes must match in this case. E.g. USE(COCOA) cannot have a sync message that
+ # would be non-sync in USE(GTK).
+ matching_attributes = [SYNCHRONOUS_ATTRIBUTE]
+ for receiver in receivers:
+ receiver_messages = defaultdict(list)
+ for message in receiver.messages:
+ receiver_messages[message.name].append(message)
+ for messages in receiver_messages.values():
+ m0 = messages[0]
+ for i in range(1, len(messages)):
+ mi = messages[i]
+ if any(m0.has_attribute(a) != mi.has_attribute(a) for a in matching_attributes):
+ errors.append('Receiver %s message %s attribute mismatch: %s (%s) != %s (%s))' % (receiver.name, message.name,
+ m0.attributes, m0.condition, mi.attributes, mi.condition))
return errors
Modified: trunk/Source/WebKit/Scripts/webkit/model_unittest.py (271242 => 271243)
--- trunk/Source/WebKit/Scripts/webkit/model_unittest.py 2021-01-07 18:17:44 UTC (rev 271242)
+++ trunk/Source/WebKit/Scripts/webkit/model_unittest.py 2021-01-07 18:47:58 UTC (rev 271243)
@@ -63,6 +63,23 @@
self.assertEquals(len(errors), 1)
self.assertTrue("Duplicate" in errors[0])
+ def test_mismatch_message_attribute_sync(self):
+ contents = """
+messages -> WebPage {
+#if USE(COCOA)
+ LoadURL(String url) Synchronous
+#endif
+#if USE(GTK)
+ LoadURL(String url)
+#endif
+}"""
+ receiver = parser.parse(StringIO(contents))
+ self.assertEquals(receiver.name, 'WebPage')
+ self.assertEquals(receiver.messages[0].name, 'LoadURL')
+ errors = model.check_global_model_inputs([receiver])
+ self.assertEquals(len(errors), 1)
+ self.assertTrue("attribute mismatch" in errors[0])
+
if __name__ == '__main__':
unittest.main()
Modified: trunk/Source/WebKit/Scripts/webkit/tests/MessageArgumentDescriptions.cpp (271242 => 271243)
--- trunk/Source/WebKit/Scripts/webkit/tests/MessageArgumentDescriptions.cpp 2021-01-07 18:17:44 UTC (rev 271242)
+++ trunk/Source/WebKit/Scripts/webkit/tests/MessageArgumentDescriptions.cpp 2021-01-07 18:47:58 UTC (rev 271243)
@@ -573,31 +573,6 @@
return WTF::nullopt;
}
-bool messageIsSync(MessageName name)
-{
- switch (name) {
- case MessageName::TestWithSuperclass_TestSyncMessage:
- return true;
- case MessageName::TestWithSuperclass_TestSynchronousMessage:
- return true;
-#if (ENABLE(WEBKIT2) && (NESTED_MASTER_CONDITION || MASTER_OR && MASTER_AND))
- case MessageName::TestWithLegacyReceiver_GetPluginProcessConnection:
- return true;
- case MessageName::TestWithLegacyReceiver_TestMultipleAttributes:
- return true;
-#endif
-#if (ENABLE(WEBKIT2) && (NESTED_MASTER_CONDITION || MASTER_OR && MASTER_AND))
- case MessageName::TestWithoutAttributes_GetPluginProcessConnection:
- return true;
- case MessageName::TestWithoutAttributes_TestMultipleAttributes:
- return true;
-#endif
- default:
- break;
- }
- return false;
-}
-
} // namespace WebKit
#endif
Modified: trunk/Source/WebKit/Scripts/webkit/tests/MessageNames.cpp (271242 => 271243)
--- trunk/Source/WebKit/Scripts/webkit/tests/MessageNames.cpp 2021-01-07 18:17:44 UTC (rev 271242)
+++ trunk/Source/WebKit/Scripts/webkit/tests/MessageNames.cpp 2021-01-07 18:47:58 UTC (rev 271243)
@@ -46,8 +46,6 @@
return "TestWithLegacyReceiver_DidReceivePolicyDecision";
case MessageName::TestWithLegacyReceiver_ExperimentalOperation:
return "TestWithLegacyReceiver_ExperimentalOperation";
- case MessageName::TestWithLegacyReceiver_GetPluginProcessConnection:
- return "TestWithLegacyReceiver_GetPluginProcessConnection";
case MessageName::TestWithLegacyReceiver_GetPlugins:
return "TestWithLegacyReceiver_GetPlugins";
case MessageName::TestWithLegacyReceiver_InterpretKeyEvent:
@@ -70,8 +68,6 @@
return "TestWithLegacyReceiver_SetVideoLayerID";
case MessageName::TestWithLegacyReceiver_TemplateTest:
return "TestWithLegacyReceiver_TemplateTest";
- case MessageName::TestWithLegacyReceiver_TestMultipleAttributes:
- return "TestWithLegacyReceiver_TestMultipleAttributes";
case MessageName::TestWithLegacyReceiver_TestParameterAttributes:
return "TestWithLegacyReceiver_TestParameterAttributes";
case MessageName::TestWithLegacyReceiver_TouchEvent:
@@ -86,10 +82,6 @@
return "TestWithSuperclass_TestAsyncMessageWithMultipleArguments";
case MessageName::TestWithSuperclass_TestAsyncMessageWithNoArguments:
return "TestWithSuperclass_TestAsyncMessageWithNoArguments";
- case MessageName::TestWithSuperclass_TestSyncMessage:
- return "TestWithSuperclass_TestSyncMessage";
- case MessageName::TestWithSuperclass_TestSynchronousMessage:
- return "TestWithSuperclass_TestSynchronousMessage";
case MessageName::TestWithoutAttributes_AddEvent:
return "TestWithoutAttributes_AddEvent";
case MessageName::TestWithoutAttributes_Close:
@@ -104,8 +96,6 @@
return "TestWithoutAttributes_DidReceivePolicyDecision";
case MessageName::TestWithoutAttributes_ExperimentalOperation:
return "TestWithoutAttributes_ExperimentalOperation";
- case MessageName::TestWithoutAttributes_GetPluginProcessConnection:
- return "TestWithoutAttributes_GetPluginProcessConnection";
case MessageName::TestWithoutAttributes_GetPlugins:
return "TestWithoutAttributes_GetPlugins";
case MessageName::TestWithoutAttributes_InterpretKeyEvent:
@@ -128,8 +118,6 @@
return "TestWithoutAttributes_SetVideoLayerID";
case MessageName::TestWithoutAttributes_TemplateTest:
return "TestWithoutAttributes_TemplateTest";
- case MessageName::TestWithoutAttributes_TestMultipleAttributes:
- return "TestWithoutAttributes_TestMultipleAttributes";
case MessageName::TestWithoutAttributes_TestParameterAttributes:
return "TestWithoutAttributes_TestParameterAttributes";
case MessageName::TestWithoutAttributes_TouchEvent:
@@ -140,8 +128,6 @@
return "LegacySessionState";
case MessageName::SyncMessageReply:
return "SyncMessageReply";
- case MessageName::WrappedAsyncMessageForTesting:
- return "WrappedAsyncMessageForTesting";
case MessageName::TestWithSuperclass_TestAsyncMessageReply:
return "TestWithSuperclass_TestAsyncMessageReply";
case MessageName::TestWithSuperclass_TestAsyncMessageWithConnectionReply:
@@ -150,6 +136,20 @@
return "TestWithSuperclass_TestAsyncMessageWithMultipleArgumentsReply";
case MessageName::TestWithSuperclass_TestAsyncMessageWithNoArgumentsReply:
return "TestWithSuperclass_TestAsyncMessageWithNoArgumentsReply";
+ case MessageName::TestWithLegacyReceiver_GetPluginProcessConnection:
+ return "TestWithLegacyReceiver_GetPluginProcessConnection";
+ case MessageName::TestWithLegacyReceiver_TestMultipleAttributes:
+ return "TestWithLegacyReceiver_TestMultipleAttributes";
+ case MessageName::TestWithSuperclass_TestSyncMessage:
+ return "TestWithSuperclass_TestSyncMessage";
+ case MessageName::TestWithSuperclass_TestSynchronousMessage:
+ return "TestWithSuperclass_TestSynchronousMessage";
+ case MessageName::TestWithoutAttributes_GetPluginProcessConnection:
+ return "TestWithoutAttributes_GetPluginProcessConnection";
+ case MessageName::TestWithoutAttributes_TestMultipleAttributes:
+ return "TestWithoutAttributes_TestMultipleAttributes";
+ case MessageName::WrappedAsyncMessageForTesting:
+ return "WrappedAsyncMessageForTesting";
}
ASSERT_NOT_REACHED();
return "<invalid message name>";
@@ -167,7 +167,6 @@
case MessageName::TestWithLegacyReceiver_DidCreateWebProcessConnection:
case MessageName::TestWithLegacyReceiver_DidReceivePolicyDecision:
case MessageName::TestWithLegacyReceiver_ExperimentalOperation:
- case MessageName::TestWithLegacyReceiver_GetPluginProcessConnection:
case MessageName::TestWithLegacyReceiver_GetPlugins:
case MessageName::TestWithLegacyReceiver_InterpretKeyEvent:
case MessageName::TestWithLegacyReceiver_LoadSomething:
@@ -179,7 +178,6 @@
case MessageName::TestWithLegacyReceiver_SendInts:
case MessageName::TestWithLegacyReceiver_SetVideoLayerID:
case MessageName::TestWithLegacyReceiver_TemplateTest:
- case MessageName::TestWithLegacyReceiver_TestMultipleAttributes:
case MessageName::TestWithLegacyReceiver_TestParameterAttributes:
case MessageName::TestWithLegacyReceiver_TouchEvent:
return ReceiverName::TestWithLegacyReceiver;
@@ -188,8 +186,6 @@
case MessageName::TestWithSuperclass_TestAsyncMessageWithConnection:
case MessageName::TestWithSuperclass_TestAsyncMessageWithMultipleArguments:
case MessageName::TestWithSuperclass_TestAsyncMessageWithNoArguments:
- case MessageName::TestWithSuperclass_TestSyncMessage:
- case MessageName::TestWithSuperclass_TestSynchronousMessage:
return ReceiverName::TestWithSuperclass;
case MessageName::TestWithoutAttributes_AddEvent:
case MessageName::TestWithoutAttributes_Close:
@@ -198,7 +194,6 @@
case MessageName::TestWithoutAttributes_DidCreateWebProcessConnection:
case MessageName::TestWithoutAttributes_DidReceivePolicyDecision:
case MessageName::TestWithoutAttributes_ExperimentalOperation:
- case MessageName::TestWithoutAttributes_GetPluginProcessConnection:
case MessageName::TestWithoutAttributes_GetPlugins:
case MessageName::TestWithoutAttributes_InterpretKeyEvent:
case MessageName::TestWithoutAttributes_LoadSomething:
@@ -210,7 +205,6 @@
case MessageName::TestWithoutAttributes_SendInts:
case MessageName::TestWithoutAttributes_SetVideoLayerID:
case MessageName::TestWithoutAttributes_TemplateTest:
- case MessageName::TestWithoutAttributes_TestMultipleAttributes:
case MessageName::TestWithoutAttributes_TestParameterAttributes:
case MessageName::TestWithoutAttributes_TouchEvent:
return ReceiverName::TestWithoutAttributes;
@@ -217,7 +211,6 @@
case MessageName::InitializeConnection:
case MessageName::LegacySessionState:
case MessageName::SyncMessageReply:
- case MessageName::WrappedAsyncMessageForTesting:
return ReceiverName::IPC;
case MessageName::TestWithSuperclass_TestAsyncMessageReply:
case MessageName::TestWithSuperclass_TestAsyncMessageWithConnectionReply:
@@ -224,6 +217,17 @@
case MessageName::TestWithSuperclass_TestAsyncMessageWithMultipleArgumentsReply:
case MessageName::TestWithSuperclass_TestAsyncMessageWithNoArgumentsReply:
return ReceiverName::AsyncReply;
+ case MessageName::TestWithLegacyReceiver_GetPluginProcessConnection:
+ case MessageName::TestWithLegacyReceiver_TestMultipleAttributes:
+ return ReceiverName::TestWithLegacyReceiver;
+ case MessageName::TestWithSuperclass_TestSyncMessage:
+ case MessageName::TestWithSuperclass_TestSynchronousMessage:
+ return ReceiverName::TestWithSuperclass;
+ case MessageName::TestWithoutAttributes_GetPluginProcessConnection:
+ case MessageName::TestWithoutAttributes_TestMultipleAttributes:
+ return ReceiverName::TestWithoutAttributes;
+ case MessageName::WrappedAsyncMessageForTesting:
+ return ReceiverName::IPC;
}
ASSERT_NOT_REACHED();
return ReceiverName::Invalid;
@@ -261,8 +265,6 @@
if (messageName == IPC::MessageName::TestWithLegacyReceiver_ExperimentalOperation)
return true;
#endif
- if (messageName == IPC::MessageName::TestWithLegacyReceiver_GetPluginProcessConnection)
- return true;
if (messageName == IPC::MessageName::TestWithLegacyReceiver_GetPlugins)
return true;
#if PLATFORM(MAC)
@@ -291,8 +293,6 @@
return true;
if (messageName == IPC::MessageName::TestWithLegacyReceiver_TemplateTest)
return true;
- if (messageName == IPC::MessageName::TestWithLegacyReceiver_TestMultipleAttributes)
- return true;
if (messageName == IPC::MessageName::TestWithLegacyReceiver_TestParameterAttributes)
return true;
#if (ENABLE(TOUCH_EVENTS) && (NESTED_MESSAGE_CONDITION || SOME_OTHER_MESSAGE_CONDITION))
@@ -317,10 +317,6 @@
if (messageName == IPC::MessageName::TestWithSuperclass_TestAsyncMessageWithNoArguments)
return true;
#endif
- if (messageName == IPC::MessageName::TestWithSuperclass_TestSyncMessage)
- return true;
- if (messageName == IPC::MessageName::TestWithSuperclass_TestSynchronousMessage)
- return true;
#if (ENABLE(TOUCH_EVENTS) && (NESTED_MESSAGE_CONDITION && SOME_OTHER_MESSAGE_CONDITION))
if (messageName == IPC::MessageName::TestWithoutAttributes_AddEvent)
return true;
@@ -343,8 +339,6 @@
if (messageName == IPC::MessageName::TestWithoutAttributes_ExperimentalOperation)
return true;
#endif
- if (messageName == IPC::MessageName::TestWithoutAttributes_GetPluginProcessConnection)
- return true;
if (messageName == IPC::MessageName::TestWithoutAttributes_GetPlugins)
return true;
#if PLATFORM(MAC)
@@ -373,8 +367,6 @@
return true;
if (messageName == IPC::MessageName::TestWithoutAttributes_TemplateTest)
return true;
- if (messageName == IPC::MessageName::TestWithoutAttributes_TestMultipleAttributes)
- return true;
if (messageName == IPC::MessageName::TestWithoutAttributes_TestParameterAttributes)
return true;
#if (ENABLE(TOUCH_EVENTS) && (NESTED_MESSAGE_CONDITION || SOME_OTHER_MESSAGE_CONDITION))
@@ -389,8 +381,6 @@
return true;
if (messageName == IPC::MessageName::SyncMessageReply)
return true;
- if (messageName == IPC::MessageName::WrappedAsyncMessageForTesting)
- return true;
#if ENABLE(TEST_FEATURE)
if (messageName == IPC::MessageName::TestWithSuperclass_TestAsyncMessageReply)
return true;
@@ -407,6 +397,20 @@
if (messageName == IPC::MessageName::TestWithSuperclass_TestAsyncMessageWithNoArgumentsReply)
return true;
#endif
+ if (messageName == IPC::MessageName::TestWithLegacyReceiver_GetPluginProcessConnection)
+ return true;
+ if (messageName == IPC::MessageName::TestWithLegacyReceiver_TestMultipleAttributes)
+ return true;
+ if (messageName == IPC::MessageName::TestWithSuperclass_TestSyncMessage)
+ return true;
+ if (messageName == IPC::MessageName::TestWithSuperclass_TestSynchronousMessage)
+ return true;
+ if (messageName == IPC::MessageName::TestWithoutAttributes_GetPluginProcessConnection)
+ return true;
+ if (messageName == IPC::MessageName::TestWithoutAttributes_TestMultipleAttributes)
+ return true;
+ if (messageName == IPC::MessageName::WrappedAsyncMessageForTesting)
+ return true;
return false;
};
Modified: trunk/Source/WebKit/Scripts/webkit/tests/MessageNames.h (271242 => 271243)
--- trunk/Source/WebKit/Scripts/webkit/tests/MessageNames.h 2021-01-07 18:17:44 UTC (rev 271242)
+++ trunk/Source/WebKit/Scripts/webkit/tests/MessageNames.h 2021-01-07 18:47:58 UTC (rev 271243)
@@ -47,7 +47,6 @@
, TestWithLegacyReceiver_DidCreateWebProcessConnection
, TestWithLegacyReceiver_DidReceivePolicyDecision
, TestWithLegacyReceiver_ExperimentalOperation
- , TestWithLegacyReceiver_GetPluginProcessConnection
, TestWithLegacyReceiver_GetPlugins
, TestWithLegacyReceiver_InterpretKeyEvent
, TestWithLegacyReceiver_LoadSomething
@@ -59,7 +58,6 @@
, TestWithLegacyReceiver_SendInts
, TestWithLegacyReceiver_SetVideoLayerID
, TestWithLegacyReceiver_TemplateTest
- , TestWithLegacyReceiver_TestMultipleAttributes
, TestWithLegacyReceiver_TestParameterAttributes
, TestWithLegacyReceiver_TouchEvent
, TestWithSuperclass_LoadURL
@@ -67,8 +65,6 @@
, TestWithSuperclass_TestAsyncMessageWithConnection
, TestWithSuperclass_TestAsyncMessageWithMultipleArguments
, TestWithSuperclass_TestAsyncMessageWithNoArguments
- , TestWithSuperclass_TestSyncMessage
- , TestWithSuperclass_TestSynchronousMessage
, TestWithoutAttributes_AddEvent
, TestWithoutAttributes_Close
, TestWithoutAttributes_CreatePlugin
@@ -76,7 +72,6 @@
, TestWithoutAttributes_DidCreateWebProcessConnection
, TestWithoutAttributes_DidReceivePolicyDecision
, TestWithoutAttributes_ExperimentalOperation
- , TestWithoutAttributes_GetPluginProcessConnection
, TestWithoutAttributes_GetPlugins
, TestWithoutAttributes_InterpretKeyEvent
, TestWithoutAttributes_LoadSomething
@@ -88,23 +83,32 @@
, TestWithoutAttributes_SendInts
, TestWithoutAttributes_SetVideoLayerID
, TestWithoutAttributes_TemplateTest
- , TestWithoutAttributes_TestMultipleAttributes
, TestWithoutAttributes_TestParameterAttributes
, TestWithoutAttributes_TouchEvent
, InitializeConnection
, LegacySessionState
, SyncMessageReply
- , WrappedAsyncMessageForTesting
, TestWithSuperclass_TestAsyncMessageReply
, TestWithSuperclass_TestAsyncMessageWithConnectionReply
, TestWithSuperclass_TestAsyncMessageWithMultipleArgumentsReply
, TestWithSuperclass_TestAsyncMessageWithNoArgumentsReply
- , Last = TestWithSuperclass_TestAsyncMessageWithNoArgumentsReply
+ , TestWithLegacyReceiver_GetPluginProcessConnection
+ , TestWithLegacyReceiver_TestMultipleAttributes
+ , TestWithSuperclass_TestSyncMessage
+ , TestWithSuperclass_TestSynchronousMessage
+ , TestWithoutAttributes_GetPluginProcessConnection
+ , TestWithoutAttributes_TestMultipleAttributes
+ , WrappedAsyncMessageForTesting
+ , Last = WrappedAsyncMessageForTesting
};
ReceiverName receiverName(MessageName);
const char* description(MessageName);
bool isValidMessageName(MessageName);
+constexpr bool messageIsSync(MessageName name)
+{
+ return name >= MessageName::TestWithLegacyReceiver_GetPluginProcessConnection;
+}
} // namespace IPC