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 {% if member.is_array_buffer_view_or_typed_array %} |
| 11 {{member.cpp_local_type}} cppValue = ToNotShared<{{member.cpp_local_type}}>(is
olate, v8Value, exceptionState); |
| 12 if (exceptionState.HadException()) |
| 13 return; |
| 14 {% else %} |
10 {{member.cpp_local_type}} cppValue = V8{{member.type_name}}::toImpl(v8::Local<
v8::Object>::Cast(v8Value)); | 15 {{member.cpp_local_type}} cppValue = V8{{member.type_name}}::toImpl(v8::Local<
v8::Object>::Cast(v8Value)); |
| 16 {% endif %} |
11 impl.set{{member.type_name}}(cppValue); | 17 impl.set{{member.type_name}}(cppValue); |
12 return; | 18 return; |
13 } | 19 } |
14 {% endmacro %} | 20 {% endmacro %} |
15 {#############################################################################} | 21 {#############################################################################} |
16 {% filter format_blink_cpp_source_code %} | 22 {% filter format_blink_cpp_source_code %} |
17 {% include 'copyright_block.txt' %} | 23 {% include 'copyright_block.txt' %} |
18 #include "{{this_include_header_name}}.h" | 24 #include "{{this_include_header_name}}.h" |
19 | 25 |
20 {% for filename in cpp_includes %} | 26 {% for filename in cpp_includes %} |
(...skipping 13 matching lines...) Expand all Loading... |
34 void {{cpp_class}}::set{{member.type_name}}({{member.rvalue_cpp_type}} value) { | 40 void {{cpp_class}}::set{{member.type_name}}({{member.rvalue_cpp_type}} value) { |
35 DCHECK(isNull()); | 41 DCHECK(isNull()); |
36 {% if member.enum_values %} | 42 {% if member.enum_values %} |
37 NonThrowableExceptionState exceptionState; | 43 NonThrowableExceptionState exceptionState; |
38 {{declare_enum_validation_variable(member.enum_values) | indent(2)}} | 44 {{declare_enum_validation_variable(member.enum_values) | indent(2)}} |
39 if (!IsValidEnum(value, validValues, WTF_ARRAY_LENGTH(validValues), "{{member.
type_name}}", exceptionState)) { | 45 if (!IsValidEnum(value, validValues, WTF_ARRAY_LENGTH(validValues), "{{member.
type_name}}", exceptionState)) { |
40 NOTREACHED(); | 46 NOTREACHED(); |
41 return; | 47 return; |
42 } | 48 } |
43 {% endif %} | 49 {% endif %} |
| 50 {% if member.is_array_buffer_view_or_typed_array %} |
| 51 m_{{member.cpp_name}} = {{member.cpp_type}}(value.View()); |
| 52 {% else %} |
44 m_{{member.cpp_name}} = value; | 53 m_{{member.cpp_name}} = value; |
| 54 {% endif %} |
45 m_type = {{member.specific_type_enum}}; | 55 m_type = {{member.specific_type_enum}}; |
46 } | 56 } |
47 | 57 |
48 {{cpp_class}} {{cpp_class}}::from{{member.type_name}}({{member.rvalue_cpp_type}}
value) { | 58 {{cpp_class}} {{cpp_class}}::from{{member.type_name}}({{member.rvalue_cpp_type}}
value) { |
49 {{cpp_class}} container; | 59 {{cpp_class}} container; |
50 container.set{{member.type_name}}(value); | 60 container.set{{member.type_name}}(value); |
51 return container; | 61 return container; |
52 } | 62 } |
53 | 63 |
54 {% endfor %} | 64 {% endfor %} |
(...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
207 | 217 |
208 {{cpp_class}} NativeValueTraits<{{cpp_class}}>::NativeValue(v8::Isolate* isolate
, v8::Local<v8::Value> value, ExceptionState& exceptionState) { | 218 {{cpp_class}} NativeValueTraits<{{cpp_class}}>::NativeValue(v8::Isolate* isolate
, v8::Local<v8::Value> value, ExceptionState& exceptionState) { |
209 {{cpp_class}} impl; | 219 {{cpp_class}} impl; |
210 {{v8_class}}::toImpl(isolate, value, impl, UnionTypeConversionMode::kNotNullab
le, exceptionState); | 220 {{v8_class}}::toImpl(isolate, value, impl, UnionTypeConversionMode::kNotNullab
le, exceptionState); |
211 return impl; | 221 return impl; |
212 } | 222 } |
213 | 223 |
214 } // namespace blink | 224 } // namespace blink |
215 | 225 |
216 {% endfilter %}{# format_blink_cpp_source_code #} | 226 {% endfilter %}{# format_blink_cpp_source_code #} |
OLD | NEW |