| Index: Source/build/scripts/make_style_builder.py
|
| diff --git a/Source/build/scripts/make_style_builder.py b/Source/build/scripts/make_style_builder.py
|
| index 599fdffc44e976246f51615b2f739b51cb255c4c..22e2f9202862f1561ebb0f197a1369d0e7c2257b 100755
|
| --- a/Source/build/scripts/make_style_builder.py
|
| +++ b/Source/build/scripts/make_style_builder.py
|
| @@ -27,79 +27,43 @@
|
| # (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 re
|
| import sys
|
|
|
| +import css_properties
|
| import in_generator
|
| -import name_utilities
|
| -from name_utilities import camelcase_property_name, lower_first
|
| +from name_utilities import lower_first
|
| import template_expander
|
|
|
|
|
| -class StyleBuilderWriter(in_generator.Writer):
|
| - class_name = 'StyleBuilder'
|
| +class StyleBuilderWriter(css_properties.CSSProperties):
|
| filters = {
|
| 'lower_first': lower_first,
|
| }
|
|
|
| - valid_values = {
|
| - 'svg': [True, False],
|
| - 'font': [True, False],
|
| - 'custom_all': [True, False],
|
| - 'custom_initial': [True, False],
|
| - 'custom_inherit': [True, False],
|
| - 'custom_value': [True, False],
|
| - 'skip': [True, False],
|
| - }
|
| - defaults = {
|
| - 'name_for_methods': None,
|
| - 'use_handlers_for': None,
|
| - 'svg': False,
|
| - 'font': False,
|
| - 'converter': None,
|
| - 'skip': False,
|
| -# These depend on property name by default
|
| - 'type_name': None,
|
| - 'getter': None,
|
| - 'setter': None,
|
| - 'initial': None,
|
| -# Setting these stops default handlers being generated
|
| -# Setting custom_all is the same as setting the other three
|
| - 'custom_all': False,
|
| - 'custom_initial': False,
|
| - 'custom_inherit': False,
|
| - 'custom_value': False,
|
| - }
|
| -
|
| - def __init__(self, in_files):
|
| - super(StyleBuilderWriter, self).__init__(in_files)
|
| + def __init__(self, in_file_path):
|
| + super(StyleBuilderWriter, self).__init__(in_file_path)
|
| self._outputs = {('StyleBuilderFunctions.h'): self.generate_style_builder_functions_h,
|
| ('StyleBuilderFunctions.cpp'): self.generate_style_builder_functions_cpp,
|
| ('StyleBuilder.cpp'): self.generate_style_builder,
|
| }
|
|
|
| - self._properties = self.in_file.name_dictionaries
|
| -
|
| def set_if_none(property, key, value):
|
| if property[key] is None:
|
| property[key] = value
|
|
|
| - for property in self._properties:
|
| - cc = camelcase_property_name(property['name'])
|
| - property['property_id'] = 'CSSProperty' + cc
|
| - cc = property['name_for_methods'] or cc.replace('Webkit', '')
|
| - property['camel_case_name'] = cc
|
| - set_if_none(property, 'type_name', 'E' + cc)
|
| - set_if_none(property, 'getter', lower_first(cc))
|
| - set_if_none(property, 'setter', 'set' + cc)
|
| - set_if_none(property, 'initial', 'initial' + cc)
|
| - if property['custom_all']:
|
| - property['custom_initial'] = True
|
| - property['custom_inherit'] = True
|
| - property['custom_value'] = True
|
| - property['should_declare_functions'] = not property['use_handlers_for'] and not property['skip']
|
| + for property in self._properties.values():
|
| + upper_camel = property['upper_camel_name']
|
| + set_if_none(property, 'name_for_methods', upper_camel.replace('Webkit', ''))
|
| + name = property['name_for_methods']
|
| + set_if_none(property, 'type_name', 'E' + name)
|
| + set_if_none(property, 'getter', lower_first(name))
|
| + set_if_none(property, 'setter', 'set' + name)
|
| + set_if_none(property, 'initial', 'initial' + name)
|
| + if property['longhands']:
|
| + property['sb_unreachable'] = True
|
| + property['should_declare_functions'] = not property['sb_unreachable'] and not property['sb_skip']
|
|
|
| - self._properties = dict((property['property_id'], property) for property in self._properties)
|
| + self._properties['CSSPropertyFont']['should_declare_functions'] = True
|
|
|
| @template_expander.use_jinja('StyleBuilderFunctions.h.tmpl',
|
| filters=filters)
|
|
|