Title: [204336] trunk/Source/WebCore
Revision
204336
Author
wei...@apple.com
Date
2016-08-10 10:32:15 -0700 (Wed, 10 Aug 2016)

Log Message

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<> and FrozenArray<>.

- 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.

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (204335 => 204336)


--- 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)
@@ -1,3 +1,35 @@
+2016-08-09  Sam Weinig  <s...@webkit.org>
+
+        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<> and FrozenArray<>.
+
+        - 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.
+
 2016-08-10  Alex Christensen  <achristen...@webkit.org>
 
         Use unsigned for locations in URL

Modified: trunk/Source/WebCore/Modules/gamepad/Gamepad.idl (204335 => 204336)


--- 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)
@@ -33,7 +33,7 @@
     readonly attribute boolean connected;
     readonly attribute double timestamp;
     readonly attribute DOMString mapping;
-    readonly attribute double[] axes;
-    readonly attribute GamepadButton[] buttons;
+    readonly attribute sequence<double> axes;
+    readonly attribute sequence<GamepadButton> buttons;
 };
 

Modified: trunk/Source/WebCore/Modules/gamepad/NavigatorGamepad.idl (204335 => 204336)


--- 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)
@@ -26,6 +26,6 @@
 [
     Conditional=GAMEPAD,
 ] partial interface Navigator {
-    [EnabledAtRuntime=Gamepads] Gamepad[] getGamepads();
+    [EnabledAtRuntime=Gamepads] sequence<Gamepad> getGamepads();
 };
 

Modified: trunk/Source/WebCore/Modules/gamepad/deprecated/Gamepad.idl (204335 => 204336)


--- 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)
@@ -31,7 +31,7 @@
     readonly attribute DOMString id;
     readonly attribute unsigned long index;
     readonly attribute unsigned long long timestamp;
-    readonly attribute unrestricted float[] axes;
-    readonly attribute unrestricted float[] buttons;
+    readonly attribute sequence<unrestricted float> axes;
+    readonly attribute sequence<unrestricted float> buttons;
 };
 

Modified: trunk/Source/WebCore/Modules/mediacontrols/MediaControlsHost.idl (204335 => 204336)


--- 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)
@@ -34,8 +34,8 @@
     ImplementationLacksVTable,
     NoInterfaceObject,
 ] interface MediaControlsHost {
-    TextTrack[] sortedTrackListForMenu(TextTrackList? trackList);
-    AudioTrack[] sortedTrackListForMenu(AudioTrackList? trackList);
+    sequence<TextTrack> sortedTrackListForMenu(TextTrackList? trackList);
+    sequence<AudioTrack> sortedTrackListForMenu(AudioTrackList? trackList);
     DOMString displayNameForTrack(TextTrack? track);
     DOMString displayNameForTrack(AudioTrack? track);
     readonly attribute TextTrack captionMenuOffItem;

Modified: trunk/Source/WebCore/Modules/mediastream/MediaStream.idl (204335 => 204336)


--- 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)
@@ -26,7 +26,7 @@
     Conditional=MEDIA_STREAM,
     Constructor,
     Constructor(MediaStream stream),
-    Constructor(MediaStreamTrack[] tracks),
+    Constructor(sequence<MediaStreamTrack> tracks),
     ConstructorCallWith=ScriptExecutionContext,
     PrivateIdentifier,
     PublicIdentifier

Modified: trunk/Source/WebCore/Modules/mediastream/MediaTrackConstraints.idl (204335 => 204336)


--- 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)
@@ -28,6 +28,6 @@
     NoInterfaceObject,
 ] interface MediaTrackConstraints {
     readonly attribute MediaTrackConstraintSet? mandatory;
-    readonly attribute MediaTrackConstraint[]? optional;
+    readonly attribute sequence<MediaTrackConstraint>? optional;
 };
 

Modified: trunk/Source/WebCore/Modules/mediastream/RTCConfiguration.idl (204335 => 204336)


--- 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)
@@ -30,7 +30,7 @@
     Conditional=WEB_RTC,
     NoInterfaceObject,
 ] interface RTCConfiguration {
-    readonly attribute RTCIceServer[] iceServers;
+    readonly attribute sequence<RTCIceServer> iceServers;
     readonly attribute RTCIceTransportPolicy iceTransportPolicy;
     readonly attribute RTCBundlePolicy bundlePolicy;
 };

Modified: trunk/Source/WebCore/Modules/mediastream/RTCIceServer.idl (204335 => 204336)


--- 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)
@@ -27,7 +27,7 @@
     Conditional=WEB_RTC,
     NoInterfaceObject,
 ] interface RTCIceServer {
-    readonly attribute DOMString[] urls;
+    readonly attribute sequence<DOMString> urls;
     readonly attribute DOMString username;
     readonly attribute DOMString credential;
 };

Modified: trunk/Source/WebCore/Modules/mediastream/RTCTrackEvent.idl (204335 => 204336)


--- 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)
@@ -34,6 +34,6 @@
 ] interface RTCTrackEvent : Event {
    [InitializedByEventConstructor] readonly attribute RTCRtpReceiver receiver;
    [InitializedByEventConstructor] readonly attribute MediaStreamTrack track;
-   [InitializedByEventConstructor] readonly attribute MediaStream[] streams;
+   [InitializedByEventConstructor] readonly attribute sequence<MediaStream> streams;
    [InitializedByEventConstructor] readonly attribute RTCRtpTransceiver transceiver;
 };

Modified: trunk/Source/WebCore/bindings/scripts/CodeGenerator.pm (204335 => 204336)


--- 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)
@@ -471,7 +471,7 @@
     return 0 if $object->IsPrimitiveType($type);
     return 0 if $object->IsDictionaryType($type);
     return 0 if $object->IsEnumType($type);
-    return 0 if $object->GetArrayOrSequenceType($type);
+    return 0 if $object->GetSequenceType($type);
     return 0 if $type eq "DOMString" or $type eq "USVString";
     return 0 if $type eq "any";
 
@@ -526,30 +526,6 @@
     return "";
 }
 
-sub GetArrayType
-{
-    my $object = shift;
-    my $type = shift;
-
-    return $1 if $type =~ /^([\w\d_\s]+)\[\]/;
-    return "";
-}
-
-sub GetArrayOrSequenceType
-{
-    my $object = shift;
-    my $type = shift;
-
-    return $object->GetArrayType($type) || $object->GetSequenceType($type);
-}
-
-sub AssertNotSequenceType
-{
-    my $object = shift;
-    my $type = shift;
-    die "Sequences must not be used as the type of an attribute, constant or exception field." if $object->GetSequenceType($type);
-}
-
 # These match WK_lcfirst and WK_ucfirst defined in builtins_generator.py.
 # Uppercase the first letter while respecting WebKit style guidelines.
 # E.g., xmlEncoding becomes XMLEncoding, but xmlllang becomes Xmllang.

Modified: trunk/Source/WebCore/bindings/scripts/CodeGeneratorGObject.pm (204335 => 204336)


--- 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)
@@ -244,13 +244,8 @@
 
     return 1 if $attribute->isStatic;
     return 1 if $codeGenerator->IsTypedArrayType($propType);
+    return 1 if $codeGenerator->GetSequenceType($propType);
 
-    $codeGenerator->AssertNotSequenceType($propType);
-
-    if ($codeGenerator->GetArrayType($propType)) {
-        return 1;
-    }
-
     if ($codeGenerator->IsEnumType($propType)) {
         return 1;
     }
@@ -338,7 +333,7 @@
         return 1;
     }
 
-    if ($codeGenerator->IsTypedArrayType($function->signature->type) || $codeGenerator->GetArrayType($function->signature->type)) {
+    if ($codeGenerator->IsTypedArrayType($function->signature->type)) {
         return 1;
     }
 
@@ -1102,8 +1097,8 @@
     my @callImplParams;
     foreach my $param (@{$function->parameters}) {
         my $paramIDLType = $param->type;
-        my $arrayOrSequenceType = $codeGenerator->GetArrayOrSequenceType($paramIDLType);
-        $paramIDLType = $arrayOrSequenceType if $arrayOrSequenceType ne "";
+        my $sequenceType = $codeGenerator->GetSequenceType($paramIDLType);
+        $paramIDLType = $sequenceType if $sequenceType ne "";
         my $paramType = GetGlibTypeName($paramIDLType);
         my $const = $paramType eq "gchar*" ? "const " : "";
         my $paramName = $param->name;
@@ -1174,8 +1169,8 @@
             last;
         }
         my $paramIDLType = $param->type;
-        my $arrayOrSequenceType = $codeGenerator->GetArrayOrSequenceType($paramIDLType);
-        $paramIDLType = $arrayOrSequenceType if $arrayOrSequenceType ne "";
+        my $sequenceType = $codeGenerator->GetSequenceType($paramIDLType);
+        $paramIDLType = $sequenceType if $sequenceType ne "";
         my $paramType = GetGlibTypeName($paramIDLType);
         # $paramType can have a trailing * in some cases
         $paramType =~ s/\*$//;

Modified: trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm (204335 => 204336)


--- 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)
@@ -202,15 +202,11 @@
     # When we're finished with the one-file-per-class reorganization, we won't need these special cases.
     if ($isCallback && $codeGenerator->IsWrapperType($type)) {
         $includesRef->{"JS${type}.h"} = 1;
-    } elsif ($codeGenerator->GetArrayOrSequenceType($type)) {
-        my $arrayType = $codeGenerator->GetArrayType($type);
-        my $arrayOrSequenceType = $arrayType || $codeGenerator->GetSequenceType($type);
-        if ($arrayType eq "DOMString") {
-            $includesRef->{"JSDOMStringList.h"} = 1;
-            $includesRef->{"DOMStringList.h"} = 1;
-        } elsif ($codeGenerator->IsRefPtrType($arrayOrSequenceType)) {
-            $includesRef->{"JS${arrayOrSequenceType}.h"} = 1;
-            $includesRef->{"${arrayOrSequenceType}.h"} = 1;
+    } elsif ($codeGenerator->GetSequenceType($type)) {
+        my $sequenceType = $codeGenerator->GetSequenceType($type);
+        if ($codeGenerator->IsRefPtrType($sequenceType)) {
+            $includesRef->{"JS${sequenceType}.h"} = 1;
+            $includesRef->{"${sequenceType}.h"} = 1;
         }
         $includesRef->{"<runtime/JSArray.h>"} = 1;
     } else {
@@ -1757,7 +1753,7 @@
     return 0 if &$isDictionary($typeA) && &$isDictionary($typeB);
     return 0 if $codeGenerator->IsCallbackInterface($typeA) && $codeGenerator->IsCallbackInterface($typeB);
     return 0 if &$isCallbackFunctionOrDictionary($typeA) && &$isCallbackFunctionOrDictionary($typeB);
-    return 0 if $codeGenerator->GetArrayOrSequenceType($typeA) && $codeGenerator->GetArrayOrSequenceType($typeB);
+    return 0 if $codeGenerator->GetSequenceType($typeA) && $codeGenerator->GetSequenceType($typeB);
     # FIXME: return 0 if typeA and typeB are both exception types.
     return 1;
 }
@@ -1846,9 +1842,9 @@
         my ($type, $optionality, $isNullable) = @_;
         return $type eq "object" || $codeGenerator->IsFunctionOnlyCallbackInterface($type);
     };
-    my $isArrayOrSequenceParameter = sub {
+    my $isSequenceParameter = sub {
         my ($type, $optionality, $isNullable) = @_;
-        return $codeGenerator->GetArrayOrSequenceType($type);
+        return $codeGenerator->GetSequenceType($type);
     };
     my $isDictionaryOrObjectOrCallbackInterfaceParameter = sub {
         my ($type, $optionality, $isNullable) = @_;
@@ -1921,7 +1917,7 @@
             $overload = GetOverloadThatMatches($S, $d, \&$isObjectOrCallbackFunctionParameter);
             &$generateOverloadCallIfNecessary($overload, "distinguishingArg.isFunction()");
 
-            $overload = GetOverloadThatMatches($S, $d, \&$isArrayOrSequenceParameter);
+            $overload = GetOverloadThatMatches($S, $d, \&$isSequenceParameter);
             &$generateOverloadCallIfNecessary($overload, "distinguishingArg.isObject() && isJSArray(distinguishingArg)");
 
             $overload = GetOverloadThatMatches($S, $d, \&$isDictionaryOrObjectOrCallbackInterfaceParameter);
@@ -2733,7 +2729,6 @@
 
             my $name = $attribute->signature->name;
             my $type = $attribute->signature->type;
-            $codeGenerator->AssertNotSequenceType($type);
             my $getFunctionName = GetAttributeGetterName($interface, $className, $attribute);
             my $implGetterFunctionName = $codeGenerator->WK_lcfirst($attribute->signature->extendedAttributes->{"ImplementedAs"} || $name);
             my $getterExceptionsWithMessage = $attribute->signature->extendedAttributes->{"GetterRaisesExceptionWithMessage"};
@@ -3776,7 +3771,7 @@
     return 1 if defined $automaticallyGeneratedDefaultValue && $automaticallyGeneratedDefaultValue eq $defaultValue;
 
     # toRefPtrNativeArray() will convert undefined to an empty Vector.
-    return 1 if $defaultValue eq "[]" && $codeGenerator->GetArrayOrSequenceType($parameterType);
+    return 1 if $defaultValue eq "[]" && $codeGenerator->GetSequenceType($parameterType);
 
     return 1 if $defaultValue eq "null" && $codeGenerator->IsWrapperType($parameterType);
 
@@ -4523,8 +4518,8 @@
 
     return "RefPtr<${type}>" if $codeGenerator->IsTypedArrayType($type) and $type ne "ArrayBuffer";
 
-    my $arrayOrSequenceType = $codeGenerator->GetArrayOrSequenceType($type);
-    return "Vector<" . GetNativeVectorInnerType($arrayOrSequenceType) . ">" if $arrayOrSequenceType;
+    my $sequenceType = $codeGenerator->GetSequenceType($type);
+    return "Vector<" . GetNativeVectorInnerType($sequenceType) . ">" if $sequenceType;
 
     return "${type}*";
 }
@@ -4540,10 +4535,10 @@
 
 sub GetNativeVectorInnerType
 {
-    my $arrayOrSequenceType = shift;
+    my $sequenceType = shift;
 
-    return $nativeType{$arrayOrSequenceType} if exists $nativeType{$arrayOrSequenceType};
-    return "RefPtr<${arrayOrSequenceType}>";
+    return $nativeType{$sequenceType} if exists $nativeType{$sequenceType};
+    return "RefPtr<${sequenceType}>";
 }
 
 sub GetNativeTypeForCallbacks
@@ -4655,13 +4650,13 @@
         return ("Dictionary(state, $value)", 0);
     }
 
-    my $arrayOrSequenceType = $codeGenerator->GetArrayOrSequenceType($type);
-    if ($arrayOrSequenceType) {
-        if ($codeGenerator->IsRefPtrType($arrayOrSequenceType)) {
-            AddToImplIncludes("JS${arrayOrSequenceType}.h");
-            return ("(toRefPtrNativeArray<${arrayOrSequenceType}, JS${arrayOrSequenceType}>(state, $value, &JS${arrayOrSequenceType}::toWrapped))", 1);
+    my $sequenceType = $codeGenerator->GetSequenceType($type);
+    if ($sequenceType) {
+        if ($codeGenerator->IsRefPtrType($sequenceType)) {
+            AddToImplIncludes("JS${sequenceType}.h");
+            return ("(toRefPtrNativeArray<${sequenceType}, JS${sequenceType}>(state, $value, &JS${sequenceType}::toWrapped))", 1);
         }
-        return ("toNativeArray<" . GetNativeVectorInnerType($arrayOrSequenceType) . ">(*state, $value)", 1);
+        return ("toNativeArray<" . GetNativeVectorInnerType($sequenceType) . ">(*state, $value)", 1);
     }
 
     return ($value, 0) if $type eq "any";
@@ -4732,14 +4727,10 @@
         return "jsStringWithCache(state, $value)";
     }
     
-    my $arrayType = $codeGenerator->GetArrayType($type);
-    my $arrayOrSequenceType = $arrayType || $codeGenerator->GetSequenceType($type);
-
-    if ($arrayOrSequenceType) {
-        if ($arrayType eq "DOMString") {
-            AddToImplIncludes("JSDOMStringList.h", $conditional);
-        } elsif ($codeGenerator->IsRefPtrType($arrayOrSequenceType)) {
-            AddToImplIncludes("JS${arrayOrSequenceType}.h", $conditional);
+    my $sequenceType = $codeGenerator->GetSequenceType($type);
+    if ($sequenceType) {
+        if ($codeGenerator->IsRefPtrType($sequenceType)) {
+            AddToImplIncludes("JS${sequenceType}.h", $conditional);
         }
         AddToImplIncludes("<runtime/JSArray.h>", $conditional);
         return "jsArray(state, $globalObject, $value)";

Modified: trunk/Source/WebCore/bindings/scripts/IDLParser.pm (204335 => 204336)


--- 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)
@@ -1537,7 +1537,7 @@
         } else {
             $paramDataNode->isNullable(0);
         }
-        # Remove all "?" if exists, e.g. "object?[]?" -> "object[]".
+        # Remove "?" if exists, e.g. "object?" -> "object".
         $paramDataNode->type(identifierRemoveNullablePrefix(typeRemoveNullableSuffix($type)));
         $paramDataNode->isOptional(1);
         $paramDataNode->name($self->parseArgumentName());
@@ -1552,7 +1552,7 @@
         } else {
             $paramDataNode->isNullable(0);
         }
-        # Remove all "?" if exists, e.g. "object?[]?" -> "object[]".
+        # Remove "?" if exists, e.g. "object?" -> "object".
         $paramDataNode->type(typeRemoveNullableSuffix($type));
         $paramDataNode->isOptional(0);
         $paramDataNode->isVariadic($self->parseEllipsis());
@@ -1904,7 +1904,7 @@
     my $next = $self->nextToken();
     if ($next->value() eq "any") {
         $self->assertTokenValue($self->getToken(), "any", __LINE__);
-        return "any" . $self->parseTypeSuffixStartingWithArray();
+        return "any";
     }
     if ($next->type() == IdentifierToken || $next->value() =~ /$nextSingleType_1/) {
         return $self->parseNonAnyType();
@@ -2123,30 +2123,13 @@
 {
     my $self = shift;
     my $next = $self->nextToken();
-    if ($next->value() eq "[") {
-        $self->assertTokenValue($self->getToken(), "[", __LINE__);
-        $self->assertTokenValue($self->getToken(), "]", __LINE__);
-        return "[]" . $self->parseTypeSuffix();
-    }
     if ($next->value() eq "?") {
         $self->assertTokenValue($self->getToken(), "?", __LINE__);
-        return "?" . $self->parseTypeSuffixStartingWithArray();
+        return "?";
     }
     return "";
 }
 
-sub parseTypeSuffixStartingWithArray
-{
-    my $self = shift;
-    my $next = $self->nextToken();
-    if ($next->value() eq "[") {
-        $self->assertTokenValue($self->getToken(), "[", __LINE__);
-        $self->assertTokenValue($self->getToken(), "]", __LINE__);
-        return "[]" . $self->parseTypeSuffix();
-    }
-    return "";
-}
-
 sub parseNull
 {
     my $self = shift;

Modified: trunk/Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestObj.cpp (204335 => 204336)


--- 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)
@@ -1755,26 +1755,6 @@
     item->methodWithOptionalUnsignedLongLongIsZero(number);
 }
 
-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->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->methodWithOptionalArrayIsEmpty(convertedArray);
-}
-
 void webkit_dom_test_obj_method_with_optional_boolean(WebKitDOMTestObj* self, gboolean b)
 {
     WebCore::JSMainThreadNullState state;

Modified: trunk/Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestObj.h (204335 => 204336)


--- 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)
@@ -709,26 +709,6 @@
 webkit_dom_test_obj_method_with_optional_unsigned_long_long_is_zero(WebKitDOMTestObj* self, guint64 number);
 
 /**
- * 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);
-
-/**
  * webkit_dom_test_obj_method_with_optional_boolean:
  * @self: A #WebKitDOMTestObj
  * @b: A #gboolean

Modified: trunk/Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestTypedefs.cpp (204335 => 204336)


--- 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)
@@ -232,16 +232,6 @@
     new (priv) WebKitDOMTestTypedefsPrivate();
 }
 
-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->func(x);
-}
-
 void webkit_dom_test_typedefs_set_shadow(WebKitDOMTestTypedefs* self, gfloat width, gfloat height, gfloat blur, const gchar* color, gfloat alpha)
 {
     WebCore::JSMainThreadNullState state;
@@ -252,16 +242,6 @@
     item->setShadow(width, height, blur, convertedColor, alpha);
 }
 
-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->nullableArrayArg(convertedArrayArg);
-}
-
 WebKitDOMSVGPoint* webkit_dom_test_typedefs_immutable_point_function(WebKitDOMTestTypedefs* self)
 {
     WebCore::JSMainThreadNullState state;

Modified: trunk/Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestTypedefs.h (204335 => 204336)


--- 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)
@@ -48,16 +48,6 @@
 webkit_dom_test_typedefs_get_type(void);
 
 /**
- * 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);
-
-/**
  * webkit_dom_test_typedefs_set_shadow:
  * @self: A #WebKitDOMTestTypedefs
  * @width: A #gfloat
@@ -72,16 +62,6 @@
 webkit_dom_test_typedefs_set_shadow(WebKitDOMTestTypedefs* self, gfloat width, gfloat height, gfloat blur, const gchar* color, gfloat alpha);
 
 /**
- * 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);
-
-/**
  * webkit_dom_test_typedefs_immutable_point_function:
  * @self: A #WebKitDOMTestTypedefs
  *

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp (204335 => 204336)


--- 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)
@@ -652,13 +652,12 @@
 JSC::EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithOptionalAtomicStringIsEmptyString(JSC::ExecState*);
 JSC::EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithOptionalDoubleIsNaN(JSC::ExecState*);
 JSC::EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithOptionalFloatIsNaN(JSC::ExecState*);
-JSC::EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithOptionalSequence(JSC::ExecState*);
 JSC::EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithOptionalLongLong(JSC::ExecState*);
 JSC::EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithOptionalLongLongIsZero(JSC::ExecState*);
 JSC::EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLong(JSC::ExecState*);
 JSC::EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLongIsZero(JSC::ExecState*);
-JSC::EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithOptionalArray(JSC::ExecState*);
-JSC::EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithOptionalArrayIsEmpty(JSC::ExecState*);
+JSC::EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithOptionalSequence(JSC::ExecState*);
+JSC::EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithOptionalSequenceIsEmpty(JSC::ExecState*);
 JSC::EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithOptionalBoolean(JSC::ExecState*);
 JSC::EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithOptionalBooleanIsFalse(JSC::ExecState*);
 JSC::EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithOptionalAny(JSC::ExecState*);
@@ -696,7 +695,6 @@
 JSC::EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionStringArrayFunction(JSC::ExecState*);
 JSC::EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionDomStringListFunction(JSC::ExecState*);
 JSC::EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequence(JSC::ExecState*);
-JSC::EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequence2(JSC::ExecState*);
 JSC::EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionGetElementById(JSC::ExecState*);
 JSC::EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionGetSVGDocument(JSC::ExecState*);
 JSC::EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionConvert1(JSC::ExecState*);
@@ -1245,13 +1243,12 @@
     { "methodWithOptionalAtomicStringIsEmptyString", JSC::Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(jsTestObjPrototypeFunctionMethodWithOptionalAtomicStringIsEmptyString), (intptr_t) (0) } },
     { "methodWithOptionalDoubleIsNaN", JSC::Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(jsTestObjPrototypeFunctionMethodWithOptionalDoubleIsNaN), (intptr_t) (0) } },
     { "methodWithOptionalFloatIsNaN", JSC::Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(jsTestObjPrototypeFunctionMethodWithOptionalFloatIsNaN), (intptr_t) (0) } },
-    { "methodWithOptionalSequence", JSC::Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(jsTestObjPrototypeFunctionMethodWithOptionalSequence), (intptr_t) (0) } },
     { "methodWithOptionalLongLong", JSC::Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(jsTestObjPrototypeFunctionMethodWithOptionalLongLong), (intptr_t) (0) } },
     { "methodWithOptionalLongLongIsZero", JSC::Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(jsTestObjPrototypeFunctionMethodWithOptionalLongLongIsZero), (intptr_t) (0) } },
     { "methodWithOptionalUnsignedLongLong", JSC::Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLong), (intptr_t) (0) } },
     { "methodWithOptionalUnsignedLongLongIsZero", JSC::Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLongIsZero), (intptr_t) (0) } },
-    { "methodWithOptionalArray", JSC::Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(jsTestObjPrototypeFunctionMethodWithOptionalArray), (intptr_t) (0) } },
-    { "methodWithOptionalArrayIsEmpty", JSC::Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(jsTestObjPrototypeFunctionMethodWithOptionalArrayIsEmpty), (intptr_t) (0) } },
+    { "methodWithOptionalSequence", JSC::Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(jsTestObjPrototypeFunctionMethodWithOptionalSequence), (intptr_t) (0) } },
+    { "methodWithOptionalSequenceIsEmpty", JSC::Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(jsTestObjPrototypeFunctionMethodWithOptionalSequenceIsEmpty), (intptr_t) (0) } },
     { "methodWithOptionalBoolean", JSC::Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(jsTestObjPrototypeFunctionMethodWithOptionalBoolean), (intptr_t) (0) } },
     { "methodWithOptionalBooleanIsFalse", JSC::Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(jsTestObjPrototypeFunctionMethodWithOptionalBooleanIsFalse), (intptr_t) (0) } },
     { "methodWithOptionalAny", JSC::Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(jsTestObjPrototypeFunctionMethodWithOptionalAny), (intptr_t) (0) } },
@@ -1287,7 +1284,6 @@
     { "stringArrayFunction", JSC::Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(jsTestObjPrototypeFunctionStringArrayFunction), (intptr_t) (1) } },
     { "domStringListFunction", JSC::Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(jsTestObjPrototypeFunctionDomStringListFunction), (intptr_t) (1) } },
     { "methodWithAndWithoutNullableSequence", JSC::Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequence), (intptr_t) (2) } },
-    { "methodWithAndWithoutNullableSequence2", JSC::Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequence2), (intptr_t) (2) } },
     { "getElementById", JSC::Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(jsTestObjPrototypeFunctionGetElementById), (intptr_t) (1) } },
     { "getSVGDocument", JSC::Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(jsTestObjPrototypeFunctionGetSVGDocument), (intptr_t) (0) } },
     { "convert1", JSC::Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(jsTestObjPrototypeFunctionConvert1), (intptr_t) (1) } },
@@ -5090,21 +5086,6 @@
     return JSValue::encode(jsUndefined());
 }
 
-EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithOptionalSequence(ExecState* state)
-{
-    JSValue thisValue = state->thisValue();
-    auto castedThis = jsDynamicCast<JSTestObj*>(thisValue);
-    if (UNLIKELY(!castedThis))
-        return throwThisTypeError(*state, "TestObject", "methodWithOptionalSequence");
-    ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
-    auto& impl = castedThis->wrapped();
-    auto sequence = toNativeArray<String>(*state, state->argument(0));
-    if (UNLIKELY(state->hadException()))
-        return JSValue::encode(jsUndefined());
-    impl.methodWithOptionalSequence(WTFMove(sequence));
-    return JSValue::encode(jsUndefined());
-}
-
 EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithOptionalLongLong(ExecState* state)
 {
     JSValue thisValue = state->thisValue();
@@ -5165,33 +5146,33 @@
     return JSValue::encode(jsUndefined());
 }
 
-EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithOptionalArray(ExecState* state)
+EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithOptionalSequence(ExecState* state)
 {
     JSValue thisValue = state->thisValue();
     auto castedThis = jsDynamicCast<JSTestObj*>(thisValue);
     if (UNLIKELY(!castedThis))
-        return throwThisTypeError(*state, "TestObject", "methodWithOptionalArray");
+        return throwThisTypeError(*state, "TestObject", "methodWithOptionalSequence");
     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
     auto& impl = castedThis->wrapped();
     auto array = state->argument(0).isUndefined() ? Optional<Vector<String>>() : toNativeArray<String>(*state, state->uncheckedArgument(0));
     if (UNLIKELY(state->hadException()))
         return JSValue::encode(jsUndefined());
-    impl.methodWithOptionalArray(WTFMove(array));
+    impl.methodWithOptionalSequence(WTFMove(array));
     return JSValue::encode(jsUndefined());
 }
 
-EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithOptionalArrayIsEmpty(ExecState* state)
+EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithOptionalSequenceIsEmpty(ExecState* state)
 {
     JSValue thisValue = state->thisValue();
     auto castedThis = jsDynamicCast<JSTestObj*>(thisValue);
     if (UNLIKELY(!castedThis))
-        return throwThisTypeError(*state, "TestObject", "methodWithOptionalArrayIsEmpty");
+        return throwThisTypeError(*state, "TestObject", "methodWithOptionalSequenceIsEmpty");
     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
     auto& impl = castedThis->wrapped();
     auto array = toNativeArray<String>(*state, state->argument(0));
     if (UNLIKELY(state->hadException()))
         return JSValue::encode(jsUndefined());
-    impl.methodWithOptionalArrayIsEmpty(WTFMove(array));
+    impl.methodWithOptionalSequenceIsEmpty(WTFMove(array));
     return JSValue::encode(jsUndefined());
 }
 
@@ -5991,26 +5972,6 @@
     return JSValue::encode(jsUndefined());
 }
 
-EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequence2(ExecState* state)
-{
-    JSValue thisValue = state->thisValue();
-    auto castedThis = jsDynamicCast<JSTestObj*>(thisValue);
-    if (UNLIKELY(!castedThis))
-        return throwThisTypeError(*state, "TestObject", "methodWithAndWithoutNullableSequence2");
-    ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
-    auto& impl = castedThis->wrapped();
-    if (UNLIKELY(state->argumentCount() < 2))
-        return throwVMError(state, createNotEnoughArgumentsError(state));
-    auto arrayArg = toNativeArray<uint32_t>(*state, state->argument(0));
-    if (UNLIKELY(state->hadException()))
-        return JSValue::encode(jsUndefined());
-    auto nullableArrayArg = toNativeArray<uint32_t>(*state, state->argument(1));
-    if (UNLIKELY(state->hadException()))
-        return JSValue::encode(jsUndefined());
-    impl.methodWithAndWithoutNullableSequence2(WTFMove(arrayArg), WTFMove(nullableArrayArg));
-    return JSValue::encode(jsUndefined());
-}
-
 EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionGetElementById(ExecState* state)
 {
     JSValue thisValue = state->thisValue();

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.cpp (204335 => 204336)


--- 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)
@@ -21,12 +21,10 @@
 #include "config.h"
 #include "JSTestTypedefs.h"
 
-#include "DOMStringList.h"
 #include "ExceptionCode.h"
 #include "JSDOMBinding.h"
 #include "JSDOMConstructor.h"
 #include "JSDOMConvert.h"
-#include "JSDOMStringList.h"
 #include "JSSVGPoint.h"
 #include "JSSerializedScriptValue.h"
 #include "JSTestCallback.h"
@@ -50,11 +48,11 @@
 JSC::EncodedJSValue JSC_HOST_CALL jsTestTypedefsPrototypeFunctionFunc(JSC::ExecState*);
 JSC::EncodedJSValue JSC_HOST_CALL jsTestTypedefsPrototypeFunctionSetShadow(JSC::ExecState*);
 JSC::EncodedJSValue JSC_HOST_CALL jsTestTypedefsPrototypeFunctionMethodWithSequenceArg(JSC::ExecState*);
-JSC::EncodedJSValue JSC_HOST_CALL jsTestTypedefsPrototypeFunctionNullableArrayArg(JSC::ExecState*);
+JSC::EncodedJSValue JSC_HOST_CALL jsTestTypedefsPrototypeFunctionNullableSequenceArg(JSC::ExecState*);
 JSC::EncodedJSValue JSC_HOST_CALL jsTestTypedefsPrototypeFunctionFuncWithClamp(JSC::ExecState*);
 JSC::EncodedJSValue JSC_HOST_CALL jsTestTypedefsPrototypeFunctionImmutablePointFunction(JSC::ExecState*);
-JSC::EncodedJSValue JSC_HOST_CALL jsTestTypedefsPrototypeFunctionStringArrayFunction(JSC::ExecState*);
-JSC::EncodedJSValue JSC_HOST_CALL jsTestTypedefsPrototypeFunctionStringArrayFunction2(JSC::ExecState*);
+JSC::EncodedJSValue JSC_HOST_CALL jsTestTypedefsPrototypeFunctionStringSequenceFunction(JSC::ExecState*);
+JSC::EncodedJSValue JSC_HOST_CALL jsTestTypedefsPrototypeFunctionStringSequenceFunction2(JSC::ExecState*);
 JSC::EncodedJSValue JSC_HOST_CALL jsTestTypedefsPrototypeFunctionCallWithSequenceThatRequiresInclude(JSC::ExecState*);
 JSC::EncodedJSValue JSC_HOST_CALL jsTestTypedefsPrototypeFunctionMethodWithException(JSC::ExecState*);
 
@@ -169,11 +167,11 @@
     { "func", JSC::Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(jsTestTypedefsPrototypeFunctionFunc), (intptr_t) (0) } },
     { "setShadow", JSC::Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(jsTestTypedefsPrototypeFunctionSetShadow), (intptr_t) (3) } },
     { "methodWithSequenceArg", JSC::Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(jsTestTypedefsPrototypeFunctionMethodWithSequenceArg), (intptr_t) (1) } },
-    { "nullableArrayArg", JSC::Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(jsTestTypedefsPrototypeFunctionNullableArrayArg), (intptr_t) (1) } },
+    { "nullableSequenceArg", JSC::Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(jsTestTypedefsPrototypeFunctionNullableSequenceArg), (intptr_t) (1) } },
     { "funcWithClamp", JSC::Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(jsTestTypedefsPrototypeFunctionFuncWithClamp), (intptr_t) (1) } },
     { "immutablePointFunction", JSC::Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(jsTestTypedefsPrototypeFunctionImmutablePointFunction), (intptr_t) (0) } },
-    { "stringArrayFunction", JSC::Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(jsTestTypedefsPrototypeFunctionStringArrayFunction), (intptr_t) (1) } },
-    { "stringArrayFunction2", JSC::Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(jsTestTypedefsPrototypeFunctionStringArrayFunction2), (intptr_t) (1) } },
+    { "stringSequenceFunction", JSC::Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(jsTestTypedefsPrototypeFunctionStringSequenceFunction), (intptr_t) (1) } },
+    { "stringSequenceFunction2", JSC::Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(jsTestTypedefsPrototypeFunctionStringSequenceFunction2), (intptr_t) (1) } },
     { "callWithSequenceThatRequiresInclude", JSC::Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(jsTestTypedefsPrototypeFunctionCallWithSequenceThatRequiresInclude), (intptr_t) (1) } },
     { "methodWithException", JSC::Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(jsTestTypedefsPrototypeFunctionMethodWithException), (intptr_t) (0) } },
 };
@@ -508,20 +506,20 @@
     return JSValue::encode(result);
 }
 
-EncodedJSValue JSC_HOST_CALL jsTestTypedefsPrototypeFunctionNullableArrayArg(ExecState* state)
+EncodedJSValue JSC_HOST_CALL jsTestTypedefsPrototypeFunctionNullableSequenceArg(ExecState* state)
 {
     JSValue thisValue = state->thisValue();
     auto castedThis = jsDynamicCast<JSTestTypedefs*>(thisValue);
     if (UNLIKELY(!castedThis))
-        return throwThisTypeError(*state, "TestTypedefs", "nullableArrayArg");
+        return throwThisTypeError(*state, "TestTypedefs", "nullableSequenceArg");
     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestTypedefs::info());
     auto& impl = castedThis->wrapped();
     if (UNLIKELY(state->argumentCount() < 1))
         return throwVMError(state, createNotEnoughArgumentsError(state));
-    auto arrayArg = toNativeArray<String>(*state, state->argument(0));
+    auto sequenceArg = toNativeArray<String>(*state, state->argument(0));
     if (UNLIKELY(state->hadException()))
         return JSValue::encode(jsUndefined());
-    impl.nullableArrayArg(WTFMove(arrayArg));
+    impl.nullableSequenceArg(WTFMove(sequenceArg));
     return JSValue::encode(jsUndefined());
 }
 
@@ -557,12 +555,12 @@
     return JSValue::encode(result);
 }
 
-EncodedJSValue JSC_HOST_CALL jsTestTypedefsPrototypeFunctionStringArrayFunction(ExecState* state)
+EncodedJSValue JSC_HOST_CALL jsTestTypedefsPrototypeFunctionStringSequenceFunction(ExecState* state)
 {
     JSValue thisValue = state->thisValue();
     auto castedThis = jsDynamicCast<JSTestTypedefs*>(thisValue);
     if (UNLIKELY(!castedThis))
-        return throwThisTypeError(*state, "TestTypedefs", "stringArrayFunction");
+        return throwThisTypeError(*state, "TestTypedefs", "stringSequenceFunction");
     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestTypedefs::info());
     auto& impl = castedThis->wrapped();
     if (UNLIKELY(state->argumentCount() < 1))
@@ -571,18 +569,18 @@
     auto values = toNativeArray<String>(*state, state->argument(0));
     if (UNLIKELY(state->hadException()))
         return JSValue::encode(jsUndefined());
-    JSValue result = jsArray(state, castedThis->globalObject(), impl.stringArrayFunction(WTFMove(values), ec));
+    JSValue result = jsArray(state, castedThis->globalObject(), impl.stringSequenceFunction(WTFMove(values), ec));
 
     setDOMException(state, ec);
     return JSValue::encode(result);
 }
 
-EncodedJSValue JSC_HOST_CALL jsTestTypedefsPrototypeFunctionStringArrayFunction2(ExecState* state)
+EncodedJSValue JSC_HOST_CALL jsTestTypedefsPrototypeFunctionStringSequenceFunction2(ExecState* state)
 {
     JSValue thisValue = state->thisValue();
     auto castedThis = jsDynamicCast<JSTestTypedefs*>(thisValue);
     if (UNLIKELY(!castedThis))
-        return throwThisTypeError(*state, "TestTypedefs", "stringArrayFunction2");
+        return throwThisTypeError(*state, "TestTypedefs", "stringSequenceFunction2");
     ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestTypedefs::info());
     auto& impl = castedThis->wrapped();
     if (UNLIKELY(state->argumentCount() < 1))
@@ -591,7 +589,7 @@
     auto values = toNativeArray<String>(*state, state->argument(0));
     if (UNLIKELY(state->hadException()))
         return JSValue::encode(jsUndefined());
-    JSValue result = jsArray(state, castedThis->globalObject(), impl.stringArrayFunction2(WTFMove(values), ec));
+    JSValue result = jsArray(state, castedThis->globalObject(), impl.stringSequenceFunction2(WTFMove(values), ec));
 
     setDOMException(state, ec);
     return JSValue::encode(result);

Modified: trunk/Source/WebCore/bindings/scripts/test/TestObj.idl (204335 => 204336)


--- 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)
@@ -220,13 +220,12 @@
     void    methodWithOptionalAtomicStringIsEmptyString([AtomicString] optional DOMString str = "");
     void    methodWithOptionalDoubleIsNaN(optional unrestricted double number = NaN);
     void    methodWithOptionalFloatIsNaN(optional unrestricted float number = NaN);
-    void    methodWithOptionalSequence(optional sequence<DOMString> sequence = []);
     void    methodWithOptionalLongLong(optional long long number);
     void    methodWithOptionalLongLongIsZero(optional long long number = 0);
     void    methodWithOptionalUnsignedLongLong(optional unsigned long long number);
     void    methodWithOptionalUnsignedLongLongIsZero(optional unsigned long long number = 0);
-    void    methodWithOptionalArray(optional DOMString[] array);
-    void    methodWithOptionalArrayIsEmpty(optional DOMString[] array = []);
+    void    methodWithOptionalSequence(optional sequence<DOMString> array);
+    void    methodWithOptionalSequenceIsEmpty(optional sequence<DOMString> array = []);
     void    methodWithOptionalBoolean(optional boolean b);
     void    methodWithOptionalBooleanIsFalse(optional boolean b = false);
     void    methodWithOptionalAny(optional any a);
@@ -281,9 +280,9 @@
     void    overloadedMethod(long longArg);
     void    overloadedMethod(TestCallback callback);
     void    overloadedMethod(DOMStringList? listArg);
-    void    overloadedMethod(DOMString[]? arrayArg);
+    void    overloadedMethod(sequence<DOMString>? arrayArg);
     void    overloadedMethod(TestObj objArg);
-    void    overloadedMethod(DOMString[] arrayArg);
+    void    overloadedMethod(sequence<DOMString> arrayArg);
     void    overloadedMethod(sequence<unsigned long> arrayArg);
     void    overloadedMethod(DOMString strArg);
 
@@ -308,11 +307,10 @@
 
 #if defined(TESTING_JS)
     void methodWithUnsignedLongSequence(sequence<unsigned long> unsignedLongSequence);
-    [RaisesException] DOMString[] stringArrayFunction(DOMString[] values);
+    [RaisesException] sequence<DOMString> stringArrayFunction(sequence<DOMString> values);
     [RaisesException] DOMStringList domStringListFunction(DOMStringList values);
 
     void methodWithAndWithoutNullableSequence(sequence<unsigned long> arrayArg, sequence<unsigned long>? nullableArrayArg);
-    void methodWithAndWithoutNullableSequence2(unsigned long[] arrayArg, unsigned long[]? nullableArrayArg);
 
     Element? getElementById([RequiresExistingAtomicString] DOMString elementId);
 #endif

Modified: trunk/Source/WebCore/bindings/scripts/test/TestSerializedScriptValueInterface.idl (204335 => 204336)


--- 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)
@@ -31,6 +31,6 @@
     attribute SerializedScriptValue value;
     readonly attribute SerializedScriptValue readonlyValue;
     [CachedAttribute] attribute SerializedScriptValue cachedValue;
-    readonly attribute MessagePort[] ports;
+    readonly attribute sequence<MessagePort> ports;
     [CachedAttribute] readonly attribute SerializedScriptValue cachedReadonlyValue;
 };

Modified: trunk/Source/WebCore/bindings/scripts/test/TestTypedefs.idl (204335 => 204336)


--- 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)
@@ -40,20 +40,20 @@
     
     static readonly attribute T TestSubObj;
 
-    void func(optional ARRAY_OF_LONGS x = []);
+    void func(optional SEQUENCE_OF_LONGS x = []);
 
     void setShadow(DOUBLE width, DOUBLE height, unrestricted float blur, optional STRING color, optional DOUBLE alpha);
 
     ULONGLONG methodWithSequenceArg(sequence<SCRIPT_VALUE> sequenceArg);
 
-    void nullableArrayArg(ARRAY_OF_STRINGS? arrayArg);
+    void nullableSequenceArg(SEQUENCE_OF_STRINGS? sequenceArg);
 
     void funcWithClamp(ULONGLONG_CLAMP arg1, optional ULONGLONG_CLAMP arg2);
 
     [Immutable] SVGPOINT immutablePointFunction();
 
-    [RaisesException] ARRAY_OF_STRINGS stringArrayFunction(ARRAY_OF_STRINGS values);
-    [RaisesException] STRING[] stringArrayFunction2(STRING[] values);
+    [RaisesException] SEQUENCE_OF_STRINGS stringSequenceFunction(SEQUENCE_OF_STRINGS values);
+    [RaisesException] sequence<STRING> stringSequenceFunction2(sequence<STRING> values);
 
     boolean callWithSequenceThatRequiresInclude(sequence<TestEventTarget> sequenceArg);
 
@@ -69,10 +69,10 @@
 typedef unsigned long long         ULONGLONG;
 typedef [Clamp] unsigned long long ULONGLONG_CLAMP;
 typedef SerializedScriptValue      SCRIPT_VALUE;
-typedef long[]                     ARRAY_OF_LONGS;
+typedef sequence<long>             SEQUENCE_OF_LONGS;
 typedef SVGPoint                   SVGPOINT;
 typedef DOMString                  STRING;
-typedef DOMString[]                ARRAY_OF_STRINGS;
+typedef sequence<DOMString>        SEQUENCE_OF_STRINGS;
 typedef TestCallback               TEST_CALLBACK;
 typedef TestSubObjConstructor      T;
 typedef Int32Array                 ARRAY;

Modified: trunk/Source/WebCore/crypto/CryptoKey.idl (204335 => 204336)


--- 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)
@@ -50,5 +50,5 @@
     readonly attribute KeyType type;
     readonly attribute boolean extractable;
     [Custom] readonly attribute Algorithm algorithm;
-    readonly attribute KeyUsage[] usages;
+    readonly attribute sequence<KeyUsage> usages;
 };

Modified: trunk/Source/WebCore/dom/MessageEvent.idl (204335 => 204336)


--- 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)
@@ -35,7 +35,7 @@
 
 #if defined(LANGUAGE_JAVASCRIPT) && LANGUAGE_JAVASCRIPT
     [InitializedByEventConstructor, CachedAttribute, CustomGetter] readonly attribute any data;
-    [InitializedByEventConstructor] readonly attribute MessagePort[] ports;
+    [InitializedByEventConstructor] readonly attribute sequence<MessagePort> ports;
 
     [Custom] void initMessageEvent(optional DOMString typeArg,
                                    optional boolean canBubbleArg,

Modified: trunk/Source/WebCore/testing/Internals.idl (204335 => 204336)


--- 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)
@@ -128,7 +128,7 @@
 
     DOMString visiblePlaceholder(Element element);
     void selectColorInColorChooser(HTMLInputElement element, DOMString colorValue);
-    [RaisesException] DOMString[] formControlStateOfPreviousHistoryItem();
+    [RaisesException] sequence<DOMString> formControlStateOfPreviousHistoryItem();
     [RaisesException] void setFormControlStateOfPreviousHistoryItem(sequence<DOMString> values);
 
     [RaisesException] ClientRect absoluteCaretBounds();
@@ -278,7 +278,7 @@
 
     DOMString counterValue(Element element);
     long pageNumber(Element element, optional unrestricted float pageWidth = 800, optional unrestricted float pageHeight = 600);
-    DOMString[] shortcutIconURLs();
+    sequence<DOMString> shortcutIconURLs();
     long numberOfPages(optional unrestricted double pageWidthInPixels = 800, optional unrestricted double pageHeightInPixels = 600);
     [RaisesException] DOMString pageProperty(DOMString propertyName, long pageNumber);
     [RaisesException] DOMString pageSizeAndMarginsInPixels(long pageIndex, long width, long height, long marginTop, long marginRight, long marginBottom, long marginLeft);
@@ -313,7 +313,7 @@
     TypeConversions typeConversions();
     MemoryInfo memoryInfo();
 
-    DOMString[] getReferencedFilePaths();
+    sequence<DOMString> getReferencedFilePaths();
 
     // These functions both reset the tracked repaint rects. They are intended to be used in the following order:
     //  startTrackingRepaints, repaintRectsAsText, stopTrackingRepaints.
@@ -391,7 +391,7 @@
     [RaisesException] ClientRect selectionBounds();
 
     [Conditional=MEDIA_SOURCE] void initializeMockMediaSource();
-    [Conditional=MEDIA_SOURCE] DOMString[] bufferedSamplesForTrackID(SourceBuffer buffer, DOMString trackID);
+    [Conditional=MEDIA_SOURCE] sequence<DOMString> bufferedSamplesForTrackID(SourceBuffer buffer, DOMString trackID);
     [Conditional=MEDIA_SOURCE] void setShouldGenerateTimestamps(SourceBuffer buffer, boolean flag);
 
     [Conditional=VIDEO, RaisesException] void beginMediaSessionInterruption(DOMString interruptionType);
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to