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

Side by Side Diff: lib/html/scripts/systemhtml.py

Issue 10957064: Revert 12799. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 8 years, 2 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 | « lib/html/scripts/systemdart2js.py ('k') | lib/html/scripts/systemnative.py » ('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 10
(...skipping 200 matching lines...) Expand 10 before | Expand all | Expand 10 after
211 'webkitSpeechChange': 'speechChange', 211 'webkitSpeechChange': 'speechChange',
212 'webkitsourceclose': 'sourceClose', 212 'webkitsourceclose': 'sourceClose',
213 'webkitsourceended': 'sourceEnded', 213 'webkitsourceended': 'sourceEnded',
214 'webkitsourceopen': 'sourceOpen', 214 'webkitsourceopen': 'sourceOpen',
215 'webkitTransitionEnd': 'transitionEnd', 215 'webkitTransitionEnd': 'transitionEnd',
216 'write': 'write', 216 'write': 'write',
217 'writeend': 'writeEnd', 217 'writeend': 'writeEnd',
218 'writestart': 'writeStart' 218 'writestart': 'writeStart'
219 } 219 }
220 220
221
222
221 # Information for generating element constructors. 223 # Information for generating element constructors.
222 # 224 #
223 # TODO(sra): maybe remove all the argument complexity and use cascades. 225 # TODO(sra): maybe remove all the argument complexity and use cascades.
224 # 226 #
225 # var c = new CanvasElement(width: 100, height: 70); 227 # var c = new CanvasElement(width: 100, height: 70);
226 # var c = new CanvasElement()..width = 100..height = 70; 228 # var c = new CanvasElement()..width = 100..height = 70;
227 # 229 #
228 class ElementConstructorInfo(object): 230 class ElementConstructorInfo(object):
229 def __init__(self, name=None, tag=None, 231 def __init__(self, name=None, tag=None,
230 params=[], opt_params=[], 232 params=[], opt_params=[],
(...skipping 239 matching lines...) Expand 10 before | Expand all | Expand 10 after
470 472
471 def __init__(self, system, interface): 473 def __init__(self, system, interface):
472 super(HtmlDartInterfaceGenerator, self).__init__( 474 super(HtmlDartInterfaceGenerator, self).__init__(
473 system._database, interface) 475 system._database, interface)
474 self._system = system 476 self._system = system
475 self._shared = system._shared 477 self._shared = system._shared
476 self._html_interface_name = system._renamer.RenameInterface(self._interface) 478 self._html_interface_name = system._renamer.RenameInterface(self._interface)
477 self._backend = system._backend.ImplementationGenerator(self._interface) 479 self._backend = system._backend.ImplementationGenerator(self._interface)
478 480
479 def StartInterface(self): 481 def StartInterface(self):
480 if (not self._interface.id in _merged_html_interfaces and 482 if not self._interface.id in _merged_html_interfaces:
481 # Don't re-generate types that have been converted to native Dart types.
482 self._html_interface_name not in nativified_classes.values()):
483 path = '%s.dart' % self._html_interface_name 483 path = '%s.dart' % self._html_interface_name
484 self._interface_emitter = self._system._CreateEmitter(path) 484 self._interface_emitter = self._system._CreateEmitter(path)
485 else: 485 else:
486 self._interface_emitter = emitter.Emitter() 486 self._interface_emitter = emitter.Emitter()
487 487
488 template_file = 'interface_%s.darttemplate' % self._html_interface_name 488 template_file = 'interface_%s.darttemplate' % self._html_interface_name
489 interface_template = (self._system._templates.TryLoad(template_file) or 489 interface_template = (self._system._templates.TryLoad(template_file) or
490 self._system._templates.Load('interface.darttemplate') ) 490 self._system._templates.Load('interface.darttemplate') )
491 491
492 typename = self._html_interface_name 492 typename = self._html_interface_name
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
556 self._top_level_emitter) = self._interface_emitter.Emit( 556 self._top_level_emitter) = self._interface_emitter.Emit(
557 interface_template + '$!TOP_LEVEL', 557 interface_template + '$!TOP_LEVEL',
558 ID=typename, 558 ID=typename,
559 EXTENDS=implements_str) 559 EXTENDS=implements_str)
560 560
561 self._type_comment_emitter.Emit("/// @domName $DOMNAME", 561 self._type_comment_emitter.Emit("/// @domName $DOMNAME",
562 DOMNAME=self._interface.doc_js_name) 562 DOMNAME=self._interface.doc_js_name)
563 563
564 if self._backend.HasImplementation(): 564 if self._backend.HasImplementation():
565 if not self._interface.id in _merged_html_interfaces: 565 if not self._interface.id in _merged_html_interfaces:
566 name = self._html_interface_name 566 filename = '%sImpl.dart' % self._html_interface_name
567 if self._html_interface_name in nativified_classes:
568 name = nativified_classes[self._html_interface_name]
569 filename = '%sImpl.dart' % name
570 else: 567 else:
571 filename = '%sImpl_Merged.dart' % self._html_interface_name 568 filename = '%sImpl_Merged.dart' % self._html_interface_name
572 self._implementation_emitter = self._system._CreateEmitter(filename) 569 self._implementation_emitter = self._system._CreateEmitter(filename)
573 else: 570 else:
574 self._implementation_emitter = emitter.Emitter() 571 self._implementation_emitter = emitter.Emitter()
575 self._backend.SetImplementationEmitter(self._implementation_emitter) 572 self._backend.SetImplementationEmitter(self._implementation_emitter)
576 self._implementation_members_emitter = self._backend.StartInterface() 573 self._implementation_members_emitter = self._backend.StartInterface()
577 574
578 for constructor_info in constructors: 575 for constructor_info in constructors:
579 constructor_info.GenerateFactoryInvocation( 576 constructor_info.GenerateFactoryInvocation(
(...skipping 199 matching lines...) Expand 10 before | Expand all | Expand 10 after
779 def ImplementationClassName(self): 776 def ImplementationClassName(self):
780 return self._ImplClassName(self._html_interface_name) 777 return self._ImplClassName(self._html_interface_name)
781 778
782 def SetImplementationEmitter(self, implementation_emitter): 779 def SetImplementationEmitter(self, implementation_emitter):
783 self._dart_code = implementation_emitter 780 self._dart_code = implementation_emitter
784 781
785 def ImplementsMergedMembers(self): 782 def ImplementsMergedMembers(self):
786 return True 783 return True
787 784
788 def _ImplClassName(self, type_name): 785 def _ImplClassName(self, type_name):
789 name = type_name 786 return '_%sImpl' % type_name
790 if type_name in nativified_classes:
791 name = nativified_classes[type_name]
792 return '_%sImpl' % name
793 787
794 def StartInterface(self): 788 def StartInterface(self):
795 interface = self._interface 789 interface = self._interface
796 interface_name = interface.id 790 interface_name = interface.id
797 791
798 self._class_name = self._ImplClassName(self._html_interface_name) 792 self._class_name = self._ImplClassName(self._html_interface_name)
799 793
800 base = None 794 base = None
801 if interface.parents: 795 if interface.parents:
802 supertype = interface.parents[0].type.id 796 supertype = interface.parents[0].type.id
(...skipping 433 matching lines...) Expand 10 before | Expand all | Expand 10 after
1236 def GenerateLibraries(self, dart_files): 1230 def GenerateLibraries(self, dart_files):
1237 auxiliary_dir = os.path.relpath(self._auxiliary_dir, self._output_dir) 1231 auxiliary_dir = os.path.relpath(self._auxiliary_dir, self._output_dir)
1238 self._GenerateLibFile( 1232 self._GenerateLibFile(
1239 'html_dart2js.darttemplate', 1233 'html_dart2js.darttemplate',
1240 os.path.join(self._output_dir, 'html_dart2js.dart'), 1234 os.path.join(self._output_dir, 'html_dart2js.dart'),
1241 dart_files, 1235 dart_files,
1242 AUXILIARY_DIR=systembase.MassagePath(auxiliary_dir)) 1236 AUXILIARY_DIR=systembase.MassagePath(auxiliary_dir))
1243 1237
1244 def Finish(self): 1238 def Finish(self):
1245 pass 1239 pass
OLDNEW
« no previous file with comments | « lib/html/scripts/systemdart2js.py ('k') | lib/html/scripts/systemnative.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698