• Home
  • History
  • Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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