Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(6)

Unified Diff: tools/dom/scripts/dartdomgenerator.py

Issue 23819035: Give generatored bindings classes a field remembering an index into a cache of handles on the corre… (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « sdk/lib/html/dartium/html_dartium.dart ('k') | tools/dom/scripts/dartgenerator.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/dom/scripts/dartdomgenerator.py
diff --git a/tools/dom/scripts/dartdomgenerator.py b/tools/dom/scripts/dartdomgenerator.py
index 2ba67aae96c2ad0d01f020326e7a7bec9358f9d5..0b5ae84747ea32593c43c938940c80f4ddf0fa1a 100755
--- a/tools/dom/scripts/dartdomgenerator.py
+++ b/tools/dom/scripts/dartdomgenerator.py
@@ -85,8 +85,8 @@ def GenerateFromDatabase(common_database, dart2js_output_dir,
event_generator = HtmlEventGenerator(webkit_database, renamer, metadata,
template_loader)
- def generate_interface(interface):
- backend = backend_factory(interface)
+ def generate_interface(interface, cid):
+ backend = backend_factory(interface, cid)
interface_generator = HtmlDartInterfaceGenerator(
options, dart_library_emitter, event_generator, interface, backend)
interface_generator.Generate()
@@ -103,7 +103,7 @@ def GenerateFromDatabase(common_database, dart2js_output_dir,
backend_options = GeneratorOptions(
template_loader, webkit_database, type_registry, renamer,
metadata)
- backend_factory = lambda interface:\
+ backend_factory = lambda interface, cid:\
Dart2JSBackend(interface, backend_options)
dart_output_dir = os.path.join(dart2js_output_dir, 'dart')
@@ -123,8 +123,8 @@ def GenerateFromDatabase(common_database, dart2js_output_dir,
metadata)
cpp_output_dir = os.path.join(dartium_output_dir, 'cpp')
cpp_library_emitter = CPPLibraryEmitter(emitters, cpp_output_dir)
- backend_factory = lambda interface:\
- DartiumBackend(interface, cpp_library_emitter, backend_options)
+ backend_factory = lambda interface, cid:\
+ DartiumBackend(interface, cid, cpp_library_emitter, backend_options)
dart_output_dir = os.path.join(dartium_output_dir, 'dart')
dart_libraries = DartLibraries(
@@ -138,6 +138,22 @@ def GenerateFromDatabase(common_database, dart2js_output_dir,
cpp_library_emitter.EmitResolver(
template_loader.Load('cpp_resolver.template'), dartium_output_dir)
+ path = os.path.join(cpp_output_dir, 'class_ids.h')
vsm 2013/09/12 01:08:50 The generated bindings files all have camel case.
rmacnak 2013/09/12 17:56:16 Done.
+ e = emitters.FileEmitter(path)
+ e.Emit('#ifndef class_ids_h\n')
+ e.Emit('#define class_ids_h\n')
+ e.Emit('#include "bindings/dart/DartDOMWrapper.h"\n')
vsm 2013/09/12 01:08:50 You can combine adjacent calls: e.Emit( '#ifnd
rmacnak 2013/09/12 17:56:16 Done.
+ e.Emit('namespace WebCore {\n')
+ e.Emit('enum {\n')
+ e.Emit(' UnusedClassId = DartDOMWrapper::NumCustomBindingClassIds,\n')
vsm 2013/09/12 01:08:50 Does it make sense to just list out the builtin cl
rmacnak 2013/09/12 17:56:16 Yes, and it allows us to allocate a fixed-size tab
+ for interface in webkit_database.GetInterfaces():
+ interface_name = interface.id
+ e.Emit(' %sClassId,\n' % interface_name)
+ e.Emit(' NumClassIds\n');
+ e.Emit('};\n');
+ e.Emit('} // namespace WebCore\n')
+ e.Emit('#endif // class_ids_h\n');
+
_logger.info('Flush...')
emitters.Flush()
« no previous file with comments | « sdk/lib/html/dartium/html_dartium.dart ('k') | tools/dom/scripts/dartgenerator.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698