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)"; |
} |