Index: tools/dom/scripts/dartdomgenerator.py |
diff --git a/tools/dom/scripts/dartdomgenerator.py b/tools/dom/scripts/dartdomgenerator.py |
index 5a35903751facb2226ca784ab37b437d46eb6e52..4b07d771ae6a9a86fbaabd7718b5aa763571c2a8 100755 |
--- a/tools/dom/scripts/dartdomgenerator.py |
+++ b/tools/dom/scripts/dartdomgenerator.py |
@@ -45,6 +45,7 @@ import subprocess |
import time |
from dartmetadata import DartMetadata |
from generator import TypeRegistry |
+from generate_blink_file import Generate_Blink |
from htmleventgenerator import HtmlEventGenerator |
from htmlrenamer import HtmlRenamer |
from systemhtml import DartLibraryEmitter, Dart2JSBackend,\ |
@@ -78,8 +79,9 @@ def LoadDatabase(database_dir, use_database_cache): |
common_database.Load() |
return common_database |
-def GenerateFromDatabase(common_database, dart2js_output_dir, |
- dartium_output_dir, update_dom_metadata=False, |
+def GenerateFromDatabase(common_database, |
+ dart2js_output_dir, dartium_output_dir, blink_output_dir, |
+ update_dom_metadata=False, |
logging_level=logging.WARNING, dart_js_interop=False): |
print '\n ----- Accessing DOM using %s -----\n' % ('dart:js' if dart_js_interop else 'C++') |
@@ -194,6 +196,14 @@ def GenerateFromDatabase(common_database, dart2js_output_dir, |
webkit_database, dartium_output_dir, type_registry, renamer) |
emitters.Flush() |
+ if blink_output_dir: |
+ print '\nGenerating _blink:\n' |
+ start_time = time.time() |
+ |
+ Generate_Blink(blink_output_dir, webkit_database, type_registry) |
+ |
+ print 'Generated _blink in %s seconds' % round(time.time() - start_time, 2) |
+ |
if update_dom_metadata: |
metadata.Flush() |
@@ -222,8 +232,8 @@ def main(): |
help='Use fremontcut in parallel mode.') |
parser.add_option('--systems', dest='systems', |
action='store', type='string', |
- default='htmldart2js,htmldartium', |
- help='Systems to generate (htmldart2js, htmldartium)') |
+ default='htmldart2js,htmldartium,_blink', |
+ help='Systems to generate (htmldart2js, htmldartium, _blink)') |
parser.add_option('--output-dir', dest='output_dir', |
action='store', type='string', |
default=None, |
@@ -267,6 +277,9 @@ def main(): |
dartium_output_dir = None |
if 'htmldartium' in systems: |
dartium_output_dir = os.path.join(output_dir, 'dartium') |
+ blink_output_dir = None |
+ if '_blink' in systems: |
+ blink_output_dir = os.path.join(output_dir, 'dartium') |
logging_level = options.logging_level \ |
if options.logging == logging.NOTSET else options.logging |
@@ -278,8 +291,13 @@ def main(): |
# Parse the IDL and create the database. |
database = fremontcutbuilder.main(options.parallel, logging_level=logging_level, examine_idls=options.examine_idls) |
- GenerateFromDatabase(database, dart2js_output_dir, dartium_output_dir, |
- options.update_dom_metadata, logging_level, options.dart_js_interop) |
+ GenerateFromDatabase(database, |
+ dart2js_output_dir, |
+ dartium_output_dir, |
+ blink_output_dir, |
+ options.update_dom_metadata, |
+ logging_level, |
+ options.dart_js_interop) |
file_generation_start_time = time.time() |
@@ -300,6 +318,14 @@ def main(): |
os.path.join(dartium_output_dir, '%s_dartium.dart' % library_name), |
os.path.join('..', '..', '..', 'sdk', 'lib', library_name, 'dartium')) |
+ if '_blink' in systems: |
+ _logger.info('Generating dartium _blink file.') |
+ file_generation_start_time = time.time() |
+ |
+ GenerateSingleFile( |
+ os.path.join(dartium_output_dir, '%s_dartium.dart' % '_blink'), |
+ os.path.join('..', '..', '..', 'sdk', 'lib', '_blink', 'dartium')) |
+ |
print '\nGenerating single file %s seconds' % round(time.time() - file_generation_start_time, 2) |
end_time = time.time() |