<!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>[204336] 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/204336">204336</a></dd>
<dt>Author</dt> <dd>weinig@apple.com</dd>
<dt>Date</dt> <dd>2016-08-10 10:32:15 -0700 (Wed, 10 Aug 2016)</dd>
</dl>

<h3>Log Message</h3>
<pre>Remove support for array types in IDLs
https://bugs.webkit.org/show_bug.cgi?id=160729

Reviewed by Anders Carlsson.

Array types have been removed from WebIDL in favor of sequence&lt;&gt; and FrozenArray&lt;&gt;.

- Replace all current uses of Array types with sequences. This causes
  no functional change.

* bindings/scripts/CodeGenerator.pm:
* bindings/scripts/CodeGeneratorGObject.pm:
* bindings/scripts/CodeGeneratorJS.pm:
* bindings/scripts/IDLParser.pm:
Remove array support from the generators.

* Modules/gamepad/Gamepad.idl:
* Modules/gamepad/NavigatorGamepad.idl:
* Modules/gamepad/deprecated/Gamepad.idl:
* Modules/mediacontrols/MediaControlsHost.idl:
* Modules/mediastream/MediaStream.idl:
* Modules/mediastream/MediaTrackConstraints.idl:
* Modules/mediastream/RTCConfiguration.idl:
* Modules/mediastream/RTCIceServer.idl:
* Modules/mediastream/RTCTrackEvent.idl:
* crypto/CryptoKey.idl:
* dom/MessageEvent.idl:
* testing/Internals.idl:
Switch from array to sequence.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreModulesgamepadGamepadidl">trunk/Source/WebCore/Modules/gamepad/Gamepad.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesgamepadNavigatorGamepadidl">trunk/Source/WebCore/Modules/gamepad/NavigatorGamepad.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesgamepaddeprecatedGamepadidl">trunk/Source/WebCore/Modules/gamepad/deprecated/Gamepad.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesmediacontrolsMediaControlsHostidl">trunk/Source/WebCore/Modules/mediacontrols/MediaControlsHost.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesmediastreamMediaStreamidl">trunk/Source/WebCore/Modules/mediastream/MediaStream.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesmediastreamMediaTrackConstraintsidl">trunk/Source/WebCore/Modules/mediastream/MediaTrackConstraints.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesmediastreamRTCConfigurationidl">trunk/Source/WebCore/Modules/mediastream/RTCConfiguration.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesmediastreamRTCIceServeridl">trunk/Source/WebCore/Modules/mediastream/RTCIceServer.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesmediastreamRTCTrackEventidl">trunk/Source/WebCore/Modules/mediastream/RTCTrackEvent.idl</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptsCodeGeneratorpm">trunk/Source/WebCore/bindings/scripts/CodeGenerator.pm</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptsCodeGeneratorGObjectpm">trunk/Source/WebCore/bindings/scripts/CodeGeneratorGObject.pm</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptsCodeGeneratorJSpm">trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptsIDLParserpm">trunk/Source/WebCore/bindings/scripts/IDLParser.pm</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestGObjectWebKitDOMTestObjcpp">trunk/Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestObj.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestGObjectWebKitDOMTestObjh">trunk/Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestObj.h</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestGObjectWebKitDOMTestTypedefscpp">trunk/Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestTypedefs.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestGObjectWebKitDOMTestTypedefsh">trunk/Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestTypedefs.h</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestObjcpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestTypedefscpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestTestObjidl">trunk/Source/WebCore/bindings/scripts/test/TestObj.idl</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestTestSerializedScriptValueInterfaceidl">trunk/Source/WebCore/bindings/scripts/test/TestSerializedScriptValueInterface.idl</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestTestTypedefsidl">trunk/Source/WebCore/bindings/scripts/test/TestTypedefs.idl</a></li>
<li><a href="#trunkSourceWebCorecryptoCryptoKeyidl">trunk/Source/WebCore/crypto/CryptoKey.idl</a></li>
<li><a href="#trunkSourceWebCoredomMessageEventidl">trunk/Source/WebCore/dom/MessageEvent.idl</a></li>
<li><a href="#trunkSourceWebCoretestingInternalsidl">trunk/Source/WebCore/testing/Internals.idl</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (204335 => 204336)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2016-08-10 17:19:31 UTC (rev 204335)
+++ trunk/Source/WebCore/ChangeLog        2016-08-10 17:32:15 UTC (rev 204336)
</span><span class="lines">@@ -1,3 +1,35 @@
</span><ins>+2016-08-09  Sam Weinig  &lt;sam@webkit.org&gt;
+
+        Remove support for array types in IDLs
+        https://bugs.webkit.org/show_bug.cgi?id=160729
+
+        Reviewed by Anders Carlsson.
+
+        Array types have been removed from WebIDL in favor of sequence&lt;&gt; and FrozenArray&lt;&gt;.
+
+        - Replace all current uses of Array types with sequences. This causes
+          no functional change.
+
+        * bindings/scripts/CodeGenerator.pm:
+        * bindings/scripts/CodeGeneratorGObject.pm:
+        * bindings/scripts/CodeGeneratorJS.pm:
+        * bindings/scripts/IDLParser.pm:
+        Remove array support from the generators.
+
+        * Modules/gamepad/Gamepad.idl:
+        * Modules/gamepad/NavigatorGamepad.idl:
+        * Modules/gamepad/deprecated/Gamepad.idl:
+        * Modules/mediacontrols/MediaControlsHost.idl:
+        * Modules/mediastream/MediaStream.idl:
+        * Modules/mediastream/MediaTrackConstraints.idl:
+        * Modules/mediastream/RTCConfiguration.idl:
+        * Modules/mediastream/RTCIceServer.idl:
+        * Modules/mediastream/RTCTrackEvent.idl:
+        * crypto/CryptoKey.idl:
+        * dom/MessageEvent.idl:
+        * testing/Internals.idl:
+        Switch from array to sequence.
+
</ins><span class="cx"> 2016-08-10  Alex Christensen  &lt;achristensen@webkit.org&gt;
</span><span class="cx"> 
</span><span class="cx">         Use unsigned for locations in URL
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesgamepadGamepadidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/gamepad/Gamepad.idl (204335 => 204336)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/gamepad/Gamepad.idl        2016-08-10 17:19:31 UTC (rev 204335)
+++ trunk/Source/WebCore/Modules/gamepad/Gamepad.idl        2016-08-10 17:32:15 UTC (rev 204336)
</span><span class="lines">@@ -33,7 +33,7 @@
</span><span class="cx">     readonly attribute boolean connected;
</span><span class="cx">     readonly attribute double timestamp;
</span><span class="cx">     readonly attribute DOMString mapping;
</span><del>-    readonly attribute double[] axes;
-    readonly attribute GamepadButton[] buttons;
</del><ins>+    readonly attribute sequence&lt;double&gt; axes;
+    readonly attribute sequence&lt;GamepadButton&gt; buttons;
</ins><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesgamepadNavigatorGamepadidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/gamepad/NavigatorGamepad.idl (204335 => 204336)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/gamepad/NavigatorGamepad.idl        2016-08-10 17:19:31 UTC (rev 204335)
+++ trunk/Source/WebCore/Modules/gamepad/NavigatorGamepad.idl        2016-08-10 17:32:15 UTC (rev 204336)
</span><span class="lines">@@ -26,6 +26,6 @@
</span><span class="cx"> [
</span><span class="cx">     Conditional=GAMEPAD,
</span><span class="cx"> ] partial interface Navigator {
</span><del>-    [EnabledAtRuntime=Gamepads] Gamepad[] getGamepads();
</del><ins>+    [EnabledAtRuntime=Gamepads] sequence&lt;Gamepad&gt; getGamepads();
</ins><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesgamepaddeprecatedGamepadidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/gamepad/deprecated/Gamepad.idl (204335 => 204336)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/gamepad/deprecated/Gamepad.idl        2016-08-10 17:19:31 UTC (rev 204335)
+++ trunk/Source/WebCore/Modules/gamepad/deprecated/Gamepad.idl        2016-08-10 17:32:15 UTC (rev 204336)
</span><span class="lines">@@ -31,7 +31,7 @@
</span><span class="cx">     readonly attribute DOMString id;
</span><span class="cx">     readonly attribute unsigned long index;
</span><span class="cx">     readonly attribute unsigned long long timestamp;
</span><del>-    readonly attribute unrestricted float[] axes;
-    readonly attribute unrestricted float[] buttons;
</del><ins>+    readonly attribute sequence&lt;unrestricted float&gt; axes;
+    readonly attribute sequence&lt;unrestricted float&gt; buttons;
</ins><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmediacontrolsMediaControlsHostidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/mediacontrols/MediaControlsHost.idl (204335 => 204336)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediacontrols/MediaControlsHost.idl        2016-08-10 17:19:31 UTC (rev 204335)
+++ trunk/Source/WebCore/Modules/mediacontrols/MediaControlsHost.idl        2016-08-10 17:32:15 UTC (rev 204336)
</span><span class="lines">@@ -34,8 +34,8 @@
</span><span class="cx">     ImplementationLacksVTable,
</span><span class="cx">     NoInterfaceObject,
</span><span class="cx"> ] interface MediaControlsHost {
</span><del>-    TextTrack[] sortedTrackListForMenu(TextTrackList? trackList);
-    AudioTrack[] sortedTrackListForMenu(AudioTrackList? trackList);
</del><ins>+    sequence&lt;TextTrack&gt; sortedTrackListForMenu(TextTrackList? trackList);
+    sequence&lt;AudioTrack&gt; sortedTrackListForMenu(AudioTrackList? trackList);
</ins><span class="cx">     DOMString displayNameForTrack(TextTrack? track);
</span><span class="cx">     DOMString displayNameForTrack(AudioTrack? track);
</span><span class="cx">     readonly attribute TextTrack captionMenuOffItem;
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmediastreamMediaStreamidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/mediastream/MediaStream.idl (204335 => 204336)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediastream/MediaStream.idl        2016-08-10 17:19:31 UTC (rev 204335)
+++ trunk/Source/WebCore/Modules/mediastream/MediaStream.idl        2016-08-10 17:32:15 UTC (rev 204336)
</span><span class="lines">@@ -26,7 +26,7 @@
</span><span class="cx">     Conditional=MEDIA_STREAM,
</span><span class="cx">     Constructor,
</span><span class="cx">     Constructor(MediaStream stream),
</span><del>-    Constructor(MediaStreamTrack[] tracks),
</del><ins>+    Constructor(sequence&lt;MediaStreamTrack&gt; tracks),
</ins><span class="cx">     ConstructorCallWith=ScriptExecutionContext,
</span><span class="cx">     PrivateIdentifier,
</span><span class="cx">     PublicIdentifier
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmediastreamMediaTrackConstraintsidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/mediastream/MediaTrackConstraints.idl (204335 => 204336)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediastream/MediaTrackConstraints.idl        2016-08-10 17:19:31 UTC (rev 204335)
+++ trunk/Source/WebCore/Modules/mediastream/MediaTrackConstraints.idl        2016-08-10 17:32:15 UTC (rev 204336)
</span><span class="lines">@@ -28,6 +28,6 @@
</span><span class="cx">     NoInterfaceObject,
</span><span class="cx"> ] interface MediaTrackConstraints {
</span><span class="cx">     readonly attribute MediaTrackConstraintSet? mandatory;
</span><del>-    readonly attribute MediaTrackConstraint[]? optional;
</del><ins>+    readonly attribute sequence&lt;MediaTrackConstraint&gt;? optional;
</ins><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmediastreamRTCConfigurationidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/mediastream/RTCConfiguration.idl (204335 => 204336)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediastream/RTCConfiguration.idl        2016-08-10 17:19:31 UTC (rev 204335)
+++ trunk/Source/WebCore/Modules/mediastream/RTCConfiguration.idl        2016-08-10 17:32:15 UTC (rev 204336)
</span><span class="lines">@@ -30,7 +30,7 @@
</span><span class="cx">     Conditional=WEB_RTC,
</span><span class="cx">     NoInterfaceObject,
</span><span class="cx"> ] interface RTCConfiguration {
</span><del>-    readonly attribute RTCIceServer[] iceServers;
</del><ins>+    readonly attribute sequence&lt;RTCIceServer&gt; iceServers;
</ins><span class="cx">     readonly attribute RTCIceTransportPolicy iceTransportPolicy;
</span><span class="cx">     readonly attribute RTCBundlePolicy bundlePolicy;
</span><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmediastreamRTCIceServeridl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/mediastream/RTCIceServer.idl (204335 => 204336)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediastream/RTCIceServer.idl        2016-08-10 17:19:31 UTC (rev 204335)
+++ trunk/Source/WebCore/Modules/mediastream/RTCIceServer.idl        2016-08-10 17:32:15 UTC (rev 204336)
</span><span class="lines">@@ -27,7 +27,7 @@
</span><span class="cx">     Conditional=WEB_RTC,
</span><span class="cx">     NoInterfaceObject,
</span><span class="cx"> ] interface RTCIceServer {
</span><del>-    readonly attribute DOMString[] urls;
</del><ins>+    readonly attribute sequence&lt;DOMString&gt; urls;
</ins><span class="cx">     readonly attribute DOMString username;
</span><span class="cx">     readonly attribute DOMString credential;
</span><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmediastreamRTCTrackEventidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/mediastream/RTCTrackEvent.idl (204335 => 204336)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediastream/RTCTrackEvent.idl        2016-08-10 17:19:31 UTC (rev 204335)
+++ trunk/Source/WebCore/Modules/mediastream/RTCTrackEvent.idl        2016-08-10 17:32:15 UTC (rev 204336)
</span><span class="lines">@@ -34,6 +34,6 @@
</span><span class="cx"> ] interface RTCTrackEvent : Event {
</span><span class="cx">    [InitializedByEventConstructor] readonly attribute RTCRtpReceiver receiver;
</span><span class="cx">    [InitializedByEventConstructor] readonly attribute MediaStreamTrack track;
</span><del>-   [InitializedByEventConstructor] readonly attribute MediaStream[] streams;
</del><ins>+   [InitializedByEventConstructor] readonly attribute sequence&lt;MediaStream&gt; streams;
</ins><span class="cx">    [InitializedByEventConstructor] readonly attribute RTCRtpTransceiver transceiver;
</span><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptsCodeGeneratorpm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/CodeGenerator.pm (204335 => 204336)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/CodeGenerator.pm        2016-08-10 17:19:31 UTC (rev 204335)
+++ trunk/Source/WebCore/bindings/scripts/CodeGenerator.pm        2016-08-10 17:32:15 UTC (rev 204336)
</span><span class="lines">@@ -471,7 +471,7 @@
</span><span class="cx">     return 0 if $object-&gt;IsPrimitiveType($type);
</span><span class="cx">     return 0 if $object-&gt;IsDictionaryType($type);
</span><span class="cx">     return 0 if $object-&gt;IsEnumType($type);
</span><del>-    return 0 if $object-&gt;GetArrayOrSequenceType($type);
</del><ins>+    return 0 if $object-&gt;GetSequenceType($type);
</ins><span class="cx">     return 0 if $type eq &quot;DOMString&quot; or $type eq &quot;USVString&quot;;
</span><span class="cx">     return 0 if $type eq &quot;any&quot;;
</span><span class="cx"> 
</span><span class="lines">@@ -526,30 +526,6 @@
</span><span class="cx">     return &quot;&quot;;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-sub GetArrayType
-{
-    my $object = shift;
-    my $type = shift;
-
-    return $1 if $type =~ /^([\w\d_\s]+)\[\]/;
-    return &quot;&quot;;
-}
-
-sub GetArrayOrSequenceType
-{
-    my $object = shift;
-    my $type = shift;
-
-    return $object-&gt;GetArrayType($type) || $object-&gt;GetSequenceType($type);
-}
-
-sub AssertNotSequenceType
-{
-    my $object = shift;
-    my $type = shift;
-    die &quot;Sequences must not be used as the type of an attribute, constant or exception field.&quot; if $object-&gt;GetSequenceType($type);
-}
-
</del><span class="cx"> # These match WK_lcfirst and WK_ucfirst defined in builtins_generator.py.
</span><span class="cx"> # Uppercase the first letter while respecting WebKit style guidelines.
</span><span class="cx"> # E.g., xmlEncoding becomes XMLEncoding, but xmlllang becomes Xmllang.
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptsCodeGeneratorGObjectpm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/CodeGeneratorGObject.pm (204335 => 204336)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/CodeGeneratorGObject.pm        2016-08-10 17:19:31 UTC (rev 204335)
+++ trunk/Source/WebCore/bindings/scripts/CodeGeneratorGObject.pm        2016-08-10 17:32:15 UTC (rev 204336)
</span><span class="lines">@@ -244,13 +244,8 @@
</span><span class="cx"> 
</span><span class="cx">     return 1 if $attribute-&gt;isStatic;
</span><span class="cx">     return 1 if $codeGenerator-&gt;IsTypedArrayType($propType);
</span><ins>+    return 1 if $codeGenerator-&gt;GetSequenceType($propType);
</ins><span class="cx"> 
</span><del>-    $codeGenerator-&gt;AssertNotSequenceType($propType);
-
-    if ($codeGenerator-&gt;GetArrayType($propType)) {
-        return 1;
-    }
-
</del><span class="cx">     if ($codeGenerator-&gt;IsEnumType($propType)) {
</span><span class="cx">         return 1;
</span><span class="cx">     }
</span><span class="lines">@@ -338,7 +333,7 @@
</span><span class="cx">         return 1;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    if ($codeGenerator-&gt;IsTypedArrayType($function-&gt;signature-&gt;type) || $codeGenerator-&gt;GetArrayType($function-&gt;signature-&gt;type)) {
</del><ins>+    if ($codeGenerator-&gt;IsTypedArrayType($function-&gt;signature-&gt;type)) {
</ins><span class="cx">         return 1;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -1102,8 +1097,8 @@
</span><span class="cx">     my @callImplParams;
</span><span class="cx">     foreach my $param (@{$function-&gt;parameters}) {
</span><span class="cx">         my $paramIDLType = $param-&gt;type;
</span><del>-        my $arrayOrSequenceType = $codeGenerator-&gt;GetArrayOrSequenceType($paramIDLType);
-        $paramIDLType = $arrayOrSequenceType if $arrayOrSequenceType ne &quot;&quot;;
</del><ins>+        my $sequenceType = $codeGenerator-&gt;GetSequenceType($paramIDLType);
+        $paramIDLType = $sequenceType if $sequenceType ne &quot;&quot;;
</ins><span class="cx">         my $paramType = GetGlibTypeName($paramIDLType);
</span><span class="cx">         my $const = $paramType eq &quot;gchar*&quot; ? &quot;const &quot; : &quot;&quot;;
</span><span class="cx">         my $paramName = $param-&gt;name;
</span><span class="lines">@@ -1174,8 +1169,8 @@
</span><span class="cx">             last;
</span><span class="cx">         }
</span><span class="cx">         my $paramIDLType = $param-&gt;type;
</span><del>-        my $arrayOrSequenceType = $codeGenerator-&gt;GetArrayOrSequenceType($paramIDLType);
-        $paramIDLType = $arrayOrSequenceType if $arrayOrSequenceType ne &quot;&quot;;
</del><ins>+        my $sequenceType = $codeGenerator-&gt;GetSequenceType($paramIDLType);
+        $paramIDLType = $sequenceType if $sequenceType ne &quot;&quot;;
</ins><span class="cx">         my $paramType = GetGlibTypeName($paramIDLType);
</span><span class="cx">         # $paramType can have a trailing * in some cases
</span><span class="cx">         $paramType =~ s/\*$//;
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptsCodeGeneratorJSpm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm (204335 => 204336)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm        2016-08-10 17:19:31 UTC (rev 204335)
+++ trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm        2016-08-10 17:32:15 UTC (rev 204336)
</span><span class="lines">@@ -202,15 +202,11 @@
</span><span class="cx">     # When we're finished with the one-file-per-class reorganization, we won't need these special cases.
</span><span class="cx">     if ($isCallback &amp;&amp; $codeGenerator-&gt;IsWrapperType($type)) {
</span><span class="cx">         $includesRef-&gt;{&quot;JS${type}.h&quot;} = 1;
</span><del>-    } elsif ($codeGenerator-&gt;GetArrayOrSequenceType($type)) {
-        my $arrayType = $codeGenerator-&gt;GetArrayType($type);
-        my $arrayOrSequenceType = $arrayType || $codeGenerator-&gt;GetSequenceType($type);
-        if ($arrayType eq &quot;DOMString&quot;) {
-            $includesRef-&gt;{&quot;JSDOMStringList.h&quot;} = 1;
-            $includesRef-&gt;{&quot;DOMStringList.h&quot;} = 1;
-        } elsif ($codeGenerator-&gt;IsRefPtrType($arrayOrSequenceType)) {
-            $includesRef-&gt;{&quot;JS${arrayOrSequenceType}.h&quot;} = 1;
-            $includesRef-&gt;{&quot;${arrayOrSequenceType}.h&quot;} = 1;
</del><ins>+    } elsif ($codeGenerator-&gt;GetSequenceType($type)) {
+        my $sequenceType = $codeGenerator-&gt;GetSequenceType($type);
+        if ($codeGenerator-&gt;IsRefPtrType($sequenceType)) {
+            $includesRef-&gt;{&quot;JS${sequenceType}.h&quot;} = 1;
+            $includesRef-&gt;{&quot;${sequenceType}.h&quot;} = 1;
</ins><span class="cx">         }
</span><span class="cx">         $includesRef-&gt;{&quot;&lt;runtime/JSArray.h&gt;&quot;} = 1;
</span><span class="cx">     } else {
</span><span class="lines">@@ -1757,7 +1753,7 @@
</span><span class="cx">     return 0 if &amp;$isDictionary($typeA) &amp;&amp; &amp;$isDictionary($typeB);
</span><span class="cx">     return 0 if $codeGenerator-&gt;IsCallbackInterface($typeA) &amp;&amp; $codeGenerator-&gt;IsCallbackInterface($typeB);
</span><span class="cx">     return 0 if &amp;$isCallbackFunctionOrDictionary($typeA) &amp;&amp; &amp;$isCallbackFunctionOrDictionary($typeB);
</span><del>-    return 0 if $codeGenerator-&gt;GetArrayOrSequenceType($typeA) &amp;&amp; $codeGenerator-&gt;GetArrayOrSequenceType($typeB);
</del><ins>+    return 0 if $codeGenerator-&gt;GetSequenceType($typeA) &amp;&amp; $codeGenerator-&gt;GetSequenceType($typeB);
</ins><span class="cx">     # FIXME: return 0 if typeA and typeB are both exception types.
</span><span class="cx">     return 1;
</span><span class="cx"> }
</span><span class="lines">@@ -1846,9 +1842,9 @@
</span><span class="cx">         my ($type, $optionality, $isNullable) = @_;
</span><span class="cx">         return $type eq &quot;object&quot; || $codeGenerator-&gt;IsFunctionOnlyCallbackInterface($type);
</span><span class="cx">     };
</span><del>-    my $isArrayOrSequenceParameter = sub {
</del><ins>+    my $isSequenceParameter = sub {
</ins><span class="cx">         my ($type, $optionality, $isNullable) = @_;
</span><del>-        return $codeGenerator-&gt;GetArrayOrSequenceType($type);
</del><ins>+        return $codeGenerator-&gt;GetSequenceType($type);
</ins><span class="cx">     };
</span><span class="cx">     my $isDictionaryOrObjectOrCallbackInterfaceParameter = sub {
</span><span class="cx">         my ($type, $optionality, $isNullable) = @_;
</span><span class="lines">@@ -1921,7 +1917,7 @@
</span><span class="cx">             $overload = GetOverloadThatMatches($S, $d, \&amp;$isObjectOrCallbackFunctionParameter);
</span><span class="cx">             &amp;$generateOverloadCallIfNecessary($overload, &quot;distinguishingArg.isFunction()&quot;);
</span><span class="cx"> 
</span><del>-            $overload = GetOverloadThatMatches($S, $d, \&amp;$isArrayOrSequenceParameter);
</del><ins>+            $overload = GetOverloadThatMatches($S, $d, \&amp;$isSequenceParameter);
</ins><span class="cx">             &amp;$generateOverloadCallIfNecessary($overload, &quot;distinguishingArg.isObject() &amp;&amp; isJSArray(distinguishingArg)&quot;);
</span><span class="cx"> 
</span><span class="cx">             $overload = GetOverloadThatMatches($S, $d, \&amp;$isDictionaryOrObjectOrCallbackInterfaceParameter);
</span><span class="lines">@@ -2733,7 +2729,6 @@
</span><span class="cx"> 
</span><span class="cx">             my $name = $attribute-&gt;signature-&gt;name;
</span><span class="cx">             my $type = $attribute-&gt;signature-&gt;type;
</span><del>-            $codeGenerator-&gt;AssertNotSequenceType($type);
</del><span class="cx">             my $getFunctionName = GetAttributeGetterName($interface, $className, $attribute);
</span><span class="cx">             my $implGetterFunctionName = $codeGenerator-&gt;WK_lcfirst($attribute-&gt;signature-&gt;extendedAttributes-&gt;{&quot;ImplementedAs&quot;} || $name);
</span><span class="cx">             my $getterExceptionsWithMessage = $attribute-&gt;signature-&gt;extendedAttributes-&gt;{&quot;GetterRaisesExceptionWithMessage&quot;};
</span><span class="lines">@@ -3776,7 +3771,7 @@
</span><span class="cx">     return 1 if defined $automaticallyGeneratedDefaultValue &amp;&amp; $automaticallyGeneratedDefaultValue eq $defaultValue;
</span><span class="cx"> 
</span><span class="cx">     # toRefPtrNativeArray() will convert undefined to an empty Vector.
</span><del>-    return 1 if $defaultValue eq &quot;[]&quot; &amp;&amp; $codeGenerator-&gt;GetArrayOrSequenceType($parameterType);
</del><ins>+    return 1 if $defaultValue eq &quot;[]&quot; &amp;&amp; $codeGenerator-&gt;GetSequenceType($parameterType);
</ins><span class="cx"> 
</span><span class="cx">     return 1 if $defaultValue eq &quot;null&quot; &amp;&amp; $codeGenerator-&gt;IsWrapperType($parameterType);
</span><span class="cx"> 
</span><span class="lines">@@ -4523,8 +4518,8 @@
</span><span class="cx"> 
</span><span class="cx">     return &quot;RefPtr&lt;${type}&gt;&quot; if $codeGenerator-&gt;IsTypedArrayType($type) and $type ne &quot;ArrayBuffer&quot;;
</span><span class="cx"> 
</span><del>-    my $arrayOrSequenceType = $codeGenerator-&gt;GetArrayOrSequenceType($type);
-    return &quot;Vector&lt;&quot; . GetNativeVectorInnerType($arrayOrSequenceType) . &quot;&gt;&quot; if $arrayOrSequenceType;
</del><ins>+    my $sequenceType = $codeGenerator-&gt;GetSequenceType($type);
+    return &quot;Vector&lt;&quot; . GetNativeVectorInnerType($sequenceType) . &quot;&gt;&quot; if $sequenceType;
</ins><span class="cx"> 
</span><span class="cx">     return &quot;${type}*&quot;;
</span><span class="cx"> }
</span><span class="lines">@@ -4540,10 +4535,10 @@
</span><span class="cx"> 
</span><span class="cx"> sub GetNativeVectorInnerType
</span><span class="cx"> {
</span><del>-    my $arrayOrSequenceType = shift;
</del><ins>+    my $sequenceType = shift;
</ins><span class="cx"> 
</span><del>-    return $nativeType{$arrayOrSequenceType} if exists $nativeType{$arrayOrSequenceType};
-    return &quot;RefPtr&lt;${arrayOrSequenceType}&gt;&quot;;
</del><ins>+    return $nativeType{$sequenceType} if exists $nativeType{$sequenceType};
+    return &quot;RefPtr&lt;${sequenceType}&gt;&quot;;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> sub GetNativeTypeForCallbacks
</span><span class="lines">@@ -4655,13 +4650,13 @@
</span><span class="cx">         return (&quot;Dictionary(state, $value)&quot;, 0);
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    my $arrayOrSequenceType = $codeGenerator-&gt;GetArrayOrSequenceType($type);
-    if ($arrayOrSequenceType) {
-        if ($codeGenerator-&gt;IsRefPtrType($arrayOrSequenceType)) {
-            AddToImplIncludes(&quot;JS${arrayOrSequenceType}.h&quot;);
-            return (&quot;(toRefPtrNativeArray&lt;${arrayOrSequenceType}, JS${arrayOrSequenceType}&gt;(state, $value, &amp;JS${arrayOrSequenceType}::toWrapped))&quot;, 1);
</del><ins>+    my $sequenceType = $codeGenerator-&gt;GetSequenceType($type);
+    if ($sequenceType) {
+        if ($codeGenerator-&gt;IsRefPtrType($sequenceType)) {
+            AddToImplIncludes(&quot;JS${sequenceType}.h&quot;);
+            return (&quot;(toRefPtrNativeArray&lt;${sequenceType}, JS${sequenceType}&gt;(state, $value, &amp;JS${sequenceType}::toWrapped))&quot;, 1);
</ins><span class="cx">         }
</span><del>-        return (&quot;toNativeArray&lt;&quot; . GetNativeVectorInnerType($arrayOrSequenceType) . &quot;&gt;(*state, $value)&quot;, 1);
</del><ins>+        return (&quot;toNativeArray&lt;&quot; . GetNativeVectorInnerType($sequenceType) . &quot;&gt;(*state, $value)&quot;, 1);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     return ($value, 0) if $type eq &quot;any&quot;;
</span><span class="lines">@@ -4732,14 +4727,10 @@
</span><span class="cx">         return &quot;jsStringWithCache(state, $value)&quot;;
</span><span class="cx">     }
</span><span class="cx">     
</span><del>-    my $arrayType = $codeGenerator-&gt;GetArrayType($type);
-    my $arrayOrSequenceType = $arrayType || $codeGenerator-&gt;GetSequenceType($type);
-
-    if ($arrayOrSequenceType) {
-        if ($arrayType eq &quot;DOMString&quot;) {
-            AddToImplIncludes(&quot;JSDOMStringList.h&quot;, $conditional);
-        } elsif ($codeGenerator-&gt;IsRefPtrType($arrayOrSequenceType)) {
-            AddToImplIncludes(&quot;JS${arrayOrSequenceType}.h&quot;, $conditional);
</del><ins>+    my $sequenceType = $codeGenerator-&gt;GetSequenceType($type);
+    if ($sequenceType) {
+        if ($codeGenerator-&gt;IsRefPtrType($sequenceType)) {
+            AddToImplIncludes(&quot;JS${sequenceType}.h&quot;, $conditional);
</ins><span class="cx">         }
</span><span class="cx">         AddToImplIncludes(&quot;&lt;runtime/JSArray.h&gt;&quot;, $conditional);
</span><span class="cx">         return &quot;jsArray(state, $globalObject, $value)&quot;;
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptsIDLParserpm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/IDLParser.pm (204335 => 204336)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/IDLParser.pm        2016-08-10 17:19:31 UTC (rev 204335)
+++ trunk/Source/WebCore/bindings/scripts/IDLParser.pm        2016-08-10 17:32:15 UTC (rev 204336)
</span><span class="lines">@@ -1537,7 +1537,7 @@
</span><span class="cx">         } else {
</span><span class="cx">             $paramDataNode-&gt;isNullable(0);
</span><span class="cx">         }
</span><del>-        # Remove all &quot;?&quot; if exists, e.g. &quot;object?[]?&quot; -&gt; &quot;object[]&quot;.
</del><ins>+        # Remove &quot;?&quot; if exists, e.g. &quot;object?&quot; -&gt; &quot;object&quot;.
</ins><span class="cx">         $paramDataNode-&gt;type(identifierRemoveNullablePrefix(typeRemoveNullableSuffix($type)));
</span><span class="cx">         $paramDataNode-&gt;isOptional(1);
</span><span class="cx">         $paramDataNode-&gt;name($self-&gt;parseArgumentName());
</span><span class="lines">@@ -1552,7 +1552,7 @@
</span><span class="cx">         } else {
</span><span class="cx">             $paramDataNode-&gt;isNullable(0);
</span><span class="cx">         }
</span><del>-        # Remove all &quot;?&quot; if exists, e.g. &quot;object?[]?&quot; -&gt; &quot;object[]&quot;.
</del><ins>+        # Remove &quot;?&quot; if exists, e.g. &quot;object?&quot; -&gt; &quot;object&quot;.
</ins><span class="cx">         $paramDataNode-&gt;type(typeRemoveNullableSuffix($type));
</span><span class="cx">         $paramDataNode-&gt;isOptional(0);
</span><span class="cx">         $paramDataNode-&gt;isVariadic($self-&gt;parseEllipsis());
</span><span class="lines">@@ -1904,7 +1904,7 @@
</span><span class="cx">     my $next = $self-&gt;nextToken();
</span><span class="cx">     if ($next-&gt;value() eq &quot;any&quot;) {
</span><span class="cx">         $self-&gt;assertTokenValue($self-&gt;getToken(), &quot;any&quot;, __LINE__);
</span><del>-        return &quot;any&quot; . $self-&gt;parseTypeSuffixStartingWithArray();
</del><ins>+        return &quot;any&quot;;
</ins><span class="cx">     }
</span><span class="cx">     if ($next-&gt;type() == IdentifierToken || $next-&gt;value() =~ /$nextSingleType_1/) {
</span><span class="cx">         return $self-&gt;parseNonAnyType();
</span><span class="lines">@@ -2123,30 +2123,13 @@
</span><span class="cx"> {
</span><span class="cx">     my $self = shift;
</span><span class="cx">     my $next = $self-&gt;nextToken();
</span><del>-    if ($next-&gt;value() eq &quot;[&quot;) {
-        $self-&gt;assertTokenValue($self-&gt;getToken(), &quot;[&quot;, __LINE__);
-        $self-&gt;assertTokenValue($self-&gt;getToken(), &quot;]&quot;, __LINE__);
-        return &quot;[]&quot; . $self-&gt;parseTypeSuffix();
-    }
</del><span class="cx">     if ($next-&gt;value() eq &quot;?&quot;) {
</span><span class="cx">         $self-&gt;assertTokenValue($self-&gt;getToken(), &quot;?&quot;, __LINE__);
</span><del>-        return &quot;?&quot; . $self-&gt;parseTypeSuffixStartingWithArray();
</del><ins>+        return &quot;?&quot;;
</ins><span class="cx">     }
</span><span class="cx">     return &quot;&quot;;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-sub parseTypeSuffixStartingWithArray
-{
-    my $self = shift;
-    my $next = $self-&gt;nextToken();
-    if ($next-&gt;value() eq &quot;[&quot;) {
-        $self-&gt;assertTokenValue($self-&gt;getToken(), &quot;[&quot;, __LINE__);
-        $self-&gt;assertTokenValue($self-&gt;getToken(), &quot;]&quot;, __LINE__);
-        return &quot;[]&quot; . $self-&gt;parseTypeSuffix();
-    }
-    return &quot;&quot;;
-}
-
</del><span class="cx"> sub parseNull
</span><span class="cx"> {
</span><span class="cx">     my $self = shift;
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestGObjectWebKitDOMTestObjcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestObj.cpp (204335 => 204336)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestObj.cpp        2016-08-10 17:19:31 UTC (rev 204335)
+++ trunk/Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestObj.cpp        2016-08-10 17:32:15 UTC (rev 204336)
</span><span class="lines">@@ -1755,26 +1755,6 @@
</span><span class="cx">     item-&gt;methodWithOptionalUnsignedLongLongIsZero(number);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void webkit_dom_test_obj_method_with_optional_array(WebKitDOMTestObj* self, const gchar* array)
-{
-    WebCore::JSMainThreadNullState state;
-    g_return_if_fail(WEBKIT_DOM_IS_TEST_OBJ(self));
-    g_return_if_fail(WEBKIT_DOM_IS_DOM_STRING[](array));
-    WebCore::TestObj* item = WebKit::core(self);
-    WebCore::DOMString[]* convertedArray = WebKit::core(array);
-    item-&gt;methodWithOptionalArray(convertedArray);
-}
-
-void webkit_dom_test_obj_method_with_optional_array_is_empty(WebKitDOMTestObj* self, const gchar* array)
-{
-    WebCore::JSMainThreadNullState state;
-    g_return_if_fail(WEBKIT_DOM_IS_TEST_OBJ(self));
-    g_return_if_fail(WEBKIT_DOM_IS_DOM_STRING[](array));
-    WebCore::TestObj* item = WebKit::core(self);
-    WebCore::DOMString[]* convertedArray = WebKit::core(array);
-    item-&gt;methodWithOptionalArrayIsEmpty(convertedArray);
-}
-
</del><span class="cx"> void webkit_dom_test_obj_method_with_optional_boolean(WebKitDOMTestObj* self, gboolean b)
</span><span class="cx"> {
</span><span class="cx">     WebCore::JSMainThreadNullState state;
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestGObjectWebKitDOMTestObjh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestObj.h (204335 => 204336)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestObj.h        2016-08-10 17:19:31 UTC (rev 204335)
+++ trunk/Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestObj.h        2016-08-10 17:32:15 UTC (rev 204336)
</span><span class="lines">@@ -709,26 +709,6 @@
</span><span class="cx"> webkit_dom_test_obj_method_with_optional_unsigned_long_long_is_zero(WebKitDOMTestObj* self, guint64 number);
</span><span class="cx"> 
</span><span class="cx"> /**
</span><del>- * webkit_dom_test_obj_method_with_optional_array:
- * @self: A #WebKitDOMTestObj
- * @array: A #gchar
- *
- * Stability: Unstable
-**/
-WEBKIT_API void
-webkit_dom_test_obj_method_with_optional_array(WebKitDOMTestObj* self, const gchar* array);
-
-/**
- * webkit_dom_test_obj_method_with_optional_array_is_empty:
- * @self: A #WebKitDOMTestObj
- * @array: A #gchar
- *
- * Stability: Unstable
-**/
-WEBKIT_API void
-webkit_dom_test_obj_method_with_optional_array_is_empty(WebKitDOMTestObj* self, const gchar* array);
-
-/**
</del><span class="cx">  * webkit_dom_test_obj_method_with_optional_boolean:
</span><span class="cx">  * @self: A #WebKitDOMTestObj
</span><span class="cx">  * @b: A #gboolean
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestGObjectWebKitDOMTestTypedefscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestTypedefs.cpp (204335 => 204336)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestTypedefs.cpp        2016-08-10 17:19:31 UTC (rev 204335)
+++ trunk/Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestTypedefs.cpp        2016-08-10 17:32:15 UTC (rev 204336)
</span><span class="lines">@@ -232,16 +232,6 @@
</span><span class="cx">     new (priv) WebKitDOMTestTypedefsPrivate();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void webkit_dom_test_typedefs_func(WebKitDOMTestTypedefs* self, glong x)
-{
-    WebCore::JSMainThreadNullState state;
-    g_return_if_fail(WEBKIT_DOM_IS_TEST_TYPEDEFS(self));
-    g_return_if_fail(WEBKIT_DOM_IS_LONG[](x));
-    WebCore::TestTypedefs* item = WebKit::core(self);
-    WebCore::long[]* convertedX = WebKit::core(x);
-    item-&gt;func(x);
-}
-
</del><span class="cx"> void webkit_dom_test_typedefs_set_shadow(WebKitDOMTestTypedefs* self, gfloat width, gfloat height, gfloat blur, const gchar* color, gfloat alpha)
</span><span class="cx"> {
</span><span class="cx">     WebCore::JSMainThreadNullState state;
</span><span class="lines">@@ -252,16 +242,6 @@
</span><span class="cx">     item-&gt;setShadow(width, height, blur, convertedColor, alpha);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void webkit_dom_test_typedefs_nullable_array_arg(WebKitDOMTestTypedefs* self, const gchar* arrayArg)
-{
-    WebCore::JSMainThreadNullState state;
-    g_return_if_fail(WEBKIT_DOM_IS_TEST_TYPEDEFS(self));
-    g_return_if_fail(WEBKIT_DOM_IS_DOM_STRING[](arrayArg));
-    WebCore::TestTypedefs* item = WebKit::core(self);
-    WebCore::DOMString[]* convertedArrayArg = WebKit::core(arrayArg);
-    item-&gt;nullableArrayArg(convertedArrayArg);
-}
-
</del><span class="cx"> WebKitDOMSVGPoint* webkit_dom_test_typedefs_immutable_point_function(WebKitDOMTestTypedefs* self)
</span><span class="cx"> {
</span><span class="cx">     WebCore::JSMainThreadNullState state;
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestGObjectWebKitDOMTestTypedefsh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestTypedefs.h (204335 => 204336)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestTypedefs.h        2016-08-10 17:19:31 UTC (rev 204335)
+++ trunk/Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestTypedefs.h        2016-08-10 17:32:15 UTC (rev 204336)
</span><span class="lines">@@ -48,16 +48,6 @@
</span><span class="cx"> webkit_dom_test_typedefs_get_type(void);
</span><span class="cx"> 
</span><span class="cx"> /**
</span><del>- * webkit_dom_test_typedefs_func:
- * @self: A #WebKitDOMTestTypedefs
- * @x: A #glong
- *
- * Stability: Unstable
-**/
-WEBKIT_API void
-webkit_dom_test_typedefs_func(WebKitDOMTestTypedefs* self, glong x);
-
-/**
</del><span class="cx">  * webkit_dom_test_typedefs_set_shadow:
</span><span class="cx">  * @self: A #WebKitDOMTestTypedefs
</span><span class="cx">  * @width: A #gfloat
</span><span class="lines">@@ -72,16 +62,6 @@
</span><span class="cx"> webkit_dom_test_typedefs_set_shadow(WebKitDOMTestTypedefs* self, gfloat width, gfloat height, gfloat blur, const gchar* color, gfloat alpha);
</span><span class="cx"> 
</span><span class="cx"> /**
</span><del>- * webkit_dom_test_typedefs_nullable_array_arg:
- * @self: A #WebKitDOMTestTypedefs
- * @arrayArg: A #gchar
- *
- * Stability: Unstable
-**/
-WEBKIT_API void
-webkit_dom_test_typedefs_nullable_array_arg(WebKitDOMTestTypedefs* self, const gchar* arrayArg);
-
-/**
</del><span class="cx">  * webkit_dom_test_typedefs_immutable_point_function:
</span><span class="cx">  * @self: A #WebKitDOMTestTypedefs
</span><span class="cx">  *
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestObjcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp (204335 => 204336)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp        2016-08-10 17:19:31 UTC (rev 204335)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp        2016-08-10 17:32:15 UTC (rev 204336)
</span><span class="lines">@@ -652,13 +652,12 @@
</span><span class="cx"> JSC::EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithOptionalAtomicStringIsEmptyString(JSC::ExecState*);
</span><span class="cx"> JSC::EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithOptionalDoubleIsNaN(JSC::ExecState*);
</span><span class="cx"> JSC::EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithOptionalFloatIsNaN(JSC::ExecState*);
</span><del>-JSC::EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithOptionalSequence(JSC::ExecState*);
</del><span class="cx"> JSC::EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithOptionalLongLong(JSC::ExecState*);
</span><span class="cx"> JSC::EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithOptionalLongLongIsZero(JSC::ExecState*);
</span><span class="cx"> JSC::EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLong(JSC::ExecState*);
</span><span class="cx"> JSC::EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLongIsZero(JSC::ExecState*);
</span><del>-JSC::EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithOptionalArray(JSC::ExecState*);
-JSC::EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithOptionalArrayIsEmpty(JSC::ExecState*);
</del><ins>+JSC::EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithOptionalSequence(JSC::ExecState*);
+JSC::EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithOptionalSequenceIsEmpty(JSC::ExecState*);
</ins><span class="cx"> JSC::EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithOptionalBoolean(JSC::ExecState*);
</span><span class="cx"> JSC::EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithOptionalBooleanIsFalse(JSC::ExecState*);
</span><span class="cx"> JSC::EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithOptionalAny(JSC::ExecState*);
</span><span class="lines">@@ -696,7 +695,6 @@
</span><span class="cx"> JSC::EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionStringArrayFunction(JSC::ExecState*);
</span><span class="cx"> JSC::EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionDomStringListFunction(JSC::ExecState*);
</span><span class="cx"> JSC::EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequence(JSC::ExecState*);
</span><del>-JSC::EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequence2(JSC::ExecState*);
</del><span class="cx"> JSC::EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionGetElementById(JSC::ExecState*);
</span><span class="cx"> JSC::EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionGetSVGDocument(JSC::ExecState*);
</span><span class="cx"> JSC::EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionConvert1(JSC::ExecState*);
</span><span class="lines">@@ -1245,13 +1243,12 @@
</span><span class="cx">     { &quot;methodWithOptionalAtomicStringIsEmptyString&quot;, JSC::Function, NoIntrinsic, { (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionMethodWithOptionalAtomicStringIsEmptyString), (intptr_t) (0) } },
</span><span class="cx">     { &quot;methodWithOptionalDoubleIsNaN&quot;, JSC::Function, NoIntrinsic, { (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionMethodWithOptionalDoubleIsNaN), (intptr_t) (0) } },
</span><span class="cx">     { &quot;methodWithOptionalFloatIsNaN&quot;, JSC::Function, NoIntrinsic, { (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionMethodWithOptionalFloatIsNaN), (intptr_t) (0) } },
</span><del>-    { &quot;methodWithOptionalSequence&quot;, JSC::Function, NoIntrinsic, { (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionMethodWithOptionalSequence), (intptr_t) (0) } },
</del><span class="cx">     { &quot;methodWithOptionalLongLong&quot;, JSC::Function, NoIntrinsic, { (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionMethodWithOptionalLongLong), (intptr_t) (0) } },
</span><span class="cx">     { &quot;methodWithOptionalLongLongIsZero&quot;, JSC::Function, NoIntrinsic, { (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionMethodWithOptionalLongLongIsZero), (intptr_t) (0) } },
</span><span class="cx">     { &quot;methodWithOptionalUnsignedLongLong&quot;, JSC::Function, NoIntrinsic, { (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLong), (intptr_t) (0) } },
</span><span class="cx">     { &quot;methodWithOptionalUnsignedLongLongIsZero&quot;, JSC::Function, NoIntrinsic, { (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLongIsZero), (intptr_t) (0) } },
</span><del>-    { &quot;methodWithOptionalArray&quot;, JSC::Function, NoIntrinsic, { (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionMethodWithOptionalArray), (intptr_t) (0) } },
-    { &quot;methodWithOptionalArrayIsEmpty&quot;, JSC::Function, NoIntrinsic, { (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionMethodWithOptionalArrayIsEmpty), (intptr_t) (0) } },
</del><ins>+    { &quot;methodWithOptionalSequence&quot;, JSC::Function, NoIntrinsic, { (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionMethodWithOptionalSequence), (intptr_t) (0) } },
+    { &quot;methodWithOptionalSequenceIsEmpty&quot;, JSC::Function, NoIntrinsic, { (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionMethodWithOptionalSequenceIsEmpty), (intptr_t) (0) } },
</ins><span class="cx">     { &quot;methodWithOptionalBoolean&quot;, JSC::Function, NoIntrinsic, { (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionMethodWithOptionalBoolean), (intptr_t) (0) } },
</span><span class="cx">     { &quot;methodWithOptionalBooleanIsFalse&quot;, JSC::Function, NoIntrinsic, { (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionMethodWithOptionalBooleanIsFalse), (intptr_t) (0) } },
</span><span class="cx">     { &quot;methodWithOptionalAny&quot;, JSC::Function, NoIntrinsic, { (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionMethodWithOptionalAny), (intptr_t) (0) } },
</span><span class="lines">@@ -1287,7 +1284,6 @@
</span><span class="cx">     { &quot;stringArrayFunction&quot;, JSC::Function, NoIntrinsic, { (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionStringArrayFunction), (intptr_t) (1) } },
</span><span class="cx">     { &quot;domStringListFunction&quot;, JSC::Function, NoIntrinsic, { (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionDomStringListFunction), (intptr_t) (1) } },
</span><span class="cx">     { &quot;methodWithAndWithoutNullableSequence&quot;, JSC::Function, NoIntrinsic, { (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequence), (intptr_t) (2) } },
</span><del>-    { &quot;methodWithAndWithoutNullableSequence2&quot;, JSC::Function, NoIntrinsic, { (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequence2), (intptr_t) (2) } },
</del><span class="cx">     { &quot;getElementById&quot;, JSC::Function, NoIntrinsic, { (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionGetElementById), (intptr_t) (1) } },
</span><span class="cx">     { &quot;getSVGDocument&quot;, JSC::Function, NoIntrinsic, { (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionGetSVGDocument), (intptr_t) (0) } },
</span><span class="cx">     { &quot;convert1&quot;, JSC::Function, NoIntrinsic, { (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionConvert1), (intptr_t) (1) } },
</span><span class="lines">@@ -5090,21 +5086,6 @@
</span><span class="cx">     return JSValue::encode(jsUndefined());
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithOptionalSequence(ExecState* state)
-{
-    JSValue thisValue = state-&gt;thisValue();
-    auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
-    if (UNLIKELY(!castedThis))
-        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;methodWithOptionalSequence&quot;);
-    ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
-    auto&amp; impl = castedThis-&gt;wrapped();
-    auto sequence = toNativeArray&lt;String&gt;(*state, state-&gt;argument(0));
-    if (UNLIKELY(state-&gt;hadException()))
-        return JSValue::encode(jsUndefined());
-    impl.methodWithOptionalSequence(WTFMove(sequence));
-    return JSValue::encode(jsUndefined());
-}
-
</del><span class="cx"> EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithOptionalLongLong(ExecState* state)
</span><span class="cx"> {
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="lines">@@ -5165,33 +5146,33 @@
</span><span class="cx">     return JSValue::encode(jsUndefined());
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithOptionalArray(ExecState* state)
</del><ins>+EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithOptionalSequence(ExecState* state)
</ins><span class="cx"> {
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;methodWithOptionalArray&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;methodWithOptionalSequence&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto array = state-&gt;argument(0).isUndefined() ? Optional&lt;Vector&lt;String&gt;&gt;() : toNativeArray&lt;String&gt;(*state, state-&gt;uncheckedArgument(0));
</span><span class="cx">     if (UNLIKELY(state-&gt;hadException()))
</span><span class="cx">         return JSValue::encode(jsUndefined());
</span><del>-    impl.methodWithOptionalArray(WTFMove(array));
</del><ins>+    impl.methodWithOptionalSequence(WTFMove(array));
</ins><span class="cx">     return JSValue::encode(jsUndefined());
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithOptionalArrayIsEmpty(ExecState* state)
</del><ins>+EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithOptionalSequenceIsEmpty(ExecState* state)
</ins><span class="cx"> {
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;methodWithOptionalArrayIsEmpty&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;methodWithOptionalSequenceIsEmpty&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto array = toNativeArray&lt;String&gt;(*state, state-&gt;argument(0));
</span><span class="cx">     if (UNLIKELY(state-&gt;hadException()))
</span><span class="cx">         return JSValue::encode(jsUndefined());
</span><del>-    impl.methodWithOptionalArrayIsEmpty(WTFMove(array));
</del><ins>+    impl.methodWithOptionalSequenceIsEmpty(WTFMove(array));
</ins><span class="cx">     return JSValue::encode(jsUndefined());
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -5991,26 +5972,6 @@
</span><span class="cx">     return JSValue::encode(jsUndefined());
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequence2(ExecState* state)
-{
-    JSValue thisValue = state-&gt;thisValue();
-    auto castedThis = jsDynamicCast&lt;JSTestObj*&gt;(thisValue);
-    if (UNLIKELY(!castedThis))
-        return throwThisTypeError(*state, &quot;TestObject&quot;, &quot;methodWithAndWithoutNullableSequence2&quot;);
-    ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
-    auto&amp; impl = castedThis-&gt;wrapped();
-    if (UNLIKELY(state-&gt;argumentCount() &lt; 2))
-        return throwVMError(state, createNotEnoughArgumentsError(state));
-    auto arrayArg = toNativeArray&lt;uint32_t&gt;(*state, state-&gt;argument(0));
-    if (UNLIKELY(state-&gt;hadException()))
-        return JSValue::encode(jsUndefined());
-    auto nullableArrayArg = toNativeArray&lt;uint32_t&gt;(*state, state-&gt;argument(1));
-    if (UNLIKELY(state-&gt;hadException()))
-        return JSValue::encode(jsUndefined());
-    impl.methodWithAndWithoutNullableSequence2(WTFMove(arrayArg), WTFMove(nullableArrayArg));
-    return JSValue::encode(jsUndefined());
-}
-
</del><span class="cx"> EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionGetElementById(ExecState* state)
</span><span class="cx"> {
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestTypedefscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.cpp (204335 => 204336)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.cpp        2016-08-10 17:19:31 UTC (rev 204335)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.cpp        2016-08-10 17:32:15 UTC (rev 204336)
</span><span class="lines">@@ -21,12 +21,10 @@
</span><span class="cx"> #include &quot;config.h&quot;
</span><span class="cx"> #include &quot;JSTestTypedefs.h&quot;
</span><span class="cx"> 
</span><del>-#include &quot;DOMStringList.h&quot;
</del><span class="cx"> #include &quot;ExceptionCode.h&quot;
</span><span class="cx"> #include &quot;JSDOMBinding.h&quot;
</span><span class="cx"> #include &quot;JSDOMConstructor.h&quot;
</span><span class="cx"> #include &quot;JSDOMConvert.h&quot;
</span><del>-#include &quot;JSDOMStringList.h&quot;
</del><span class="cx"> #include &quot;JSSVGPoint.h&quot;
</span><span class="cx"> #include &quot;JSSerializedScriptValue.h&quot;
</span><span class="cx"> #include &quot;JSTestCallback.h&quot;
</span><span class="lines">@@ -50,11 +48,11 @@
</span><span class="cx"> JSC::EncodedJSValue JSC_HOST_CALL jsTestTypedefsPrototypeFunctionFunc(JSC::ExecState*);
</span><span class="cx"> JSC::EncodedJSValue JSC_HOST_CALL jsTestTypedefsPrototypeFunctionSetShadow(JSC::ExecState*);
</span><span class="cx"> JSC::EncodedJSValue JSC_HOST_CALL jsTestTypedefsPrototypeFunctionMethodWithSequenceArg(JSC::ExecState*);
</span><del>-JSC::EncodedJSValue JSC_HOST_CALL jsTestTypedefsPrototypeFunctionNullableArrayArg(JSC::ExecState*);
</del><ins>+JSC::EncodedJSValue JSC_HOST_CALL jsTestTypedefsPrototypeFunctionNullableSequenceArg(JSC::ExecState*);
</ins><span class="cx"> JSC::EncodedJSValue JSC_HOST_CALL jsTestTypedefsPrototypeFunctionFuncWithClamp(JSC::ExecState*);
</span><span class="cx"> JSC::EncodedJSValue JSC_HOST_CALL jsTestTypedefsPrototypeFunctionImmutablePointFunction(JSC::ExecState*);
</span><del>-JSC::EncodedJSValue JSC_HOST_CALL jsTestTypedefsPrototypeFunctionStringArrayFunction(JSC::ExecState*);
-JSC::EncodedJSValue JSC_HOST_CALL jsTestTypedefsPrototypeFunctionStringArrayFunction2(JSC::ExecState*);
</del><ins>+JSC::EncodedJSValue JSC_HOST_CALL jsTestTypedefsPrototypeFunctionStringSequenceFunction(JSC::ExecState*);
+JSC::EncodedJSValue JSC_HOST_CALL jsTestTypedefsPrototypeFunctionStringSequenceFunction2(JSC::ExecState*);
</ins><span class="cx"> JSC::EncodedJSValue JSC_HOST_CALL jsTestTypedefsPrototypeFunctionCallWithSequenceThatRequiresInclude(JSC::ExecState*);
</span><span class="cx"> JSC::EncodedJSValue JSC_HOST_CALL jsTestTypedefsPrototypeFunctionMethodWithException(JSC::ExecState*);
</span><span class="cx"> 
</span><span class="lines">@@ -169,11 +167,11 @@
</span><span class="cx">     { &quot;func&quot;, JSC::Function, NoIntrinsic, { (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestTypedefsPrototypeFunctionFunc), (intptr_t) (0) } },
</span><span class="cx">     { &quot;setShadow&quot;, JSC::Function, NoIntrinsic, { (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestTypedefsPrototypeFunctionSetShadow), (intptr_t) (3) } },
</span><span class="cx">     { &quot;methodWithSequenceArg&quot;, JSC::Function, NoIntrinsic, { (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestTypedefsPrototypeFunctionMethodWithSequenceArg), (intptr_t) (1) } },
</span><del>-    { &quot;nullableArrayArg&quot;, JSC::Function, NoIntrinsic, { (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestTypedefsPrototypeFunctionNullableArrayArg), (intptr_t) (1) } },
</del><ins>+    { &quot;nullableSequenceArg&quot;, JSC::Function, NoIntrinsic, { (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestTypedefsPrototypeFunctionNullableSequenceArg), (intptr_t) (1) } },
</ins><span class="cx">     { &quot;funcWithClamp&quot;, JSC::Function, NoIntrinsic, { (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestTypedefsPrototypeFunctionFuncWithClamp), (intptr_t) (1) } },
</span><span class="cx">     { &quot;immutablePointFunction&quot;, JSC::Function, NoIntrinsic, { (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestTypedefsPrototypeFunctionImmutablePointFunction), (intptr_t) (0) } },
</span><del>-    { &quot;stringArrayFunction&quot;, JSC::Function, NoIntrinsic, { (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestTypedefsPrototypeFunctionStringArrayFunction), (intptr_t) (1) } },
-    { &quot;stringArrayFunction2&quot;, JSC::Function, NoIntrinsic, { (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestTypedefsPrototypeFunctionStringArrayFunction2), (intptr_t) (1) } },
</del><ins>+    { &quot;stringSequenceFunction&quot;, JSC::Function, NoIntrinsic, { (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestTypedefsPrototypeFunctionStringSequenceFunction), (intptr_t) (1) } },
+    { &quot;stringSequenceFunction2&quot;, JSC::Function, NoIntrinsic, { (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestTypedefsPrototypeFunctionStringSequenceFunction2), (intptr_t) (1) } },
</ins><span class="cx">     { &quot;callWithSequenceThatRequiresInclude&quot;, JSC::Function, NoIntrinsic, { (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestTypedefsPrototypeFunctionCallWithSequenceThatRequiresInclude), (intptr_t) (1) } },
</span><span class="cx">     { &quot;methodWithException&quot;, JSC::Function, NoIntrinsic, { (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestTypedefsPrototypeFunctionMethodWithException), (intptr_t) (0) } },
</span><span class="cx"> };
</span><span class="lines">@@ -508,20 +506,20 @@
</span><span class="cx">     return JSValue::encode(result);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-EncodedJSValue JSC_HOST_CALL jsTestTypedefsPrototypeFunctionNullableArrayArg(ExecState* state)
</del><ins>+EncodedJSValue JSC_HOST_CALL jsTestTypedefsPrototypeFunctionNullableSequenceArg(ExecState* state)
</ins><span class="cx"> {
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestTypedefs*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestTypedefs&quot;, &quot;nullableArrayArg&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestTypedefs&quot;, &quot;nullableSequenceArg&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestTypedefs::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     if (UNLIKELY(state-&gt;argumentCount() &lt; 1))
</span><span class="cx">         return throwVMError(state, createNotEnoughArgumentsError(state));
</span><del>-    auto arrayArg = toNativeArray&lt;String&gt;(*state, state-&gt;argument(0));
</del><ins>+    auto sequenceArg = toNativeArray&lt;String&gt;(*state, state-&gt;argument(0));
</ins><span class="cx">     if (UNLIKELY(state-&gt;hadException()))
</span><span class="cx">         return JSValue::encode(jsUndefined());
</span><del>-    impl.nullableArrayArg(WTFMove(arrayArg));
</del><ins>+    impl.nullableSequenceArg(WTFMove(sequenceArg));
</ins><span class="cx">     return JSValue::encode(jsUndefined());
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -557,12 +555,12 @@
</span><span class="cx">     return JSValue::encode(result);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-EncodedJSValue JSC_HOST_CALL jsTestTypedefsPrototypeFunctionStringArrayFunction(ExecState* state)
</del><ins>+EncodedJSValue JSC_HOST_CALL jsTestTypedefsPrototypeFunctionStringSequenceFunction(ExecState* state)
</ins><span class="cx"> {
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestTypedefs*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestTypedefs&quot;, &quot;stringArrayFunction&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestTypedefs&quot;, &quot;stringSequenceFunction&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestTypedefs::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     if (UNLIKELY(state-&gt;argumentCount() &lt; 1))
</span><span class="lines">@@ -571,18 +569,18 @@
</span><span class="cx">     auto values = toNativeArray&lt;String&gt;(*state, state-&gt;argument(0));
</span><span class="cx">     if (UNLIKELY(state-&gt;hadException()))
</span><span class="cx">         return JSValue::encode(jsUndefined());
</span><del>-    JSValue result = jsArray(state, castedThis-&gt;globalObject(), impl.stringArrayFunction(WTFMove(values), ec));
</del><ins>+    JSValue result = jsArray(state, castedThis-&gt;globalObject(), impl.stringSequenceFunction(WTFMove(values), ec));
</ins><span class="cx"> 
</span><span class="cx">     setDOMException(state, ec);
</span><span class="cx">     return JSValue::encode(result);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-EncodedJSValue JSC_HOST_CALL jsTestTypedefsPrototypeFunctionStringArrayFunction2(ExecState* state)
</del><ins>+EncodedJSValue JSC_HOST_CALL jsTestTypedefsPrototypeFunctionStringSequenceFunction2(ExecState* state)
</ins><span class="cx"> {
</span><span class="cx">     JSValue thisValue = state-&gt;thisValue();
</span><span class="cx">     auto castedThis = jsDynamicCast&lt;JSTestTypedefs*&gt;(thisValue);
</span><span class="cx">     if (UNLIKELY(!castedThis))
</span><del>-        return throwThisTypeError(*state, &quot;TestTypedefs&quot;, &quot;stringArrayFunction2&quot;);
</del><ins>+        return throwThisTypeError(*state, &quot;TestTypedefs&quot;, &quot;stringSequenceFunction2&quot;);
</ins><span class="cx">     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestTypedefs::info());
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     if (UNLIKELY(state-&gt;argumentCount() &lt; 1))
</span><span class="lines">@@ -591,7 +589,7 @@
</span><span class="cx">     auto values = toNativeArray&lt;String&gt;(*state, state-&gt;argument(0));
</span><span class="cx">     if (UNLIKELY(state-&gt;hadException()))
</span><span class="cx">         return JSValue::encode(jsUndefined());
</span><del>-    JSValue result = jsArray(state, castedThis-&gt;globalObject(), impl.stringArrayFunction2(WTFMove(values), ec));
</del><ins>+    JSValue result = jsArray(state, castedThis-&gt;globalObject(), impl.stringSequenceFunction2(WTFMove(values), ec));
</ins><span class="cx"> 
</span><span class="cx">     setDOMException(state, ec);
</span><span class="cx">     return JSValue::encode(result);
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestTestObjidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/TestObj.idl (204335 => 204336)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/TestObj.idl        2016-08-10 17:19:31 UTC (rev 204335)
+++ trunk/Source/WebCore/bindings/scripts/test/TestObj.idl        2016-08-10 17:32:15 UTC (rev 204336)
</span><span class="lines">@@ -220,13 +220,12 @@
</span><span class="cx">     void    methodWithOptionalAtomicStringIsEmptyString([AtomicString] optional DOMString str = &quot;&quot;);
</span><span class="cx">     void    methodWithOptionalDoubleIsNaN(optional unrestricted double number = NaN);
</span><span class="cx">     void    methodWithOptionalFloatIsNaN(optional unrestricted float number = NaN);
</span><del>-    void    methodWithOptionalSequence(optional sequence&lt;DOMString&gt; sequence = []);
</del><span class="cx">     void    methodWithOptionalLongLong(optional long long number);
</span><span class="cx">     void    methodWithOptionalLongLongIsZero(optional long long number = 0);
</span><span class="cx">     void    methodWithOptionalUnsignedLongLong(optional unsigned long long number);
</span><span class="cx">     void    methodWithOptionalUnsignedLongLongIsZero(optional unsigned long long number = 0);
</span><del>-    void    methodWithOptionalArray(optional DOMString[] array);
-    void    methodWithOptionalArrayIsEmpty(optional DOMString[] array = []);
</del><ins>+    void    methodWithOptionalSequence(optional sequence&lt;DOMString&gt; array);
+    void    methodWithOptionalSequenceIsEmpty(optional sequence&lt;DOMString&gt; array = []);
</ins><span class="cx">     void    methodWithOptionalBoolean(optional boolean b);
</span><span class="cx">     void    methodWithOptionalBooleanIsFalse(optional boolean b = false);
</span><span class="cx">     void    methodWithOptionalAny(optional any a);
</span><span class="lines">@@ -281,9 +280,9 @@
</span><span class="cx">     void    overloadedMethod(long longArg);
</span><span class="cx">     void    overloadedMethod(TestCallback callback);
</span><span class="cx">     void    overloadedMethod(DOMStringList? listArg);
</span><del>-    void    overloadedMethod(DOMString[]? arrayArg);
</del><ins>+    void    overloadedMethod(sequence&lt;DOMString&gt;? arrayArg);
</ins><span class="cx">     void    overloadedMethod(TestObj objArg);
</span><del>-    void    overloadedMethod(DOMString[] arrayArg);
</del><ins>+    void    overloadedMethod(sequence&lt;DOMString&gt; arrayArg);
</ins><span class="cx">     void    overloadedMethod(sequence&lt;unsigned long&gt; arrayArg);
</span><span class="cx">     void    overloadedMethod(DOMString strArg);
</span><span class="cx"> 
</span><span class="lines">@@ -308,11 +307,10 @@
</span><span class="cx"> 
</span><span class="cx"> #if defined(TESTING_JS)
</span><span class="cx">     void methodWithUnsignedLongSequence(sequence&lt;unsigned long&gt; unsignedLongSequence);
</span><del>-    [RaisesException] DOMString[] stringArrayFunction(DOMString[] values);
</del><ins>+    [RaisesException] sequence&lt;DOMString&gt; stringArrayFunction(sequence&lt;DOMString&gt; values);
</ins><span class="cx">     [RaisesException] DOMStringList domStringListFunction(DOMStringList values);
</span><span class="cx"> 
</span><span class="cx">     void methodWithAndWithoutNullableSequence(sequence&lt;unsigned long&gt; arrayArg, sequence&lt;unsigned long&gt;? nullableArrayArg);
</span><del>-    void methodWithAndWithoutNullableSequence2(unsigned long[] arrayArg, unsigned long[]? nullableArrayArg);
</del><span class="cx"> 
</span><span class="cx">     Element? getElementById([RequiresExistingAtomicString] DOMString elementId);
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestTestSerializedScriptValueInterfaceidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/TestSerializedScriptValueInterface.idl (204335 => 204336)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/TestSerializedScriptValueInterface.idl        2016-08-10 17:19:31 UTC (rev 204335)
+++ trunk/Source/WebCore/bindings/scripts/test/TestSerializedScriptValueInterface.idl        2016-08-10 17:32:15 UTC (rev 204336)
</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 MessagePort[] ports;
</del><ins>+    readonly attribute sequence&lt;MessagePort&gt; ports;
</ins><span class="cx">     [CachedAttribute] readonly attribute SerializedScriptValue cachedReadonlyValue;
</span><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestTestTypedefsidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/TestTypedefs.idl (204335 => 204336)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/TestTypedefs.idl        2016-08-10 17:19:31 UTC (rev 204335)
+++ trunk/Source/WebCore/bindings/scripts/test/TestTypedefs.idl        2016-08-10 17:32:15 UTC (rev 204336)
</span><span class="lines">@@ -40,20 +40,20 @@
</span><span class="cx">     
</span><span class="cx">     static readonly attribute T TestSubObj;
</span><span class="cx"> 
</span><del>-    void func(optional ARRAY_OF_LONGS x = []);
</del><ins>+    void func(optional SEQUENCE_OF_LONGS x = []);
</ins><span class="cx"> 
</span><span class="cx">     void setShadow(DOUBLE width, DOUBLE height, unrestricted float blur, optional STRING color, optional DOUBLE alpha);
</span><span class="cx"> 
</span><span class="cx">     ULONGLONG methodWithSequenceArg(sequence&lt;SCRIPT_VALUE&gt; sequenceArg);
</span><span class="cx"> 
</span><del>-    void nullableArrayArg(ARRAY_OF_STRINGS? arrayArg);
</del><ins>+    void nullableSequenceArg(SEQUENCE_OF_STRINGS? sequenceArg);
</ins><span class="cx"> 
</span><span class="cx">     void funcWithClamp(ULONGLONG_CLAMP arg1, optional ULONGLONG_CLAMP arg2);
</span><span class="cx"> 
</span><span class="cx">     [Immutable] SVGPOINT immutablePointFunction();
</span><span class="cx"> 
</span><del>-    [RaisesException] ARRAY_OF_STRINGS stringArrayFunction(ARRAY_OF_STRINGS values);
-    [RaisesException] STRING[] stringArrayFunction2(STRING[] values);
</del><ins>+    [RaisesException] SEQUENCE_OF_STRINGS stringSequenceFunction(SEQUENCE_OF_STRINGS values);
+    [RaisesException] sequence&lt;STRING&gt; stringSequenceFunction2(sequence&lt;STRING&gt; values);
</ins><span class="cx"> 
</span><span class="cx">     boolean callWithSequenceThatRequiresInclude(sequence&lt;TestEventTarget&gt; sequenceArg);
</span><span class="cx"> 
</span><span class="lines">@@ -69,10 +69,10 @@
</span><span class="cx"> typedef unsigned long long         ULONGLONG;
</span><span class="cx"> typedef [Clamp] unsigned long long ULONGLONG_CLAMP;
</span><span class="cx"> typedef SerializedScriptValue      SCRIPT_VALUE;
</span><del>-typedef long[]                     ARRAY_OF_LONGS;
</del><ins>+typedef sequence&lt;long&gt;             SEQUENCE_OF_LONGS;
</ins><span class="cx"> typedef SVGPoint                   SVGPOINT;
</span><span class="cx"> typedef DOMString                  STRING;
</span><del>-typedef DOMString[]                ARRAY_OF_STRINGS;
</del><ins>+typedef sequence&lt;DOMString&gt;        SEQUENCE_OF_STRINGS;
</ins><span class="cx"> typedef TestCallback               TEST_CALLBACK;
</span><span class="cx"> typedef TestSubObjConstructor      T;
</span><span class="cx"> typedef Int32Array                 ARRAY;
</span></span></pre></div>
<a id="trunkSourceWebCorecryptoCryptoKeyidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/crypto/CryptoKey.idl (204335 => 204336)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/crypto/CryptoKey.idl        2016-08-10 17:19:31 UTC (rev 204335)
+++ trunk/Source/WebCore/crypto/CryptoKey.idl        2016-08-10 17:32:15 UTC (rev 204336)
</span><span class="lines">@@ -50,5 +50,5 @@
</span><span class="cx">     readonly attribute KeyType type;
</span><span class="cx">     readonly attribute boolean extractable;
</span><span class="cx">     [Custom] readonly attribute Algorithm algorithm;
</span><del>-    readonly attribute KeyUsage[] usages;
</del><ins>+    readonly attribute sequence&lt;KeyUsage&gt; usages;
</ins><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCoredomMessageEventidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/MessageEvent.idl (204335 => 204336)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/MessageEvent.idl        2016-08-10 17:19:31 UTC (rev 204335)
+++ trunk/Source/WebCore/dom/MessageEvent.idl        2016-08-10 17:32:15 UTC (rev 204336)
</span><span class="lines">@@ -35,7 +35,7 @@
</span><span class="cx"> 
</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 MessagePort[] ports;
</del><ins>+    [InitializedByEventConstructor] readonly attribute sequence&lt;MessagePort&gt; ports;
</ins><span class="cx"> 
</span><span class="cx">     [Custom] void initMessageEvent(optional DOMString typeArg,
</span><span class="cx">                                    optional boolean canBubbleArg,
</span></span></pre></div>
<a id="trunkSourceWebCoretestingInternalsidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/testing/Internals.idl (204335 => 204336)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/testing/Internals.idl        2016-08-10 17:19:31 UTC (rev 204335)
+++ trunk/Source/WebCore/testing/Internals.idl        2016-08-10 17:32:15 UTC (rev 204336)
</span><span class="lines">@@ -128,7 +128,7 @@
</span><span class="cx"> 
</span><span class="cx">     DOMString visiblePlaceholder(Element element);
</span><span class="cx">     void selectColorInColorChooser(HTMLInputElement element, DOMString colorValue);
</span><del>-    [RaisesException] DOMString[] formControlStateOfPreviousHistoryItem();
</del><ins>+    [RaisesException] sequence&lt;DOMString&gt; formControlStateOfPreviousHistoryItem();
</ins><span class="cx">     [RaisesException] void setFormControlStateOfPreviousHistoryItem(sequence&lt;DOMString&gt; values);
</span><span class="cx"> 
</span><span class="cx">     [RaisesException] ClientRect absoluteCaretBounds();
</span><span class="lines">@@ -278,7 +278,7 @@
</span><span class="cx"> 
</span><span class="cx">     DOMString counterValue(Element element);
</span><span class="cx">     long pageNumber(Element element, optional unrestricted float pageWidth = 800, optional unrestricted float pageHeight = 600);
</span><del>-    DOMString[] shortcutIconURLs();
</del><ins>+    sequence&lt;DOMString&gt; shortcutIconURLs();
</ins><span class="cx">     long numberOfPages(optional unrestricted double pageWidthInPixels = 800, optional unrestricted double pageHeightInPixels = 600);
</span><span class="cx">     [RaisesException] DOMString pageProperty(DOMString propertyName, long pageNumber);
</span><span class="cx">     [RaisesException] DOMString pageSizeAndMarginsInPixels(long pageIndex, long width, long height, long marginTop, long marginRight, long marginBottom, long marginLeft);
</span><span class="lines">@@ -313,7 +313,7 @@
</span><span class="cx">     TypeConversions typeConversions();
</span><span class="cx">     MemoryInfo memoryInfo();
</span><span class="cx"> 
</span><del>-    DOMString[] getReferencedFilePaths();
</del><ins>+    sequence&lt;DOMString&gt; getReferencedFilePaths();
</ins><span class="cx"> 
</span><span class="cx">     // These functions both reset the tracked repaint rects. They are intended to be used in the following order:
</span><span class="cx">     //  startTrackingRepaints, repaintRectsAsText, stopTrackingRepaints.
</span><span class="lines">@@ -391,7 +391,7 @@
</span><span class="cx">     [RaisesException] ClientRect selectionBounds();
</span><span class="cx"> 
</span><span class="cx">     [Conditional=MEDIA_SOURCE] void initializeMockMediaSource();
</span><del>-    [Conditional=MEDIA_SOURCE] DOMString[] bufferedSamplesForTrackID(SourceBuffer buffer, DOMString trackID);
</del><ins>+    [Conditional=MEDIA_SOURCE] sequence&lt;DOMString&gt; bufferedSamplesForTrackID(SourceBuffer buffer, DOMString trackID);
</ins><span class="cx">     [Conditional=MEDIA_SOURCE] void setShouldGenerateTimestamps(SourceBuffer buffer, boolean flag);
</span><span class="cx"> 
</span><span class="cx">     [Conditional=VIDEO, RaisesException] void beginMediaSessionInterruption(DOMString interruptionType);
</span></span></pre>
</div>
</div>

</body>
</html>