| Index: lib/dom/scripts/dartdomgenerator.py
|
| diff --git a/lib/dom/scripts/dartdomgenerator.py b/lib/dom/scripts/dartdomgenerator.py
|
| index d3b96669fd1fc0bf91ba89a563b3b3bfe5774962..341a8a6ef113f6a9cb74861bca51059da34b8675 100755
|
| --- a/lib/dom/scripts/dartdomgenerator.py
|
| +++ b/lib/dom/scripts/dartdomgenerator.py
|
| @@ -14,6 +14,8 @@ import os
|
| import shutil
|
| import subprocess
|
| import sys
|
| +from generator import TypeRegistry
|
| +from systembase import GeneratorOptions
|
| from systemfrog import FrogSystem
|
| from systemhtml import HtmlInterfacesSystem, HtmlFrogSystem
|
| from systeminterface import InterfacesSystem
|
| @@ -60,6 +62,11 @@ def Generate(system_names, database_dir, use_database_cache, dom_output_dir,
|
| generator.RenameTypes(webkit_database, _webkit_renames, True)
|
| generator.FixEventTargets(webkit_database)
|
|
|
| + def CreateGeneratorOptions(template_paths, conditions, output_dir):
|
| + return GeneratorOptions(
|
| + TemplateLoader(template_dir, template_paths, conditions),
|
| + webkit_database, emitters, TypeRegistry(), output_dir)
|
| +
|
| def Generate(system):
|
| generator.Generate(webkit_database, system,
|
| super_database=common_database,
|
| @@ -69,37 +76,35 @@ def Generate(system_names, database_dir, use_database_cache, dom_output_dir,
|
|
|
| for system_name in system_names:
|
| if system_name in ['htmlfrog', 'htmldartium']:
|
| - output_dir = html_output_dir
|
| if system_name == 'htmlfrog':
|
| - backend = HtmlFrogSystem(
|
| - TemplateLoader(template_dir,
|
| - ['html/frog', 'html/impl', 'html', ''],
|
| - {'DARTIUM': False, 'FROG': True}),
|
| - webkit_database, emitters, output_dir)
|
| + options = CreateGeneratorOptions(
|
| + ['html/frog', 'html/impl', 'html', ''],
|
| + {'DARTIUM': False, 'FROG': True},
|
| + html_output_dir)
|
| + backend = HtmlFrogSystem(options)
|
| else:
|
| - backend = NativeImplementationSystem(
|
| - TemplateLoader(template_dir, ['dom/native', 'html/dartium',
|
| - 'html/impl', ''],
|
| - {'DARTIUM': True, 'FROG': False}),
|
| - webkit_database, emitters, output_dir, auxiliary_dir)
|
| - html_system = HtmlInterfacesSystem(
|
| - TemplateLoader(template_dir, ['html/interface', 'html/impl', 'html',
|
| - '']),
|
| - webkit_database, emitters, output_dir, backend)
|
| + options = CreateGeneratorOptions(
|
| + ['dom/native', 'html/dartium', 'html/impl', ''],
|
| + {'DARTIUM': True, 'FROG': False},
|
| + html_output_dir)
|
| + backend = NativeImplementationSystem(options, auxiliary_dir)
|
| + options = CreateGeneratorOptions(
|
| + ['html/interface', 'html/impl', 'html', ''], {}, html_output_dir)
|
| + html_system = HtmlInterfacesSystem(options, backend)
|
| Generate(html_system)
|
| else:
|
| - output_dir = dom_output_dir
|
| - interface_system = InterfacesSystem(
|
| - TemplateLoader(template_dir, ['dom/interface', 'dom', '']),
|
| - webkit_database, emitters, output_dir)
|
| + options = CreateGeneratorOptions(
|
| + ['dom/interface', 'dom', ''], {}, dom_output_dir)
|
| + interface_system = InterfacesSystem(options)
|
| if system_name == 'dummy':
|
| + options = CreateGeneratorOptions(
|
| + ['dom/dummy', 'dom', ''], {}, dom_output_dir)
|
| implementation_system = dartgenerator.DummyImplementationSystem(
|
| - TemplateLoader(template_dir, ['dom/dummy', 'dom', '']),
|
| - webkit_database, emitters, output_dir)
|
| + options)
|
| elif system_name == 'frog':
|
| - implementation_system = FrogSystem(
|
| - TemplateLoader(template_dir, ['dom/frog', 'dom', '']),
|
| - webkit_database, emitters, output_dir)
|
| + options = CreateGeneratorOptions(
|
| + ['dom/frog', 'dom', ''], {}, dom_output_dir)
|
| + implementation_system = FrogSystem(options)
|
| else:
|
| raise Exception('Unsupported system_name %s' % system_name)
|
|
|
|
|