Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 Loading... | |
| 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 Loading... | |
| 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) |
| OLD | NEW |