Chromium Code Reviews| Index: third_party/WebKit/Source/build/scripts/make_computed_style_base.py |
| diff --git a/third_party/WebKit/Source/build/scripts/make_computed_style_base.py b/third_party/WebKit/Source/build/scripts/make_computed_style_base.py |
| index d47ba627750b990a4192063500a6f5c4283cce70..0f18f0a6736bb1e2e8d01bfa310059123d462082 100755 |
| --- a/third_party/WebKit/Source/build/scripts/make_computed_style_base.py |
| +++ b/third_party/WebKit/Source/build/scripts/make_computed_style_base.py |
| @@ -86,6 +86,7 @@ class DiffGroup(object): |
| self.group_name = group_name |
| self.subgroups = [] |
| self.expressions = [] |
| + self.predicates = [] |
| class Field(object): |
| @@ -192,29 +193,33 @@ def _group_fields(fields): |
| def _create_diff_groups_map(diff_function_inputs, root_group): |
| diff_functions_map = {} |
| for entry in diff_function_inputs: |
| - diff_functions_map[entry['name']] = _create_diff_groups(entry['fields_to_diff'], entry['methods_to_diff'], root_group) |
| + diff_functions_map[entry['name']] = _create_diff_groups(entry['fields_to_diff'], |
| + entry['methods_to_diff'], entry['predicates_to_test'], root_group) |
| return diff_functions_map |
| -def _list_field_dependencies(methods_to_diff): |
| +def _list_field_dependencies(entries_with_field_dependencies): |
| field_dependencies = [] |
| - for entry in methods_to_diff: |
| + for entry in entries_with_field_dependencies: |
| field_dependencies += entry['field_dependencies'] |
| return field_dependencies |
| -def _create_diff_groups(fields_to_diff, methods_to_diff, root_group): |
| +def _create_diff_groups(fields_to_diff, methods_to_diff, predicates_to_test, root_group): |
| diff_group = DiffGroup(root_group.member_name) |
| - field_dependencies = _list_field_dependencies(methods_to_diff) |
| + field_dependencies = _list_field_dependencies(methods_to_diff) + _list_field_dependencies(predicates_to_test) |
|
alancutter (OOO until 2018)
2017/05/24 07:43:18
The + can go inside the brackets instead if you wa
nainar
2017/05/24 08:01:45
Ooohh yeah good catch. Done.
|
| for subgroup in root_group.subgroups: |
| if any(field.property_name in (fields_to_diff + field_dependencies) for field in subgroup.all_fields): |
| - diff_group.subgroups.append(_create_diff_groups(fields_to_diff, methods_to_diff, subgroup)) |
| + diff_group.subgroups.append(_create_diff_groups(fields_to_diff, methods_to_diff, predicates_to_test, subgroup)) |
| for field in root_group.fields: |
| if field.property_name in fields_to_diff: |
| diff_group.expressions.append(field.getter_expression) |
| for entry in methods_to_diff: |
| if field.property_name in entry['field_dependencies']: |
| diff_group.expressions.append(entry['method']) |
| + for entry in predicates_to_test: |
| + if field.property_name in entry['field_dependencies']: |
| + diff_group.predicates.append(entry['predicate']) |
| return diff_group |