Diff
Modified: trunk/Source/WebKit/ChangeLog (261269 => 261270)
--- trunk/Source/WebKit/ChangeLog 2020-05-07 06:18:53 UTC (rev 261269)
+++ trunk/Source/WebKit/ChangeLog 2020-05-07 06:36:12 UTC (rev 261270)
@@ -1,3 +1,93 @@
+
+2020-05-06 Alex Christensen <[email protected]>
+
+ Fix webkitpy tests after r261254
+ https://bugs.webkit.org/show_bug.cgi?id=211112
+
+ test.messages.in was accidentally deleted instead of moved, and messages_unittest.py needed to be told of the new locations of results.
+ The rest is just running the generator to update results.
+
+ * Scripts/MessageNames.cpp:
+ (IPC::description):
+ (IPC::receiverName):
+ (IPC::isValidMessageName):
+ * Scripts/MessageNames.h:
+ * Scripts/testMessageReceiver.cpp:
+ (Messages::WebPage::GetPluginProcessConnection::send):
+ (Messages::WebPage::TestMultipleAttributes::send):
+ (WebKit::WebPage::didReceiveMessage):
+ (WebKit::WebPage::didReceiveSyncMessage):
+ * Scripts/testMessages.h:
+ (Messages::WebPage::messageReceiverName):
+ (Messages::WebPage::LoadURL::name):
+ (Messages::WebPage::LoadURL::LoadURL):
+ (Messages::WebPage::LoadURL::arguments const):
+ (Messages::WebPage::LoadSomething::name):
+ (Messages::WebPage::LoadSomething::LoadSomething):
+ (Messages::WebPage::LoadSomething::arguments const):
+ (Messages::WebPage::TouchEvent::name):
+ (Messages::WebPage::TouchEvent::TouchEvent):
+ (Messages::WebPage::TouchEvent::arguments const):
+ (Messages::WebPage::AddEvent::name):
+ (Messages::WebPage::AddEvent::AddEvent):
+ (Messages::WebPage::AddEvent::arguments const):
+ (Messages::WebPage::LoadSomethingElse::name):
+ (Messages::WebPage::LoadSomethingElse::LoadSomethingElse):
+ (Messages::WebPage::LoadSomethingElse::arguments const):
+ (Messages::WebPage::DidReceivePolicyDecision::name):
+ (Messages::WebPage::DidReceivePolicyDecision::DidReceivePolicyDecision):
+ (Messages::WebPage::DidReceivePolicyDecision::arguments const):
+ (Messages::WebPage::Close::name):
+ (Messages::WebPage::Close::arguments const):
+ (Messages::WebPage::PreferencesDidChange::name):
+ (Messages::WebPage::PreferencesDidChange::PreferencesDidChange):
+ (Messages::WebPage::PreferencesDidChange::arguments const):
+ (Messages::WebPage::SendDoubleAndFloat::name):
+ (Messages::WebPage::SendDoubleAndFloat::SendDoubleAndFloat):
+ (Messages::WebPage::SendDoubleAndFloat::arguments const):
+ (Messages::WebPage::SendInts::name):
+ (Messages::WebPage::SendInts::SendInts):
+ (Messages::WebPage::SendInts::arguments const):
+ (Messages::WebPage::CreatePlugin::name):
+ (Messages::WebPage::CreatePlugin::CreatePlugin):
+ (Messages::WebPage::CreatePlugin::arguments const):
+ (Messages::WebPage::RunJavaScriptAlert::name):
+ (Messages::WebPage::RunJavaScriptAlert::RunJavaScriptAlert):
+ (Messages::WebPage::RunJavaScriptAlert::arguments const):
+ (Messages::WebPage::GetPlugins::name):
+ (Messages::WebPage::GetPlugins::GetPlugins):
+ (Messages::WebPage::GetPlugins::arguments const):
+ (Messages::WebPage::GetPluginProcessConnection::name):
+ (Messages::WebPage::GetPluginProcessConnection::GetPluginProcessConnection):
+ (Messages::WebPage::GetPluginProcessConnection::arguments const):
+ (Messages::WebPage::TestMultipleAttributes::name):
+ (Messages::WebPage::TestMultipleAttributes::arguments const):
+ (Messages::WebPage::TestParameterAttributes::name):
+ (Messages::WebPage::TestParameterAttributes::TestParameterAttributes):
+ (Messages::WebPage::TestParameterAttributes::arguments const):
+ (Messages::WebPage::TemplateTest::name):
+ (Messages::WebPage::TemplateTest::TemplateTest):
+ (Messages::WebPage::TemplateTest::arguments const):
+ (Messages::WebPage::SetVideoLayerID::name):
+ (Messages::WebPage::SetVideoLayerID::SetVideoLayerID):
+ (Messages::WebPage::SetVideoLayerID::arguments const):
+ (Messages::WebPage::DidCreateWebProcessConnection::name):
+ (Messages::WebPage::DidCreateWebProcessConnection::DidCreateWebProcessConnection):
+ (Messages::WebPage::DidCreateWebProcessConnection::arguments const):
+ (Messages::WebPage::InterpretKeyEvent::name):
+ (Messages::WebPage::InterpretKeyEvent::InterpretKeyEvent):
+ (Messages::WebPage::InterpretKeyEvent::arguments const):
+ (Messages::WebPage::DeprecatedOperation::name):
+ (Messages::WebPage::DeprecatedOperation::DeprecatedOperation):
+ (Messages::WebPage::DeprecatedOperation::arguments const):
+ (Messages::WebPage::ExperimentalOperation::name):
+ (Messages::WebPage::ExperimentalOperation::ExperimentalOperation):
+ (Messages::WebPage::ExperimentalOperation::arguments const):
+ (Messages::None::messageReceiverName): Deleted.
+ * Scripts/testMessagesReplies.h:
+ * Scripts/webkit/messages_unittest.py:
+ * Scripts/webkit/test.messages.in: Added.
+
2020-05-06 Megan Gardner <[email protected]>
Context Menus presented from the wrong location when presented from sub-frames
Modified: trunk/Source/WebKit/Scripts/MessageNames.cpp (261269 => 261270)
--- trunk/Source/WebKit/Scripts/MessageNames.cpp 2020-05-07 06:18:53 UTC (rev 261269)
+++ trunk/Source/WebKit/Scripts/MessageNames.cpp 2020-05-07 06:36:12 UTC (rev 261270)
@@ -114,6 +114,66 @@
case MessageName::WebPage_ExperimentalOperation:
return "WebPage::ExperimentalOperation";
#endif
+ case MessageName::WebPage_LoadURL:
+ return "WebPage::LoadURL";
+#if ENABLE(TOUCH_EVENTS)
+ case MessageName::WebPage_LoadSomething:
+ return "WebPage::LoadSomething";
+#endif
+#if (ENABLE(TOUCH_EVENTS) && (NESTED_MESSAGE_CONDITION || SOME_OTHER_MESSAGE_CONDITION))
+ case MessageName::WebPage_TouchEvent:
+ return "WebPage::TouchEvent";
+#endif
+#if (ENABLE(TOUCH_EVENTS) && (NESTED_MESSAGE_CONDITION && SOME_OTHER_MESSAGE_CONDITION))
+ case MessageName::WebPage_AddEvent:
+ return "WebPage::AddEvent";
+#endif
+#if ENABLE(TOUCH_EVENTS)
+ case MessageName::WebPage_LoadSomethingElse:
+ return "WebPage::LoadSomethingElse";
+#endif
+ case MessageName::WebPage_DidReceivePolicyDecision:
+ return "WebPage::DidReceivePolicyDecision";
+ case MessageName::WebPage_Close:
+ return "WebPage::Close";
+ case MessageName::WebPage_PreferencesDidChange:
+ return "WebPage::PreferencesDidChange";
+ case MessageName::WebPage_SendDoubleAndFloat:
+ return "WebPage::SendDoubleAndFloat";
+ case MessageName::WebPage_SendInts:
+ return "WebPage::SendInts";
+ case MessageName::WebPage_CreatePlugin:
+ return "WebPage::CreatePlugin";
+ case MessageName::WebPage_RunJavaScriptAlert:
+ return "WebPage::RunJavaScriptAlert";
+ case MessageName::WebPage_GetPlugins:
+ return "WebPage::GetPlugins";
+ case MessageName::WebPage_GetPluginProcessConnection:
+ return "WebPage::GetPluginProcessConnection";
+ case MessageName::WebPage_TestMultipleAttributes:
+ return "WebPage::TestMultipleAttributes";
+ case MessageName::WebPage_TestParameterAttributes:
+ return "WebPage::TestParameterAttributes";
+ case MessageName::WebPage_TemplateTest:
+ return "WebPage::TemplateTest";
+ case MessageName::WebPage_SetVideoLayerID:
+ return "WebPage::SetVideoLayerID";
+#if PLATFORM(MAC)
+ case MessageName::WebPage_DidCreateWebProcessConnection:
+ return "WebPage::DidCreateWebProcessConnection";
+#endif
+#if PLATFORM(MAC)
+ case MessageName::WebPage_InterpretKeyEvent:
+ return "WebPage::InterpretKeyEvent";
+#endif
+#if ENABLE(DEPRECATED_FEATURE)
+ case MessageName::WebPage_DeprecatedOperation:
+ return "WebPage::DeprecatedOperation";
+#endif
+#if ENABLE(EXPERIMENTAL_FEATURE)
+ case MessageName::WebPage_ExperimentalOperation:
+ return "WebPage::ExperimentalOperation";
+#endif
case MessageName::WrappedAsyncMessageForTesting:
return "IPC::WrappedAsyncMessageForTesting";
case MessageName::SyncMessageReply:
@@ -182,7 +242,45 @@
case MessageName::WebPage_ExperimentalOperation:
#endif
return ReceiverName::WebPage;
- return ReceiverName::None;
+ case MessageName::WebPage_LoadURL:
+#if ENABLE(TOUCH_EVENTS)
+ case MessageName::WebPage_LoadSomething:
+#endif
+#if (ENABLE(TOUCH_EVENTS) && (NESTED_MESSAGE_CONDITION || SOME_OTHER_MESSAGE_CONDITION))
+ case MessageName::WebPage_TouchEvent:
+#endif
+#if (ENABLE(TOUCH_EVENTS) && (NESTED_MESSAGE_CONDITION && SOME_OTHER_MESSAGE_CONDITION))
+ case MessageName::WebPage_AddEvent:
+#endif
+#if ENABLE(TOUCH_EVENTS)
+ case MessageName::WebPage_LoadSomethingElse:
+#endif
+ case MessageName::WebPage_DidReceivePolicyDecision:
+ case MessageName::WebPage_Close:
+ case MessageName::WebPage_PreferencesDidChange:
+ case MessageName::WebPage_SendDoubleAndFloat:
+ case MessageName::WebPage_SendInts:
+ case MessageName::WebPage_CreatePlugin:
+ case MessageName::WebPage_RunJavaScriptAlert:
+ case MessageName::WebPage_GetPlugins:
+ case MessageName::WebPage_GetPluginProcessConnection:
+ case MessageName::WebPage_TestMultipleAttributes:
+ case MessageName::WebPage_TestParameterAttributes:
+ case MessageName::WebPage_TemplateTest:
+ case MessageName::WebPage_SetVideoLayerID:
+#if PLATFORM(MAC)
+ case MessageName::WebPage_DidCreateWebProcessConnection:
+#endif
+#if PLATFORM(MAC)
+ case MessageName::WebPage_InterpretKeyEvent:
+#endif
+#if ENABLE(DEPRECATED_FEATURE)
+ case MessageName::WebPage_DeprecatedOperation:
+#endif
+#if ENABLE(EXPERIMENTAL_FEATURE)
+ case MessageName::WebPage_ExperimentalOperation:
+#endif
+ return ReceiverName::WebPage;
#if ENABLE(TEST_FEATURE)
case MessageName::WebPage_TestAsyncMessageReply:
#endif
@@ -279,6 +377,66 @@
#endif
#if PLATFORM(MAC)
if (messageName == IPC::MessageName::WebPage_InterpretKeyEvent)
+ return true;
+#endif
+#if ENABLE(DEPRECATED_FEATURE)
+ if (messageName == IPC::MessageName::WebPage_DeprecatedOperation)
+ return true;
+#endif
+#if ENABLE(EXPERIMENTAL_FEATURE)
+ if (messageName == IPC::MessageName::WebPage_ExperimentalOperation)
+ return true;
+#endif
+ if (messageName == IPC::MessageName::WebPage_LoadURL)
+ return true;
+#if ENABLE(TOUCH_EVENTS)
+ if (messageName == IPC::MessageName::WebPage_LoadSomething)
+ return true;
+#endif
+#if (ENABLE(TOUCH_EVENTS) && (NESTED_MESSAGE_CONDITION || SOME_OTHER_MESSAGE_CONDITION))
+ if (messageName == IPC::MessageName::WebPage_TouchEvent)
+ return true;
+#endif
+#if (ENABLE(TOUCH_EVENTS) && (NESTED_MESSAGE_CONDITION && SOME_OTHER_MESSAGE_CONDITION))
+ if (messageName == IPC::MessageName::WebPage_AddEvent)
+ return true;
+#endif
+#if ENABLE(TOUCH_EVENTS)
+ if (messageName == IPC::MessageName::WebPage_LoadSomethingElse)
+ return true;
+#endif
+ if (messageName == IPC::MessageName::WebPage_DidReceivePolicyDecision)
+ return true;
+ if (messageName == IPC::MessageName::WebPage_Close)
+ return true;
+ if (messageName == IPC::MessageName::WebPage_PreferencesDidChange)
+ return true;
+ if (messageName == IPC::MessageName::WebPage_SendDoubleAndFloat)
+ return true;
+ if (messageName == IPC::MessageName::WebPage_SendInts)
+ return true;
+ if (messageName == IPC::MessageName::WebPage_CreatePlugin)
+ return true;
+ if (messageName == IPC::MessageName::WebPage_RunJavaScriptAlert)
+ return true;
+ if (messageName == IPC::MessageName::WebPage_GetPlugins)
+ return true;
+ if (messageName == IPC::MessageName::WebPage_GetPluginProcessConnection)
+ return true;
+ if (messageName == IPC::MessageName::WebPage_TestMultipleAttributes)
+ return true;
+ if (messageName == IPC::MessageName::WebPage_TestParameterAttributes)
+ return true;
+ if (messageName == IPC::MessageName::WebPage_TemplateTest)
+ return true;
+ if (messageName == IPC::MessageName::WebPage_SetVideoLayerID)
+ return true;
+#if PLATFORM(MAC)
+ if (messageName == IPC::MessageName::WebPage_DidCreateWebProcessConnection)
+ return true;
+#endif
+#if PLATFORM(MAC)
+ if (messageName == IPC::MessageName::WebPage_InterpretKeyEvent)
return true;
#endif
#if ENABLE(DEPRECATED_FEATURE)
Modified: trunk/Source/WebKit/Scripts/MessageNames.h (261269 => 261270)
--- trunk/Source/WebKit/Scripts/MessageNames.h 2020-05-07 06:18:53 UTC (rev 261269)
+++ trunk/Source/WebKit/Scripts/MessageNames.h 2020-05-07 06:36:12 UTC (rev 261270)
@@ -31,7 +31,7 @@
enum class ReceiverName : uint8_t {
WebPage = 1
, WebPage = 2
- , None = 3
+ , WebPage = 3
, IPC = 4
, AsyncReply = 5
, Invalid = 6
@@ -91,10 +91,48 @@
#if ENABLE(EXPERIMENTAL_FEATURE)
, WebPage_ExperimentalOperation = 31
#endif
- , WrappedAsyncMessageForTesting = 32
- , SyncMessageReply = 33
- , InitializeConnection = 34
- , LegacySessionState = 35
+ , WebPage_LoadURL = 32
+#if ENABLE(TOUCH_EVENTS)
+ , WebPage_LoadSomething = 33
+#endif
+#if (ENABLE(TOUCH_EVENTS) && (NESTED_MESSAGE_CONDITION || SOME_OTHER_MESSAGE_CONDITION))
+ , WebPage_TouchEvent = 34
+#endif
+#if (ENABLE(TOUCH_EVENTS) && (NESTED_MESSAGE_CONDITION && SOME_OTHER_MESSAGE_CONDITION))
+ , WebPage_AddEvent = 35
+#endif
+#if ENABLE(TOUCH_EVENTS)
+ , WebPage_LoadSomethingElse = 36
+#endif
+ , WebPage_DidReceivePolicyDecision = 37
+ , WebPage_Close = 38
+ , WebPage_PreferencesDidChange = 39
+ , WebPage_SendDoubleAndFloat = 40
+ , WebPage_SendInts = 41
+ , WebPage_CreatePlugin = 42
+ , WebPage_RunJavaScriptAlert = 43
+ , WebPage_GetPlugins = 44
+ , WebPage_GetPluginProcessConnection = 45
+ , WebPage_TestMultipleAttributes = 46
+ , WebPage_TestParameterAttributes = 47
+ , WebPage_TemplateTest = 48
+ , WebPage_SetVideoLayerID = 49
+#if PLATFORM(MAC)
+ , WebPage_DidCreateWebProcessConnection = 50
+#endif
+#if PLATFORM(MAC)
+ , WebPage_InterpretKeyEvent = 51
+#endif
+#if ENABLE(DEPRECATED_FEATURE)
+ , WebPage_DeprecatedOperation = 52
+#endif
+#if ENABLE(EXPERIMENTAL_FEATURE)
+ , WebPage_ExperimentalOperation = 53
+#endif
+ , WrappedAsyncMessageForTesting = 54
+ , SyncMessageReply = 55
+ , InitializeConnection = 56
+ , LegacySessionState = 57
};
ReceiverName receiverName(MessageName);
Modified: trunk/Source/WebKit/Scripts/testMessageReceiver.cpp (261269 => 261270)
--- trunk/Source/WebKit/Scripts/testMessageReceiver.cpp 2020-05-07 06:18:53 UTC (rev 261269)
+++ trunk/Source/WebKit/Scripts/testMessageReceiver.cpp 2020-05-07 06:36:12 UTC (rev 261270)
@@ -24,14 +24,180 @@
#include "config.h"
-#include "None.h"
+#if (ENABLE(WEBKIT2) && (NESTED_MASTER_CONDITION || MASTER_OR && MASTER_AND))
+#include "WebPage.h"
+
+#include "ArgumentCoders.h"
+#include "Connection.h"
#include "Decoder.h"
+#if ENABLE(DEPRECATED_FEATURE) || ENABLE(EXPERIMENTAL_FEATURE)
+#include "DummyType.h"
+#endif
#include "HandleMessage.h"
-#include "NoneMessages.h"
+#if PLATFORM(MAC)
+#include "MachPort.h"
+#endif
+#include "Plugin.h"
+#include "WebCoreArgumentCoders.h"
+#if (ENABLE(TOUCH_EVENTS) && (NESTED_MESSAGE_CONDITION && SOME_OTHER_MESSAGE_CONDITION)) || (ENABLE(TOUCH_EVENTS) && (NESTED_MESSAGE_CONDITION || SOME_OTHER_MESSAGE_CONDITION))
+#include "WebEvent.h"
+#endif
+#include "WebPageMessages.h"
+#include "WebPreferencesStore.h"
+#include <WebCore/GraphicsLayer.h>
+#if PLATFORM(MAC)
+#include <WebCore/KeyboardEvent.h>
+#endif
+#include <WebCore/PluginData.h>
+#include <utility>
+#include <wtf/HashMap.h>
+#include <wtf/Vector.h>
+#include <wtf/text/WTFString.h>
+namespace Messages {
+
+namespace WebPage {
+
+void GetPluginProcessConnection::send(std::unique_ptr<IPC::Encoder>&& encoder, IPC::Connection& connection, const IPC::Connection::Handle& connectionHandle)
+{
+ *encoder << connectionHandle;
+ connection.sendSyncReply(WTFMove(encoder));
+}
+
+void TestMultipleAttributes::send(std::unique_ptr<IPC::Encoder>&& encoder, IPC::Connection& connection)
+{
+ connection.sendSyncReply(WTFMove(encoder));
+}
+
+} // namespace WebPage
+
+} // namespace Messages
+
namespace WebKit {
+void WebPage::didReceiveMessage(IPC::Connection& connection, IPC::Decoder& decoder)
+{
+ auto protectedThis = makeRef(*this);
+ if (decoder.messageName() == Messages::WebPage::LoadURL::name()) {
+ IPC::handleMessage<Messages::WebPage::LoadURL>(decoder, this, &WebPage::loadURL);
+ return;
+ }
+#if ENABLE(TOUCH_EVENTS)
+ if (decoder.messageName() == Messages::WebPage::LoadSomething::name()) {
+ IPC::handleMessage<Messages::WebPage::LoadSomething>(decoder, this, &WebPage::loadSomething);
+ return;
+ }
+#endif
+#if (ENABLE(TOUCH_EVENTS) && (NESTED_MESSAGE_CONDITION || SOME_OTHER_MESSAGE_CONDITION))
+ if (decoder.messageName() == Messages::WebPage::TouchEvent::name()) {
+ IPC::handleMessage<Messages::WebPage::TouchEvent>(decoder, this, &WebPage::touchEvent);
+ return;
+ }
+#endif
+#if (ENABLE(TOUCH_EVENTS) && (NESTED_MESSAGE_CONDITION && SOME_OTHER_MESSAGE_CONDITION))
+ if (decoder.messageName() == Messages::WebPage::AddEvent::name()) {
+ IPC::handleMessage<Messages::WebPage::AddEvent>(decoder, this, &WebPage::addEvent);
+ return;
+ }
+#endif
+#if ENABLE(TOUCH_EVENTS)
+ if (decoder.messageName() == Messages::WebPage::LoadSomethingElse::name()) {
+ IPC::handleMessage<Messages::WebPage::LoadSomethingElse>(decoder, this, &WebPage::loadSomethingElse);
+ return;
+ }
+#endif
+ if (decoder.messageName() == Messages::WebPage::DidReceivePolicyDecision::name()) {
+ IPC::handleMessage<Messages::WebPage::DidReceivePolicyDecision>(decoder, this, &WebPage::didReceivePolicyDecision);
+ return;
+ }
+ if (decoder.messageName() == Messages::WebPage::Close::name()) {
+ IPC::handleMessage<Messages::WebPage::Close>(decoder, this, &WebPage::close);
+ return;
+ }
+ if (decoder.messageName() == Messages::WebPage::PreferencesDidChange::name()) {
+ IPC::handleMessage<Messages::WebPage::PreferencesDidChange>(decoder, this, &WebPage::preferencesDidChange);
+ return;
+ }
+ if (decoder.messageName() == Messages::WebPage::SendDoubleAndFloat::name()) {
+ IPC::handleMessage<Messages::WebPage::SendDoubleAndFloat>(decoder, this, &WebPage::sendDoubleAndFloat);
+ return;
+ }
+ if (decoder.messageName() == Messages::WebPage::SendInts::name()) {
+ IPC::handleMessage<Messages::WebPage::SendInts>(decoder, this, &WebPage::sendInts);
+ return;
+ }
+ if (decoder.messageName() == Messages::WebPage::TestParameterAttributes::name()) {
+ IPC::handleMessage<Messages::WebPage::TestParameterAttributes>(decoder, this, &WebPage::testParameterAttributes);
+ return;
+ }
+ if (decoder.messageName() == Messages::WebPage::TemplateTest::name()) {
+ IPC::handleMessage<Messages::WebPage::TemplateTest>(decoder, this, &WebPage::templateTest);
+ return;
+ }
+ if (decoder.messageName() == Messages::WebPage::SetVideoLayerID::name()) {
+ IPC::handleMessage<Messages::WebPage::SetVideoLayerID>(decoder, this, &WebPage::setVideoLayerID);
+ return;
+ }
+#if PLATFORM(MAC)
+ if (decoder.messageName() == Messages::WebPage::DidCreateWebProcessConnection::name()) {
+ IPC::handleMessage<Messages::WebPage::DidCreateWebProcessConnection>(decoder, this, &WebPage::didCreateWebProcessConnection);
+ return;
+ }
+#endif
+#if ENABLE(DEPRECATED_FEATURE)
+ if (decoder.messageName() == Messages::WebPage::DeprecatedOperation::name()) {
+ IPC::handleMessage<Messages::WebPage::DeprecatedOperation>(decoder, this, &WebPage::deprecatedOperation);
+ return;
+ }
+#endif
+#if ENABLE(EXPERIMENTAL_FEATURE)
+ if (decoder.messageName() == Messages::WebPage::ExperimentalOperation::name()) {
+ IPC::handleMessage<Messages::WebPage::ExperimentalOperation>(decoder, this, &WebPage::experimentalOperation);
+ return;
+ }
+#endif
+ UNUSED_PARAM(connection);
+ UNUSED_PARAM(decoder);
+ ASSERT_NOT_REACHED();
+}
+void WebPage::didReceiveSyncMessage(IPC::Connection& connection, IPC::Decoder& decoder, std::unique_ptr<IPC::Encoder>& replyEncoder)
+{
+ auto protectedThis = makeRef(*this);
+ if (decoder.messageName() == Messages::WebPage::CreatePlugin::name()) {
+ IPC::handleMessage<Messages::WebPage::CreatePlugin>(decoder, *replyEncoder, this, &WebPage::createPlugin);
+ return;
+ }
+ if (decoder.messageName() == Messages::WebPage::RunJavaScriptAlert::name()) {
+ IPC::handleMessage<Messages::WebPage::RunJavaScriptAlert>(decoder, *replyEncoder, this, &WebPage::runJavaScriptAlert);
+ return;
+ }
+ if (decoder.messageName() == Messages::WebPage::GetPlugins::name()) {
+ IPC::handleMessage<Messages::WebPage::GetPlugins>(decoder, *replyEncoder, this, &WebPage::getPlugins);
+ return;
+ }
+ if (decoder.messageName() == Messages::WebPage::GetPluginProcessConnection::name()) {
+ IPC::handleMessageSynchronous<Messages::WebPage::GetPluginProcessConnection>(connection, decoder, replyEncoder, this, &WebPage::getPluginProcessConnection);
+ return;
+ }
+ if (decoder.messageName() == Messages::WebPage::TestMultipleAttributes::name()) {
+ IPC::handleMessageSynchronousWantsConnection<Messages::WebPage::TestMultipleAttributes>(connection, decoder, replyEncoder, this, &WebPage::testMultipleAttributes);
+ return;
+ }
+#if PLATFORM(MAC)
+ if (decoder.messageName() == Messages::WebPage::InterpretKeyEvent::name()) {
+ IPC::handleMessage<Messages::WebPage::InterpretKeyEvent>(decoder, *replyEncoder, this, &WebPage::interpretKeyEvent);
+ return;
+ }
+#endif
+ UNUSED_PARAM(connection);
+ UNUSED_PARAM(decoder);
+ UNUSED_PARAM(replyEncoder);
+ ASSERT_NOT_REACHED();
+}
+
} // namespace WebKit
+
+#endif // (ENABLE(WEBKIT2) && (NESTED_MASTER_CONDITION || MASTER_OR && MASTER_AND))
Modified: trunk/Source/WebKit/Scripts/testMessages.h (261269 => 261270)
--- trunk/Source/WebKit/Scripts/testMessages.h 2020-05-07 06:18:53 UTC (rev 261269)
+++ trunk/Source/WebKit/Scripts/testMessages.h 2020-05-07 06:36:12 UTC (rev 261270)
@@ -24,22 +24,526 @@
#pragma once
+#if (ENABLE(WEBKIT2) && (NESTED_MASTER_CONDITION || MASTER_OR && MASTER_AND))
+
#include "ArgumentCoders.h"
#include "Connection.h"
#include "MessageNames.h"
-#include "NoneMessagesReplies.h"
+#include "Plugin.h"
+#include "WebPageMessagesReplies.h"
+#include <WebCore/GraphicsLayer.h>
+#include <WebCore/KeyboardEvent.h>
+#include <WebCore/PluginData.h>
+#include <utility>
#include <wtf/Forward.h>
+#include <wtf/HashMap.h>
#include <wtf/ThreadSafeRefCounted.h>
+#include <wtf/Vector.h>
+#include <wtf/text/WTFString.h>
+namespace IPC {
+class DummyType;
+class MachPort;
+}
+namespace WebKit {
+class WebPreferencesStore;
+class WebTouchEvent;
+}
+
namespace Messages {
-namespace None {
+namespace WebPage {
static inline IPC::ReceiverName messageReceiverName()
{
- return IPC::ReceiverName::None;
+ return IPC::ReceiverName::WebPage;
}
+class LoadURL {
+public:
+ typedef std::tuple<const String&> Arguments;
-} // namespace None
+ static IPC::MessageName name() { return IPC::MessageName::WebPage_LoadURL; }
+ static const bool isSync = false;
+
+ explicit LoadURL(const String& url)
+ : m_arguments(url)
+ {
+ }
+
+ const Arguments& arguments() const
+ {
+ return m_arguments;
+ }
+
+private:
+ Arguments m_arguments;
+};
+
+#if ENABLE(TOUCH_EVENTS)
+class LoadSomething {
+public:
+ typedef std::tuple<const String&> Arguments;
+
+ static IPC::MessageName name() { return IPC::MessageName::WebPage_LoadSomething; }
+ static const bool isSync = false;
+
+ explicit LoadSomething(const String& url)
+ : m_arguments(url)
+ {
+ }
+
+ const Arguments& arguments() const
+ {
+ return m_arguments;
+ }
+
+private:
+ Arguments m_arguments;
+};
+#endif
+
+#if (ENABLE(TOUCH_EVENTS) && (NESTED_MESSAGE_CONDITION || SOME_OTHER_MESSAGE_CONDITION))
+class TouchEvent {
+public:
+ typedef std::tuple<const WebKit::WebTouchEvent&> Arguments;
+
+ static IPC::MessageName name() { return IPC::MessageName::WebPage_TouchEvent; }
+ static const bool isSync = false;
+
+ explicit TouchEvent(const WebKit::WebTouchEvent& event)
+ : m_arguments(event)
+ {
+ }
+
+ const Arguments& arguments() const
+ {
+ return m_arguments;
+ }
+
+private:
+ Arguments m_arguments;
+};
+#endif
+
+#if (ENABLE(TOUCH_EVENTS) && (NESTED_MESSAGE_CONDITION && SOME_OTHER_MESSAGE_CONDITION))
+class AddEvent {
+public:
+ typedef std::tuple<const WebKit::WebTouchEvent&> Arguments;
+
+ static IPC::MessageName name() { return IPC::MessageName::WebPage_AddEvent; }
+ static const bool isSync = false;
+
+ explicit AddEvent(const WebKit::WebTouchEvent& event)
+ : m_arguments(event)
+ {
+ }
+
+ const Arguments& arguments() const
+ {
+ return m_arguments;
+ }
+
+private:
+ Arguments m_arguments;
+};
+#endif
+
+#if ENABLE(TOUCH_EVENTS)
+class LoadSomethingElse {
+public:
+ typedef std::tuple<const String&> Arguments;
+
+ static IPC::MessageName name() { return IPC::MessageName::WebPage_LoadSomethingElse; }
+ static const bool isSync = false;
+
+ explicit LoadSomethingElse(const String& url)
+ : m_arguments(url)
+ {
+ }
+
+ const Arguments& arguments() const
+ {
+ return m_arguments;
+ }
+
+private:
+ Arguments m_arguments;
+};
+#endif
+
+class DidReceivePolicyDecision {
+public:
+ typedef std::tuple<uint64_t, uint64_t, uint32_t> Arguments;
+
+ static IPC::MessageName name() { return IPC::MessageName::WebPage_DidReceivePolicyDecision; }
+ static const bool isSync = false;
+
+ DidReceivePolicyDecision(uint64_t frameID, uint64_t listenerID, uint32_t policyAction)
+ : m_arguments(frameID, listenerID, policyAction)
+ {
+ }
+
+ const Arguments& arguments() const
+ {
+ return m_arguments;
+ }
+
+private:
+ Arguments m_arguments;
+};
+
+class Close {
+public:
+ typedef std::tuple<> Arguments;
+
+ static IPC::MessageName name() { return IPC::MessageName::WebPage_Close; }
+ static const bool isSync = false;
+
+ const Arguments& arguments() const
+ {
+ return m_arguments;
+ }
+
+private:
+ Arguments m_arguments;
+};
+
+class PreferencesDidChange {
+public:
+ typedef std::tuple<const WebKit::WebPreferencesStore&> Arguments;
+
+ static IPC::MessageName name() { return IPC::MessageName::WebPage_PreferencesDidChange; }
+ static const bool isSync = false;
+
+ explicit PreferencesDidChange(const WebKit::WebPreferencesStore& store)
+ : m_arguments(store)
+ {
+ }
+
+ const Arguments& arguments() const
+ {
+ return m_arguments;
+ }
+
+private:
+ Arguments m_arguments;
+};
+
+class SendDoubleAndFloat {
+public:
+ typedef std::tuple<double, float> Arguments;
+
+ static IPC::MessageName name() { return IPC::MessageName::WebPage_SendDoubleAndFloat; }
+ static const bool isSync = false;
+
+ SendDoubleAndFloat(double d, float f)
+ : m_arguments(d, f)
+ {
+ }
+
+ const Arguments& arguments() const
+ {
+ return m_arguments;
+ }
+
+private:
+ Arguments m_arguments;
+};
+
+class SendInts {
+public:
+ typedef std::tuple<const Vector<uint64_t>&, const Vector<Vector<uint64_t>>&> Arguments;
+
+ static IPC::MessageName name() { return IPC::MessageName::WebPage_SendInts; }
+ static const bool isSync = false;
+
+ SendInts(const Vector<uint64_t>& ints, const Vector<Vector<uint64_t>>& intVectors)
+ : m_arguments(ints, intVectors)
+ {
+ }
+
+ const Arguments& arguments() const
+ {
+ return m_arguments;
+ }
+
+private:
+ Arguments m_arguments;
+};
+
+class CreatePlugin {
+public:
+ typedef std::tuple<uint64_t, const WebKit::Plugin::Parameters&> Arguments;
+
+ static IPC::MessageName name() { return IPC::MessageName::WebPage_CreatePlugin; }
+ static const bool isSync = true;
+
+ using Reply = std::tuple<bool&>;
+ using ReplyArguments = std::tuple<bool>;
+ CreatePlugin(uint64_t pluginInstanceID, const WebKit::Plugin::Parameters& parameters)
+ : m_arguments(pluginInstanceID, parameters)
+ {
+ }
+
+ const Arguments& arguments() const
+ {
+ return m_arguments;
+ }
+
+private:
+ Arguments m_arguments;
+};
+
+class RunJavaScriptAlert {
+public:
+ typedef std::tuple<uint64_t, const String&> Arguments;
+
+ static IPC::MessageName name() { return IPC::MessageName::WebPage_RunJavaScriptAlert; }
+ static const bool isSync = true;
+
+ using Reply = std::tuple<>;
+ using ReplyArguments = std::tuple<>;
+ RunJavaScriptAlert(uint64_t frameID, const String& message)
+ : m_arguments(frameID, message)
+ {
+ }
+
+ const Arguments& arguments() const
+ {
+ return m_arguments;
+ }
+
+private:
+ Arguments m_arguments;
+};
+
+class GetPlugins {
+public:
+ typedef std::tuple<bool> Arguments;
+
+ static IPC::MessageName name() { return IPC::MessageName::WebPage_GetPlugins; }
+ static const bool isSync = true;
+
+ using Reply = std::tuple<Vector<WebCore::PluginInfo>&>;
+ using ReplyArguments = std::tuple<Vector<WebCore::PluginInfo>>;
+ explicit GetPlugins(bool refresh)
+ : m_arguments(refresh)
+ {
+ }
+
+ const Arguments& arguments() const
+ {
+ return m_arguments;
+ }
+
+private:
+ Arguments m_arguments;
+};
+
+class GetPluginProcessConnection {
+public:
+ typedef std::tuple<const String&> Arguments;
+
+ static IPC::MessageName name() { return IPC::MessageName::WebPage_GetPluginProcessConnection; }
+ static const bool isSync = true;
+
+ using DelayedReply = GetPluginProcessConnectionDelayedReply;
+ static void send(std::unique_ptr<IPC::Encoder>&&, IPC::Connection&, const IPC::Connection::Handle& connectionHandle);
+ using Reply = std::tuple<IPC::Connection::Handle&>;
+ using ReplyArguments = std::tuple<IPC::Connection::Handle>;
+ explicit GetPluginProcessConnection(const String& pluginPath)
+ : m_arguments(pluginPath)
+ {
+ }
+
+ const Arguments& arguments() const
+ {
+ return m_arguments;
+ }
+
+private:
+ Arguments m_arguments;
+};
+
+class TestMultipleAttributes {
+public:
+ typedef std::tuple<> Arguments;
+
+ static IPC::MessageName name() { return IPC::MessageName::WebPage_TestMultipleAttributes; }
+ static const bool isSync = true;
+
+ using DelayedReply = TestMultipleAttributesDelayedReply;
+ static void send(std::unique_ptr<IPC::Encoder>&&, IPC::Connection&);
+ using Reply = std::tuple<>;
+ using ReplyArguments = std::tuple<>;
+ const Arguments& arguments() const
+ {
+ return m_arguments;
+ }
+
+private:
+ Arguments m_arguments;
+};
+
+class TestParameterAttributes {
+public:
+ typedef std::tuple<uint64_t, double, double> Arguments;
+
+ static IPC::MessageName name() { return IPC::MessageName::WebPage_TestParameterAttributes; }
+ static const bool isSync = false;
+
+ TestParameterAttributes(uint64_t foo, double bar, double baz)
+ : m_arguments(foo, bar, baz)
+ {
+ }
+
+ const Arguments& arguments() const
+ {
+ return m_arguments;
+ }
+
+private:
+ Arguments m_arguments;
+};
+
+class TemplateTest {
+public:
+ typedef std::tuple<const HashMap<String, std::pair<String, uint64_t>>&> Arguments;
+
+ static IPC::MessageName name() { return IPC::MessageName::WebPage_TemplateTest; }
+ static const bool isSync = false;
+
+ explicit TemplateTest(const HashMap<String, std::pair<String, uint64_t>>& a)
+ : m_arguments(a)
+ {
+ }
+
+ const Arguments& arguments() const
+ {
+ return m_arguments;
+ }
+
+private:
+ Arguments m_arguments;
+};
+
+class SetVideoLayerID {
+public:
+ typedef std::tuple<const WebCore::GraphicsLayer::PlatformLayerID&> Arguments;
+
+ static IPC::MessageName name() { return IPC::MessageName::WebPage_SetVideoLayerID; }
+ static const bool isSync = false;
+
+ explicit SetVideoLayerID(const WebCore::GraphicsLayer::PlatformLayerID& videoLayerID)
+ : m_arguments(videoLayerID)
+ {
+ }
+
+ const Arguments& arguments() const
+ {
+ return m_arguments;
+ }
+
+private:
+ Arguments m_arguments;
+};
+
+#if PLATFORM(MAC)
+class DidCreateWebProcessConnection {
+public:
+ typedef std::tuple<const IPC::MachPort&> Arguments;
+
+ static IPC::MessageName name() { return IPC::MessageName::WebPage_DidCreateWebProcessConnection; }
+ static const bool isSync = false;
+
+ explicit DidCreateWebProcessConnection(const IPC::MachPort& connectionIdentifier)
+ : m_arguments(connectionIdentifier)
+ {
+ }
+
+ const Arguments& arguments() const
+ {
+ return m_arguments;
+ }
+
+private:
+ Arguments m_arguments;
+};
+#endif
+
+#if PLATFORM(MAC)
+class InterpretKeyEvent {
+public:
+ typedef std::tuple<uint32_t> Arguments;
+
+ static IPC::MessageName name() { return IPC::MessageName::WebPage_InterpretKeyEvent; }
+ static const bool isSync = true;
+
+ using Reply = std::tuple<Vector<WebCore::KeypressCommand>&>;
+ using ReplyArguments = std::tuple<Vector<WebCore::KeypressCommand>>;
+ explicit InterpretKeyEvent(uint32_t type)
+ : m_arguments(type)
+ {
+ }
+
+ const Arguments& arguments() const
+ {
+ return m_arguments;
+ }
+
+private:
+ Arguments m_arguments;
+};
+#endif
+
+#if ENABLE(DEPRECATED_FEATURE)
+class DeprecatedOperation {
+public:
+ typedef std::tuple<const IPC::DummyType&> Arguments;
+
+ static IPC::MessageName name() { return IPC::MessageName::WebPage_DeprecatedOperation; }
+ static const bool isSync = false;
+
+ explicit DeprecatedOperation(const IPC::DummyType& dummy)
+ : m_arguments(dummy)
+ {
+ }
+
+ const Arguments& arguments() const
+ {
+ return m_arguments;
+ }
+
+private:
+ Arguments m_arguments;
+};
+#endif
+
+#if ENABLE(EXPERIMENTAL_FEATURE)
+class ExperimentalOperation {
+public:
+ typedef std::tuple<const IPC::DummyType&> Arguments;
+
+ static IPC::MessageName name() { return IPC::MessageName::WebPage_ExperimentalOperation; }
+ static const bool isSync = false;
+
+ explicit ExperimentalOperation(const IPC::DummyType& dummy)
+ : m_arguments(dummy)
+ {
+ }
+
+ const Arguments& arguments() const
+ {
+ return m_arguments;
+ }
+
+private:
+ Arguments m_arguments;
+};
+#endif
+
+} // namespace WebPage
} // namespace Messages
+
+#endif // (ENABLE(WEBKIT2) && (NESTED_MASTER_CONDITION || MASTER_OR && MASTER_AND))
Modified: trunk/Source/WebKit/Scripts/testMessagesReplies.h (261269 => 261270)
--- trunk/Source/WebKit/Scripts/testMessagesReplies.h 2020-05-07 06:18:53 UTC (rev 261269)
+++ trunk/Source/WebKit/Scripts/testMessagesReplies.h 2020-05-07 06:36:12 UTC (rev 261270)
@@ -24,13 +24,21 @@
#pragma once
+#if (ENABLE(WEBKIT2) && (NESTED_MASTER_CONDITION || MASTER_OR && MASTER_AND))
+
+#include "Connection.h"
#include "MessageNames.h"
#include <wtf/Forward.h>
namespace Messages {
-namespace None {
+namespace WebPage {
+using GetPluginProcessConnectionDelayedReply = CompletionHandler<void(const IPC::Connection::Handle& connectionHandle)>;
-} // namespace None
+using TestMultipleAttributesDelayedReply = CompletionHandler<void()>;
+
+} // namespace WebPage
} // namespace Messages
+
+#endif // (ENABLE(WEBKIT2) && (NESTED_MASTER_CONDITION || MASTER_OR && MASTER_AND))
Modified: trunk/Source/WebKit/Scripts/webkit/messages_unittest.py (261269 => 261270)
--- trunk/Source/WebKit/Scripts/webkit/messages_unittest.py 2020-05-07 06:18:53 UTC (rev 261269)
+++ trunk/Source/WebKit/Scripts/webkit/messages_unittest.py 2020-05-07 06:36:12 UTC (rev 261270)
@@ -38,22 +38,22 @@
reset_results = False
-with open(os.path.join(script_directory, 'test-messages.in')) as in_file:
+with open(os.path.join(script_directory, 'test.messages.in')) as in_file:
_messages_file_contents = in_file.read()
-with open(os.path.join(script_directory, 'test-legacy-messages.in')) as in_file:
+with open(os.path.join(script_directory, 'test-legacy.messages.in')) as in_file:
_legacy_messages_file_contents = in_file.read()
-with open(os.path.join(script_directory, 'test-superclass-messages.in')) as in_file:
+with open(os.path.join(script_directory, 'test-superclass.messages.in')) as in_file:
_superclass_messages_file_contents = in_file.read()
-_expected_receiver_header_file_name = 'Messages-expected.h'
-_expected_legacy_receiver_header_file_name = 'LegacyMessages-expected.h'
-_expected_superclass_receiver_header_file_name = 'MessagesSuperclass-expected.h'
+_expected_receiver_header_file_name = '../testMessages.h'
+_expected_legacy_receiver_header_file_name = '../test-legacyMessages.h'
+_expected_superclass_receiver_header_file_name = '../test-superclassMessages.h'
-_expected_receiver_implementation_file_name = 'MessageReceiver-expected.cpp'
-_expected_legacy_receiver_implementation_file_name = 'LegacyMessageReceiver-expected.cpp'
-_expected_superclass_receiver_implementation_file_name = 'MessageReceiverSuperclass-expected.cpp'
+_expected_receiver_implementation_file_name = '../testMessageReceiver.cpp'
+_expected_legacy_receiver_implementation_file_name = '../test-legacyMessageReceiver.cpp'
+_expected_superclass_receiver_implementation_file_name = '../test-superclassMessageReceiver.cpp'
_expected_results = {
'name': 'WebPage',
Added: trunk/Source/WebKit/Scripts/webkit/test.messages.in (0 => 261270)
--- trunk/Source/WebKit/Scripts/webkit/test.messages.in (rev 0)
+++ trunk/Source/WebKit/Scripts/webkit/test.messages.in 2020-05-07 06:36:12 UTC (rev 261270)
@@ -0,0 +1,84 @@
+# Copyright (C) 2010 Apple Inc. All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+# DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR
+# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+#if ENABLE(WEBKIT2)
+#if NESTED_MASTER_CONDITION || MASTER_OR && MASTER_AND
+
+
+# The parser should treat all of these as comments
+#FakeLoadURLA(String url)
+# FakeLoadURLB(String url)
+ #FakeLoadURLC(String url)
+ # FakeLoadURLD(String url)
+
+messages -> WebPage {
+ LoadURL(String url)
+#if ENABLE(TOUCH_EVENTS)
+ LoadSomething(String url)
+#if NESTED_MESSAGE_CONDITION || SOME_OTHER_MESSAGE_CONDITION
+ TouchEvent(WebKit::WebTouchEvent event)
+#endif
+#if NESTED_MESSAGE_CONDITION && SOME_OTHER_MESSAGE_CONDITION
+ AddEvent(WebKit::WebTouchEvent event)
+#endif
+ LoadSomethingElse(String url)
+#endif
+ DidReceivePolicyDecision(uint64_t frameID, uint64_t listenerID, uint32_t policyAction)
+ Close()
+
+ PreferencesDidChange(WebKit::WebPreferencesStore store)
+ SendDoubleAndFloat(double d, float f)
+ SendInts(Vector<uint64_t> ints, Vector<Vector<uint64_t>> intVectors)
+
+ CreatePlugin(uint64_t pluginInstanceID, WebKit::Plugin::Parameters parameters) -> (bool result)
+ RunJavaScriptAlert(uint64_t frameID, String message) -> ()
+ GetPlugins(bool refresh) -> (Vector<WebCore::PluginInfo> plugins)
+ GetPluginProcessConnection(String pluginPath) -> (IPC::Connection::Handle connectionHandle) Synchronous
+
+ TestMultipleAttributes() -> () WantsConnection Synchronous
+
+ TestParameterAttributes([AttributeOne AttributeTwo] uint64_t foo, double bar, [AttributeThree] double baz)
+
+ TemplateTest(HashMap<String, std::pair<String, uint64_t>> a)
+
+ SetVideoLayerID(WebCore::GraphicsLayer::PlatformLayerID videoLayerID)
+
+#if PLATFORM(MAC)
+ DidCreateWebProcessConnection(IPC::MachPort connectionIdentifier)
+#endif
+
+#if PLATFORM(MAC)
+ # Keyboard support
+ InterpretKeyEvent(uint32_t type) -> (Vector<WebCore::KeypressCommand> commandName)
+#endif
+
+#if ENABLE(DEPRECATED_FEATURE)
+ DeprecatedOperation(IPC::DummyType dummy)
+#endif
+
+#if ENABLE(EXPERIMENTAL_FEATURE)
+ ExperimentalOperation(IPC::DummyType dummy)
+#endif
+}
+
+#endif
+#endif