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

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

Issue 1645433002: Basic implementation of @apply (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix expted.txt for failing test Created 4 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 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
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 # We currently assign 0 to CSSPropertyInvalid, and 1 to CSSPropertyVaria ble 55 # 0: CSSPropertyInvalid
56 self._first_enum_value = 2 56 # 1: CSSPropertyApplyAtRule
57 # 2: CSSPropertyVariable
58 self._first_enum_value = 3
57 59
58 # StylePropertyMetadata additionally assumes there are under 1024 proper ties. 60 # 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.' 61 assert self._first_enum_value + len(properties) < 512, 'Property aliasin g expects there are under 512 properties.'
60 62
61 for offset, property in enumerate(properties): 63 for offset, property in enumerate(properties):
62 property['property_id'] = css_name_to_enum(property['name']) 64 property['property_id'] = css_name_to_enum(property['name'])
63 property['upper_camel_name'] = camelcase_css_name(property['name']) 65 property['upper_camel_name'] = camelcase_css_name(property['name'])
64 property['lower_camel_name'] = lower_first(property['upper_camel_nam e']) 66 property['lower_camel_name'] = lower_first(property['upper_camel_nam e'])
65 property['enum_value'] = self._first_enum_value + offset 67 property['enum_value'] = self._first_enum_value + offset
66 property['is_internal'] = property['name'].startswith('-internal-') 68 property['is_internal'] = property['name'].startswith('-internal-')
(...skipping 18 matching lines...) Expand all
85 """ 87 """
86 return ''.join(word.capitalize() for word in css_name.split('-')) 88 return ''.join(word.capitalize() for word in css_name.split('-'))
87 89
88 90
89 def css_name_to_enum(css_name): 91 def css_name_to_enum(css_name):
90 return 'CSSProperty' + camelcase_css_name(css_name) 92 return 'CSSProperty' + camelcase_css_name(css_name)
91 93
92 94
93 def css_alias_name_to_enum(css_name): 95 def css_alias_name_to_enum(css_name):
94 return 'CSSPropertyAlias' + camelcase_css_name(css_name) 96 return 'CSSPropertyAlias' + camelcase_css_name(css_name)
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698