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 import v8_types | 5 import v8_types |
6 import v8_utilities | 6 import v8_utilities |
7 | 7 |
8 | 8 |
9 UNION_CPP_INCLUDES = frozenset([ | 9 UNION_CPP_INCLUDES = frozenset([ |
10 'bindings/core/v8/ToV8.h', | 10 'bindings/core/v8/ToV8.h', |
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
122 'v8_class': v8_types.v8_type(cpp_class), | 122 'v8_class': v8_types.v8_type(cpp_class), |
123 } | 123 } |
124 | 124 |
125 | 125 |
126 def _update_includes_and_forward_decls(member, info_provider): | 126 def _update_includes_and_forward_decls(member, info_provider): |
127 interface_info = info_provider.interfaces_info.get(member.name, None) | 127 interface_info = info_provider.interfaces_info.get(member.name, None) |
128 if interface_info: | 128 if interface_info: |
129 cpp_includes.update(interface_info.get( | 129 cpp_includes.update(interface_info.get( |
130 'dependencies_include_paths', [])) | 130 'dependencies_include_paths', [])) |
131 # We need complete types for IDL dictionaries in union containers. | 131 # We need complete types for IDL dictionaries in union containers. |
132 if member.is_dictionary or member.is_typed_array: | 132 if member.is_dictionary or member.is_array_buffer_view_or_typed_array: |
133 header_includes.update(member.includes_for_type()) | 133 header_includes.update(member.includes_for_type()) |
134 else: | 134 else: |
135 cpp_includes.update(member.includes_for_type()) | 135 cpp_includes.update(member.includes_for_type()) |
136 header_forward_decls.add(member.implemented_as) | 136 header_forward_decls.add(member.implemented_as) |
137 else: | 137 else: |
138 if member.is_record_type: | 138 if member.is_record_type: |
139 _update_includes_and_forward_decls(member.key_type, info_provider) | 139 _update_includes_and_forward_decls(member.key_type, info_provider) |
140 _update_includes_and_forward_decls(member.value_type, info_provider) | 140 _update_includes_and_forward_decls(member.value_type, info_provider) |
141 elif member.is_array_or_sequence_type: | 141 elif member.is_array_or_sequence_type: |
142 _update_includes_and_forward_decls(member.element_type, info_provide
r) | 142 _update_includes_and_forward_decls(member.element_type, info_provide
r) |
(...skipping 13 matching lines...) Expand all Loading... |
156 member = member.inner_type | 156 member = member.inner_type |
157 return { | 157 return { |
158 'cpp_name': v8_utilities.uncapitalize(member.name), | 158 'cpp_name': v8_utilities.uncapitalize(member.name), |
159 'cpp_type': member.cpp_type_args(used_in_cpp_sequence=True), | 159 'cpp_type': member.cpp_type_args(used_in_cpp_sequence=True), |
160 'cpp_local_type': member.cpp_type, | 160 'cpp_local_type': member.cpp_type, |
161 'cpp_value_to_v8_value': member.cpp_value_to_v8_value( | 161 'cpp_value_to_v8_value': member.cpp_value_to_v8_value( |
162 cpp_value='impl.getAs%s()' % member.name, isolate='isolate', | 162 cpp_value='impl.getAs%s()' % member.name, isolate='isolate', |
163 creation_context='creationContext'), | 163 creation_context='creationContext'), |
164 'enum_values': member.enum_values, | 164 'enum_values': member.enum_values, |
165 'is_array_buffer_or_view_type': member.is_array_buffer_or_view, | 165 'is_array_buffer_or_view_type': member.is_array_buffer_or_view, |
| 166 'is_array_buffer_view_or_typed_array': member.is_array_buffer_view_or_ty
ped_array, |
166 'is_traceable': member.is_traceable, | 167 'is_traceable': member.is_traceable, |
167 'rvalue_cpp_type': member.cpp_type_args(used_as_rvalue_type=True), | 168 'rvalue_cpp_type': member.cpp_type_args(used_as_rvalue_type=True), |
168 'specific_type_enum': 'SpecificType' + member.name, | 169 'specific_type_enum': 'SpecificType' + member.name, |
169 'type_name': member.name, | 170 'type_name': member.name, |
170 'v8_value_to_local_cpp_value': member.v8_value_to_local_cpp_value( | 171 'v8_value_to_local_cpp_value': member.v8_value_to_local_cpp_value( |
171 {}, 'v8Value', 'cppValue', isolate='isolate', | 172 {}, 'v8Value', 'cppValue', isolate='isolate', |
172 use_exception_state=True) | 173 use_exception_state=True) |
173 } | 174 } |
OLD | NEW |