| OLD | NEW |
| 1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
| 2 # Copyright 2016 The Chromium Authors. All rights reserved. | 2 # Copyright 2016 The Chromium Authors. All rights reserved. |
| 3 # Use of this source code is governed by a BSD-style license that can be | 3 # Use of this source code is governed by a BSD-style license that can be |
| 4 # found in the LICENSE file. | 4 # found in the LICENSE file. |
| 5 | 5 |
| 6 import math | 6 import math |
| 7 import sys | 7 import sys |
| 8 | 8 |
| 9 import in_generator | 9 import in_generator |
| 10 import template_expander | 10 import template_expander |
| (...skipping 17 matching lines...) Expand all Loading... |
| 28 - 'enum', for fields that store the values of an enum | 28 - 'enum', for fields that store the values of an enum |
| 29 - 'inherited_flag', for single-bit flags that store whether a property is | 29 - 'inherited_flag', for single-bit flags that store whether a property is |
| 30 inherited by this style or set explicitly | 30 inherited by this style or set explicitly |
| 31 """ | 31 """ |
| 32 def __init__(self, field_family, **kwargs): | 32 def __init__(self, field_family, **kwargs): |
| 33 # Values common to all fields | 33 # Values common to all fields |
| 34 # Name of field | 34 # Name of field |
| 35 self.name = kwargs.pop('name') | 35 self.name = kwargs.pop('name') |
| 36 # Name of property field is for | 36 # Name of property field is for |
| 37 self.property_name = kwargs.pop('property_name') | 37 self.property_name = kwargs.pop('property_name') |
| 38 # Field storage type | 38 # Internal field storage type |
| 39 self.type = kwargs.pop('type') | 39 self.storage_type = kwargs.pop('storage_type') |
| 40 # Bits needed for storage | 40 # Bits needed for storage |
| 41 self.size = kwargs.pop('size') | 41 self.size = kwargs.pop('size') |
| 42 # Default value for field | 42 # Default value for field |
| 43 self.default_value = kwargs.pop('default_value') | 43 self.default_value = kwargs.pop('default_value') |
| 44 # Method names | 44 # Method names |
| 45 self.getter_method_name = kwargs.pop('getter_method_name') | 45 self.getter_method_name = kwargs.pop('getter_method_name') |
| 46 self.setter_method_name = kwargs.pop('setter_method_name') | 46 self.setter_method_name = kwargs.pop('setter_method_name') |
| 47 self.initial_method_name = kwargs.pop('initial_method_name') | 47 self.initial_method_name = kwargs.pop('initial_method_name') |
| 48 self.resetter_method_name = kwargs.pop('resetter_method_name') | 48 self.resetter_method_name = kwargs.pop('resetter_method_name') |
| 49 | 49 |
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 105 | 105 |
| 106 # If the property is independent, add the single-bit sized isInh
erited flag | 106 # If the property is independent, add the single-bit sized isInh
erited flag |
| 107 # to the list of Fields as well. | 107 # to the list of Fields as well. |
| 108 if property['independent']: | 108 if property['independent']: |
| 109 field_name_suffix_upper = property['upper_camel_name'] + 'Is
Inherited' | 109 field_name_suffix_upper = property['upper_camel_name'] + 'Is
Inherited' |
| 110 field_name_suffix_lower = property_name_lower + 'IsInherited
' | 110 field_name_suffix_lower = property_name_lower + 'IsInherited
' |
| 111 self._fields.append(Field( | 111 self._fields.append(Field( |
| 112 'inherited_flag', | 112 'inherited_flag', |
| 113 name='m_' + field_name_suffix_lower, | 113 name='m_' + field_name_suffix_lower, |
| 114 property_name=property['name'], | 114 property_name=property['name'], |
| 115 type='bool', | 115 storage_type='bool', |
| 116 size=1, | 116 size=1, |
| 117 default_value='true', | 117 default_value='true', |
| 118 getter_method_name=field_name_suffix_lower, | 118 getter_method_name=field_name_suffix_lower, |
| 119 setter_method_name='set' + field_name_suffix_upper, | 119 setter_method_name='set' + field_name_suffix_upper, |
| 120 initial_method_name='initial' + field_name_suffix_upper, | 120 initial_method_name='initial' + field_name_suffix_upper, |
| 121 resetter_method_name='reset' + field_name_suffix_upper, | 121 resetter_method_name='reset' + field_name_suffix_upper, |
| 122 )) | 122 )) |
| 123 | 123 |
| 124 # Add the property itself as a member variable. | 124 # Add the property itself as a member variable. |
| 125 self._fields.append(Field( | 125 self._fields.append(Field( |
| 126 'enum', | 126 'enum', |
| 127 name=field_name, | 127 name=field_name, |
| 128 property_name=property['name'], | 128 property_name=property['name'], |
| 129 inherited=property['inherited'], | 129 inherited=property['inherited'], |
| 130 independent=property['independent'], | 130 independent=property['independent'], |
| 131 type=type_name, | 131 storage_type=type_name, |
| 132 size=int(math.ceil(bits_needed)), | 132 size=int(math.ceil(bits_needed)), |
| 133 default_value=default_value, | 133 default_value=default_value, |
| 134 getter_method_name=property_name_lower, | 134 getter_method_name=property_name_lower, |
| 135 setter_method_name='set' + property_name, | 135 setter_method_name='set' + property_name, |
| 136 initial_method_name='initial' + property_name, | 136 initial_method_name='initial' + property_name, |
| 137 resetter_method_name='reset' + property_name, | 137 resetter_method_name='reset' + property_name, |
| 138 is_inherited_method_name=property_name_lower + 'IsInherited'
, | 138 is_inherited_method_name=property_name_lower + 'IsInherited'
, |
| 139 )) | 139 )) |
| 140 | 140 |
| 141 # Small optimization: order fields by size, from largest to smallest, | 141 # Small optimization: order fields by size, from largest to smallest, |
| (...skipping 19 matching lines...) Expand all Loading... |
| 161 @template_expander.use_jinja('ComputedStyleBaseConstants.h.tmpl') | 161 @template_expander.use_jinja('ComputedStyleBaseConstants.h.tmpl') |
| 162 def generate_base_computed_style_constants(self): | 162 def generate_base_computed_style_constants(self): |
| 163 return { | 163 return { |
| 164 'properties': self._properties, | 164 'properties': self._properties, |
| 165 'enums': self._computed_enums, | 165 'enums': self._computed_enums, |
| 166 'fields': self._fields, | 166 'fields': self._fields, |
| 167 } | 167 } |
| 168 | 168 |
| 169 if __name__ == '__main__': | 169 if __name__ == '__main__': |
| 170 in_generator.Maker(ComputedStyleBaseWriter).main(sys.argv) | 170 in_generator.Maker(ComputedStyleBaseWriter).main(sys.argv) |
| OLD | NEW |