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 206 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
217 field_dependencies = _list_field_dependencies(methods_to_diff + predicates_t
o_test) | 217 field_dependencies = _list_field_dependencies(methods_to_diff + predicates_t
o_test) |
218 for subgroup in root_group.subgroups: | 218 for subgroup in root_group.subgroups: |
219 if any(field.property_name in (fields_to_diff + field_dependencies) for
field in subgroup.all_fields): | 219 if any(field.property_name in (fields_to_diff + field_dependencies) for
field in subgroup.all_fields): |
220 diff_group.subgroups.append(_create_diff_groups(fields_to_diff, meth
ods_to_diff, predicates_to_test, subgroup)) | 220 diff_group.subgroups.append(_create_diff_groups(fields_to_diff, meth
ods_to_diff, predicates_to_test, subgroup)) |
221 for entry in fields_to_diff: | 221 for entry in fields_to_diff: |
222 for field in root_group.fields: | 222 for field in root_group.fields: |
223 if not field.is_inherited_flag and entry == field.property_name: | 223 if not field.is_inherited_flag and entry == field.property_name: |
224 diff_group.fields.append(field) | 224 diff_group.fields.append(field) |
225 for entry in methods_to_diff: | 225 for entry in methods_to_diff: |
226 for field in root_group.fields: | 226 for field in root_group.fields: |
227 if not field.is_inherited_flag and field.property_name in entry['fie
ld_dependencies']: | 227 if (not field.is_inherited_flag and field.property_name in entry['fi
eld_dependencies'] |
| 228 and entry['method'] not in diff_group.expressions): |
228 diff_group.expressions.append(entry['method']) | 229 diff_group.expressions.append(entry['method']) |
229 for entry in predicates_to_test: | 230 for entry in predicates_to_test: |
230 for field in root_group.fields: | 231 for field in root_group.fields: |
231 if not field.is_inherited_flag and field.property_name in entry['fie
ld_dependencies']: | 232 if (not field.is_inherited_flag and field.property_name in entry['fi
eld_dependencies'] |
| 233 and entry['predicate'] not in diff_group.predicates): |
232 diff_group.predicates.append(entry['predicate']) | 234 diff_group.predicates.append(entry['predicate']) |
233 return diff_group | 235 return diff_group |
234 | 236 |
235 | 237 |
236 def _create_enums(properties): | 238 def _create_enums(properties): |
237 """ | 239 """ |
238 Returns an OrderedDict of enums to be generated, enum name -> [list of enum
values] | 240 Returns an OrderedDict of enums to be generated, enum name -> [list of enum
values] |
239 """ | 241 """ |
240 enums = {} | 242 enums = {} |
241 for property_ in properties: | 243 for property_ in properties: |
(...skipping 228 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
470 | 472 |
471 @template_expander.use_jinja('ComputedStyleBaseConstants.h.tmpl') | 473 @template_expander.use_jinja('ComputedStyleBaseConstants.h.tmpl') |
472 def generate_base_computed_style_constants(self): | 474 def generate_base_computed_style_constants(self): |
473 return { | 475 return { |
474 'properties': self._properties, | 476 'properties': self._properties, |
475 'enums': self._generated_enums, | 477 'enums': self._generated_enums, |
476 } | 478 } |
477 | 479 |
478 if __name__ == '__main__': | 480 if __name__ == '__main__': |
479 json5_generator.Maker(ComputedStyleBaseWriter).main() | 481 json5_generator.Maker(ComputedStyleBaseWriter).main() |
OLD | NEW |