Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2924)

Unified Diff: third_party/WebKit/Source/build/scripts/make_computed_style_base.py

Issue 2902433002: Generates predicates to test in diff functions in ComputedStyle (Closed)
Patch Set: format changes Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | third_party/WebKit/Source/build/scripts/templates/fields/field.tmpl » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 37f22b97c1fac1c98cc36e0ac696a2bf10e825f1..787cee19849787eef9a24045da25f01337c15b4e 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,23 +193,24 @@ 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 + predicates_to_test)
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 not field.is_inherited_flag:
if field.property_name in fields_to_diff:
@@ -216,6 +218,9 @@ def _create_diff_groups(fields_to_diff, methods_to_diff, root_group):
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
« no previous file with comments | « no previous file | third_party/WebKit/Source/build/scripts/templates/fields/field.tmpl » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698