<!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>[150580] trunk/Source/WebCore</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/150580">150580</a></dd>
<dt>Author</dt> <dd>ch.dumez@sisa.samsung.com</dd>
<dt>Date</dt> <dd>2013-05-23 05:22:23 -0700 (Thu, 23 May 2013)</dd>
</dl>

<h3>Log Message</h3>
<pre>Remove special case for MessagePortArray from bindings generator
https://bugs.webkit.org/show_bug.cgi?id=116653

Reviewed by Kentaro Hara.

Use MessagePort[] instead of MessagePortArray type in the IDL as MessagePortArray
is not defined on IDL side. This allows us to remove the special case for
MessagePortArray from the bindings generator.

No new tests, no behavior change.

* bindings/js/JSMessageEventCustom.cpp:
(WebCore::JSMessageEvent::data):
* bindings/scripts/CodeGeneratorJS.pm:
(NativeToJSValue): Remove special case for MessagePortArray.
* bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.cpp:
* bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.h:
(WebDOMTestSerializedScriptValueInterface):
* bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp:
(webkit_dom_test_serialized_script_value_interface_get_property):
(webkit_dom_test_serialized_script_value_interface_class_init):
* bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.h:
* bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
(WebCore::jsTestSerializedScriptValueInterfacePorts):
* bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.h:
* bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.mm:
* bindings/scripts/test/TestSerializedScriptValueInterface.idl: Replace MessagePortArray
by MessagePort[].
* dom/MessageEvent.h:
(WebCore::MessageEvent::ports): The method should return a Vector, not a Vector*
as the array on JavaScript side is not nullable.
* dom/MessageEvent.idl: Replace MessagePortArray by MessagePort[].</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSMessageEventCustomcpp">trunk/Source/WebCore/bindings/js/JSMessageEventCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptsCodeGeneratorJSpm">trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestCPPWebDOMTestSerializedScriptValueInterfacecpp">trunk/Source/WebCore/bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestCPPWebDOMTestSerializedScriptValueInterfaceh">trunk/Source/WebCore/bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.h</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestGObjectWebKitDOMTestSerializedScriptValueInterfacecpp">trunk/Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestGObjectWebKitDOMTestSerializedScriptValueInterfaceh">trunk/Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.h</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestSerializedScriptValueInterfacecpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestObjCDOMTestSerializedScriptValueInterfaceh">trunk/Source/WebCore/bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.h</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestObjCDOMTestSerializedScriptValueInterfacemm">trunk/Source/WebCore/bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.mm</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestTestSerializedScriptValueInterfaceidl">trunk/Source/WebCore/bindings/scripts/test/TestSerializedScriptValueInterface.idl</a></li>
<li><a href="#trunkSourceWebCoredomMessageEventh">trunk/Source/WebCore/dom/MessageEvent.h</a></li>
<li><a href="#trunkSourceWebCoredomMessageEventidl">trunk/Source/WebCore/dom/MessageEvent.idl</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (150579 => 150580)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2013-05-23 10:32:51 UTC (rev 150579)
+++ trunk/Source/WebCore/ChangeLog        2013-05-23 12:22:23 UTC (rev 150580)
</span><span class="lines">@@ -1,3 +1,38 @@
</span><ins>+2013-05-23  Christophe Dumez  &lt;ch.dumez@sisa.samsung.com&gt;
+
+        Remove special case for MessagePortArray from bindings generator
+        https://bugs.webkit.org/show_bug.cgi?id=116653
+
+        Reviewed by Kentaro Hara.
+
+        Use MessagePort[] instead of MessagePortArray type in the IDL as MessagePortArray
+        is not defined on IDL side. This allows us to remove the special case for
+        MessagePortArray from the bindings generator.
+
+        No new tests, no behavior change.
+
+        * bindings/js/JSMessageEventCustom.cpp:
+        (WebCore::JSMessageEvent::data):
+        * bindings/scripts/CodeGeneratorJS.pm:
+        (NativeToJSValue): Remove special case for MessagePortArray.
+        * bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.cpp:
+        * bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.h:
+        (WebDOMTestSerializedScriptValueInterface):
+        * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp:
+        (webkit_dom_test_serialized_script_value_interface_get_property):
+        (webkit_dom_test_serialized_script_value_interface_class_init):
+        * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.h:
+        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
+        (WebCore::jsTestSerializedScriptValueInterfacePorts):
+        * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.h:
+        * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.mm:
+        * bindings/scripts/test/TestSerializedScriptValueInterface.idl: Replace MessagePortArray
+        by MessagePort[].
+        * dom/MessageEvent.h:
+        (WebCore::MessageEvent::ports): The method should return a Vector, not a Vector*
+        as the array on JavaScript side is not nullable.
+        * dom/MessageEvent.idl: Replace MessagePortArray by MessagePort[].
+
</ins><span class="cx"> 2013-05-23  Michał Pakuła vel Rutka  &lt;m.pakula@samsung.com&gt;
</span><span class="cx"> 
</span><span class="cx">         [EFL] Back, Forward and Stop should be hidden in context menu
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSMessageEventCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSMessageEventCustom.cpp (150579 => 150580)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSMessageEventCustom.cpp        2013-05-23 10:32:51 UTC (rev 150579)
+++ trunk/Source/WebCore/bindings/js/JSMessageEventCustom.cpp        2013-05-23 12:22:23 UTC (rev 150580)
</span><span class="lines">@@ -63,8 +63,8 @@
</span><span class="cx"> 
</span><span class="cx">     case MessageEvent::DataTypeSerializedScriptValue:
</span><span class="cx">         if (RefPtr&lt;SerializedScriptValue&gt; serializedValue = event-&gt;dataAsSerializedScriptValue()) {
</span><del>-            MessagePortArray* ports = static_cast&lt;MessageEvent*&gt;(impl())-&gt;ports();
-            result = serializedValue-&gt;deserialize(exec, globalObject(), ports, NonThrowing);
</del><ins>+            MessagePortArray ports = static_cast&lt;MessageEvent*&gt;(impl())-&gt;ports();
+            result = serializedValue-&gt;deserialize(exec, globalObject(), &amp;ports, NonThrowing);
</ins><span class="cx">         }
</span><span class="cx">         else
</span><span class="cx">             result = jsNull();
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptsCodeGeneratorJSpm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm (150579 => 150580)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm        2013-05-23 10:32:51 UTC (rev 150579)
+++ trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm        2013-05-23 12:22:23 UTC (rev 150580)
</span><span class="lines">@@ -3585,6 +3585,7 @@
</span><span class="cx">             AddToImplIncludes(&quot;${arrayOrSequenceType}.h&quot;, $conditional);
</span><span class="cx">         }
</span><span class="cx">         AddToImplIncludes(&quot;&lt;runtime/JSArray.h&gt;&quot;, $conditional);
</span><ins>+
</ins><span class="cx">         return &quot;jsArray(exec, $thisValue-&gt;globalObject(), $value)&quot;;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -3602,11 +3603,6 @@
</span><span class="cx">     } elsif ($type eq &quot;SerializedScriptValue&quot; or $type eq &quot;any&quot;) {
</span><span class="cx">         AddToImplIncludes(&quot;SerializedScriptValue.h&quot;, $conditional);
</span><span class="cx">         return &quot;$value ? $value-&gt;deserialize(exec, castedThis-&gt;globalObject(), 0) : jsNull()&quot;;
</span><del>-    } elsif ($type eq &quot;MessagePortArray&quot;) {
-        AddToImplIncludes(&quot;MessagePort.h&quot;, $conditional);
-        AddToImplIncludes(&quot;JSMessagePort.h&quot;, $conditional);
-        AddToImplIncludes(&quot;&lt;runtime/JSArray.h&gt;&quot;, $conditional);
-        return &quot;$value ? jsArray(exec, $globalObject, *$value) : constructEmptyArray(exec, 0, castedThis-&gt;globalObject())&quot;;
</del><span class="cx">     } else {
</span><span class="cx">         # Default, include header with same name.
</span><span class="cx">         AddToImplIncludes(&quot;JS$type.h&quot;, $conditional);
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestCPPWebDOMTestSerializedScriptValueInterfacecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.cpp (150579 => 150580)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.cpp        2013-05-23 10:32:51 UTC (rev 150579)
+++ trunk/Source/WebCore/bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.cpp        2013-05-23 12:22:23 UTC (rev 150580)
</span><span class="lines">@@ -24,10 +24,8 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;WebDOMTestSerializedScriptValueInterface.h&quot;
</span><span class="cx"> 
</span><del>-#include &quot;MessagePortArray.h&quot;
</del><span class="cx"> #include &quot;SerializedScriptValue.h&quot;
</span><span class="cx"> #include &quot;TestSerializedScriptValueInterface.h&quot;
</span><del>-#include &quot;WebDOMMessagePortArray.h&quot;
</del><span class="cx"> #include &quot;WebExceptionHandler.h&quot;
</span><span class="cx"> #include &lt;wtf/GetPtr.h&gt;
</span><span class="cx"> #include &lt;wtf/RefPtr.h&gt;
</span><span class="lines">@@ -117,14 +115,6 @@
</span><span class="cx">     impl()-&gt;setCachedValue(WebCore::SerializedScriptValue::create(WTF::String(newCachedValue)));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-WebDOMMessagePortArray WebDOMTestSerializedScriptValueInterface::ports() const
-{
-    if (!impl())
-        return WebDOMMessagePortArray();
-
-    return toWebKit(WTF::getPtr(impl()-&gt;ports()));
-}
-
</del><span class="cx"> WebDOMString WebDOMTestSerializedScriptValueInterface::cachedReadonlyValue() const
</span><span class="cx"> {
</span><span class="cx">     if (!impl())
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestCPPWebDOMTestSerializedScriptValueInterfaceh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.h (150579 => 150580)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.h        2013-05-23 10:32:51 UTC (rev 150579)
+++ trunk/Source/WebCore/bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.h        2013-05-23 12:22:23 UTC (rev 150580)
</span><span class="lines">@@ -32,7 +32,6 @@
</span><span class="cx"> class TestSerializedScriptValueInterface;
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-class WebDOMMessagePortArray;
</del><span class="cx"> class WebDOMString;
</span><span class="cx"> 
</span><span class="cx"> class WebDOMTestSerializedScriptValueInterface : public WebDOMObject {
</span><span class="lines">@@ -48,7 +47,6 @@
</span><span class="cx">     WebDOMString readonlyValue() const;
</span><span class="cx">     WebDOMString cachedValue() const;
</span><span class="cx">     void setCachedValue(const WebDOMString&amp;);
</span><del>-    WebDOMMessagePortArray ports() const;
</del><span class="cx">     WebDOMString cachedReadonlyValue() const;
</span><span class="cx"> 
</span><span class="cx">     WebCore::TestSerializedScriptValueInterface* impl() const;
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestGObjectWebKitDOMTestSerializedScriptValueInterfacecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp (150579 => 150580)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp        2013-05-23 10:32:51 UTC (rev 150579)
+++ trunk/Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp        2013-05-23 12:22:23 UTC (rev 150580)
</span><span class="lines">@@ -25,7 +25,6 @@
</span><span class="cx"> #include &quot;DOMObjectCache.h&quot;
</span><span class="cx"> #include &quot;ExceptionCode.h&quot;
</span><span class="cx"> #include &quot;JSMainThreadExecState.h&quot;
</span><del>-#include &quot;WebKitDOMMessagePortArrayPrivate.h&quot;
</del><span class="cx"> #include &quot;WebKitDOMPrivate.h&quot;
</span><span class="cx"> #include &quot;WebKitDOMSerializedScriptValuePrivate.h&quot;
</span><span class="cx"> #include &quot;WebKitDOMTestSerializedScriptValueInterfacePrivate.h&quot;
</span><span class="lines">@@ -78,7 +77,6 @@
</span><span class="cx">     PROP_VALUE,
</span><span class="cx">     PROP_READONLY_VALUE,
</span><span class="cx">     PROP_CACHED_VALUE,
</span><del>-    PROP_PORTS,
</del><span class="cx">     PROP_CACHED_READONLY_VALUE,
</span><span class="cx"> };
</span><span class="cx"> 
</span><span class="lines">@@ -130,16 +128,6 @@
</span><span class="cx"> #endif /* ENABLE(Condition1) || ENABLE(Condition2) */
</span><span class="cx">         break;
</span><span class="cx">     }
</span><del>-    case PROP_PORTS: {
-#if ENABLE(Condition1) || ENABLE(Condition2)
-        RefPtr&lt;WebCore::MessagePortArray&gt; ptr = coreSelf-&gt;ports();
-        g_value_set_object(value, WebKit::kit(ptr.get()));
-#else
-        WEBKIT_WARN_FEATURE_NOT_PRESENT(&quot;Condition1&quot;)
-        WEBKIT_WARN_FEATURE_NOT_PRESENT(&quot;Condition2&quot;)
-#endif /* ENABLE(Condition1) || ENABLE(Condition2) */
-        break;
-    }
</del><span class="cx">     case PROP_CACHED_READONLY_VALUE: {
</span><span class="cx"> #if ENABLE(Condition1) || ENABLE(Condition2)
</span><span class="cx">         RefPtr&lt;WebCore::SerializedScriptValue&gt; ptr = coreSelf-&gt;cachedReadonlyValue();
</span><span class="lines">@@ -197,13 +185,6 @@
</span><span class="cx">                                                            WEBKIT_TYPE_DOM_SERIALIZED_SCRIPT_VALUE, /* gobject type */
</span><span class="cx">                                                            WEBKIT_PARAM_READWRITE));
</span><span class="cx">     g_object_class_install_property(gobjectClass,
</span><del>-                                    PROP_PORTS,
-                                    g_param_spec_object(&quot;ports&quot;, /* name */
-                                                           &quot;test_serialized_script_value_interface_ports&quot;, /* short description */
-                                                           &quot;read-only  WebKitDOMMessagePortArray* TestSerializedScriptValueInterface.ports&quot;, /* longer - could do with some extra doc stuff here */
-                                                           WEBKIT_TYPE_DOM_MESSAGE_PORT_ARRAY, /* gobject type */
-                                                           WEBKIT_PARAM_READABLE));
-    g_object_class_install_property(gobjectClass,
</del><span class="cx">                                     PROP_CACHED_READONLY_VALUE,
</span><span class="cx">                                     g_param_spec_object(&quot;cached-readonly-value&quot;, /* name */
</span><span class="cx">                                                            &quot;test_serialized_script_value_interface_cached-readonly-value&quot;, /* short description */
</span><span class="lines">@@ -298,22 +279,6 @@
</span><span class="cx"> #endif /* ENABLE(Condition1) || ENABLE(Condition2) */
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-WebKitDOMMessagePortArray*
-webkit_dom_test_serialized_script_value_interface_get_ports(WebKitDOMTestSerializedScriptValueInterface* self)
-{
-#if ENABLE(Condition1) || ENABLE(Condition2)
-    WebCore::JSMainThreadNullState state;
-    g_return_val_if_fail(WEBKIT_DOM_IS_TEST_SERIALIZED_SCRIPT_VALUE_INTERFACE(self), 0);
-    WebCore::TestSerializedScriptValueInterface* item = WebKit::core(self);
-    RefPtr&lt;WebCore::MessagePortArray&gt; gobjectResult = WTF::getPtr(item-&gt;ports());
-    return WebKit::kit(gobjectResult.get());
-#else
-    WEBKIT_WARN_FEATURE_NOT_PRESENT(&quot;Condition1&quot;)
-    WEBKIT_WARN_FEATURE_NOT_PRESENT(&quot;Condition2&quot;)
-    return 0;
-#endif /* ENABLE(Condition1) || ENABLE(Condition2) */
-}
-
</del><span class="cx"> WebKitDOMSerializedScriptValue*
</span><span class="cx"> webkit_dom_test_serialized_script_value_interface_get_cached_readonly_value(WebKitDOMTestSerializedScriptValueInterface* self)
</span><span class="cx"> {
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestGObjectWebKitDOMTestSerializedScriptValueInterfaceh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.h (150579 => 150580)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.h        2013-05-23 10:32:51 UTC (rev 150579)
+++ trunk/Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.h        2013-05-23 12:22:23 UTC (rev 150580)
</span><span class="lines">@@ -102,16 +102,6 @@
</span><span class="cx"> webkit_dom_test_serialized_script_value_interface_set_cached_value(WebKitDOMTestSerializedScriptValueInterface* self, WebKitDOMSerializedScriptValue* value);
</span><span class="cx"> 
</span><span class="cx"> /**
</span><del>- * webkit_dom_test_serialized_script_value_interface_get_ports:
- * @self: A #WebKitDOMTestSerializedScriptValueInterface
- *
- * Returns: (transfer none):
- *
-**/
-WEBKIT_API WebKitDOMMessagePortArray*
-webkit_dom_test_serialized_script_value_interface_get_ports(WebKitDOMTestSerializedScriptValueInterface* self);
-
-/**
</del><span class="cx">  * webkit_dom_test_serialized_script_value_interface_get_cached_readonly_value:
</span><span class="cx">  * @self: A #WebKitDOMTestSerializedScriptValueInterface
</span><span class="cx">  *
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestSerializedScriptValueInterfacecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp (150579 => 150580)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp        2013-05-23 10:32:51 UTC (rev 150579)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp        2013-05-23 12:22:23 UTC (rev 150580)
</span><span class="lines">@@ -179,7 +179,7 @@
</span><span class="cx">     JSTestSerializedScriptValueInterface* castedThis = jsCast&lt;JSTestSerializedScriptValueInterface*&gt;(asObject(slotBase));
</span><span class="cx">     UNUSED_PARAM(exec);
</span><span class="cx">     TestSerializedScriptValueInterface* impl = static_cast&lt;TestSerializedScriptValueInterface*&gt;(castedThis-&gt;impl());
</span><del>-    JSValue result = impl-&gt;ports() ? jsArray(exec, castedThis-&gt;globalObject(), *impl-&gt;ports()) : constructEmptyArray(exec, 0, castedThis-&gt;globalObject());
</del><ins>+    JSValue result = jsArray(exec, castedThis-&gt;globalObject(), impl-&gt;ports());
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestObjCDOMTestSerializedScriptValueInterfaceh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.h (150579 => 150580)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.h        2013-05-23 10:32:51 UTC (rev 150579)
+++ trunk/Source/WebCore/bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.h        2013-05-23 12:22:23 UTC (rev 150580)
</span><span class="lines">@@ -28,14 +28,12 @@
</span><span class="cx"> 
</span><span class="cx"> #if WEBKIT_VERSION_MAX_ALLOWED &gt;= WEBKIT_VERSION_LATEST
</span><span class="cx"> 
</span><del>-@class DOMMessagePortArray;
</del><span class="cx"> @class NSString;
</span><span class="cx"> 
</span><span class="cx"> @interface DOMTestSerializedScriptValueInterface : DOMObject
</span><span class="cx"> @property(retain) NSString *value;
</span><span class="cx"> @property(readonly, retain) NSString *readonlyValue;
</span><span class="cx"> @property(retain) NSString *cachedValue;
</span><del>-@property(readonly, retain) DOMMessagePortArray *ports;
</del><span class="cx"> @property(readonly, retain) NSString *cachedReadonlyValue;
</span><span class="cx"> @end
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestObjCDOMTestSerializedScriptValueInterfacemm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.mm (150579 => 150580)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.mm        2013-05-23 10:32:51 UTC (rev 150579)
+++ trunk/Source/WebCore/bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.mm        2013-05-23 12:22:23 UTC (rev 150580)
</span><span class="lines">@@ -36,13 +36,11 @@
</span><span class="cx"> #import &quot;DOMCSSRuleInternal.h&quot;
</span><span class="cx"> #import &quot;DOMCSSValueInternal.h&quot;
</span><span class="cx"> #import &quot;DOMEventInternal.h&quot;
</span><del>-#import &quot;DOMMessagePortArrayInternal.h&quot;
</del><span class="cx"> #import &quot;DOMNodeInternal.h&quot;
</span><span class="cx"> #import &quot;DOMStyleSheetInternal.h&quot;
</span><span class="cx"> #import &quot;DOMTestSerializedScriptValueInterfaceInternal.h&quot;
</span><span class="cx"> #import &quot;ExceptionHandlers.h&quot;
</span><span class="cx"> #import &quot;JSMainThreadExecState.h&quot;
</span><del>-#import &quot;MessagePortArray.h&quot;
</del><span class="cx"> #import &quot;SerializedScriptValue.h&quot;
</span><span class="cx"> #import &quot;TestSerializedScriptValueInterface.h&quot;
</span><span class="cx"> #import &quot;ThreadCheck.h&quot;
</span><span class="lines">@@ -105,12 +103,6 @@
</span><span class="cx">     IMPL-&gt;setCachedValue(WebCore::SerializedScriptValue::create(WTF::String(newCachedValue)));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-- (DOMMessagePortArray *)ports
-{
-    WebCore::JSMainThreadNullState state;
-    return kit(WTF::getPtr(IMPL-&gt;ports()));
-}
-
</del><span class="cx"> - (NSString *)cachedReadonlyValue
</span><span class="cx"> {
</span><span class="cx">     WebCore::JSMainThreadNullState state;
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestTestSerializedScriptValueInterfaceidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/TestSerializedScriptValueInterface.idl (150579 => 150580)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/TestSerializedScriptValueInterface.idl        2013-05-23 10:32:51 UTC (rev 150579)
+++ trunk/Source/WebCore/bindings/scripts/test/TestSerializedScriptValueInterface.idl        2013-05-23 12:22:23 UTC (rev 150580)
</span><span class="lines">@@ -31,6 +31,6 @@
</span><span class="cx">     attribute SerializedScriptValue value;
</span><span class="cx">     readonly attribute SerializedScriptValue readonlyValue;
</span><span class="cx">     [CachedAttribute] attribute SerializedScriptValue cachedValue;
</span><del>-    readonly attribute MessagePortArray ports;
</del><ins>+    readonly attribute MessagePort[] ports;
</ins><span class="cx">     [CachedAttribute] readonly attribute SerializedScriptValue cachedReadonlyValue;
</span><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCoredomMessageEventh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/MessageEvent.h (150579 => 150580)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/MessageEvent.h        2013-05-23 10:32:51 UTC (rev 150579)
+++ trunk/Source/WebCore/dom/MessageEvent.h        2013-05-23 12:22:23 UTC (rev 150580)
</span><span class="lines">@@ -88,7 +88,7 @@
</span><span class="cx">     const String&amp; origin() const { return m_origin; }
</span><span class="cx">     const String&amp; lastEventId() const { return m_lastEventId; }
</span><span class="cx">     DOMWindow* source() const { return m_source.get(); }
</span><del>-    MessagePortArray* ports() const { return m_ports.get(); }
</del><ins>+    MessagePortArray ports() const { return m_ports ? *m_ports : MessagePortArray(); }
</ins><span class="cx"> 
</span><span class="cx">     // FIXME: Remove this when we have custom ObjC binding support.
</span><span class="cx">     SerializedScriptValue* data() const;
</span></span></pre></div>
<a id="trunkSourceWebCoredomMessageEventidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/MessageEvent.idl (150579 => 150580)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/MessageEvent.idl        2013-05-23 10:32:51 UTC (rev 150579)
+++ trunk/Source/WebCore/dom/MessageEvent.idl        2013-05-23 12:22:23 UTC (rev 150580)
</span><span class="lines">@@ -34,7 +34,7 @@
</span><span class="cx">     [InitializedByEventConstructor] readonly attribute DOMWindow source;
</span><span class="cx"> #if defined(LANGUAGE_JAVASCRIPT) &amp;&amp; LANGUAGE_JAVASCRIPT
</span><span class="cx">     [InitializedByEventConstructor, CachedAttribute, CustomGetter] readonly attribute any data;
</span><del>-    [InitializedByEventConstructor] readonly attribute MessagePortArray ports;
</del><ins>+    [InitializedByEventConstructor] readonly attribute MessagePort[] ports;
</ins><span class="cx"> 
</span><span class="cx">     [Custom] void initMessageEvent([Default=Undefined] optional DOMString typeArg, 
</span><span class="cx">                                    [Default=Undefined] optional boolean canBubbleArg, 
</span></span></pre>
</div>
</div>

</body>
</html>