Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 // This file has been auto-generated by {{code_generator}}. DO NOT MODIFY! | 5 // This file has been auto-generated by {{code_generator}}. DO NOT MODIFY! |
| 6 | 6 |
| 7 #include "config.h" | 7 #include "config.h" |
| 8 #include "{{header_filename}}" | 8 #include "{{header_filename}}" |
| 9 | 9 |
| 10 {% macro assign_and_return_if_hasinstance(member) %} | 10 {% macro assign_and_return_if_hasinstance(member) %} |
| (...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 73 {# FIXME: Individual typed arrays (e.g. Uint8Array) aren't supported yet. #} | 73 {# FIXME: Individual typed arrays (e.g. Uint8Array) aren't supported yet. #} |
| 74 {% if container.array_buffer_view_type %} | 74 {% if container.array_buffer_view_type %} |
| 75 {{assign_and_return_if_hasinstance(container.array_buffer_view_type) | inden t}} | 75 {{assign_and_return_if_hasinstance(container.array_buffer_view_type) | inden t}} |
| 76 | 76 |
| 77 {% endif %} | 77 {% endif %} |
| 78 {% if container.dictionary_type %} | 78 {% if container.dictionary_type %} |
| 79 {# 12. Dictionaries #} | 79 {# 12. Dictionaries #} |
| 80 {# FIXME: This should also check "object but not Date or RegExp". Add checks | 80 {# FIXME: This should also check "object but not Date or RegExp". Add checks |
| 81 when we implement conversions for Date and RegExp. #} | 81 when we implement conversions for Date and RegExp. #} |
| 82 if (isUndefinedOrNull(v8Value) || v8Value->IsObject()) { | 82 if (isUndefinedOrNull(v8Value) || v8Value->IsObject()) { |
| 83 {{container.dictionary_type.cpp_local_type}} cppValue = V8{{container.di ctionary_type.type_name}}::toImpl(isolate, v8Value, exceptionState); | 83 {% if container.dictionary_type.type_name != 'Dictionary' %} |
|
bashi
2014/11/12 05:13:07
This was wrong. Union type containers' toImpl() do
| |
| 84 if (!exceptionState.hadException()) | 84 {{container.dictionary_type.cpp_local_type}} cppValue; |
| 85 impl.set{{container.dictionary_type.type_name}}(cppValue); | 85 {% endif %} |
| 86 {{container.dictionary_type.v8_value_to_local_cpp_value}}; | |
| 87 impl.set{{container.dictionary_type.type_name}}(cppValue); | |
| 86 return; | 88 return; |
| 87 } | 89 } |
| 88 | 90 |
| 89 {% endif %} | 91 {% endif %} |
| 90 {# FIXME: In some cases, we can omit boolean and numeric type checks because | 92 {# FIXME: In some cases, we can omit boolean and numeric type checks because |
| 91 we have fallback conversions. (step 17 and 18) #} | 93 we have fallback conversions. (step 17 and 18) #} |
| 92 {% if container.boolean_type %} | 94 {% if container.boolean_type %} |
| 93 {# 14. Boolean #} | 95 {# 14. Boolean #} |
| 94 if (v8Value->IsBoolean()) { | 96 if (v8Value->IsBoolean()) { |
| 95 impl.setBoolean(v8Value->ToBoolean()->Value()); | 97 impl.setBoolean(v8Value->ToBoolean()->Value()); |
| (...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 153 | 155 |
| 154 {{container.cpp_class}} NativeValueTraits<{{container.cpp_class}}>::nativeValue( const v8::Handle<v8::Value>& value, v8::Isolate* isolate, ExceptionState& except ionState) | 156 {{container.cpp_class}} NativeValueTraits<{{container.cpp_class}}>::nativeValue( const v8::Handle<v8::Value>& value, v8::Isolate* isolate, ExceptionState& except ionState) |
| 155 { | 157 { |
| 156 {{container.cpp_class}} impl; | 158 {{container.cpp_class}} impl; |
| 157 V8{{container.cpp_class}}::toImpl(isolate, value, impl, exceptionState); | 159 V8{{container.cpp_class}}::toImpl(isolate, value, impl, exceptionState); |
| 158 return impl; | 160 return impl; |
| 159 } | 161 } |
| 160 | 162 |
| 161 {% endfor %} | 163 {% endfor %} |
| 162 } // namespace blink | 164 } // namespace blink |
| OLD | NEW |