| OLD | NEW |
| 1 {% from 'utilities.cpp.tmpl' import declare_enum_validation_variable %} | 1 {% from 'utilities.cpp.tmpl' import declare_enum_validation_variable %} |
| 2 {% from 'utilities.cpp.tmpl' import v8_value_to_local_cpp_value %} | 2 {% from 'utilities.cpp.tmpl' import v8_value_to_local_cpp_value %} |
| 3 {#############################################################################} | 3 {#############################################################################} |
| 4 {% macro assign_and_return_if_hasinstance(member) %} | 4 {% macro assign_and_return_if_hasinstance(member) %} |
| 5 {% if member.is_array_buffer_or_view_type %} | 5 {% if member.is_array_buffer_or_view_type %} |
| 6 if (v8Value->Is{{member.type_name}}()) { | 6 if (v8Value->Is{{member.type_name}}()) { |
| 7 {% else %} | 7 {% else %} |
| 8 if (V8{{member.type_name}}::hasInstance(v8Value, isolate)) { | 8 if (V8{{member.type_name}}::hasInstance(v8Value, isolate)) { |
| 9 {% endif %} | 9 {% endif %} |
| 10 {{member.cpp_local_type}} cppValue = V8{{member.type_name}}::toImpl(v8::Local<
v8::Object>::Cast(v8Value)); | 10 {{member.cpp_local_type}} cppValue = V8{{member.type_name}}::toImpl(v8::Local<
v8::Object>::Cast(v8Value)); |
| (...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 92 | 92 |
| 93 {% endif %} | 93 {% endif %} |
| 94 {# 9., 10. ArrayBufferView #} | 94 {# 9., 10. ArrayBufferView #} |
| 95 {# FIXME: Individual typed arrays (e.g. Uint8Array) aren\'t supported yet. #} | 95 {# FIXME: Individual typed arrays (e.g. Uint8Array) aren\'t supported yet. #} |
| 96 {% if array_buffer_view_type %} | 96 {% if array_buffer_view_type %} |
| 97 {{assign_and_return_if_hasinstance(array_buffer_view_type) | indent(2)}} | 97 {{assign_and_return_if_hasinstance(array_buffer_view_type) | indent(2)}} |
| 98 | 98 |
| 99 {% endif %} | 99 {% endif %} |
| 100 {% if array_or_sequence_type %} | 100 {% if array_or_sequence_type %} |
| 101 {# 11.1, 11.2. Arrays and Sequences #} | 101 {# 11.1, 11.2. Arrays and Sequences #} |
| 102 {# FIXME: This should also check "object but not RegExp". Add checks | 102 if (IsV8Sequence(v8Value, isolate, exceptionState)) { |
| 103 when we implement conversions for Date and RegExp. #} | |
| 104 {# TODO(bashi): Should check @@iterator symbol instead. #} | |
| 105 if (v8Value->IsArray()) { | |
| 106 {{v8_value_to_local_cpp_value(array_or_sequence_type) | indent}} | 103 {{v8_value_to_local_cpp_value(array_or_sequence_type) | indent}} |
| 107 impl.set{{array_or_sequence_type.type_name}}(cppValue); | 104 impl.set{{array_or_sequence_type.type_name}}(cppValue); |
| 108 return; | 105 return; |
| 109 } | 106 } |
| 110 | 107 |
| 111 {% endif %} | 108 {% endif %} |
| 112 {% if dictionary_type %} | 109 {% if dictionary_type %} |
| 113 {# 11.3. Dictionaries #} | 110 {# 11.3. Dictionaries #} |
| 114 if (v8Value->IsObject()) { | 111 if (v8Value->IsObject()) { |
| 115 {{v8_value_to_local_cpp_value(dictionary_type) | indent}} | 112 {{v8_value_to_local_cpp_value(dictionary_type) | indent}} |
| (...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 207 | 204 |
| 208 {{cpp_class}} NativeValueTraits<{{cpp_class}}>::NativeValue(v8::Isolate* isolate
, v8::Local<v8::Value> value, ExceptionState& exceptionState) { | 205 {{cpp_class}} NativeValueTraits<{{cpp_class}}>::NativeValue(v8::Isolate* isolate
, v8::Local<v8::Value> value, ExceptionState& exceptionState) { |
| 209 {{cpp_class}} impl; | 206 {{cpp_class}} impl; |
| 210 {{v8_class}}::toImpl(isolate, value, impl, UnionTypeConversionMode::kNotNullab
le, exceptionState); | 207 {{v8_class}}::toImpl(isolate, value, impl, UnionTypeConversionMode::kNotNullab
le, exceptionState); |
| 211 return impl; | 208 return impl; |
| 212 } | 209 } |
| 213 | 210 |
| 214 } // namespace blink | 211 } // namespace blink |
| 215 | 212 |
| 216 {% endfilter %}{# format_blink_cpp_source_code #} | 213 {% endfilter %}{# format_blink_cpp_source_code #} |
| OLD | NEW |