Index: third_party/WebKit/Source/build/scripts/make_element_type_helpers.py |
diff --git a/third_party/WebKit/Source/build/scripts/make_element_type_helpers.py b/third_party/WebKit/Source/build/scripts/make_element_type_helpers.py |
index 035bf73018a68c00332535be4f10bcc2ff7c5d13..c6b4063eccf44e5e715889d12024eb7b0abfdcc4 100755 |
--- a/third_party/WebKit/Source/build/scripts/make_element_type_helpers.py |
+++ b/third_party/WebKit/Source/build/scripts/make_element_type_helpers.py |
@@ -7,27 +7,31 @@ |
from collections import defaultdict |
import hasher |
-import json5_generator |
+import in_generator |
import name_utilities |
import template_expander |
+from in_file import InFile |
+ |
def _symbol(tag): |
+ # FIXME: Remove this special case for the ugly x-webkit-foo attributes. |
+ if tag['name'].startswith('-webkit-'): |
+ return tag['name'].replace('-', '_')[1:] |
return name_utilities.cpp_name(tag).replace('-', '_') |
- |
-class MakeElementTypeHelpersWriter(json5_generator.Writer): |
+class MakeElementTypeHelpersWriter(in_generator.Writer): |
+ defaults = { |
+ 'Conditional': None, |
+ 'ImplementedAs': None, |
+ 'JSInterfaceName': None, |
+ 'constructorNeedsCreatedByParser': None, |
+ 'interfaceName': None, |
+ 'noConstructor': None, |
+ 'noTypeHelpers': None, |
+ 'runtimeEnabled': None, |
+ } |
default_parameters = { |
- 'Conditional': {}, |
- 'ImplementedAs': {}, |
- 'JSInterfaceName': {}, |
- 'constructorNeedsCreatedByParser': {}, |
- 'interfaceName': {}, |
- 'noConstructor': {}, |
- 'noTypeHelpers': {}, |
- 'runtimeEnabled': {}, |
- } |
- default_metadata = { |
'attrsNullNamespace': None, |
'export': '', |
'fallbackInterfaceName': '', |
@@ -41,11 +45,11 @@ |
'symbol': _symbol, |
} |
- def __init__(self, json5_file_path): |
- super(MakeElementTypeHelpersWriter, self).__init__(json5_file_path) |
+ def __init__(self, in_file_path): |
+ super(MakeElementTypeHelpersWriter, self).__init__(in_file_path) |
- self.namespace = self.json5_file.metadata['namespace'].strip('"') |
- self.fallback_interface = self.json5_file.metadata['fallbackInterfaceName'].strip('"') |
+ self.namespace = self.in_file.parameters['namespace'].strip('"') |
+ self.fallbackInterface = self.in_file.parameters['fallbackInterfaceName'].strip('"') |
assert self.namespace, 'A namespace is required.' |
@@ -56,7 +60,7 @@ |
self._template_context = { |
'namespace': self.namespace, |
- 'tags': self.json5_file.name_dictionaries, |
+ 'tags': self.in_file.name_dictionaries, |
'elements': set(), |
} |
@@ -69,7 +73,7 @@ |
elements.add(tag['interface']) |
for tag in tags: |
- tag['multipleTagNames'] = (interface_counts[tag['interface']] > 1 or tag['interface'] == self.fallback_interface) |
+ tag['multipleTagNames'] = (interface_counts[tag['interface']] > 1 or tag['interface'] == self.fallbackInterface) |
@template_expander.use_jinja("ElementTypeHelpers.h.tmpl", filters=filters) |
def generate_helper_header(self): |
@@ -93,4 +97,4 @@ |
return '%s%sElement' % (self.namespace, name) |
if __name__ == "__main__": |
- json5_generator.Maker(MakeElementTypeHelpersWriter).main() |
+ in_generator.Maker(MakeElementTypeHelpersWriter).main(sys.argv) |