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

Side by Side Diff: core/scripts/make_runtime_features.py

Issue 15685002: IDL roll. (Closed) Base URL: http://dart.googlecode.com/svn/third_party/WebCore/
Patch Set: Created 7 years, 7 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
« no previous file with comments | « core/scripts/make_event_factory.py ('k') | core/storage/Storage.idl » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 # Copyright (C) 2013 Google Inc. All rights reserved. 2 # Copyright (C) 2013 Google Inc. All rights reserved.
3 # 3 #
4 # Redistribution and use in source and binary forms, with or without 4 # Redistribution and use in source and binary forms, with or without
5 # modification, are permitted provided that the following conditions are 5 # modification, are permitted provided that the following conditions are
6 # met: 6 # met:
7 # 7 #
8 # * Redistributions of source code must retain the above copyright 8 # * Redistributions of source code must retain the above copyright
9 # notice, this list of conditions and the following disclaimer. 9 # notice, this list of conditions and the following disclaimer.
10 # * Redistributions in binary form must reproduce the above 10 # * Redistributions in binary form must reproduce the above
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
90 enabled_condition += " && is%sEnabled" % dependant_name 90 enabled_condition += " && is%sEnabled" % dependant_name
91 feature['enabled_condition'] = enabled_condition 91 feature['enabled_condition'] = enabled_condition
92 self._non_custom_features = filter(lambda feature: not feature['custom'] , self._all_features) 92 self._non_custom_features = filter(lambda feature: not feature['custom'] , self._all_features)
93 93
94 def _lower_first(self, string): 94 def _lower_first(self, string):
95 lowered = string[0].lower() + string[1:] 95 lowered = string[0].lower() + string[1:]
96 lowered = lowered.replace("cSS", "css") 96 lowered = lowered.replace("cSS", "css")
97 lowered = lowered.replace("iME", "ime") 97 lowered = lowered.replace("iME", "ime")
98 return lowered 98 return lowered
99 99
100 def _wrap_with_condition(self, string, condition):
101 if not condition:
102 return string
103 return "#if ENABLE(%(condition)s)\n%(string)s\n#endif" % { 'condition' : condition, 'string' : string }
104
105 def _method_declaration(self, feature): 100 def _method_declaration(self, feature):
106 if feature['custom']: 101 if feature['custom']:
107 return " static bool %(first_lowered_name)sEnabled();\n" % featur e 102 return " static bool %(first_lowered_name)sEnabled();\n" % featur e
108 unconditional = """ static void set%(name)sEnabled(bool isEnabled) { is%(name)sEnabled = isEnabled; } 103 unconditional = """ static void set%(name)sEnabled(bool isEnabled) { is%(name)sEnabled = isEnabled; }
109 static bool %(first_lowered_name)sEnabled() { return %(enabled_condition)s; } 104 static bool %(first_lowered_name)sEnabled() { return %(enabled_condition)s; }
110 """ 105 """
111 conditional = "#if ENABLE(%(condition)s)\n" + unconditional + """#else 106 conditional = "#if ENABLE(%(condition)s)\n" + unconditional + """#else
112 static void set%(name)sEnabled(bool) { } 107 static void set%(name)sEnabled(bool) { }
113 static bool %(first_lowered_name)sEnabled() { return false; } 108 static bool %(first_lowered_name)sEnabled() { return false; }
114 #endif 109 #endif
115 """ 110 """
116 template = conditional if feature['condition'] else unconditional 111 template = conditional if feature['condition'] else unconditional
117 return template % feature 112 return template % feature
118 113
119 def _storage_declarations(self, feature): 114 def _storage_declarations(self, feature):
120 declaration = " static bool is%(name)sEnabled;" % feature 115 declaration = " static bool is%(name)sEnabled;" % feature
121 return self._wrap_with_condition(declaration, feature['condition']) 116 return self.wrap_with_condition(declaration, feature['condition'])
122 117
123 def generate_header(self): 118 def generate_header(self):
124 return HEADER_TEMPLATE % { 119 return HEADER_TEMPLATE % {
125 'class_name' : self.class_name, 120 'class_name' : self.class_name,
126 'license' : license.license_for_generated_cpp(), 121 'license' : license.license_for_generated_cpp(),
127 'method_declarations' : "\n".join(map(self._method_declaration, self ._all_features)), 122 'method_declarations' : "\n".join(map(self._method_declaration, self ._all_features)),
128 'storage_declarations' : "\n".join(map(self._storage_declarations, s elf._non_custom_features)), 123 'storage_declarations' : "\n".join(map(self._storage_declarations, s elf._non_custom_features)),
129 } 124 }
130 125
131 def _storage_definition(self, feature): 126 def _storage_definition(self, feature):
132 definition = "bool RuntimeEnabledFeatures::is%(name)sEnabled = %(default )s;" % feature 127 definition = "bool RuntimeEnabledFeatures::is%(name)sEnabled = %(default )s;" % feature
133 return self._wrap_with_condition(definition, feature['condition']) 128 return self.wrap_with_condition(definition, feature['condition'])
134 129
135 def generate_implementation(self): 130 def generate_implementation(self):
136 return IMPLEMENTATION_TEMPLATE % { 131 return IMPLEMENTATION_TEMPLATE % {
137 'class_name' : self.class_name, 132 'class_name' : self.class_name,
138 'license' : license.license_for_generated_cpp(), 133 'license' : license.license_for_generated_cpp(),
139 'storage_definitions' : "\n".join(map(self._storage_definition, self ._non_custom_features)), 134 'storage_definitions' : "\n".join(map(self._storage_definition, self ._non_custom_features)),
140 } 135 }
141 136
142 137
143 if __name__ == "__main__": 138 if __name__ == "__main__":
144 in_generator.Maker(RuntimeFeatureWriter).main(sys.argv) 139 in_generator.Maker(RuntimeFeatureWriter).main(sys.argv)
OLDNEW
« no previous file with comments | « core/scripts/make_event_factory.py ('k') | core/storage/Storage.idl » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698