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

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

Issue 14367012: Move to new dart:typeddata types for dart2js (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Revert generated files for html lib Created 7 years, 8 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 monitored 10 import monitored
11 import os 11 import os
12 from generator import * 12 from generator import *
13 from htmldartgenerator import * 13 from htmldartgenerator import *
14 14
15 HTML_LIBRARY_NAMES = ['chrome', 'html', 'indexed_db', 'svg', 'web_audio', 15 HTML_LIBRARY_NAMES = ['chrome', 'html', 'indexed_db', 'svg',
16 'web_gl', 'web_sql'] 16 'web_audio', 'web_gl', 'web_sql']
17 17
18 _js_custom_members = monitored.Set('systemhtml._js_custom_members', [ 18 _js_custom_members = monitored.Set('systemhtml._js_custom_members', [
19 'ArrayBuffer.slice',
20 'AudioBufferSourceNode.start', 19 'AudioBufferSourceNode.start',
21 'AudioBufferSourceNode.stop', 20 'AudioBufferSourceNode.stop',
22 'AudioContext.createGain', 21 'AudioContext.createGain',
23 'AudioContext.createScriptProcessor', 22 'AudioContext.createScriptProcessor',
24 'CanvasRenderingContext2D.drawImage', 23 'CanvasRenderingContext2D.drawImage',
25 'CanvasRenderingContext2D.lineDashOffset', 24 'CanvasRenderingContext2D.lineDashOffset',
26 'Console.memory', 25 'Console.memory',
27 'Console.profiles', 26 'Console.profiles',
28 'Console.assertCondition', 27 'Console.assertCondition',
29 'Console.count', 28 'Console.count',
(...skipping 227 matching lines...) Expand 10 before | Expand all | Expand 10 after
257 'SVGTSpanElement': 'tspan', 256 'SVGTSpanElement': 'tspan',
258 'SVGUseElement': 'use', 257 'SVGUseElement': 'use',
259 'SVGViewElement': 'view', 258 'SVGViewElement': 'view',
260 'SVGVKernElement': 'vkern', 259 'SVGVKernElement': 'vkern',
261 }) 260 })
262 261
263 _element_constructors = { 262 _element_constructors = {
264 'html': _html_element_constructors, 263 'html': _html_element_constructors,
265 'indexed_db': {}, 264 'indexed_db': {},
266 'svg': _svg_element_constructors, 265 'svg': _svg_element_constructors,
266 'typeddata': {},
267 'web_audio': {}, 267 'web_audio': {},
268 'web_gl': {}, 268 'web_gl': {},
269 'web_sql': {}, 269 'web_sql': {},
270 } 270 }
271 271
272 _factory_ctr_strings = { 272 _factory_ctr_strings = {
273 'html': { 273 'html': {
274 'provider_name': 'document', 274 'provider_name': 'document',
275 'constructor_name': '$dom_createElement' 275 'constructor_name': '$dom_createElement'
276 }, 276 },
277 'indexed_db': { 277 'indexed_db': {
278 'provider_name': 'document', 278 'provider_name': 'document',
279 'constructor_name': '$dom_createElement' 279 'constructor_name': '$dom_createElement'
280 }, 280 },
281 'svg': { 281 'svg': {
282 'provider_name': '_SvgElementFactoryProvider', 282 'provider_name': '_SvgElementFactoryProvider',
283 'constructor_name': 'createSvgElement_tag', 283 'constructor_name': 'createSvgElement_tag',
284 }, 284 },
285 'typeddata': {
286 'provider_name': 'document',
287 'constructor_name': '$dom_createElement'
288 },
285 'web_audio': { 289 'web_audio': {
286 'provider_name': 'document', 290 'provider_name': 'document',
287 'constructor_name': '$dom_createElement' 291 'constructor_name': '$dom_createElement'
288 }, 292 },
289 'web_gl': { 293 'web_gl': {
290 'provider_name': 'document', 294 'provider_name': 'document',
291 'constructor_name': '$dom_createElement' 295 'constructor_name': '$dom_createElement'
292 }, 296 },
293 'web_sql': { 297 'web_sql': {
294 'provider_name': 'document', 298 'provider_name': 'document',
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after
417 self._type_registry = options.type_registry 421 self._type_registry = options.type_registry
418 self._options = options 422 self._options = options
419 self._library_emitter = library_emitter 423 self._library_emitter = library_emitter
420 self._event_generator = event_generator 424 self._event_generator = event_generator
421 self._interface = interface 425 self._interface = interface
422 self._backend = backend 426 self._backend = backend
423 self._interface_type_info = self._type_registry.TypeInfo(self._interface.id) 427 self._interface_type_info = self._type_registry.TypeInfo(self._interface.id)
424 self._library_name = self._renamer.GetLibraryName(self._interface) 428 self._library_name = self._renamer.GetLibraryName(self._interface)
425 429
426 def Generate(self): 430 def Generate(self):
427 if 'Callback' in self._interface.ext_attrs: 431 if IsCustomType(self._interface.id):
432 pass
433 elif 'Callback' in self._interface.ext_attrs:
428 self.GenerateCallback() 434 self.GenerateCallback()
429 else: 435 else:
430 self.GenerateInterface() 436 self.GenerateInterface()
431 437
432 def GenerateCallback(self): 438 def GenerateCallback(self):
433 """Generates a typedef for the callback interface.""" 439 """Generates a typedef for the callback interface."""
434 typedef_name = self._renamer.RenameInterface(self._interface) 440 typedef_name = self._renamer.RenameInterface(self._interface)
435 if not typedef_name: 441 if not typedef_name:
436 return 442 return
437 443
(...skipping 715 matching lines...) Expand 10 before | Expand all | Expand 10 after
1153 for library_name in libraries: 1159 for library_name in libraries:
1154 self._libraries[library_name] = DartLibrary( 1160 self._libraries[library_name] = DartLibrary(
1155 library_name, template_loader, library_type, output_dir) 1161 library_name, template_loader, library_type, output_dir)
1156 1162
1157 def AddFile(self, basename, library_name, path): 1163 def AddFile(self, basename, library_name, path):
1158 self._libraries[library_name].AddFile(path) 1164 self._libraries[library_name].AddFile(path)
1159 1165
1160 def Emit(self, emitter, auxiliary_dir): 1166 def Emit(self, emitter, auxiliary_dir):
1161 for lib in self._libraries.values(): 1167 for lib in self._libraries.values():
1162 lib.Emit(emitter, auxiliary_dir) 1168 lib.Emit(emitter, auxiliary_dir)
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698