Index: Source/bindings/scripts/deprecated_code_generator_v8.pm |
diff --git a/Source/bindings/scripts/deprecated_code_generator_v8.pm b/Source/bindings/scripts/deprecated_code_generator_v8.pm |
index 1ecc85d12b67a509616814fce5ddaeb4d2a2775b..0a668971c72a65c47dc30e17e9a246db403402c7 100644 |
--- a/Source/bindings/scripts/deprecated_code_generator_v8.pm |
+++ b/Source/bindings/scripts/deprecated_code_generator_v8.pm |
@@ -426,8 +426,8 @@ sub AddIncludesForType |
AddToImplIncludes("bindings/v8/SerializedScriptValue.h"); |
} elsif ($type eq "any" || IsCallbackFunctionType($type)) { |
AddToImplIncludes("bindings/v8/ScriptValue.h"); |
- } elsif ($type eq "ArrayBuffer") { |
- AddToImplIncludes("bindings/v8/custom/V8ArrayBufferCustom.h"); |
+ } elsif (IsTypedArrayType($type)) { |
+ AddToImplIncludes("bindings/v8/custom/V8${type}Custom.h"); |
} else { |
AddToImplIncludes("V8${type}.h"); |
} |
@@ -439,7 +439,7 @@ sub HeaderFilesForInterface |
my $implClassName = shift; |
my @includes = (); |
- if (IsTypedArrayType($interfaceName) or $interfaceName eq "ArrayBuffer") { |
+ if (IsTypedArrayType($interfaceName)) { |
push(@includes, "wtf/${interfaceName}.h"); |
} elsif (!SkipIncludeHeader($interfaceName)) { |
my $idlFilename = IDLFileForInterface($interfaceName) or die("Could NOT find IDL file for interface \"$interfaceName\" $!\n"); |
@@ -2727,24 +2727,6 @@ END |
$implementation{nameSpaceWebCore}->add($code); |
} |
-sub GenerateTypedArrayConstructor |
-{ |
- my $interface = shift; |
- my $implClassName = GetImplName($interface); |
- my $v8ClassName = GetV8ClassName($interface); |
- |
- my ($nativeType, $arrayType) = GetNativeTypeOfTypedArray($interface); |
- AddToImplIncludes("bindings/v8/custom/V8ArrayBufferViewCustom.h"); |
- |
- $implementation{nameSpaceInternal}->add(<<END); |
-static void constructor(const v8::FunctionCallbackInfo<v8::Value>& args) |
-{ |
- return constructWebGLArray<$implClassName, ${v8ClassName}, $nativeType>(args, &${v8ClassName}::info, $arrayType); |
-} |
- |
-END |
-} |
- |
sub GenerateNamedConstructor |
{ |
my $function = shift; |
@@ -4149,8 +4131,6 @@ END |
GenerateConstructor($interface); |
} elsif (IsConstructorTemplate($interface, "Event")) { |
GenerateEventConstructor($interface); |
- } elsif (IsConstructorTemplate($interface, "TypedArray")) { |
- GenerateTypedArrayConstructor($interface); |
} |
} |
if (IsConstructable($interface)) { |
@@ -5033,8 +5013,8 @@ sub GetNativeType |
die "UnionType is not supported" if IsUnionType($type); |
- if ($type eq "ArrayBuffer") { |
- return $isParameter ? "ArrayBuffer*" : "RefPtr<ArrayBuffer>"; |
+ if (IsTypedArrayType($type)) { |
+ return $isParameter ? "${type}*" : "RefPtr<${type}>"; |
} |
# We need to check [ImplementedAs] extended attribute for wrapper types. |
@@ -5162,9 +5142,9 @@ sub JSValueToNative |
return "V8DOMWrapper::isDOMWrapper($value) ? toWrapperTypeInfo(v8::Handle<v8::Object>::Cast($value))->toEventTarget(v8::Handle<v8::Object>::Cast($value)) : 0"; |
} |
- if ($type eq "ArrayBuffer") { |
+ if (IsTypedArrayType($type)) { |
AddIncludesForType($type); |
- return "$value->IsArrayBuffer() ? V8ArrayBuffer::toNative(v8::Handle<v8::ArrayBuffer>::Cast($value)) : 0" |
+ return "$value->Is${type}() ? V8${type}::toNative(v8::Handle<v8::${type}>::Cast($value)) : 0" |
} |
if ($type eq "XPathNSResolver") { |
@@ -5198,7 +5178,7 @@ sub CreateCustomSignature |
foreach my $parameter (@{$function->parameters}) { |
if ($first) { $first = 0; } |
else { $code .= ", "; } |
- if (IsWrapperType($parameter->type) && $parameter->type ne "ArrayBuffer") { |
+ if (IsWrapperType($parameter->type) && not IsTypedArrayType($parameter->type)) { |
if ($parameter->type eq "XPathNSResolver") { |
# Special case for XPathNSResolver. All other browsers accepts a callable, |
# so, even though it's against IDL, accept objects here. |
@@ -5287,7 +5267,7 @@ sub IsCallbackInterface |
{ |
my $type = shift; |
return 0 unless IsWrapperType($type); |
- return 0 if $type eq "ArrayBuffer"; |
+ return 0 if IsTypedArrayType($type); |
my $idlFile = IDLFileForInterface($type) |
or die("Could NOT find IDL file for interface \"$type\"!\n"); |