<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[167399] trunk/Source/WebKit2</title>
</head>
<body>
<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; }
#msg dl a { font-weight: bold}
#msg dl a:link { color:#fc3; }
#msg dl a:active { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/167399">167399</a></dd>
<dt>Author</dt> <dd>zandobersek@gmail.com</dd>
<dt>Date</dt> <dd>2014-04-16 16:46:59 -0700 (Wed, 16 Apr 2014)</dd>
</dl>
<h3>Log Message</h3>
<pre>Make IPC::Arguments a variadic template
https://bugs.webkit.org/show_bug.cgi?id=131684
Reviewed by Darin Adler.
Make IPC::Arguments a variadic template that uses the template parameter pack to further
define the std::tuple ValueType and is used to define the std::tuple container of the
values passed into the container.
* Platform/IPC/Arguments.h:
(IPC::Arguments::Arguments):
(IPC::Arguments::encode):
(IPC::Arguments::decode):
(IPC::Arguments0::encode): Deleted.
(IPC::Arguments0::decode): Deleted.
(IPC::Arguments1::Arguments1): Deleted.
(IPC::Arguments1::encode): Deleted.
(IPC::Arguments1::decode): Deleted.
(IPC::Arguments2::Arguments2): Deleted.
(IPC::Arguments2::encode): Deleted.
(IPC::Arguments2::decode): Deleted.
(IPC::Arguments3::Arguments3): Deleted.
(IPC::Arguments3::encode): Deleted.
(IPC::Arguments3::decode): Deleted.
(IPC::Arguments4::Arguments4): Deleted.
(IPC::Arguments4::encode): Deleted.
(IPC::Arguments4::decode): Deleted.
(IPC::Arguments5::Arguments5): Deleted.
(IPC::Arguments5::encode): Deleted.
(IPC::Arguments5::decode): Deleted.
(IPC::Arguments6::Arguments6): Deleted.
(IPC::Arguments6::encode): Deleted.
(IPC::Arguments6::decode): Deleted.
(IPC::Arguments7::Arguments7): Deleted.
(IPC::Arguments7::encode): Deleted.
(IPC::Arguments7::decode): Deleted.
(IPC::Arguments8::Arguments8): Deleted.
(IPC::Arguments8::encode): Deleted.
(IPC::Arguments8::decode): Deleted.
(IPC::Arguments10::Arguments10): Deleted.
(IPC::Arguments10::encode): Deleted.
(IPC::Arguments10::decode): Deleted.
* Scripts/webkit2/LegacyMessages-expected.h:
* Scripts/webkit2/Messages-expected.h:
* Scripts/webkit2/messages.py: Clean up the code a bit.
(reply_parameter_type):
(arguments_type):
(reply_type):
(decode_type):
(arguments_type_old): Deleted.
(base_class): Deleted.
(delayed_reply_type): Deleted.</pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebKit2ChangeLog">trunk/Source/WebKit2/ChangeLog</a></li>
<li><a href="#trunkSourceWebKit2PlatformIPCArgumentsh">trunk/Source/WebKit2/Platform/IPC/Arguments.h</a></li>
<li><a href="#trunkSourceWebKit2Scriptswebkit2LegacyMessagesexpectedh">trunk/Source/WebKit2/Scripts/webkit2/LegacyMessages-expected.h</a></li>
<li><a href="#trunkSourceWebKit2Scriptswebkit2Messagesexpectedh">trunk/Source/WebKit2/Scripts/webkit2/Messages-expected.h</a></li>
<li><a href="#trunkSourceWebKit2Scriptswebkit2messagespy">trunk/Source/WebKit2/Scripts/webkit2/messages.py</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebKit2ChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/ChangeLog (167398 => 167399)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/ChangeLog 2014-04-16 23:40:53 UTC (rev 167398)
+++ trunk/Source/WebKit2/ChangeLog 2014-04-16 23:46:59 UTC (rev 167399)
</span><span class="lines">@@ -1,3 +1,58 @@
</span><ins>+2014-04-16 Zan Dobersek <zdobersek@igalia.com>
+
+ Make IPC::Arguments a variadic template
+ https://bugs.webkit.org/show_bug.cgi?id=131684
+
+ Reviewed by Darin Adler.
+
+ Make IPC::Arguments a variadic template that uses the template parameter pack to further
+ define the std::tuple ValueType and is used to define the std::tuple container of the
+ values passed into the container.
+
+ * Platform/IPC/Arguments.h:
+ (IPC::Arguments::Arguments):
+ (IPC::Arguments::encode):
+ (IPC::Arguments::decode):
+ (IPC::Arguments0::encode): Deleted.
+ (IPC::Arguments0::decode): Deleted.
+ (IPC::Arguments1::Arguments1): Deleted.
+ (IPC::Arguments1::encode): Deleted.
+ (IPC::Arguments1::decode): Deleted.
+ (IPC::Arguments2::Arguments2): Deleted.
+ (IPC::Arguments2::encode): Deleted.
+ (IPC::Arguments2::decode): Deleted.
+ (IPC::Arguments3::Arguments3): Deleted.
+ (IPC::Arguments3::encode): Deleted.
+ (IPC::Arguments3::decode): Deleted.
+ (IPC::Arguments4::Arguments4): Deleted.
+ (IPC::Arguments4::encode): Deleted.
+ (IPC::Arguments4::decode): Deleted.
+ (IPC::Arguments5::Arguments5): Deleted.
+ (IPC::Arguments5::encode): Deleted.
+ (IPC::Arguments5::decode): Deleted.
+ (IPC::Arguments6::Arguments6): Deleted.
+ (IPC::Arguments6::encode): Deleted.
+ (IPC::Arguments6::decode): Deleted.
+ (IPC::Arguments7::Arguments7): Deleted.
+ (IPC::Arguments7::encode): Deleted.
+ (IPC::Arguments7::decode): Deleted.
+ (IPC::Arguments8::Arguments8): Deleted.
+ (IPC::Arguments8::encode): Deleted.
+ (IPC::Arguments8::decode): Deleted.
+ (IPC::Arguments10::Arguments10): Deleted.
+ (IPC::Arguments10::encode): Deleted.
+ (IPC::Arguments10::decode): Deleted.
+ * Scripts/webkit2/LegacyMessages-expected.h:
+ * Scripts/webkit2/Messages-expected.h:
+ * Scripts/webkit2/messages.py: Clean up the code a bit.
+ (reply_parameter_type):
+ (arguments_type):
+ (reply_type):
+ (decode_type):
+ (arguments_type_old): Deleted.
+ (base_class): Deleted.
+ (delayed_reply_type): Deleted.
+
</ins><span class="cx"> 2014-04-16 Tim Horton <timothy_horton@apple.com>
</span><span class="cx">
</span><span class="cx"> Deduplicate LayerTreeContext
</span></span></pre></div>
<a id="trunkSourceWebKit2PlatformIPCArgumentsh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/Platform/IPC/Arguments.h (167398 => 167399)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/Platform/IPC/Arguments.h 2014-04-16 23:40:53 UTC (rev 167398)
+++ trunk/Source/WebKit2/Platform/IPC/Arguments.h 2014-04-16 23:46:59 UTC (rev 167399)
</span><span class="lines">@@ -71,321 +71,28 @@
</span><span class="cx"> }
</span><span class="cx"> };
</span><span class="cx">
</span><del>-struct Arguments0 {
- typedef std::tuple<> ValueType;
</del><ins>+template<typename... Types>
+struct Arguments {
+ typedef std::tuple<typename std::decay<Types>::type...> ValueType;
</ins><span class="cx">
</span><del>- void encode(ArgumentEncoder&) const
</del><ins>+ Arguments(Types&&... values)
+ : arguments(std::forward<Types>(values)...)
</ins><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx">
</span><del>- static bool decode(ArgumentDecoder&, Arguments0&)
- {
- return true;
- }
-};
-
-template<typename T1> struct Arguments1 {
- typedef std::tuple<typename std::remove_const<typename std::remove_reference<T1>::type>::type> ValueType;
-
- Arguments1()
- {
- }
-
- Arguments1(T1 t1)
- : argument1(t1)
- {
- }
-
</del><span class="cx"> void encode(ArgumentEncoder& encoder) const
</span><span class="cx"> {
</span><del>- encoder << argument1;
</del><ins>+ ArgumentCoder<std::tuple<Types...>>::encode(encoder, arguments);
</ins><span class="cx"> }
</span><span class="cx">
</span><del>- static bool decode(ArgumentDecoder& decoder, Arguments1& result)
</del><ins>+ static bool decode(ArgumentDecoder& decoder, Arguments& result)
</ins><span class="cx"> {
</span><del>- return decoder.decode(result.argument1);
</del><ins>+ return ArgumentCoder<std::tuple<Types...>>::decode(decoder, result.arguments);
</ins><span class="cx"> }
</span><del>-
- T1 argument1;
-};
-
-template<typename T1, typename T2> struct Arguments2 : Arguments1<T1> {
- typedef std::tuple<typename std::remove_const<typename std::remove_reference<T1>::type>::type,
- typename std::remove_const<typename std::remove_reference<T2>::type>::type> ValueType;
</del><span class="cx">
</span><del>- Arguments2()
- {
- }
-
- Arguments2(T1 t1, T2 t2)
- : Arguments1<T1>(t1)
- , argument2(t2)
- {
- }
-
- void encode(ArgumentEncoder& encoder) const
- {
- Arguments1<T1>::encode(encoder);
- encoder << argument2;
- }
-
- static bool decode(ArgumentDecoder& decoder, Arguments2& result)
- {
- if (!Arguments1<T1>::decode(decoder, result))
- return false;
-
- return decoder.decode(result.argument2);
- }
-
- T2 argument2;
</del><ins>+ std::tuple<Types...> arguments;
</ins><span class="cx"> };
</span><span class="cx">
</span><del>-template<typename T1, typename T2, typename T3> struct Arguments3 : Arguments2<T1, T2> {
- typedef std::tuple<typename std::remove_const<typename std::remove_reference<T1>::type>::type,
- typename std::remove_const<typename std::remove_reference<T2>::type>::type,
- typename std::remove_const<typename std::remove_reference<T3>::type>::type> ValueType;
-
- Arguments3()
- {
- }
-
- Arguments3(T1 t1, T2 t2, T3 t3)
- : Arguments2<T1, T2>(t1, t2)
- , argument3(t3)
- {
- }
-
- void encode(ArgumentEncoder& encoder) const
- {
- Arguments2<T1, T2>::encode(encoder);
- encoder << argument3;
- }
-
- static bool decode(ArgumentDecoder& decoder, Arguments3& result)
- {
- if (!Arguments2<T1, T2>::decode(decoder, result))
- return false;
-
- return decoder.decode(result.argument3);
- }
-
- T3 argument3;
-};
-
-template<typename T1, typename T2, typename T3, typename T4> struct Arguments4 : Arguments3<T1, T2, T3> {
- typedef std::tuple<typename std::remove_const<typename std::remove_reference<T1>::type>::type,
- typename std::remove_const<typename std::remove_reference<T2>::type>::type,
- typename std::remove_const<typename std::remove_reference<T3>::type>::type,
- typename std::remove_const<typename std::remove_reference<T4>::type>::type> ValueType;
-
- Arguments4()
- {
- }
-
- Arguments4(T1 t1, T2 t2, T3 t3, T4 t4)
- : Arguments3<T1, T2, T3>(t1, t2, t3)
- , argument4(t4)
- {
- }
-
- void encode(ArgumentEncoder& encoder) const
- {
- Arguments3<T1, T2, T3>::encode(encoder);
- encoder << argument4;
- }
-
- static bool decode(ArgumentDecoder& decoder, Arguments4& result)
- {
- if (!Arguments3<T1, T2, T3>::decode(decoder, result))
- return false;
-
- return decoder.decode(result.argument4);
- }
-
- T4 argument4;
-};
-
-template<typename T1, typename T2, typename T3, typename T4, typename T5> struct Arguments5 : Arguments4<T1, T2, T3, T4> {
- typedef std::tuple<typename std::remove_const<typename std::remove_reference<T1>::type>::type,
- typename std::remove_const<typename std::remove_reference<T2>::type>::type,
- typename std::remove_const<typename std::remove_reference<T3>::type>::type,
- typename std::remove_const<typename std::remove_reference<T4>::type>::type,
- typename std::remove_const<typename std::remove_reference<T5>::type>::type> ValueType;
-
- Arguments5()
- {
- }
-
- Arguments5(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5)
- : Arguments4<T1, T2, T3, T4>(t1, t2, t3, t4)
- , argument5(t5)
- {
- }
-
- void encode(ArgumentEncoder& encoder) const
- {
- Arguments4<T1, T2, T3, T4>::encode(encoder);
- encoder << argument5;
- }
-
- static bool decode(ArgumentDecoder& decoder, Arguments5& result)
- {
- if (!Arguments4<T1, T2, T3, T4>::decode(decoder, result))
- return false;
-
- return decoder.decode(result.argument5);
- }
-
- T5 argument5;
-};
-
-template<typename T1, typename T2, typename T3, typename T4, typename T5, typename T6> struct Arguments6 : Arguments5<T1, T2, T3, T4, T5> {
- typedef std::tuple<typename std::remove_const<typename std::remove_reference<T1>::type>::type,
- typename std::remove_const<typename std::remove_reference<T2>::type>::type,
- typename std::remove_const<typename std::remove_reference<T3>::type>::type,
- typename std::remove_const<typename std::remove_reference<T4>::type>::type,
- typename std::remove_const<typename std::remove_reference<T5>::type>::type,
- typename std::remove_const<typename std::remove_reference<T6>::type>::type> ValueType;
-
- Arguments6()
- {
- }
-
- Arguments6(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6)
- : Arguments5<T1, T2, T3, T4, T5>(t1, t2, t3, t4, t5)
- , argument6(t6)
- {
- }
-
- void encode(ArgumentEncoder& encoder) const
- {
- Arguments5<T1, T2, T3, T4, T5>::encode(encoder);
- encoder << argument6;
- }
-
- static bool decode(ArgumentDecoder& decoder, Arguments6& result)
- {
- if (!Arguments5<T1, T2, T3, T4, T5>::decode(decoder, result))
- return false;
-
- return decoder.decode(result.argument6);
- }
-
- T6 argument6;
-};
-
-template<typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7> struct Arguments7 : Arguments6<T1, T2, T3, T4, T5, T6> {
- typedef std::tuple<typename std::remove_const<typename std::remove_reference<T1>::type>::type,
- typename std::remove_const<typename std::remove_reference<T2>::type>::type,
- typename std::remove_const<typename std::remove_reference<T3>::type>::type,
- typename std::remove_const<typename std::remove_reference<T4>::type>::type,
- typename std::remove_const<typename std::remove_reference<T5>::type>::type,
- typename std::remove_const<typename std::remove_reference<T6>::type>::type,
- typename std::remove_const<typename std::remove_reference<T7>::type>::type> ValueType;
-
- Arguments7()
- {
- }
-
- Arguments7(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7)
- : Arguments6<T1, T2, T3, T4, T5, T6>(t1, t2, t3, t4, t5, t6)
- , argument7(t7)
- {
- }
-
- void encode(ArgumentEncoder& encoder) const
- {
- Arguments6<T1, T2, T3, T4, T5, T6>::encode(encoder);
- encoder << argument7;
- }
-
- static bool decode(ArgumentDecoder& decoder, Arguments7& result)
- {
- if (!Arguments6<T1, T2, T3, T4, T5, T6>::decode(decoder, result))
- return false;
-
- return decoder.decode(result.argument7);
- }
-
- T7 argument7;
-};
-
-template<typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8> struct Arguments8 : Arguments7<T1, T2, T3, T4, T5, T6, T7> {
- typedef std::tuple<typename std::remove_const<typename std::remove_reference<T1>::type>::type,
- typename std::remove_const<typename std::remove_reference<T2>::type>::type,
- typename std::remove_const<typename std::remove_reference<T3>::type>::type,
- typename std::remove_const<typename std::remove_reference<T4>::type>::type,
- typename std::remove_const<typename std::remove_reference<T5>::type>::type,
- typename std::remove_const<typename std::remove_reference<T6>::type>::type,
- typename std::remove_const<typename std::remove_reference<T7>::type>::type,
- typename std::remove_const<typename std::remove_reference<T8>::type>::type> ValueType;
-
- Arguments8() { }
-
- Arguments8(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8)
- : Arguments7<T1, T2, T3, T4, T5, T6, T7>(t1, t2, t3, t4, t5, t6, t7)
- , argument8(t8)
- {
- }
-
- void encode(ArgumentEncoder& encoder) const
- {
- Arguments7<T1, T2, T3, T4, T5, T6, T7>::encode(encoder);
- encoder << argument8;
- }
-
- static bool decode(ArgumentDecoder& decoder, Arguments8& result)
- {
- if (!Arguments7<T1, T2, T3, T4, T5, T6, T7>::decode(decoder, result))
- return false;
-
- return decoder.decode(result.argument8);
- }
-
- T8 argument8;
-};
-
-template<typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9, typename T10> struct Arguments10 : Arguments8<T1, T2, T3, T4, T5, T6, T7, T8> {
- typedef std::tuple<typename std::remove_const<typename std::remove_reference<T1>::type>::type,
- typename std::remove_const<typename std::remove_reference<T2>::type>::type,
- typename std::remove_const<typename std::remove_reference<T3>::type>::type,
- typename std::remove_const<typename std::remove_reference<T4>::type>::type,
- typename std::remove_const<typename std::remove_reference<T5>::type>::type,
- typename std::remove_const<typename std::remove_reference<T6>::type>::type,
- typename std::remove_const<typename std::remove_reference<T7>::type>::type,
- typename std::remove_const<typename std::remove_reference<T8>::type>::type,
- typename std::remove_const<typename std::remove_reference<T9>::type>::type,
- typename std::remove_const<typename std::remove_reference<T10>::type>::type> ValueType;
-
- Arguments10() { }
-
- Arguments10(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9, T10 t10)
- : Arguments8<T1, T2, T3, T4, T5, T6, T7, T8>(t1, t2, t3, t4, t5, t6, t7, t8)
- , argument9(t9)
- , argument10(t10)
- {
- }
-
- void encode(ArgumentEncoder& encoder) const
- {
- Arguments8<T1, T2, T3, T4, T5, T6, T7, T8>::encode(encoder);
- encoder << argument9;
- encoder << argument10;
- }
-
- static bool decode(ArgumentDecoder& decoder, Arguments10& result)
- {
- if (!Arguments8<T1, T2, T3, T4, T5, T6, T7, T8>::decode(decoder, result))
- return false;
-
- decoder.decode(result.argument9);
- return decoder.decode(result.argument10);
- }
-
- T9 argument9;
- T10 argument10;
-};
-
</del><span class="cx"> } // namespace IPC
</span><span class="cx">
</span><span class="cx"> #endif // Arguments_h
</span></span></pre></div>
<a id="trunkSourceWebKit2Scriptswebkit2LegacyMessagesexpectedh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/Scripts/webkit2/LegacyMessages-expected.h (167398 => 167399)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/Scripts/webkit2/LegacyMessages-expected.h 2014-04-16 23:40:53 UTC (rev 167398)
+++ trunk/Source/WebKit2/Scripts/webkit2/LegacyMessages-expected.h 2014-04-16 23:46:59 UTC (rev 167399)
</span><span class="lines">@@ -295,7 +295,7 @@
</span><span class="cx"> static IPC::StringReference name() { return IPC::StringReference("CreatePlugin"); }
</span><span class="cx"> static const bool isSync = true;
</span><span class="cx">
</span><del>- typedef IPC::Arguments1<bool&> Reply;
</del><ins>+ typedef IPC::Arguments<bool&> Reply;
</ins><span class="cx"> CreatePlugin(uint64_t pluginInstanceID, const WebKit::Plugin::Parameters& parameters)
</span><span class="cx"> : m_arguments(pluginInstanceID, parameters)
</span><span class="cx"> {
</span><span class="lines">@@ -318,7 +318,7 @@
</span><span class="cx"> static IPC::StringReference name() { return IPC::StringReference("RunJavaScriptAlert"); }
</span><span class="cx"> static const bool isSync = true;
</span><span class="cx">
</span><del>- typedef IPC::Arguments0 Reply;
</del><ins>+ typedef IPC::Arguments<> Reply;
</ins><span class="cx"> RunJavaScriptAlert(uint64_t frameID, const String& message)
</span><span class="cx"> : m_arguments(frameID, message)
</span><span class="cx"> {
</span><span class="lines">@@ -341,7 +341,7 @@
</span><span class="cx"> static IPC::StringReference name() { return IPC::StringReference("GetPlugins"); }
</span><span class="cx"> static const bool isSync = true;
</span><span class="cx">
</span><del>- typedef IPC::Arguments1<Vector<WebCore::PluginInfo>&> Reply;
</del><ins>+ typedef IPC::Arguments<Vector<WebCore::PluginInfo>&> Reply;
</ins><span class="cx"> explicit GetPlugins(bool refresh)
</span><span class="cx"> : m_arguments(refresh)
</span><span class="cx"> {
</span><span class="lines">@@ -375,7 +375,7 @@
</span><span class="cx"> std::unique_ptr<IPC::MessageEncoder> m_encoder;
</span><span class="cx"> };
</span><span class="cx">
</span><del>- typedef IPC::Arguments1<IPC::Connection::Handle&> Reply;
</del><ins>+ typedef IPC::Arguments<IPC::Connection::Handle&> Reply;
</ins><span class="cx"> explicit GetPluginProcessConnection(const String& pluginPath)
</span><span class="cx"> : m_arguments(pluginPath)
</span><span class="cx"> {
</span><span class="lines">@@ -409,7 +409,7 @@
</span><span class="cx"> std::unique_ptr<IPC::MessageEncoder> m_encoder;
</span><span class="cx"> };
</span><span class="cx">
</span><del>- typedef IPC::Arguments0 Reply;
</del><ins>+ typedef IPC::Arguments<> Reply;
</ins><span class="cx"> const std::tuple<> arguments() const
</span><span class="cx"> {
</span><span class="cx"> return m_arguments;
</span><span class="lines">@@ -518,7 +518,7 @@
</span><span class="cx"> static IPC::StringReference name() { return IPC::StringReference("InterpretKeyEvent"); }
</span><span class="cx"> static const bool isSync = true;
</span><span class="cx">
</span><del>- typedef IPC::Arguments1<Vector<WebCore::KeypressCommand>&> Reply;
</del><ins>+ typedef IPC::Arguments<Vector<WebCore::KeypressCommand>&> Reply;
</ins><span class="cx"> explicit InterpretKeyEvent(uint32_t type)
</span><span class="cx"> : m_arguments(type)
</span><span class="cx"> {
</span></span></pre></div>
<a id="trunkSourceWebKit2Scriptswebkit2Messagesexpectedh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/Scripts/webkit2/Messages-expected.h (167398 => 167399)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/Scripts/webkit2/Messages-expected.h 2014-04-16 23:40:53 UTC (rev 167398)
+++ trunk/Source/WebKit2/Scripts/webkit2/Messages-expected.h 2014-04-16 23:46:59 UTC (rev 167399)
</span><span class="lines">@@ -295,7 +295,7 @@
</span><span class="cx"> static IPC::StringReference name() { return IPC::StringReference("CreatePlugin"); }
</span><span class="cx"> static const bool isSync = true;
</span><span class="cx">
</span><del>- typedef IPC::Arguments1<bool&> Reply;
</del><ins>+ typedef IPC::Arguments<bool&> Reply;
</ins><span class="cx"> CreatePlugin(uint64_t pluginInstanceID, const WebKit::Plugin::Parameters& parameters)
</span><span class="cx"> : m_arguments(pluginInstanceID, parameters)
</span><span class="cx"> {
</span><span class="lines">@@ -318,7 +318,7 @@
</span><span class="cx"> static IPC::StringReference name() { return IPC::StringReference("RunJavaScriptAlert"); }
</span><span class="cx"> static const bool isSync = true;
</span><span class="cx">
</span><del>- typedef IPC::Arguments0 Reply;
</del><ins>+ typedef IPC::Arguments<> Reply;
</ins><span class="cx"> RunJavaScriptAlert(uint64_t frameID, const String& message)
</span><span class="cx"> : m_arguments(frameID, message)
</span><span class="cx"> {
</span><span class="lines">@@ -341,7 +341,7 @@
</span><span class="cx"> static IPC::StringReference name() { return IPC::StringReference("GetPlugins"); }
</span><span class="cx"> static const bool isSync = true;
</span><span class="cx">
</span><del>- typedef IPC::Arguments1<Vector<WebCore::PluginInfo>&> Reply;
</del><ins>+ typedef IPC::Arguments<Vector<WebCore::PluginInfo>&> Reply;
</ins><span class="cx"> explicit GetPlugins(bool refresh)
</span><span class="cx"> : m_arguments(refresh)
</span><span class="cx"> {
</span><span class="lines">@@ -375,7 +375,7 @@
</span><span class="cx"> std::unique_ptr<IPC::MessageEncoder> m_encoder;
</span><span class="cx"> };
</span><span class="cx">
</span><del>- typedef IPC::Arguments1<IPC::Connection::Handle&> Reply;
</del><ins>+ typedef IPC::Arguments<IPC::Connection::Handle&> Reply;
</ins><span class="cx"> explicit GetPluginProcessConnection(const String& pluginPath)
</span><span class="cx"> : m_arguments(pluginPath)
</span><span class="cx"> {
</span><span class="lines">@@ -409,7 +409,7 @@
</span><span class="cx"> std::unique_ptr<IPC::MessageEncoder> m_encoder;
</span><span class="cx"> };
</span><span class="cx">
</span><del>- typedef IPC::Arguments0 Reply;
</del><ins>+ typedef IPC::Arguments<> Reply;
</ins><span class="cx"> const std::tuple<> arguments() const
</span><span class="cx"> {
</span><span class="cx"> return m_arguments;
</span><span class="lines">@@ -518,7 +518,7 @@
</span><span class="cx"> static IPC::StringReference name() { return IPC::StringReference("InterpretKeyEvent"); }
</span><span class="cx"> static const bool isSync = true;
</span><span class="cx">
</span><del>- typedef IPC::Arguments1<Vector<WebCore::KeypressCommand>&> Reply;
</del><ins>+ typedef IPC::Arguments<Vector<WebCore::KeypressCommand>&> Reply;
</ins><span class="cx"> explicit InterpretKeyEvent(uint32_t type)
</span><span class="cx"> : m_arguments(type)
</span><span class="cx"> {
</span></span></pre></div>
<a id="trunkSourceWebKit2Scriptswebkit2messagespy"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/Scripts/webkit2/messages.py (167398 => 167399)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/Scripts/webkit2/messages.py 2014-04-16 23:40:53 UTC (rev 167398)
+++ trunk/Source/WebKit2/Scripts/webkit2/messages.py 2014-04-16 23:46:59 UTC (rev 167399)
</span><span class="lines">@@ -93,22 +93,12 @@
</span><span class="cx"> return '%s&' % type
</span><span class="cx">
</span><span class="cx">
</span><del>-def arguments_type_old(parameters, parameter_type_function):
- arguments_type = 'IPC::Arguments%d' % len(parameters)
- if len(parameters):
- arguments_type = '%s<%s>' % (arguments_type, ', '.join(parameter_type_function(parameter.type) for parameter in parameters))
- return arguments_type
-
-
</del><span class="cx"> def arguments_type(message):
</span><span class="cx"> return 'std::tuple<%s>' % ', '.join(function_parameter_type(parameter.type) for parameter in message.parameters)
</span><span class="cx">
</span><del>-def base_class(message):
- return arguments_type(message.parameters, function_parameter_type)
</del><span class="cx">
</span><del>-
</del><span class="cx"> def reply_type(message):
</span><del>- return arguments_type_old(message.reply_parameters, reply_parameter_type)
</del><ins>+ return 'IPC::Arguments<%s>' % (', '.join(reply_parameter_type(parameter.type) for parameter in message.reply_parameters))
</ins><span class="cx">
</span><span class="cx">
</span><span class="cx"> def decode_type(message):
</span><span class="lines">@@ -119,10 +109,7 @@
</span><span class="cx">
</span><span class="cx"> return 'std::tuple<%s>' % ', '.join(parameter.type for parameter in parameters)
</span><span class="cx">
</span><del>-def delayed_reply_type(message):
- return arguments_type_old(message.reply_parameters, function_parameter_type)
</del><span class="cx">
</span><del>-
</del><span class="cx"> def message_to_struct_declaration(message):
</span><span class="cx"> result = []
</span><span class="cx"> function_parameters = [(function_parameter_type(x.type), x.name) for x in message.parameters]
</span></span></pre>
</div>
</div>
</body>
</html>