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

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

Issue 12026032: Adding supported checks & test for SpeechRecognition APIs. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Changing event type constructor. 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
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 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
82 'HTMLKeygenElement': "Element.isTagSupported('keygen') " 82 'HTMLKeygenElement': "Element.isTagSupported('keygen') "
83 "&& (new Element.tag('keygen') is KeygenElement)", 83 "&& (new Element.tag('keygen') is KeygenElement)",
84 'HTMLMeterElement': "Element.isTagSupported('meter')", 84 'HTMLMeterElement': "Element.isTagSupported('meter')",
85 'HTMLObjectElement': "Element.isTagSupported('object')", 85 'HTMLObjectElement': "Element.isTagSupported('object')",
86 'HTMLOutputElement': "Element.isTagSupported('output')", 86 'HTMLOutputElement': "Element.isTagSupported('output')",
87 'HTMLProgressElement': "Element.isTagSupported('progress')", 87 'HTMLProgressElement': "Element.isTagSupported('progress')",
88 'HTMLShadowElement': "Element.isTagSupported('shadow')", 88 'HTMLShadowElement': "Element.isTagSupported('shadow')",
89 'HTMLTrackElement': "Element.isTagSupported('track')", 89 'HTMLTrackElement': "Element.isTagSupported('track')",
90 'NotificationCenter': "JS('bool', '!!(window.webkitNotifications)')", 90 'NotificationCenter': "JS('bool', '!!(window.webkitNotifications)')",
91 'Performance': "JS('bool', '!!(window.performance)')", 91 'Performance': "JS('bool', '!!(window.performance)')",
92 'SpeechRecognition': "JS('bool', '!!(window.SpeechRecognition || "
93 "window.webkitSpeechRecognition)')",
92 'WebSocket': "JS('bool', 'typeof window.WebSocket != \"undefined\"')", 94 'WebSocket': "JS('bool', 'typeof window.WebSocket != \"undefined\"')",
93 } 95 }
94 96
95 # Classes that offer only static methods, and therefore we should suppress 97 # Classes that offer only static methods, and therefore we should suppress
96 # constructor creation. 98 # constructor creation.
97 _static_classes = set(['Url']) 99 _static_classes = set(['Url'])
98 100
99 # Information for generating element constructors. 101 # Information for generating element constructors.
100 # 102 #
101 # TODO(sra): maybe remove all the argument complexity and use cascades. 103 # TODO(sra): maybe remove all the argument complexity and use cascades.
(...skipping 403 matching lines...) Expand 10 before | Expand all | Expand 10 after
505 return self._interface.doc_js_name in js_support_checks 507 return self._interface.doc_js_name in js_support_checks
506 508
507 def GetSupportCheck(self): 509 def GetSupportCheck(self):
508 return js_support_checks.get(self._interface.doc_js_name) 510 return js_support_checks.get(self._interface.doc_js_name)
509 511
510 def EmitStaticFactory(self, constructor_info): 512 def EmitStaticFactory(self, constructor_info):
511 WITH_CUSTOM_STATIC_FACTORY = [ 513 WITH_CUSTOM_STATIC_FACTORY = [
512 'AudioContext', 514 'AudioContext',
513 'Blob', 515 'Blob',
514 'MutationObserver', 516 'MutationObserver',
517 'SpeechRecognition',
515 ] 518 ]
516 519
517 if self._interface.doc_js_name in WITH_CUSTOM_STATIC_FACTORY: 520 if self._interface.doc_js_name in WITH_CUSTOM_STATIC_FACTORY:
518 return 521 return
519 522
520 has_optional = any(param_info.is_optional 523 has_optional = any(param_info.is_optional
521 for param_info in constructor_info.param_infos) 524 for param_info in constructor_info.param_infos)
522 525
523 def FormatJS(index): 526 def FormatJS(index):
524 arguments = constructor_info.ParametersAsArgumentList(index) 527 arguments = constructor_info.ParametersAsArgumentList(index)
(...skipping 519 matching lines...) Expand 10 before | Expand all | Expand 10 after
1044 for library_name in libraries: 1047 for library_name in libraries:
1045 self._libraries[library_name] = DartLibrary( 1048 self._libraries[library_name] = DartLibrary(
1046 library_name, template_loader, library_type, output_dir) 1049 library_name, template_loader, library_type, output_dir)
1047 1050
1048 def AddFile(self, basename, library_name, path): 1051 def AddFile(self, basename, library_name, path):
1049 self._libraries[library_name].AddFile(path) 1052 self._libraries[library_name].AddFile(path)
1050 1053
1051 def Emit(self, emitter, auxiliary_dir): 1054 def Emit(self, emitter, auxiliary_dir):
1052 for lib in self._libraries.values(): 1055 for lib in self._libraries.values():
1053 lib.Emit(emitter, auxiliary_dir) 1056 lib.Emit(emitter, auxiliary_dir)
OLDNEW
« no previous file with comments | « tools/dom/scripts/generator.py ('k') | tools/dom/templates/html/dart2js/impl_SpeechRecognition.darttemplate » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698