| 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 d7cc12df0cbbc8a61cd3abc50d6bd492dcfe6fca..5de9c93a0919e51e4c6027cbb1cd81293a7c64bf 100755 | 
| --- a/Source/build/scripts/make_style_builder.py | 
| +++ b/Source/build/scripts/make_style_builder.py | 
| @@ -27,78 +27,47 @@ | 
| # (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, | 
| -        '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['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['sb_custom_all']: | 
| +                property['sb_custom_initial'] = True | 
| +                property['sb_custom_inherit'] = True | 
| +                property['sb_custom_value'] = True | 
| +            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) | 
|  |