1#!/usr/bin/env python 2# Copyright 2014 The Chromium Authors. All rights reserved. 3# Use of this source code is governed by a BSD-style license that can be 4# found in the LICENSE file. 5 6import sys 7 8import css_properties 9import in_generator 10from name_utilities import lower_first 11import template_expander 12 13 14class CSSPropertyMetadataWriter(css_properties.CSSProperties): 15 filters = { 16 'lower_first': lower_first, 17 } 18 19 def __init__(self, in_file_path): 20 super(CSSPropertyMetadataWriter, self).__init__(in_file_path) 21 self._outputs = {'CSSPropertyMetadata.cpp': self.generate_css_property_metadata_cpp} 22 23 @template_expander.use_jinja('CSSPropertyMetadata.cpp.tmpl', filters=filters) 24 def generate_css_property_metadata_cpp(self): 25 return { 26 'properties': self._properties, 27 'switches': [('animatable', 'isAnimatableProperty'), 28 ('inherited', 'isInheritedProperty'), 29 ], 30 'first_enum_value': self._first_enum_value, 31 } 32 33 34if __name__ == '__main__': 35 in_generator.Maker(CSSPropertyMetadataWriter).main(sys.argv) 36