Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 # Copyright (C) 2013 Google Inc. All rights reserved. | 1 # Copyright (C) 2013 Google Inc. All rights reserved. |
| 2 # | 2 # |
| 3 # Redistribution and use in source and binary forms, with or without | 3 # Redistribution and use in source and binary forms, with or without |
| 4 # modification, are permitted provided that the following conditions are | 4 # modification, are permitted provided that the following conditions are |
| 5 # met: | 5 # met: |
| 6 # | 6 # |
| 7 # * Redistributions of source code must retain the above copyright | 7 # * Redistributions of source code must retain the above copyright |
| 8 # notice, this list of conditions and the following disclaimer. | 8 # notice, this list of conditions and the following disclaimer. |
| 9 # * Redistributions in binary form must reproduce the above | 9 # * Redistributions in binary form must reproduce the above |
| 10 # copyright notice, this list of conditions and the following disclaimer | 10 # copyright notice, this list of conditions and the following disclaimer |
| (...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 115 is_setter_raises_exception or has_strict_type_checking or | 115 is_setter_raises_exception or has_strict_type_checking or |
| 116 v8_types.is_integer_type(idl_type)), | 116 v8_types.is_integer_type(idl_type)), |
| 117 'is_static': attribute.is_static, | 117 'is_static': attribute.is_static, |
| 118 'is_url': 'URL' in extended_attributes, | 118 'is_url': 'URL' in extended_attributes, |
| 119 'is_unforgeable': 'Unforgeable' in extended_attributes, | 119 'is_unforgeable': 'Unforgeable' in extended_attributes, |
| 120 'measure_as': v8_utilities.measure_as(attribute), # [MeasureAs] | 120 'measure_as': v8_utilities.measure_as(attribute), # [MeasureAs] |
| 121 'name': attribute.name, | 121 'name': attribute.name, |
| 122 'per_context_enabled_function': v8_utilities.per_context_enabled_functio n_name(attribute), # [PerContextEnabled] | 122 'per_context_enabled_function': v8_utilities.per_context_enabled_functio n_name(attribute), # [PerContextEnabled] |
| 123 'property_attributes': property_attributes(attribute), | 123 'property_attributes': property_attributes(attribute), |
| 124 'put_forwards': 'PutForwards' in extended_attributes, | 124 'put_forwards': 'PutForwards' in extended_attributes, |
| 125 'reflect_only': extended_attributes['ReflectOnly'].split('|') | |
| 126 if 'ReflectOnly' in extended_attributes else None, # [ReflectOnly] | |
| 125 'setter_callback': setter_callback_name(interface, attribute), | 127 'setter_callback': setter_callback_name(interface, attribute), |
| 126 'v8_type': v8_types.v8_type(idl_type), | 128 'v8_type': v8_types.v8_type(idl_type), |
| 127 'runtime_enabled_function': v8_utilities.runtime_enabled_function_name(a ttribute), # [RuntimeEnabled] | 129 'runtime_enabled_function': v8_utilities.runtime_enabled_function_name(a ttribute), # [RuntimeEnabled] |
| 128 'world_suffixes': ['', 'ForMainWorld'] | 130 'world_suffixes': ['', 'ForMainWorld'] |
| 129 if 'PerWorldBindings' in extended_attributes | 131 if 'PerWorldBindings' in extended_attributes |
| 130 else [''], # [PerWorldBindings] | 132 else [''], # [PerWorldBindings] |
| 131 } | 133 } |
| 132 | 134 |
| 133 if is_constructor_attribute(attribute): | 135 if is_constructor_attribute(attribute): |
| 134 return contents | 136 return contents |
| (...skipping 25 matching lines...) Expand all Loading... | |
| 160 if (attribute.is_nullable or | 162 if (attribute.is_nullable or |
| 161 idl_type == 'EventHandler' or | 163 idl_type == 'EventHandler' or |
| 162 'CachedAttribute' in extended_attributes or | 164 'CachedAttribute' in extended_attributes or |
| 163 contents['is_getter_raises_exception']): | 165 contents['is_getter_raises_exception']): |
| 164 contents['cpp_value_original'] = cpp_value | 166 contents['cpp_value_original'] = cpp_value |
| 165 cpp_value = 'jsValue' | 167 cpp_value = 'jsValue' |
| 166 # EventHandler has special handling | 168 # EventHandler has special handling |
| 167 if idl_type != 'EventHandler' and v8_types.is_interface_type(idl_type): | 169 if idl_type != 'EventHandler' and v8_types.is_interface_type(idl_type): |
| 168 release = True | 170 release = True |
| 169 | 171 |
| 172 if 'ReflectOnly' in extended_attributes: | |
| 173 contents['cpp_value_original'] = cpp_value | |
| 174 # FIXME: rename to jsValue | |
| 175 cpp_value = 'resultValue' | |
|
Nils Barth (inactive)
2014/02/05 06:11:42
The local variable is called 'resultValue',
which
| |
| 176 | |
| 170 def v8_set_return_value_statement(for_main_world=False): | 177 def v8_set_return_value_statement(for_main_world=False): |
| 171 if contents['is_keep_alive_for_gc']: | 178 if contents['is_keep_alive_for_gc']: |
| 172 return 'v8SetReturnValue(info, wrapper)' | 179 return 'v8SetReturnValue(info, wrapper)' |
| 173 return v8_types.v8_set_return_value(idl_type, cpp_value, extended_attrib utes=extended_attributes, script_wrappable='imp', release=release, for_main_worl d=for_main_world) | 180 return v8_types.v8_set_return_value(idl_type, cpp_value, extended_attrib utes=extended_attributes, script_wrappable='imp', release=release, for_main_worl d=for_main_world) |
| 174 | 181 |
| 175 contents.update({ | 182 contents.update({ |
| 176 'cpp_value': cpp_value, | 183 'cpp_value': cpp_value, |
| 177 'v8_set_return_value_for_main_world': v8_set_return_value_statement(for_ main_world=True), | 184 'v8_set_return_value_for_main_world': v8_set_return_value_statement(for_ main_world=True), |
| 178 'v8_set_return_value': v8_set_return_value_statement(), | 185 'v8_set_return_value': v8_set_return_value_statement(), |
| 179 }) | 186 }) |
| (...skipping 196 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 376 property_attributes_list.append('v8::DontDelete') | 383 property_attributes_list.append('v8::DontDelete') |
| 377 return property_attributes_list or ['v8::None'] | 384 return property_attributes_list or ['v8::None'] |
| 378 | 385 |
| 379 | 386 |
| 380 ################################################################################ | 387 ################################################################################ |
| 381 # Constructors | 388 # Constructors |
| 382 ################################################################################ | 389 ################################################################################ |
| 383 | 390 |
| 384 def is_constructor_attribute(attribute): | 391 def is_constructor_attribute(attribute): |
| 385 return attribute.idl_type.endswith('Constructor') | 392 return attribute.idl_type.endswith('Constructor') |
| OLD | NEW |