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

Side by Side Diff: tools/dom/scripts/systemhtml.py

Issue 11824072: Adding streams to dart:html. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Review feedback Created 7 years, 11 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « tools/dom/scripts/htmleventgenerator.py ('k') | tools/dom/src/EventStreamProvider.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/python 1 #!/usr/bin/python
2 # Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 2 # Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
3 # for details. All rights reserved. Use of this source code is governed by a 3 # for details. All rights reserved. Use of this source code is governed by a
4 # BSD-style license that can be found in the LICENSE file. 4 # BSD-style license that can be found in the LICENSE file.
5 5
6 """This module provides shared functionality for the system to generate 6 """This module provides shared functionality for the system to generate
7 Dart:html APIs from the IDL database.""" 7 Dart:html APIs from the IDL database."""
8 8
9 import emitter 9 import emitter
10 import os 10 import os
(...skipping 391 matching lines...) Expand 10 before | Expand all | Expand 10 after
402 self._implementation_members_emitter = implementation_emitter.Emit( 402 self._implementation_members_emitter = implementation_emitter.Emit(
403 self._backend.ImplementationTemplate(), 403 self._backend.ImplementationTemplate(),
404 LIBRARYNAME=self._library_name, 404 LIBRARYNAME=self._library_name,
405 ANNOTATIONS=annotations_str, 405 ANNOTATIONS=annotations_str,
406 CLASSNAME=self._interface_type_info.implementation_name(), 406 CLASSNAME=self._interface_type_info.implementation_name(),
407 EXTENDS=' extends %s' % base_class if base_class else '', 407 EXTENDS=' extends %s' % base_class if base_class else '',
408 IMPLEMENTS=implements_str, 408 IMPLEMENTS=implements_str,
409 DOMNAME=self._interface.doc_js_name, 409 DOMNAME=self._interface.doc_js_name,
410 NATIVESPEC=self._backend.NativeSpec()) 410 NATIVESPEC=self._backend.NativeSpec())
411 self._backend.StartInterface(self._implementation_members_emitter) 411 self._backend.StartInterface(self._implementation_members_emitter)
412
412 self._backend.EmitHelpers(base_class) 413 self._backend.EmitHelpers(base_class)
414 self._event_generator.EmitStreamProviders(
415 self._interface,
416 self._interface.doc_js_name,
417 self._backend.CustomJSMembers(),
418 self._implementation_members_emitter)
413 self._backend.AddConstructors( 419 self._backend.AddConstructors(
414 constructors, factory_provider, factory_constructor_name) 420 constructors, factory_provider, factory_constructor_name)
415 421
416 self._backend.EmitSupportCheck() 422 self._backend.EmitSupportCheck()
417 423
418 events_class_name = self._event_generator.ProcessInterface( 424 events_class_name = self._event_generator.ProcessInterface(
419 self._interface, interface_name, 425 self._interface, interface_name,
420 self._backend.CustomJSMembers(), 426 self._backend.CustomJSMembers(),
421 implementation_emitter) 427 implementation_emitter)
422 if events_class_name: 428 if events_class_name:
423 self._backend.EmitEventGetter(events_class_name) 429 self._backend.EmitEventGetter(events_class_name)
424 430
425 merged_interface = self._interface_type_info.merged_interface() 431 merged_interface = self._interface_type_info.merged_interface()
426 if merged_interface: 432 if merged_interface:
427 self._backend.AddMembers(self._database.GetInterface(merged_interface), 433 self._backend.AddMembers(self._database.GetInterface(merged_interface),
428 not self._backend.ImplementsMergedMembers()) 434 not self._backend.ImplementsMergedMembers())
429 435
430 self._backend.AddMembers(self._interface) 436 self._backend.AddMembers(self._interface)
431 self._backend.AddSecondaryMembers(self._interface) 437 self._backend.AddSecondaryMembers(self._interface)
438 self._event_generator.EmitStreamGetters(
439 self._interface,
440 self._interface.doc_js_name,
441 self._backend.CustomJSMembers(),
442 self._implementation_members_emitter)
432 self._backend.FinishInterface() 443 self._backend.FinishInterface()
433 444
434 def _ImplementationEmitter(self): 445 def _ImplementationEmitter(self):
435 basename = self._interface_type_info.implementation_name() 446 basename = self._interface_type_info.implementation_name()
436 if (self._interface_type_info.merged_into() and 447 if (self._interface_type_info.merged_into() and
437 self._backend.ImplementsMergedMembers()): 448 self._backend.ImplementsMergedMembers()):
438 # Merged members are implemented in target interface implementation. 449 # Merged members are implemented in target interface implementation.
439 return emitter.Emitter() 450 return emitter.Emitter()
440 return self._library_emitter.FileEmitter(basename, self._library_name) 451 return self._library_emitter.FileEmitter(basename, self._library_name)
441 452
(...skipping 597 matching lines...) Expand 10 before | Expand all | Expand 10 after
1039 for library_name in libraries: 1050 for library_name in libraries:
1040 self._libraries[library_name] = DartLibrary( 1051 self._libraries[library_name] = DartLibrary(
1041 library_name, template_loader, library_type, output_dir) 1052 library_name, template_loader, library_type, output_dir)
1042 1053
1043 def AddFile(self, basename, library_name, path): 1054 def AddFile(self, basename, library_name, path):
1044 self._libraries[library_name].AddFile(path) 1055 self._libraries[library_name].AddFile(path)
1045 1056
1046 def Emit(self, emitter, auxiliary_dir): 1057 def Emit(self, emitter, auxiliary_dir):
1047 for lib in self._libraries.values(): 1058 for lib in self._libraries.values():
1048 lib.Emit(emitter, auxiliary_dir) 1059 lib.Emit(emitter, auxiliary_dir)
OLDNEW
« no previous file with comments | « tools/dom/scripts/htmleventgenerator.py ('k') | tools/dom/src/EventStreamProvider.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698