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 162 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 173 'origin_trial_enabled_function': v8_utilities.origin_trial_enabled_funct ion_name(attribute), # [OriginTrialEnabled] | 173 'origin_trial_enabled_function': v8_utilities.origin_trial_enabled_funct ion_name(attribute), # [OriginTrialEnabled] |
| 174 'origin_trial_feature_name': v8_utilities.origin_trial_feature_name(attr ibute), # [OriginTrialEnabled] | 174 'origin_trial_feature_name': v8_utilities.origin_trial_feature_name(attr ibute), # [OriginTrialEnabled] |
| 175 'use_output_parameter_for_result': idl_type.use_output_parameter_for_res ult, | 175 'use_output_parameter_for_result': idl_type.use_output_parameter_for_res ult, |
| 176 'measure_as': v8_utilities.measure_as(attribute, interface), # [Measure As] | 176 'measure_as': v8_utilities.measure_as(attribute, interface), # [Measure As] |
| 177 'name': attribute.name, | 177 'name': attribute.name, |
| 178 'property_attributes': property_attributes(interface, attribute), | 178 'property_attributes': property_attributes(interface, attribute), |
| 179 'reflect_empty': extended_attributes.get('ReflectEmpty'), | 179 'reflect_empty': extended_attributes.get('ReflectEmpty'), |
| 180 'reflect_invalid': extended_attributes.get('ReflectInvalid', ''), | 180 'reflect_invalid': extended_attributes.get('ReflectInvalid', ''), |
| 181 'reflect_missing': extended_attributes.get('ReflectMissing'), | 181 'reflect_missing': extended_attributes.get('ReflectMissing'), |
| 182 'reflect_only': extended_attribute_value_as_list(attribute, 'ReflectOnly '), | 182 'reflect_only': extended_attribute_value_as_list(attribute, 'ReflectOnly '), |
| 183 'runtime_enabled_function': v8_utilities.runtime_enabled_function_name(a ttribute), # [RuntimeEnabled] | 183 'runtime_enabled': v8_utilities.runtime_feature_name(attribute), # [Run timeEnabled] |
|
Yuki
2016/12/15 11:56:39
nit: 'runtime_enabled' sounds to me like a boolean
peria
2016/12/16 05:27:04
Done.
| |
| 184 'runtime_feature_name': v8_utilities.runtime_feature_name(attribute), # [RuntimeEnabled] | |
| 185 'secure_context_test': v8_utilities.secure_context(attribute, interface) , # [SecureContext] | 184 'secure_context_test': v8_utilities.secure_context(attribute, interface) , # [SecureContext] |
| 186 'cached_accessor_name': '%s%sCachedAccessor' % (interface.name, attribut e.name.capitalize()), | 185 'cached_accessor_name': '%s%sCachedAccessor' % (interface.name, attribut e.name.capitalize()), |
| 187 'world_suffixes': ( | 186 'world_suffixes': ( |
| 188 ['', 'ForMainWorld'] | 187 ['', 'ForMainWorld'] |
| 189 if 'PerWorldBindings' in extended_attributes | 188 if 'PerWorldBindings' in extended_attributes |
| 190 else ['']), # [PerWorldBindings] | 189 else ['']), # [PerWorldBindings] |
| 191 } | 190 } |
| 192 | 191 |
| 193 if is_constructor_attribute(attribute): | 192 if is_constructor_attribute(attribute): |
| 194 update_constructor_attribute_context(interface, attribute, context) | 193 update_constructor_attribute_context(interface, attribute, context) |
| (...skipping 15 matching lines...) Expand all Loading... | |
| 210 raise Exception('[CrossOrigin] cannot be used for constructors: %s.% s', interface.name, attribute.name) | 209 raise Exception('[CrossOrigin] cannot be used for constructors: %s.% s', interface.name, attribute.name) |
| 211 | 210 |
| 212 return context | 211 return context |
| 213 | 212 |
| 214 | 213 |
| 215 def filter_accessors(attributes): | 214 def filter_accessors(attributes): |
| 216 return [attribute for attribute in attributes if | 215 return [attribute for attribute in attributes if |
| 217 not (attribute['exposed_test'] or | 216 not (attribute['exposed_test'] or |
| 218 attribute['secure_context_test'] or | 217 attribute['secure_context_test'] or |
| 219 attribute['origin_trial_enabled_function'] or | 218 attribute['origin_trial_enabled_function'] or |
| 220 attribute['runtime_enabled_function']) and | 219 attribute['runtime_enabled']) and |
| 221 not attribute['is_data_type_property']] | 220 not attribute['is_data_type_property']] |
| 222 | 221 |
| 223 | 222 |
| 224 def is_data_attribute(attribute): | 223 def is_data_attribute(attribute): |
| 225 return (not (attribute['exposed_test'] or | 224 return (not (attribute['exposed_test'] or |
| 226 attribute['secure_context_test'] or | 225 attribute['secure_context_test'] or |
| 227 attribute['origin_trial_enabled_function'] or | 226 attribute['origin_trial_enabled_function'] or |
| 228 attribute['runtime_enabled_function']) and | 227 attribute['runtime_enabled']) and |
| 229 attribute['is_data_type_property']) | 228 attribute['is_data_type_property']) |
| 230 | 229 |
| 231 | 230 |
| 232 def is_lazy_data_attribute(attribute): | 231 def is_lazy_data_attribute(attribute): |
| 233 return attribute['constructor_type'] and not attribute['needs_constructor_ge tter_callback'] | 232 return attribute['constructor_type'] and not attribute['needs_constructor_ge tter_callback'] |
| 234 | 233 |
| 235 | 234 |
| 236 def filter_data_attributes(attributes): | 235 def filter_data_attributes(attributes): |
| 237 return [attribute for attribute in attributes if is_data_attribute(attribute ) and not is_lazy_data_attribute(attribute)] | 236 return [attribute for attribute in attributes if is_data_attribute(attribute ) and not is_lazy_data_attribute(attribute)] |
| 238 | 237 |
| 239 | 238 |
| 240 def filter_lazy_data_attributes(attributes): | 239 def filter_lazy_data_attributes(attributes): |
| 241 return [attribute for attribute in attributes if is_data_attribute(attribute ) and is_lazy_data_attribute(attribute)] | 240 return [attribute for attribute in attributes if is_data_attribute(attribute ) and is_lazy_data_attribute(attribute)] |
| 242 | 241 |
| 243 | 242 |
| 244 def filter_origin_trial_enabled(attributes): | 243 def filter_origin_trial_enabled(attributes): |
| 245 return [attribute for attribute in attributes if | 244 return [attribute for attribute in attributes if |
| 246 attribute['origin_trial_feature_name'] and | 245 attribute['origin_trial_feature_name'] and |
| 247 not attribute['exposed_test']] | 246 not attribute['exposed_test']] |
| 248 | 247 |
| 249 | 248 |
| 250 def filter_runtime_enabled(attributes): | 249 def filter_runtime_enabled(attributes): |
| 251 return [attribute for attribute in attributes if | 250 return [attribute for attribute in attributes if |
| 252 not (attribute['exposed_test'] or | 251 not (attribute['exposed_test'] or |
| 253 attribute['secure_context_test']) and | 252 attribute['secure_context_test']) and |
| 254 attribute['runtime_feature_name']] | 253 attribute['runtime_enabled']] |
| 255 | 254 |
| 256 | 255 |
| 257 ################################################################################ | 256 ################################################################################ |
| 258 # Getter | 257 # Getter |
| 259 ################################################################################ | 258 ################################################################################ |
| 260 | 259 |
| 261 def getter_context(interface, attribute, context): | 260 def getter_context(interface, attribute, context): |
| 262 idl_type = attribute.idl_type | 261 idl_type = attribute.idl_type |
| 263 base_idl_type = idl_type.base_type | 262 base_idl_type = idl_type.base_type |
| 264 extended_attributes = attribute.extended_attributes | 263 extended_attributes = attribute.extended_attributes |
| (...skipping 302 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 567 lambda self: strip_suffix(self.base_type, 'Constructor')) | 566 lambda self: strip_suffix(self.base_type, 'Constructor')) |
| 568 | 567 |
| 569 | 568 |
| 570 def is_constructor_attribute(attribute): | 569 def is_constructor_attribute(attribute): |
| 571 # FIXME: replace this with [ConstructorAttribute] extended attribute | 570 # FIXME: replace this with [ConstructorAttribute] extended attribute |
| 572 return attribute.idl_type.name.endswith('Constructor') | 571 return attribute.idl_type.name.endswith('Constructor') |
| 573 | 572 |
| 574 | 573 |
| 575 def update_constructor_attribute_context(interface, attribute, context): | 574 def update_constructor_attribute_context(interface, attribute, context): |
| 576 context['needs_constructor_getter_callback'] = context['measure_as'] or cont ext['deprecate_as'] | 575 context['needs_constructor_getter_callback'] = context['measure_as'] or cont ext['deprecate_as'] |
| OLD | NEW |