OLD | NEW |
1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
2 # Copyright 2014 The Chromium Authors. All rights reserved. | 2 # Copyright 2014 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 in_generator | 6 import in_generator |
7 from name_utilities import lower_first | 7 from name_utilities import lower_first |
8 | 8 |
9 | 9 |
10 class CSSProperties(in_generator.Writer): | 10 class CSSProperties(in_generator.Writer): |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
45 } | 45 } |
46 | 46 |
47 def __init__(self, file_paths): | 47 def __init__(self, file_paths): |
48 in_generator.Writer.__init__(self, file_paths) | 48 in_generator.Writer.__init__(self, file_paths) |
49 | 49 |
50 properties = self.in_file.name_dictionaries | 50 properties = self.in_file.name_dictionaries |
51 | 51 |
52 self._aliases = [property for property in properties if property['alias_
for']] | 52 self._aliases = [property for property in properties if property['alias_
for']] |
53 properties = [property for property in properties if not property['alias
_for']] | 53 properties = [property for property in properties if not property['alias
_for']] |
54 | 54 |
55 # StylePropertyMetadata additionally assumes there are under 1024 proper
ties. | |
56 assert len(properties) < 512, 'Property aliasing expects there are under
512 properties.' | |
57 | |
58 # We currently assign 0 to CSSPropertyInvalid | 55 # We currently assign 0 to CSSPropertyInvalid |
59 self._first_enum_value = 1 | 56 self._first_enum_value = 1 |
| 57 |
| 58 # StylePropertyMetadata additionally assumes there are under 1024 proper
ties. |
| 59 assert self._first_enum_value + len(properties) < 512, 'Property aliasin
g expects there are under 512 properties.' |
| 60 |
60 for offset, property in enumerate(properties): | 61 for offset, property in enumerate(properties): |
61 property['property_id'] = css_name_to_enum(property['name']) | 62 property['property_id'] = css_name_to_enum(property['name']) |
62 property['upper_camel_name'] = camelcase_css_name(property['name']) | 63 property['upper_camel_name'] = camelcase_css_name(property['name']) |
63 property['lower_camel_name'] = lower_first(property['upper_camel_nam
e']) | 64 property['lower_camel_name'] = lower_first(property['upper_camel_nam
e']) |
64 property['enum_value'] = self._first_enum_value + offset | 65 property['enum_value'] = self._first_enum_value + offset |
65 property['is_internal'] = property['name'].startswith('-internal-') | 66 property['is_internal'] = property['name'].startswith('-internal-') |
66 | 67 |
67 self._properties_including_aliases = properties | 68 self._properties_including_aliases = properties |
68 self._properties = {property['property_id']: property for property in pr
operties} | 69 self._properties = {property['property_id']: property for property in pr
operties} |
69 | 70 |
(...skipping 14 matching lines...) Expand all Loading... |
84 """ | 85 """ |
85 return ''.join(word.capitalize() for word in css_name.split('-')) | 86 return ''.join(word.capitalize() for word in css_name.split('-')) |
86 | 87 |
87 | 88 |
88 def css_name_to_enum(css_name): | 89 def css_name_to_enum(css_name): |
89 return 'CSSProperty' + camelcase_css_name(css_name) | 90 return 'CSSProperty' + camelcase_css_name(css_name) |
90 | 91 |
91 | 92 |
92 def css_alias_name_to_enum(css_name): | 93 def css_alias_name_to_enum(css_name): |
93 return 'CSSPropertyAlias' + camelcase_css_name(css_name) | 94 return 'CSSPropertyAlias' + camelcase_css_name(css_name) |
OLD | NEW |