| 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 json5_generator | 9 import json5_generator |
| 10 import template_expander | 10 import template_expander |
| (...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 204 field_dependencies += entry['field_dependencies'] | 204 field_dependencies += entry['field_dependencies'] |
| 205 return field_dependencies | 205 return field_dependencies |
| 206 | 206 |
| 207 | 207 |
| 208 def _create_diff_groups(fields_to_diff, methods_to_diff, predicates_to_test, roo
t_group): | 208 def _create_diff_groups(fields_to_diff, methods_to_diff, predicates_to_test, roo
t_group): |
| 209 diff_group = DiffGroup(root_group.member_name) | 209 diff_group = DiffGroup(root_group.member_name) |
| 210 field_dependencies = _list_field_dependencies(methods_to_diff + predicates_t
o_test) | 210 field_dependencies = _list_field_dependencies(methods_to_diff + predicates_t
o_test) |
| 211 for subgroup in root_group.subgroups: | 211 for subgroup in root_group.subgroups: |
| 212 if any(field.property_name in (fields_to_diff + field_dependencies) for
field in subgroup.all_fields): | 212 if any(field.property_name in (fields_to_diff + field_dependencies) for
field in subgroup.all_fields): |
| 213 diff_group.subgroups.append(_create_diff_groups(fields_to_diff, meth
ods_to_diff, predicates_to_test, subgroup)) | 213 diff_group.subgroups.append(_create_diff_groups(fields_to_diff, meth
ods_to_diff, predicates_to_test, subgroup)) |
| 214 for field in root_group.fields: | 214 for entry in fields_to_diff: |
| 215 if not field.is_inherited_flag: | 215 for field in root_group.fields: |
| 216 if field.property_name in fields_to_diff: | 216 if not field.is_inherited_flag and entry == field.property_name: |
| 217 diff_group.expressions.append(field.getter_expression) | 217 diff_group.expressions.append(field.getter_expression) |
| 218 for entry in methods_to_diff: | 218 for entry in methods_to_diff: |
| 219 if field.property_name in entry['field_dependencies']: | 219 for field in root_group.fields: |
| 220 diff_group.expressions.append(entry['method']) | 220 if not field.is_inherited_flag and field.property_name in entry['fie
ld_dependencies']: |
| 221 for entry in predicates_to_test: | 221 diff_group.expressions.append(entry['method']) |
| 222 if field.property_name in entry['field_dependencies']: | 222 for entry in predicates_to_test: |
| 223 diff_group.predicates.append(entry['predicate']) | 223 for field in root_group.fields: |
| 224 if not field.is_inherited_flag and field.property_name in entry['fie
ld_dependencies']: |
| 225 diff_group.predicates.append(entry['predicate']) |
| 224 return diff_group | 226 return diff_group |
| 225 | 227 |
| 226 | 228 |
| 227 def _create_enums(properties): | 229 def _create_enums(properties): |
| 228 """ | 230 """ |
| 229 Returns an OrderedDict of enums to be generated, enum name -> [list of enum
values] | 231 Returns an OrderedDict of enums to be generated, enum name -> [list of enum
values] |
| 230 """ | 232 """ |
| 231 enums = {} | 233 enums = {} |
| 232 for property_ in properties: | 234 for property_ in properties: |
| 233 # Only generate enums for keyword properties that use the default field_
type_path. | 235 # Only generate enums for keyword properties that use the default field_
type_path. |
| (...skipping 223 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 457 | 459 |
| 458 @template_expander.use_jinja('ComputedStyleBaseConstants.h.tmpl') | 460 @template_expander.use_jinja('ComputedStyleBaseConstants.h.tmpl') |
| 459 def generate_base_computed_style_constants(self): | 461 def generate_base_computed_style_constants(self): |
| 460 return { | 462 return { |
| 461 'properties': self._properties, | 463 'properties': self._properties, |
| 462 'enums': self._generated_enums, | 464 'enums': self._generated_enums, |
| 463 } | 465 } |
| 464 | 466 |
| 465 if __name__ == '__main__': | 467 if __name__ == '__main__': |
| 466 json5_generator.Maker(ComputedStyleBaseWriter).main() | 468 json5_generator.Maker(ComputedStyleBaseWriter).main() |
| OLD | NEW |