Index: Source/bindings/scripts/v8_types.py |
diff --git a/Source/bindings/scripts/v8_types.py b/Source/bindings/scripts/v8_types.py |
index 646d7fc450cb5cbf9be10319993338d7071568d4..c2f8312c743f818c09b512c94d686fa76ea02e8f 100644 |
--- a/Source/bindings/scripts/v8_types.py |
+++ b/Source/bindings/scripts/v8_types.py |
@@ -92,6 +92,7 @@ CPP_TYPE_SAME_AS_IDL_TYPE = set([ |
'float', |
'long long', |
'unsigned long long', |
+ 'V8ObjectBuilder', |
]) |
CPP_INT_TYPES = set([ |
'byte', |
@@ -223,11 +224,15 @@ def cpp_type_initializer(idl_type): |
if base_idl_type == 'boolean': |
return ' = false' |
if (base_idl_type in NON_WRAPPER_TYPES or |
- base_idl_type in CPP_SPECIAL_CONVERSION_RULES or |
- base_idl_type == 'any' or |
- idl_type.is_string_type or |
- idl_type.is_enum): |
+ base_idl_type in CPP_SPECIAL_CONVERSION_RULES or |
+ base_idl_type == 'any' or |
+ idl_type.is_string_type or |
+ idl_type.is_enum or |
+ idl_type.is_dictionary or |
+ idl_type.is_union_type): |
return '' |
+ if base_idl_type == 'V8ObjectBuilder': |
+ return '(info.GetIsolate())' |
return ' = nullptr' |
@@ -363,6 +368,7 @@ INCLUDES_FOR_TYPE = { |
'SerializedScriptValue': set(['bindings/core/v8/SerializedScriptValue.h', |
'bindings/core/v8/SerializedScriptValueFactory.h']), |
'ScriptValue': set(['bindings/core/v8/ScriptValue.h']), |
+ 'V8ObjectBuilder': set(['bindings/core/v8/V8ObjectBuilder.h']), |
} |
@@ -661,7 +667,7 @@ def use_output_parameter_for_result(idl_type): |
"""True when methods/getters which return the given idl_type should |
take the output argument. |
""" |
- return idl_type.is_dictionary or idl_type.is_union_type |
+ return idl_type.is_dictionary or idl_type.is_union_type or idl_type.base_type == 'V8ObjectBuilder' |
IdlTypeBase.use_output_parameter_for_result = property(use_output_parameter_for_result) |
@@ -800,6 +806,8 @@ V8_SET_RETURN_VALUE = { |
'NullableDictionary': 'v8SetReturnValue(info, result.get())', |
# Union types or dictionaries |
'DictionaryOrUnion': 'v8SetReturnValue(info, result)', |
+ # Special container used for toJSON() resulting from serializer definitions. |
+ 'V8ObjectBuilder': 'v8SetReturnValue(info, result.v8Value())', |
} |