Title: [170635] trunk/Source/WebKit2
Revision
170635
Author
[email protected]
Date
2014-07-01 04:32:36 -0700 (Tue, 01 Jul 2014)

Log Message

[WK2] IPC messages' arguments() method returns const std::tuple<> copies
https://bugs.webkit.org/show_bug.cgi?id=131975

Reviewed by Darin Adler.

The arguments() method of the different IPC message objects should return a const reference
to the std::tuple<> containing the arguments, instead of a const value. This avoids copying
the std::tuple<> every time the arguments are encoded, and works best with the
ArgumentEncoder::encode<std::tuple<...>>(const std::tuple<...>&) template instantiation.

The unit test baselines are updated accordingly.

* Scripts/webkit2/LegacyMessages-expected.h:
(Messages::WebPage::LoadURL::arguments):
(Messages::WebPage::LoadSomething::arguments):
(Messages::WebPage::TouchEvent::arguments):
(Messages::WebPage::AddEvent::arguments):
(Messages::WebPage::LoadSomethingElse::arguments):
(Messages::WebPage::DidReceivePolicyDecision::arguments):
(Messages::WebPage::Close::arguments):
(Messages::WebPage::PreferencesDidChange::arguments):
(Messages::WebPage::SendDoubleAndFloat::arguments):
(Messages::WebPage::SendInts::arguments):
(Messages::WebPage::CreatePlugin::arguments):
(Messages::WebPage::RunJavaScriptAlert::arguments):
(Messages::WebPage::GetPlugins::arguments):
(Messages::WebPage::GetPluginProcessConnection::arguments):
(Messages::WebPage::TestMultipleAttributes::arguments):
(Messages::WebPage::TestParameterAttributes::arguments):
(Messages::WebPage::TemplateTest::arguments):
(Messages::WebPage::SetVideoLayerID::arguments):
(Messages::WebPage::DidCreateWebProcessConnection::arguments):
(Messages::WebPage::InterpretKeyEvent::arguments):
(Messages::WebPage::DeprecatedOperation::arguments):
(Messages::WebPage::ExperimentalOperation::arguments):
* Scripts/webkit2/Messages-expected.h:
(Messages::WebPage::LoadURL::arguments):
(Messages::WebPage::LoadSomething::arguments):
(Messages::WebPage::TouchEvent::arguments):
(Messages::WebPage::AddEvent::arguments):
(Messages::WebPage::LoadSomethingElse::arguments):
(Messages::WebPage::DidReceivePolicyDecision::arguments):
(Messages::WebPage::Close::arguments):
(Messages::WebPage::PreferencesDidChange::arguments):
(Messages::WebPage::SendDoubleAndFloat::arguments):
(Messages::WebPage::SendInts::arguments):
(Messages::WebPage::CreatePlugin::arguments):
(Messages::WebPage::RunJavaScriptAlert::arguments):
(Messages::WebPage::GetPlugins::arguments):
(Messages::WebPage::GetPluginProcessConnection::arguments):
(Messages::WebPage::TestMultipleAttributes::arguments):
(Messages::WebPage::TestParameterAttributes::arguments):
(Messages::WebPage::TemplateTest::arguments):
(Messages::WebPage::SetVideoLayerID::arguments):
(Messages::WebPage::DidCreateWebProcessConnection::arguments):
(Messages::WebPage::InterpretKeyEvent::arguments):
(Messages::WebPage::DeprecatedOperation::arguments):
(Messages::WebPage::ExperimentalOperation::arguments):
* Scripts/webkit2/MessagesSuperclass-expected.h:
(Messages::WebPage::LoadURL::arguments):
* Scripts/webkit2/messages.py:
(message_to_struct_declaration):

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (170634 => 170635)


--- trunk/Source/WebKit2/ChangeLog	2014-07-01 11:29:24 UTC (rev 170634)
+++ trunk/Source/WebKit2/ChangeLog	2014-07-01 11:32:36 UTC (rev 170635)
@@ -1,3 +1,68 @@
+2014-07-01  Zan Dobersek  <[email protected]>
+
+        [WK2] IPC messages' arguments() method returns const std::tuple<> copies
+        https://bugs.webkit.org/show_bug.cgi?id=131975
+
+        Reviewed by Darin Adler.
+
+        The arguments() method of the different IPC message objects should return a const reference
+        to the std::tuple<> containing the arguments, instead of a const value. This avoids copying
+        the std::tuple<> every time the arguments are encoded, and works best with the
+        ArgumentEncoder::encode<std::tuple<...>>(const std::tuple<...>&) template instantiation.
+
+        The unit test baselines are updated accordingly.
+
+        * Scripts/webkit2/LegacyMessages-expected.h:
+        (Messages::WebPage::LoadURL::arguments):
+        (Messages::WebPage::LoadSomething::arguments):
+        (Messages::WebPage::TouchEvent::arguments):
+        (Messages::WebPage::AddEvent::arguments):
+        (Messages::WebPage::LoadSomethingElse::arguments):
+        (Messages::WebPage::DidReceivePolicyDecision::arguments):
+        (Messages::WebPage::Close::arguments):
+        (Messages::WebPage::PreferencesDidChange::arguments):
+        (Messages::WebPage::SendDoubleAndFloat::arguments):
+        (Messages::WebPage::SendInts::arguments):
+        (Messages::WebPage::CreatePlugin::arguments):
+        (Messages::WebPage::RunJavaScriptAlert::arguments):
+        (Messages::WebPage::GetPlugins::arguments):
+        (Messages::WebPage::GetPluginProcessConnection::arguments):
+        (Messages::WebPage::TestMultipleAttributes::arguments):
+        (Messages::WebPage::TestParameterAttributes::arguments):
+        (Messages::WebPage::TemplateTest::arguments):
+        (Messages::WebPage::SetVideoLayerID::arguments):
+        (Messages::WebPage::DidCreateWebProcessConnection::arguments):
+        (Messages::WebPage::InterpretKeyEvent::arguments):
+        (Messages::WebPage::DeprecatedOperation::arguments):
+        (Messages::WebPage::ExperimentalOperation::arguments):
+        * Scripts/webkit2/Messages-expected.h:
+        (Messages::WebPage::LoadURL::arguments):
+        (Messages::WebPage::LoadSomething::arguments):
+        (Messages::WebPage::TouchEvent::arguments):
+        (Messages::WebPage::AddEvent::arguments):
+        (Messages::WebPage::LoadSomethingElse::arguments):
+        (Messages::WebPage::DidReceivePolicyDecision::arguments):
+        (Messages::WebPage::Close::arguments):
+        (Messages::WebPage::PreferencesDidChange::arguments):
+        (Messages::WebPage::SendDoubleAndFloat::arguments):
+        (Messages::WebPage::SendInts::arguments):
+        (Messages::WebPage::CreatePlugin::arguments):
+        (Messages::WebPage::RunJavaScriptAlert::arguments):
+        (Messages::WebPage::GetPlugins::arguments):
+        (Messages::WebPage::GetPluginProcessConnection::arguments):
+        (Messages::WebPage::TestMultipleAttributes::arguments):
+        (Messages::WebPage::TestParameterAttributes::arguments):
+        (Messages::WebPage::TemplateTest::arguments):
+        (Messages::WebPage::SetVideoLayerID::arguments):
+        (Messages::WebPage::DidCreateWebProcessConnection::arguments):
+        (Messages::WebPage::InterpretKeyEvent::arguments):
+        (Messages::WebPage::DeprecatedOperation::arguments):
+        (Messages::WebPage::ExperimentalOperation::arguments):
+        * Scripts/webkit2/MessagesSuperclass-expected.h:
+        (Messages::WebPage::LoadURL::arguments):
+        * Scripts/webkit2/messages.py:
+        (message_to_struct_declaration):
+
 2014-07-01  Evan Nemerson  <[email protected]>
 
         [GTK] Annotations for WebResource.get_data produce wrong signature in Vala binding

Modified: trunk/Source/WebKit2/Scripts/webkit2/LegacyMessages-expected.h (170634 => 170635)


--- trunk/Source/WebKit2/Scripts/webkit2/LegacyMessages-expected.h	2014-07-01 11:29:24 UTC (rev 170634)
+++ trunk/Source/WebKit2/Scripts/webkit2/LegacyMessages-expected.h	2014-07-01 11:32:36 UTC (rev 170635)
@@ -77,7 +77,7 @@
     {
     }
 
-    const std::tuple<const String&> arguments() const
+    const std::tuple<const String&>& arguments() const
     {
         return m_arguments;
     }
@@ -100,7 +100,7 @@
     {
     }
 
-    const std::tuple<const String&> arguments() const
+    const std::tuple<const String&>& arguments() const
     {
         return m_arguments;
     }
@@ -124,7 +124,7 @@
     {
     }
 
-    const std::tuple<const WebKit::WebTouchEvent&> arguments() const
+    const std::tuple<const WebKit::WebTouchEvent&>& arguments() const
     {
         return m_arguments;
     }
@@ -148,7 +148,7 @@
     {
     }
 
-    const std::tuple<const WebKit::WebTouchEvent&> arguments() const
+    const std::tuple<const WebKit::WebTouchEvent&>& arguments() const
     {
         return m_arguments;
     }
@@ -172,7 +172,7 @@
     {
     }
 
-    const std::tuple<const String&> arguments() const
+    const std::tuple<const String&>& arguments() const
     {
         return m_arguments;
     }
@@ -195,7 +195,7 @@
     {
     }
 
-    const std::tuple<uint64_t, uint64_t, uint32_t> arguments() const
+    const std::tuple<uint64_t, uint64_t, uint32_t>& arguments() const
     {
         return m_arguments;
     }
@@ -212,7 +212,7 @@
     static IPC::StringReference name() { return IPC::StringReference("Close"); }
     static const bool isSync = false;
 
-    const std::tuple<> arguments() const
+    const std::tuple<>& arguments() const
     {
         return m_arguments;
     }
@@ -234,7 +234,7 @@
     {
     }
 
-    const std::tuple<const WebKit::WebPreferencesStore&> arguments() const
+    const std::tuple<const WebKit::WebPreferencesStore&>& arguments() const
     {
         return m_arguments;
     }
@@ -256,7 +256,7 @@
     {
     }
 
-    const std::tuple<double, float> arguments() const
+    const std::tuple<double, float>& arguments() const
     {
         return m_arguments;
     }
@@ -278,7 +278,7 @@
     {
     }
 
-    const std::tuple<const Vector<uint64_t>&, const Vector<Vector<uint64_t>>&> arguments() const
+    const std::tuple<const Vector<uint64_t>&, const Vector<Vector<uint64_t>>&>& arguments() const
     {
         return m_arguments;
     }
@@ -301,7 +301,7 @@
     {
     }
 
-    const std::tuple<uint64_t, const WebKit::Plugin::Parameters&> arguments() const
+    const std::tuple<uint64_t, const WebKit::Plugin::Parameters&>& arguments() const
     {
         return m_arguments;
     }
@@ -324,7 +324,7 @@
     {
     }
 
-    const std::tuple<uint64_t, const String&> arguments() const
+    const std::tuple<uint64_t, const String&>& arguments() const
     {
         return m_arguments;
     }
@@ -347,7 +347,7 @@
     {
     }
 
-    const std::tuple<bool> arguments() const
+    const std::tuple<bool>& arguments() const
     {
         return m_arguments;
     }
@@ -381,7 +381,7 @@
     {
     }
 
-    const std::tuple<const String&> arguments() const
+    const std::tuple<const String&>& arguments() const
     {
         return m_arguments;
     }
@@ -410,7 +410,7 @@
     };
 
     typedef IPC::Arguments<> Reply;
-    const std::tuple<> arguments() const
+    const std::tuple<>& arguments() const
     {
         return m_arguments;
     }
@@ -432,7 +432,7 @@
     {
     }
 
-    const std::tuple<uint64_t, double, double> arguments() const
+    const std::tuple<uint64_t, double, double>& arguments() const
     {
         return m_arguments;
     }
@@ -454,7 +454,7 @@
     {
     }
 
-    const std::tuple<const HashMap<String, std::pair<String, uint64_t>>&> arguments() const
+    const std::tuple<const HashMap<String, std::pair<String, uint64_t>>&>& arguments() const
     {
         return m_arguments;
     }
@@ -476,7 +476,7 @@
     {
     }
 
-    const std::tuple<const WebCore::GraphicsLayer::PlatformLayerID&> arguments() const
+    const std::tuple<const WebCore::GraphicsLayer::PlatformLayerID&>& arguments() const
     {
         return m_arguments;
     }
@@ -499,7 +499,7 @@
     {
     }
 
-    const std::tuple<const IPC::MachPort&> arguments() const
+    const std::tuple<const IPC::MachPort&>& arguments() const
     {
         return m_arguments;
     }
@@ -524,7 +524,7 @@
     {
     }
 
-    const std::tuple<uint32_t> arguments() const
+    const std::tuple<uint32_t>& arguments() const
     {
         return m_arguments;
     }
@@ -548,7 +548,7 @@
     {
     }
 
-    const std::tuple<const IPC::DummyType&> arguments() const
+    const std::tuple<const IPC::DummyType&>& arguments() const
     {
         return m_arguments;
     }
@@ -572,7 +572,7 @@
     {
     }
 
-    const std::tuple<const IPC::DummyType&> arguments() const
+    const std::tuple<const IPC::DummyType&>& arguments() const
     {
         return m_arguments;
     }

Modified: trunk/Source/WebKit2/Scripts/webkit2/Messages-expected.h (170634 => 170635)


--- trunk/Source/WebKit2/Scripts/webkit2/Messages-expected.h	2014-07-01 11:29:24 UTC (rev 170634)
+++ trunk/Source/WebKit2/Scripts/webkit2/Messages-expected.h	2014-07-01 11:32:36 UTC (rev 170635)
@@ -77,7 +77,7 @@
     {
     }
 
-    const std::tuple<const String&> arguments() const
+    const std::tuple<const String&>& arguments() const
     {
         return m_arguments;
     }
@@ -100,7 +100,7 @@
     {
     }
 
-    const std::tuple<const String&> arguments() const
+    const std::tuple<const String&>& arguments() const
     {
         return m_arguments;
     }
@@ -124,7 +124,7 @@
     {
     }
 
-    const std::tuple<const WebKit::WebTouchEvent&> arguments() const
+    const std::tuple<const WebKit::WebTouchEvent&>& arguments() const
     {
         return m_arguments;
     }
@@ -148,7 +148,7 @@
     {
     }
 
-    const std::tuple<const WebKit::WebTouchEvent&> arguments() const
+    const std::tuple<const WebKit::WebTouchEvent&>& arguments() const
     {
         return m_arguments;
     }
@@ -172,7 +172,7 @@
     {
     }
 
-    const std::tuple<const String&> arguments() const
+    const std::tuple<const String&>& arguments() const
     {
         return m_arguments;
     }
@@ -195,7 +195,7 @@
     {
     }
 
-    const std::tuple<uint64_t, uint64_t, uint32_t> arguments() const
+    const std::tuple<uint64_t, uint64_t, uint32_t>& arguments() const
     {
         return m_arguments;
     }
@@ -212,7 +212,7 @@
     static IPC::StringReference name() { return IPC::StringReference("Close"); }
     static const bool isSync = false;
 
-    const std::tuple<> arguments() const
+    const std::tuple<>& arguments() const
     {
         return m_arguments;
     }
@@ -234,7 +234,7 @@
     {
     }
 
-    const std::tuple<const WebKit::WebPreferencesStore&> arguments() const
+    const std::tuple<const WebKit::WebPreferencesStore&>& arguments() const
     {
         return m_arguments;
     }
@@ -256,7 +256,7 @@
     {
     }
 
-    const std::tuple<double, float> arguments() const
+    const std::tuple<double, float>& arguments() const
     {
         return m_arguments;
     }
@@ -278,7 +278,7 @@
     {
     }
 
-    const std::tuple<const Vector<uint64_t>&, const Vector<Vector<uint64_t>>&> arguments() const
+    const std::tuple<const Vector<uint64_t>&, const Vector<Vector<uint64_t>>&>& arguments() const
     {
         return m_arguments;
     }
@@ -301,7 +301,7 @@
     {
     }
 
-    const std::tuple<uint64_t, const WebKit::Plugin::Parameters&> arguments() const
+    const std::tuple<uint64_t, const WebKit::Plugin::Parameters&>& arguments() const
     {
         return m_arguments;
     }
@@ -324,7 +324,7 @@
     {
     }
 
-    const std::tuple<uint64_t, const String&> arguments() const
+    const std::tuple<uint64_t, const String&>& arguments() const
     {
         return m_arguments;
     }
@@ -347,7 +347,7 @@
     {
     }
 
-    const std::tuple<bool> arguments() const
+    const std::tuple<bool>& arguments() const
     {
         return m_arguments;
     }
@@ -381,7 +381,7 @@
     {
     }
 
-    const std::tuple<const String&> arguments() const
+    const std::tuple<const String&>& arguments() const
     {
         return m_arguments;
     }
@@ -410,7 +410,7 @@
     };
 
     typedef IPC::Arguments<> Reply;
-    const std::tuple<> arguments() const
+    const std::tuple<>& arguments() const
     {
         return m_arguments;
     }
@@ -432,7 +432,7 @@
     {
     }
 
-    const std::tuple<uint64_t, double, double> arguments() const
+    const std::tuple<uint64_t, double, double>& arguments() const
     {
         return m_arguments;
     }
@@ -454,7 +454,7 @@
     {
     }
 
-    const std::tuple<const HashMap<String, std::pair<String, uint64_t>>&> arguments() const
+    const std::tuple<const HashMap<String, std::pair<String, uint64_t>>&>& arguments() const
     {
         return m_arguments;
     }
@@ -476,7 +476,7 @@
     {
     }
 
-    const std::tuple<const WebCore::GraphicsLayer::PlatformLayerID&> arguments() const
+    const std::tuple<const WebCore::GraphicsLayer::PlatformLayerID&>& arguments() const
     {
         return m_arguments;
     }
@@ -499,7 +499,7 @@
     {
     }
 
-    const std::tuple<const IPC::MachPort&> arguments() const
+    const std::tuple<const IPC::MachPort&>& arguments() const
     {
         return m_arguments;
     }
@@ -524,7 +524,7 @@
     {
     }
 
-    const std::tuple<uint32_t> arguments() const
+    const std::tuple<uint32_t>& arguments() const
     {
         return m_arguments;
     }
@@ -548,7 +548,7 @@
     {
     }
 
-    const std::tuple<const IPC::DummyType&> arguments() const
+    const std::tuple<const IPC::DummyType&>& arguments() const
     {
         return m_arguments;
     }
@@ -572,7 +572,7 @@
     {
     }
 
-    const std::tuple<const IPC::DummyType&> arguments() const
+    const std::tuple<const IPC::DummyType&>& arguments() const
     {
         return m_arguments;
     }

Modified: trunk/Source/WebKit2/Scripts/webkit2/MessagesSuperclass-expected.h (170634 => 170635)


--- trunk/Source/WebKit2/Scripts/webkit2/MessagesSuperclass-expected.h	2014-07-01 11:29:24 UTC (rev 170634)
+++ trunk/Source/WebKit2/Scripts/webkit2/MessagesSuperclass-expected.h	2014-07-01 11:32:36 UTC (rev 170635)
@@ -54,7 +54,7 @@
     {
     }
 
-    const std::tuple<const String&> arguments() const
+    const std::tuple<const String&>& arguments() const
     {
         return m_arguments;
     }

Modified: trunk/Source/WebKit2/Scripts/webkit2/messages.py (170634 => 170635)


--- trunk/Source/WebKit2/Scripts/webkit2/messages.py	2014-07-01 11:29:24 UTC (rev 170634)
+++ trunk/Source/WebKit2/Scripts/webkit2/messages.py	2014-07-01 11:32:36 UTC (rev 170635)
@@ -142,7 +142,7 @@
         result.append('\n        : m_arguments(%s)\n' % ', '.join([x[1] for x in function_parameters]))
         result.append('    {\n')
         result.append('    }\n\n')
-    result.append('    const %s arguments() const\n' % arguments_type(message))
+    result.append('    const %s& arguments() const\n' % arguments_type(message))
     result.append('    {\n')
     result.append('        return m_arguments;\n')
     result.append('    }\n')
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to