| Index: Source/bindings/scripts/CodeGeneratorV8.pm
|
| diff --git a/Source/bindings/scripts/CodeGeneratorV8.pm b/Source/bindings/scripts/CodeGeneratorV8.pm
|
| index e348f9f0b10e387e8e91c3ef71600de7d813ee41..59a5d3655269e67dddd54069bae3b895ec92cd77 100644
|
| --- a/Source/bindings/scripts/CodeGeneratorV8.pm
|
| +++ b/Source/bindings/scripts/CodeGeneratorV8.pm
|
| @@ -115,6 +115,8 @@ use File::Basename;
|
| use File::Find;
|
| use File::Spec;
|
|
|
| +use idltopath;
|
| +
|
| my $codeGenerator;
|
| my $idlDocument;
|
| my $useDirectories;
|
| @@ -1560,7 +1562,11 @@ END
|
| if ($arrayType) {
|
| if (!SkipIncludeHeader($arrayType)) {
|
| AddToImplIncludes("V8$arrayType.h");
|
| - AddToImplIncludes("$arrayType.h");
|
| + # Since $arrayType is always ScriptProfile here, and
|
| + # that ScriptProfile.h is in core/inspector. Or I could
|
| + # use idlToPath.
|
| + die unless $arrayType eq "ScriptProfile";
|
| + AddToImplIncludes("core/inspector/$arrayType.h");
|
| }
|
| $code .= " return v8Array(${getterString}, info.GetIsolate());\n";
|
| $code .= "}\n\n";
|
| @@ -2998,7 +3004,11 @@ sub GenerateSingleBatchedAttribute
|
| # We do not generate the header file for NamedConstructor of class XXXX,
|
| # since we generate the NamedConstructor declaration into the header file of class XXXX.
|
| if ($constructorType !~ /Constructor$/ || $attribute->signature->extendedAttributes->{"CustomConstructor"}) {
|
| - AddToImplIncludes("V8${constructorType}.h", $attribute->signature->extendedAttributes->{"Conditional"});
|
| + my $includepath = "";
|
| + if ($constructorType eq "HTMLImageElementConstructor") {
|
| + $includepath = "bindings/v8/custom/";
|
| + }
|
| + AddToImplIncludes("${includepath}V8${constructorType}.h", $attribute->signature->extendedAttributes->{"Conditional"});
|
| }
|
| $data = "&V8${constructorType}::info";
|
| $getter = "${interfaceName}V8Internal::${interfaceName}ConstructorGetter";
|
| @@ -4820,6 +4830,7 @@ sub GetV8HeaderName
|
| return "core/dom/EventListener.h" if $type eq "EventListener";
|
| return "bindings/v8/SerializedScriptValue.h" if $type eq "SerializedScriptValue";
|
| return "bindings/v8/ScriptValue.h" if $type eq "any";
|
| + return "bindings/v8/V8GCController.h" if $type eq "GCController";
|
| return "V8${type}.h";
|
| }
|
|
|
| @@ -5075,7 +5086,8 @@ sub NativeToJSValue
|
|
|
| } elsif (IsRefPtrType($arrayOrSequenceType)) {
|
| AddToImplIncludes(GetV8HeaderName($arrayOrSequenceType));
|
| - AddToImplIncludes("${arrayOrSequenceType}.h");
|
| + my $includepath = idlToPath($arrayOrSequenceType); # This is not an arraytype (always?). It's things like ScriptProfileNode, MediaStreamTream, MediaStreamTream, MediaStream.
|
| + AddToImplIncludes("${includepath}${arrayOrSequenceType}.h");
|
| }
|
| return "v8Array($value, $getIsolate)";
|
| }
|
|
|