| 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 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 82 enum_name = property['type_name'] | 82 enum_name = property['type_name'] |
| 83 # From the Blink style guide: Enum members should use InterCaps
with an initial capital letter. [names-enum-members] | 83 # From the Blink style guide: Enum members should use InterCaps
with an initial capital letter. [names-enum-members] |
| 84 enum_values = [camel_case(k) for k in property['keywords']] | 84 enum_values = [camel_case(k) for k in property['keywords']] |
| 85 self._computed_enums[enum_name] = enum_values | 85 self._computed_enums[enum_name] = enum_values |
| 86 | 86 |
| 87 # A list of all the fields to be generated. | 87 # A list of all the fields to be generated. |
| 88 self._fields = [] | 88 self._fields = [] |
| 89 for property in self._properties.values(): | 89 for property in self._properties.values(): |
| 90 if property['keyword_only']: | 90 if property['keyword_only']: |
| 91 property_name = property['name_for_methods'] | 91 property_name = property['name_for_methods'] |
| 92 if property['name_for_methods']: | |
| 93 property_name = property['name_for_methods'] | |
| 94 property_name_lower = property_name[0].lower() + property_name[1
:] | 92 property_name_lower = property_name[0].lower() + property_name[1
:] |
| 95 | 93 |
| 96 # From the Blink style guide: Other data members should be prefi
xed by "m_". [names-data-members] | 94 # From the Blink style guide: Other data members should be prefi
xed by "m_". [names-data-members] |
| 97 field_name = 'm_' + property_name_lower | 95 field_name = 'm_' + property_name_lower |
| 98 bits_needed = math.log(len(property['keywords']), 2) | 96 bits_needed = math.log(len(property['keywords']), 2) |
| 99 type_name = property['type_name'] | 97 type_name = property['type_name'] |
| 100 | 98 |
| 101 assert property['initial_keyword'] is not None, \ | 99 assert property['initial_keyword'] is not None, \ |
| 102 ('MakeComputedStyleBase requires an initial keyword for keyw
ord_only values, none specified ' | 100 ('MakeComputedStyleBase requires an initial keyword for keyw
ord_only values, none specified ' |
| 103 'for property ' + property['name']) | 101 'for property ' + property['name']) |
| 104 default_value = type_name + '::' + camel_case(property['initial_
keyword']) | 102 default_value = type_name + '::' + camel_case(property['initial_
keyword']) |
| 105 | 103 |
| 106 # If the property is independent, add the single-bit sized isInh
erited flag | 104 # If the property is independent, add the single-bit sized isInh
erited flag |
| 107 # to the list of Fields as well. | 105 # to the list of Fields as well. |
| 108 if property['independent']: | 106 if property['independent']: |
| 109 field_name_suffix_upper = property['name_for_methods'] + 'Is
Inherited' | 107 field_name_suffix_upper = property_name + 'IsInherited' |
| 110 field_name_suffix_lower = property_name_lower + 'IsInherited
' | 108 field_name_suffix_lower = property_name_lower + 'IsInherited
' |
| 111 self._fields.append(Field( | 109 self._fields.append(Field( |
| 112 'inherited_flag', | 110 'inherited_flag', |
| 113 name='m_' + field_name_suffix_lower, | 111 name='m_' + field_name_suffix_lower, |
| 114 property_name=property['name'], | 112 property_name=property['name'], |
| 115 storage_type='bool', | 113 storage_type='bool', |
| 116 size=1, | 114 size=1, |
| 117 default_value='true', | 115 default_value='true', |
| 118 getter_method_name=field_name_suffix_lower, | 116 getter_method_name=field_name_suffix_lower, |
| 119 setter_method_name='set' + field_name_suffix_upper, | 117 setter_method_name='set' + field_name_suffix_upper, |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 161 @template_expander.use_jinja('ComputedStyleBaseConstants.h.tmpl') | 159 @template_expander.use_jinja('ComputedStyleBaseConstants.h.tmpl') |
| 162 def generate_base_computed_style_constants(self): | 160 def generate_base_computed_style_constants(self): |
| 163 return { | 161 return { |
| 164 'properties': self._properties, | 162 'properties': self._properties, |
| 165 'enums': self._computed_enums, | 163 'enums': self._computed_enums, |
| 166 'fields': self._fields, | 164 'fields': self._fields, |
| 167 } | 165 } |
| 168 | 166 |
| 169 if __name__ == '__main__': | 167 if __name__ == '__main__': |
| 170 in_generator.Maker(ComputedStyleBaseWriter).main(sys.argv) | 168 in_generator.Maker(ComputedStyleBaseWriter).main(sys.argv) |
| OLD | NEW |