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

Side by Side Diff: third_party/WebKit/Source/build/scripts/make_computed_style_base.py

Issue 2693933003: Move field-dependent code in ComputedStyleBase to Jinja macros. (Closed)
Patch Set: DRY Created 3 years, 10 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 unified diff | Download patch
OLDNEW
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 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
42 # List of required attributes for a field which need to be passed in by 42 # List of required attributes for a field which need to be passed in by
43 # keyword arguments. See CSSProperties.json5 for an explanation of each 43 # keyword arguments. See CSSProperties.json5 for an explanation of each
44 # attribute. 44 # attribute.
45 REQUIRED_ATTRIBUTES = set([ 45 REQUIRED_ATTRIBUTES = set([
46 # Name of field 46 # Name of field
47 'name', 47 'name',
48 # Name of property field is for 48 # Name of property field is for
49 'property_name', 49 'property_name',
50 # Name of the type (e.g. EClear, int) 50 # Name of the type (e.g. EClear, int)
51 'type_name', 51 'type_name',
52 # Affects how the field is generated (keyword, flag) 52 # Affects how the field is generated (keyword, flag, monotonic_flag)
53 'field_template', 53 'field_template',
54 # Bits needed for storage 54 # Bits needed for storage
55 'size', 55 'size',
56 # Default value for field 56 # Default value for field
57 'default_value', 57 'default_value',
58 # Method names 58 # Method names
59 'getter_method_name', 59 'getter_method_name',
60 'setter_method_name', 60 'setter_method_name',
61 'initial_method_name', 61 'initial_method_name',
62 'resetter_method_name', 62 'resetter_method_name',
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after
201 Create a nonproperty field from its name and return the Field object. 201 Create a nonproperty field from its name and return the Field object.
202 """ 202 """
203 member_name = 'm_' + field_name 203 member_name = 'm_' + field_name
204 field_name_upper = upper_first_letter(field_name) 204 field_name_upper = upper_first_letter(field_name)
205 205
206 return Field( 206 return Field(
207 'nonproperty', 207 'nonproperty',
208 name=member_name, 208 name=member_name,
209 property_name=field_name, 209 property_name=field_name,
210 type_name='bool', 210 type_name='bool',
211 field_template='flag', 211 field_template='monotonic_flag',
212 size=1, 212 size=1,
213 default_value='false', 213 default_value='false',
214 getter_method_name=field_name, 214 getter_method_name=field_name,
215 setter_method_name='set' + field_name_upper, 215 setter_method_name='set' + field_name_upper,
216 initial_method_name='initial' + field_name_upper, 216 initial_method_name='initial' + field_name_upper,
217 resetter_method_name='reset' + field_name_upper, 217 resetter_method_name='reset' + field_name_upper,
218 ) 218 )
219 219
220 220
221 def _create_fields(properties): 221 def _create_fields(properties):
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after
340 def generate_base_computed_style_constants(self): 340 def generate_base_computed_style_constants(self):
341 return { 341 return {
342 'properties': self._properties, 342 'properties': self._properties,
343 'enums': self._generated_enums, 343 'enums': self._generated_enums,
344 'fields': self._fields, 344 'fields': self._fields,
345 'expected_total_field_bytes': self._expected_total_field_bytes, 345 'expected_total_field_bytes': self._expected_total_field_bytes,
346 } 346 }
347 347
348 if __name__ == '__main__': 348 if __name__ == '__main__':
349 json5_generator.Maker(ComputedStyleBaseWriter).main() 349 json5_generator.Maker(ComputedStyleBaseWriter).main()
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698