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

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

Issue 1192983003: CSS Custom Properties (Variables) (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Post-merge Created 5 years, 2 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 | Annotate | Revision Log
OLDNEW
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 2
3 import os.path 3 import os.path
4 import re 4 import re
5 import subprocess 5 import subprocess
6 import sys 6 import sys
7 7
8 from in_file import InFile 8 from in_file import InFile
9 from name_utilities import upper_first_letter 9 from name_utilities import upper_first_letter
10 import in_generator 10 import in_generator
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
105 'mode': None, 105 'mode': None,
106 } 106 }
107 107
108 def __init__(self, file_paths): 108 def __init__(self, file_paths):
109 in_generator.Writer.__init__(self, file_paths) 109 in_generator.Writer.__init__(self, file_paths)
110 self._outputs = {(self.class_name + ".h"): self.generate_header, 110 self._outputs = {(self.class_name + ".h"): self.generate_header,
111 (self.class_name + ".cpp"): self.generate_implementatio n, 111 (self.class_name + ".cpp"): self.generate_implementatio n,
112 } 112 }
113 113
114 self._value_keywords = self.in_file.name_dictionaries 114 self._value_keywords = self.in_file.name_dictionaries
115 first_property_id = 1 115 # We start with 2 to avoid CSSPropertyVariable
116 first_property_id = 2
Timothy Loh 2015/09/30 02:09:27 This shouldn't need to change?
116 for offset, property in enumerate(self._value_keywords): 117 for offset, property in enumerate(self._value_keywords):
117 property['lower_name'] = property['name'].lower() 118 property['lower_name'] = property['name'].lower()
118 property['enum_name'] = self._enum_name_from_value_keyword(property[ 'name']) 119 property['enum_name'] = self._enum_name_from_value_keyword(property[ 'name'])
119 property['enum_value'] = first_property_id + offset 120 property['enum_value'] = first_property_id + offset
120 if property['name'].startswith('-internal-'): 121 if property['name'].startswith('-internal-'):
121 assert property['mode'] is None, 'Can\'t specify mode for value keywords with the prefix "-internal-".' 122 assert property['mode'] is None, 'Can\'t specify mode for value keywords with the prefix "-internal-".'
122 property['mode'] = 'UASheet' 123 property['mode'] = 'UASheet'
123 else: 124 else:
124 assert property['mode'] != 'UASheet', 'UASheet mode only value k eywords should have the prefix "-internal-".' 125 assert property['mode'] != 'UASheet', 'UASheet mode only value k eywords should have the prefix "-internal-".'
125 126
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
164 # FIXME: If we could depend on Python 2.7, we would use subprocess.check _output 165 # FIXME: If we could depend on Python 2.7, we would use subprocess.check _output
165 gperf_args = [self.gperf_path, '--key-positions=*', '-P', '-n'] 166 gperf_args = [self.gperf_path, '--key-positions=*', '-P', '-n']
166 gperf_args.extend(['-m', '50']) # Pick best of 50 attempts. 167 gperf_args.extend(['-m', '50']) # Pick best of 50 attempts.
167 gperf_args.append('-D') # Allow duplicate hashes -> More compact code. 168 gperf_args.append('-D') # Allow duplicate hashes -> More compact code.
168 gperf = subprocess.Popen(gperf_args, stdin=subprocess.PIPE, stdout=subpr ocess.PIPE, universal_newlines=True) 169 gperf = subprocess.Popen(gperf_args, stdin=subprocess.PIPE, stdout=subpr ocess.PIPE, universal_newlines=True)
169 return gperf.communicate(gperf_input)[0] 170 return gperf.communicate(gperf_input)[0]
170 171
171 172
172 if __name__ == "__main__": 173 if __name__ == "__main__":
173 in_generator.Maker(CSSValueKeywordsWriter).main(sys.argv) 174 in_generator.Maker(CSSValueKeywordsWriter).main(sys.argv)
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698