Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(197)

Side by Side Diff: third_party/WebKit/Source/bindings/scripts/v8_union.py

Issue 2806343002: bindings: Call member.includes_for_type() for container types too. (Closed)
Patch Set: bindings: Call member.includes_for_type() for container types too. Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 122 matching lines...) Expand 10 before | Expand all | Expand 10 after
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)
143 else: 143 elif member.is_union_type:
144 if member.is_union_type: 144 # Reaching this block means we have a union that is inside a
145 # Reaching this block means we have a union that is inside a 145 # record or sequence.
146 # record or sequence. 146 header_forward_decls.add(member.name)
147 header_forward_decls.add(member.name) 147 cpp_includes.update([info_provider.include_path_for_union_types(memb er)])
148 cpp_includes.update([info_provider.include_path_for_union_types( member)]) 148 cpp_includes.update(member.includes_for_type())
149 else:
150 cpp_includes.update(member.includes_for_type())
151 149
152 150
153 def member_context(member, info_provider): 151 def member_context(member, info_provider):
154 _update_includes_and_forward_decls(member, info_provider) 152 _update_includes_and_forward_decls(member, info_provider)
155 if member.is_nullable: 153 if member.is_nullable:
156 member = member.inner_type 154 member = member.inner_type
157 return { 155 return {
158 'cpp_name': v8_utilities.uncapitalize(member.name), 156 'cpp_name': v8_utilities.uncapitalize(member.name),
159 'cpp_type': member.cpp_type_args(used_in_cpp_sequence=True), 157 'cpp_type': member.cpp_type_args(used_in_cpp_sequence=True),
160 'cpp_local_type': member.cpp_type, 158 'cpp_local_type': member.cpp_type,
161 'cpp_value_to_v8_value': member.cpp_value_to_v8_value( 159 'cpp_value_to_v8_value': member.cpp_value_to_v8_value(
162 cpp_value='impl.getAs%s()' % member.name, isolate='isolate', 160 cpp_value='impl.getAs%s()' % member.name, isolate='isolate',
163 creation_context='creationContext'), 161 creation_context='creationContext'),
164 'enum_values': member.enum_values, 162 'enum_values': member.enum_values,
165 'is_array_buffer_or_view_type': member.is_array_buffer_or_view, 163 'is_array_buffer_or_view_type': member.is_array_buffer_or_view,
166 'is_traceable': member.is_traceable, 164 'is_traceable': member.is_traceable,
167 'rvalue_cpp_type': member.cpp_type_args(used_as_rvalue_type=True), 165 'rvalue_cpp_type': member.cpp_type_args(used_as_rvalue_type=True),
168 'specific_type_enum': 'SpecificType' + member.name, 166 'specific_type_enum': 'SpecificType' + member.name,
169 'type_name': member.name, 167 'type_name': member.name,
170 'v8_value_to_local_cpp_value': member.v8_value_to_local_cpp_value( 168 'v8_value_to_local_cpp_value': member.v8_value_to_local_cpp_value(
171 {}, 'v8Value', 'cppValue', isolate='isolate', 169 {}, 'v8Value', 'cppValue', isolate='isolate',
172 use_exception_state=True) 170 use_exception_state=True)
173 } 171 }
OLDNEW
« no previous file with comments | « no previous file | third_party/WebKit/Source/bindings/tests/results/core/NodeOrLongSequenceOrEventOrXMLHttpRequestOrStringOrStringByteStringOrNodeListRecord.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698