Title: [237298] trunk/Source/WebKit
Revision
237298
Author
[email protected]
Date
2018-10-19 13:18:28 -0700 (Fri, 19 Oct 2018)

Log Message

Update and add python tests after r237294
https://bugs.webkit.org/show_bug.cgi?id=190746

* Scripts/Makefile: Added to help updating expectations.
* Scripts/webkit/LegacyMessageReceiver-expected.cpp:
* Scripts/webkit/MessageReceiverSuperclass-expected.cpp:
(Messages::WebPage::TestAsyncMessage::callReply):
(Messages::WebPage::TestAsyncMessage::cancelReply):
(Messages::WebPage::TestAsyncMessage::send):
(WebKit::WebPage::didReceiveMessage):
* Scripts/webkit/MessagesSuperclass-expected.h:
(Messages::WebPage::TestAsyncMessage::receiverName):
(Messages::WebPage::TestAsyncMessage::name):
(Messages::WebPage::TestAsyncMessage::asyncMessageReplyName):
(Messages::WebPage::TestAsyncMessage::TestAsyncMessage):
(Messages::WebPage::TestAsyncMessage::arguments const):
* Scripts/webkit/test-superclass-messages.in:
Adding the extra newline made python tests fail.
I also added more tests for the new functionality introduced in r237924.

Modified Paths

Added Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (237297 => 237298)


--- trunk/Source/WebKit/ChangeLog	2018-10-19 20:03:54 UTC (rev 237297)
+++ trunk/Source/WebKit/ChangeLog	2018-10-19 20:18:28 UTC (rev 237298)
@@ -1,5 +1,27 @@
 2018-10-19  Alex Christensen  <[email protected]>
 
+        Update and add python tests after r237294
+        https://bugs.webkit.org/show_bug.cgi?id=190746
+
+        * Scripts/Makefile: Added to help updating expectations.
+        * Scripts/webkit/LegacyMessageReceiver-expected.cpp:
+        * Scripts/webkit/MessageReceiverSuperclass-expected.cpp:
+        (Messages::WebPage::TestAsyncMessage::callReply):
+        (Messages::WebPage::TestAsyncMessage::cancelReply):
+        (Messages::WebPage::TestAsyncMessage::send):
+        (WebKit::WebPage::didReceiveMessage):
+        * Scripts/webkit/MessagesSuperclass-expected.h:
+        (Messages::WebPage::TestAsyncMessage::receiverName):
+        (Messages::WebPage::TestAsyncMessage::name):
+        (Messages::WebPage::TestAsyncMessage::asyncMessageReplyName):
+        (Messages::WebPage::TestAsyncMessage::TestAsyncMessage):
+        (Messages::WebPage::TestAsyncMessage::arguments const):
+        * Scripts/webkit/test-superclass-messages.in:
+        Adding the extra newline made python tests fail.
+        I also added more tests for the new functionality introduced in r237924.
+
+2018-10-19  Alex Christensen  <[email protected]>
+
         Introduce CompletionHandler-based Async IPC messages with replies
         https://bugs.webkit.org/show_bug.cgi?id=190746
 

Added: trunk/Source/WebKit/Scripts/Makefile (0 => 237298)


--- trunk/Source/WebKit/Scripts/Makefile	                        (rev 0)
+++ trunk/Source/WebKit/Scripts/Makefile	2018-10-19 20:18:28 UTC (rev 237298)
@@ -0,0 +1,6 @@
+all:
+	python ./generate-messages-header.py webkit/test-superclass-messages.in > webkit/MessagesSuperclass-expected.h
+	python ./generate-messages-header.py webkit/test-legacy-messages.in > webkit/LegacyMessages-expected.h
+	python ./generate-message-receiver.py webkit/test-superclass-messages.in > webkit/MessageReceiverSuperclass-expected.cpp
+	python ./generate-message-receiver.py webkit/test-legacy-messages.in > webkit/LegacyMessageReceiver-expected.cpp
+

Modified: trunk/Source/WebKit/Scripts/webkit/LegacyMessageReceiver-expected.cpp (237297 => 237298)


--- trunk/Source/WebKit/Scripts/webkit/LegacyMessageReceiver-expected.cpp	2018-10-19 20:03:54 UTC (rev 237297)
+++ trunk/Source/WebKit/Scripts/webkit/LegacyMessageReceiver-expected.cpp	2018-10-19 20:18:28 UTC (rev 237298)
@@ -197,4 +197,5 @@
 
 } // namespace WebKit
 
+
 #endif // (ENABLE(WEBKIT2) && (NESTED_MASTER_CONDITION || MASTER_OR && MASTER_AND))

Modified: trunk/Source/WebKit/Scripts/webkit/MessageReceiverSuperclass-expected.cpp (237297 => 237298)


--- trunk/Source/WebKit/Scripts/webkit/MessageReceiverSuperclass-expected.cpp	2018-10-19 20:03:54 UTC (rev 237297)
+++ trunk/Source/WebKit/Scripts/webkit/MessageReceiverSuperclass-expected.cpp	2018-10-19 20:18:28 UTC (rev 237298)
@@ -29,9 +29,46 @@
 #include "ArgumentCoders.h"
 #include "Decoder.h"
 #include "HandleMessage.h"
+#if ENABLE(TEST_FEATURE)
+#include "TestTwoStateEnum.h"
+#endif
 #include "WebPageMessages.h"
 #include <wtf/text/WTFString.h>
 
+namespace Messages {
+
+namespace WebPage {
+
+#if ENABLE(TEST_FEATURE)
+
+void TestAsyncMessage::callReply(IPC::Decoder& decoder, CompletionHandler<void(uint64_t&&)>&& completionHandler)
+{
+    std::optional<uint64_t> result;
+    decoder >> result;
+    if (!result) {
+        ASSERT_NOT_REACHED();
+        return;
+    }
+    completionHandler(WTFMove(*result));
+}
+
+void TestAsyncMessage::cancelReply(CompletionHandler<void(uint64_t&&)>&& completionHandler)
+{
+    completionHandler({ });
+}
+
+void TestAsyncMessage::send(std::unique_ptr<IPC::Encoder>&& encoder, IPC::Connection& connection, uint64_t result)
+{
+    *encoder << result;
+    connection.sendSyncReply(WTFMove(encoder));
+}
+
+#endif
+
+} // namespace WebPage
+
+} // namespace Messages
+
 namespace WebKit {
 
 void WebPage::didReceiveMessage(IPC::Connection& connection, IPC::Decoder& decoder)
@@ -40,7 +77,14 @@
         IPC::handleMessage<Messages::WebPage::LoadURL>(decoder, this, &WebPage::loadURL);
         return;
     }
+#if ENABLE(TEST_FEATURE)
+    if (decoder.messageName() == Messages::WebPage::TestAsyncMessage::name()) {
+        IPC::handleMessageAsync<Messages::WebPage::TestAsyncMessage>(connection, decoder, this, &WebPage::testAsyncMessage);
+        return;
+    }
+#endif
     WebPageBase::didReceiveMessage(connection, decoder);
 }
 
 } // namespace WebKit
+

Modified: trunk/Source/WebKit/Scripts/webkit/MessagesSuperclass-expected.h (237297 => 237298)


--- trunk/Source/WebKit/Scripts/webkit/MessagesSuperclass-expected.h	2018-10-19 20:03:54 UTC (rev 237297)
+++ trunk/Source/WebKit/Scripts/webkit/MessagesSuperclass-expected.h	2018-10-19 20:18:28 UTC (rev 237298)
@@ -28,6 +28,9 @@
 #include <wtf/Forward.h>
 #include <wtf/text/WTFString.h>
 
+namespace WebKit {
+    enum class TestTwoStateEnum : bool;
+}
 
 namespace Messages {
 namespace WebPage {
@@ -59,5 +62,35 @@
     Arguments m_arguments;
 };
 
+#if ENABLE(TEST_FEATURE)
+class TestAsyncMessage {
+public:
+    typedef std::tuple<WebKit::TestTwoStateEnum> Arguments;
+
+    static IPC::StringReference receiverName() { return messageReceiverName(); }
+    static IPC::StringReference name() { return IPC::StringReference("TestAsyncMessage"); }
+    static const bool isSync = false;
+
+    static void callReply(IPC::Decoder&, CompletionHandler<void(uint64_t&&)>&&);
+    static void cancelReply(CompletionHandler<void(uint64_t&&)>&&);
+    static IPC::StringReference asyncMessageReplyName() { return { "TestAsyncMessageReply" }; }
+    using AsyncReply = CompletionHandler<void(uint64_t result)>;
+    static void send(std::unique_ptr<IPC::Encoder>&&, IPC::Connection&, uint64_t result);
+    typedef std::tuple<uint64_t&> Reply;
+    explicit TestAsyncMessage(WebKit::TestTwoStateEnum twoStateEnum)
+        : m_arguments(twoStateEnum)
+    {
+    }
+
+    const Arguments& arguments() const
+    {
+        return m_arguments;
+    }
+
+private:
+    Arguments m_arguments;
+};
+#endif
+
 } // namespace WebPage
 } // namespace Messages

Modified: trunk/Source/WebKit/Scripts/webkit/test-superclass-messages.in (237297 => 237298)


--- trunk/Source/WebKit/Scripts/webkit/test-superclass-messages.in	2018-10-19 20:03:54 UTC (rev 237297)
+++ trunk/Source/WebKit/Scripts/webkit/test-superclass-messages.in	2018-10-19 20:18:28 UTC (rev 237298)
@@ -22,4 +22,7 @@
 
 messages -> WebPage : WebPageBase {
     LoadURL(String url)
+#if ENABLE(TEST_FEATURE)
+    TestAsyncMessage(enum:bool WebKit::TestTwoStateEnum twoStateEnum) -> (uint64_t result) Async
+#endif
 }
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to