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

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

Issue 2891003002: Store border-image-* on SurroundData in ComputedStyle (Closed)
Patch Set: Store border-image-* on SurroundData in ComputedStyle 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 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
11 import make_style_builder 11 import make_style_builder
12 12
13 from name_utilities import ( 13 from name_utilities import (
14 enum_for_css_keyword, enum_type_name, enum_value_name, class_member_name, me thod_name, 14 enum_for_css_keyword, enum_type_name, enum_value_name, class_member_name, me thod_name,
15 class_name, join_name 15 class_name, join_name
16 ) 16 )
17 from collections import defaultdict, OrderedDict 17 from collections import defaultdict, OrderedDict
18 from itertools import chain 18 from itertools import chain
19 19
20 # Heuristic ordering of types from largest to smallest, used to sort fields by t heir alignment sizes. 20 # Heuristic ordering of types from largest to smallest, used to sort fields by t heir alignment sizes.
21 # Specifying the exact alignment sizes for each type is impossible because it's platform specific, 21 # Specifying the exact alignment sizes for each type is impossible because it's platform specific,
22 # so we define an ordering instead. 22 # so we define an ordering instead.
23 # The ordering comes from the data obtained in: 23 # The ordering comes from the data obtained in:
24 # https://codereview.chromium.org/2841413002 24 # https://codereview.chromium.org/2841413002
25 # TODO(shend): Put alignment sizes into code form, rather than linking to a CL w hich may disappear. 25 # TODO(shend): Put alignment sizes into code form, rather than linking to a CL w hich may disappear.
26 ALIGNMENT_ORDER = [ 26 ALIGNMENT_ORDER = [
27 'double', 27 'double',
28 'Font', 'FillLayer', 'BorderData', # Aligns like a void * (can be 32 or 64 bits) 28 'Font', 'FillLayer', 'NinePieceImage', # Aligns like a void * (can be 32 or 64 bits)
29 'LengthBox', 'LengthSize', 'Length', 'float', 29 'LengthBox', 'LengthSize', 'Length', 'float',
30 'StyleColor', 'Color', 'unsigned', 'int', 30 'StyleColor', 'Color', 'unsigned', 'int',
31 'short', 31 'short',
32 'char', 32 'char',
33 'bool' 33 'bool'
34 ] 34 ]
35 35
36 # TODO(shend): Improve documentation and add docstrings. 36 # TODO(shend): Improve documentation and add docstrings.
37 37
38 38
(...skipping 403 matching lines...) Expand 10 before | Expand all | Expand 10 after
442 442
443 @template_expander.use_jinja('ComputedStyleBaseConstants.h.tmpl') 443 @template_expander.use_jinja('ComputedStyleBaseConstants.h.tmpl')
444 def generate_base_computed_style_constants(self): 444 def generate_base_computed_style_constants(self):
445 return { 445 return {
446 'properties': self._properties, 446 'properties': self._properties,
447 'enums': self._generated_enums, 447 'enums': self._generated_enums,
448 } 448 }
449 449
450 if __name__ == '__main__': 450 if __name__ == '__main__':
451 json5_generator.Maker(ComputedStyleBaseWriter).main() 451 json5_generator.Maker(ComputedStyleBaseWriter).main()
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698