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

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

Issue 57813007: CSS property names and value keywords no longer requires conditions (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Julien's review on removing enabled_conditions param Created 7 years, 1 month 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 import in_generator 9 import in_generator
10 import license 10 import license
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
100 } 100 }
101 } 101 }
102 102
103 } // namespace WebCore 103 } // namespace WebCore
104 """ 104 """
105 105
106 106
107 class CSSValueKeywordsWriter(in_generator.Writer): 107 class CSSValueKeywordsWriter(in_generator.Writer):
108 class_name = "CSSValueKeywords" 108 class_name = "CSSValueKeywords"
109 defaults = { 109 defaults = {
110 'condition': None,
111 'mode': None, 110 'mode': None,
112 } 111 }
113 112
114 def __init__(self, file_paths, enabled_conditions): 113 def __init__(self, file_paths):
115 in_generator.Writer.__init__(self, file_paths, enabled_conditions) 114 in_generator.Writer.__init__(self, file_paths)
116 self._outputs = {(self.class_name + ".h"): self.generate_header, 115 self._outputs = {(self.class_name + ".h"): self.generate_header,
117 (self.class_name + ".cpp"): self.generate_implementatio n, 116 (self.class_name + ".cpp"): self.generate_implementatio n,
118 } 117 }
119 118
120 all_properties = self.in_file.name_dictionaries 119 self._value_keywords = self.in_file.name_dictionaries
121 self._value_keywords = filter(lambda property: not property['condition'] or property['condition'] in self._enabled_conditions, all_properties)
122 first_property_id = 1 120 first_property_id = 1
123 for offset, property in enumerate(self._value_keywords): 121 for offset, property in enumerate(self._value_keywords):
124 property['name'] = property['name'].lower() 122 property['name'] = property['name'].lower()
125 property['enum_name'] = self._enum_name_from_value_keyword(property[ 'name']) 123 property['enum_name'] = self._enum_name_from_value_keyword(property[ 'name'])
126 property['enum_value'] = first_property_id + offset 124 property['enum_value'] = first_property_id + offset
127 if property['name'].startswith('-internal-'): 125 if property['name'].startswith('-internal-'):
128 assert property['mode'] is None, 'Can\'t specify mode for value keywords with the prefix "-internal-".' 126 assert property['mode'] is None, 'Can\'t specify mode for value keywords with the prefix "-internal-".'
129 property['mode'] = 'UASheet' 127 property['mode'] = 'UASheet'
130 else: 128 else:
131 assert property['mode'] != 'UASheet', 'UASheet mode only value k eywords should have the prefix "-internal-".' 129 assert property['mode'] != 'UASheet', 'UASheet mode only value k eywords should have the prefix "-internal-".'
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
170 'quirks_mode_or_ua_sheet_mode_values_keywords': '\n '.join(map(se lf._case_value_keyword, self._value_keywords_with_mode('QuirksOrUASheet'))), 168 'quirks_mode_or_ua_sheet_mode_values_keywords': '\n '.join(map(se lf._case_value_keyword, self._value_keywords_with_mode('QuirksOrUASheet'))),
171 } 169 }
172 # FIXME: If we could depend on Python 2.7, we would use subprocess.check _output 170 # FIXME: If we could depend on Python 2.7, we would use subprocess.check _output
173 gperf_args = ['gperf', '--key-positions=*', '-D', '-n', '-s', '2'] 171 gperf_args = ['gperf', '--key-positions=*', '-D', '-n', '-s', '2']
174 gperf = subprocess.Popen(gperf_args, stdin=subprocess.PIPE, stdout=subpr ocess.PIPE) 172 gperf = subprocess.Popen(gperf_args, stdin=subprocess.PIPE, stdout=subpr ocess.PIPE)
175 return gperf.communicate(gperf_input)[0] 173 return gperf.communicate(gperf_input)[0]
176 174
177 175
178 if __name__ == "__main__": 176 if __name__ == "__main__":
179 in_generator.Maker(CSSValueKeywordsWriter).main(sys.argv) 177 in_generator.Maker(CSSValueKeywordsWriter).main(sys.argv)
OLDNEW
« no previous file with comments | « Source/build/scripts/make_css_property_names.py ('k') | Source/build/scripts/make_element_factory.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698