summaryrefslogtreecommitdiffstats
path: root/chromium/third_party/WebKit/Source/build/scripts/make_runtime_features.py
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/WebKit/Source/build/scripts/make_runtime_features.py')
-rwxr-xr-xchromium/third_party/WebKit/Source/build/scripts/make_runtime_features.py29
1 files changed, 18 insertions, 11 deletions
diff --git a/chromium/third_party/WebKit/Source/build/scripts/make_runtime_features.py b/chromium/third_party/WebKit/Source/build/scripts/make_runtime_features.py
index c9656c8d129..37fb09c8917 100755
--- a/chromium/third_party/WebKit/Source/build/scripts/make_runtime_features.py
+++ b/chromium/third_party/WebKit/Source/build/scripts/make_runtime_features.py
@@ -27,21 +27,23 @@
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-import os.path
import sys
-from in_file import InFile
import in_generator
+import name_utilities
from name_utilities import lower_first
import template_expander
class RuntimeFeatureWriter(in_generator.Writer):
class_name = 'RuntimeEnabledFeatures'
+ filters = {
+ 'enable_conditional': name_utilities.enable_conditional_if_endif,
+ }
# FIXME: valid_values and defaults should probably roll into one object.
valid_values = {
- 'status': ['stable', 'experimental', 'test'],
+ 'status': ['stable', 'experimental', 'test', 'deprecated'],
}
defaults = {
'condition' : None,
@@ -50,37 +52,42 @@ class RuntimeFeatureWriter(in_generator.Writer):
'status': None,
}
+ _status_aliases = {
+ 'deprecated': 'test',
+ }
+
def __init__(self, in_file_path):
super(RuntimeFeatureWriter, self).__init__(in_file_path)
- self._outputs = {(self.class_name + ".h"): self.generate_header,
- (self.class_name + ".cpp"): self.generate_implementation,
+ self._outputs = {(self.class_name + '.h'): self.generate_header,
+ (self.class_name + '.cpp'): self.generate_implementation,
}
self._features = self.in_file.name_dictionaries
# Make sure the resulting dictionaries have all the keys we expect.
for feature in self._features:
feature['first_lowered_name'] = lower_first(feature['name'])
+ feature['status'] = self._status_aliases.get(feature['status'], feature['status'])
# Most features just check their isFooEnabled bool
# but some depend on more than one bool.
- enabled_condition = "is%sEnabled" % feature['name']
+ enabled_condition = 'is%sEnabled' % feature['name']
for dependant_name in feature['depends_on']:
- enabled_condition += " && is%sEnabled" % dependant_name
+ enabled_condition += ' && is%sEnabled' % dependant_name
feature['enabled_condition'] = enabled_condition
self._non_custom_features = filter(lambda feature: not feature['custom'], self._features)
def _feature_sets(self):
# Another way to think of the status levels is as "sets of features"
# which is how we're referring to them in this generator.
- return self.valid_values['status']
+ return [status for status in self.valid_values['status'] if status not in self._status_aliases]
- @template_expander.use_jinja(class_name + ".h.tmpl")
+ @template_expander.use_jinja(class_name + '.h.tmpl', filters=filters)
def generate_header(self):
return {
'features': self._features,
'feature_sets': self._feature_sets(),
}
- @template_expander.use_jinja(class_name + ".cpp.tmpl")
+ @template_expander.use_jinja(class_name + '.cpp.tmpl', filters=filters)
def generate_implementation(self):
return {
'features': self._features,
@@ -88,5 +95,5 @@ class RuntimeFeatureWriter(in_generator.Writer):
}
-if __name__ == "__main__":
+if __name__ == '__main__':
in_generator.Maker(RuntimeFeatureWriter).main(sys.argv)