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

Unified Diff: tools/dom/scripts/generator.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 side-by-side diff with in-line comments
Download patch
Index: tools/dom/scripts/generator.py
diff --git a/tools/dom/scripts/generator.py b/tools/dom/scripts/generator.py
index 74da08d91c14e7f11976856513fafac4e9ddba67..db621274eca385b45d05a3439d4f68ea8209d50e 100644
--- a/tools/dom/scripts/generator.py
+++ b/tools/dom/scripts/generator.py
@@ -11,7 +11,8 @@ import json
import monitored
import os
import re
-from htmlrenamer import html_interface_renames, renamed_html_members
+from htmlrenamer import html_interface_renames, renamed_html_members, \
+ typed_array_renames
# Set up json file for retrieving comments.
_current_dir = os.path.dirname(__file__)
@@ -35,30 +36,20 @@ _pure_interfaces = monitored.Set('generator._pure_interfaces', [
'SVGTransformable',
'SVGURIReference',
'SVGZoomAndPan',
- 'TimeoutHandler'])
+ 'TimeoutHandler',
+ ])
def IsPureInterface(interface_name):
return interface_name in _pure_interfaces
+_custom_types = monitored.Set('generator._custom_types',
+ typed_array_renames.keys())
+
+def IsCustomType(interface_name):
+ return interface_name in _custom_types
_methods_with_named_formals = monitored.Set(
'generator._methods_with_named_formals', [
- 'DataView.getFloat32',
- 'DataView.getFloat64',
- 'DataView.getInt16',
- 'DataView.getInt32',
- 'DataView.getInt8',
- 'DataView.getUint16',
- 'DataView.getUint32',
- 'DataView.getUint8',
- 'DataView.setFloat32',
- 'DataView.setFloat64',
- 'DataView.setInt16',
- 'DataView.setInt32',
- 'DataView.setInt8',
- 'DataView.setUint16',
- 'DataView.setUint32',
- 'DataView.setUint8',
'DirectoryEntry.getDirectory',
'DirectoryEntry.getFile',
'Entry.copyTo',
@@ -79,15 +70,6 @@ _dart_attribute_renames = monitored.Dict('generator._dart_attribute_renames', {
# factory provider.
#
interface_factories = monitored.Dict('generator.interface_factories', {
- 'Float32Array': '_TypedArrayFactoryProvider',
- 'Float64Array': '_TypedArrayFactoryProvider',
- 'Int8Array': '_TypedArrayFactoryProvider',
- 'Int16Array': '_TypedArrayFactoryProvider',
- 'Int32Array': '_TypedArrayFactoryProvider',
- 'Uint8Array': '_TypedArrayFactoryProvider',
- 'Uint8ClampedArray': '_TypedArrayFactoryProvider',
- 'Uint16Array': '_TypedArrayFactoryProvider',
- 'Uint32Array': '_TypedArrayFactoryProvider',
})
#
@@ -397,7 +379,7 @@ class OperationInfo(object):
# hence ArrayBuffer is mapped to dynamic in arguments and return
# values. To compensate for that when generating ArrayBuffer itself,
# we need to lie a bit:
- if self.type_name == 'ArrayBuffer': return 'ArrayBuffer'
+ if self.type_name == 'ArrayBuffer': return 'ByteBuffer'
return rename_type(self.type_name)
def ConstantOutputOrder(a, b):
@@ -552,13 +534,13 @@ def FindConversion(idl_type, direction, interface, member):
dart2js_annotations = monitored.Dict('generator.dart2js_annotations', {
'ArrayBuffer': [
- "@Creates('ArrayBuffer')",
- "@Returns('ArrayBuffer|Null')",
+ "@Creates('ByteBuffer')",
+ "@Returns('ByteBuffer|Null')",
],
'ArrayBufferView': [
- "@Creates('ArrayBufferView')",
- "@Returns('ArrayBufferView|Null')",
+ "@Creates('TypedData')",
+ "@Returns('TypedData|Null')",
],
'CanvasRenderingContext2D.createImageData': [
@@ -618,7 +600,7 @@ dart2js_annotations = monitored.Dict('generator.dart2js_annotations', {
"@Returns('Element|Document')",
],
- 'FileReader.result': ["@Creates('String|ArrayBuffer|Null')"],
+ 'FileReader.result': ["@Creates('String|ByteBuffer|Null')"],
# Rather than have the result of an IDBRequest as a union over all possible
# results, we mark the result as instantiating any classes, and mark
@@ -687,14 +669,14 @@ dart2js_annotations = monitored.Dict('generator.dart2js_annotations', {
'WebGLRenderingContext.getParameter': [
# Taken from http://www.khronos.org/registry/webgl/specs/latest/
# Section 5.14.3 Setting and getting state
- "@Creates('Null|num|String|bool|=List|Float32Array|Int32Array|Uint32Array"
+ "@Creates('Null|num|String|bool|=List|Float32List|Int32List|Uint32List"
"|Framebuffer|Renderbuffer|Texture')",
- "@Returns('Null|num|String|bool|=List|Float32Array|Int32Array|Uint32Array"
+ "@Returns('Null|num|String|bool|=List|Float32List|Int32List|Uint32List"
"|Framebuffer|Renderbuffer|Texture')",
],
'XMLHttpRequest.response': [
- "@Creates('ArrayBuffer|Blob|Document|=Object|=List|String|num')",
+ "@Creates('ByteBuffer|Blob|Document|=Object|=List|String|num')",
],
}, dart2jsOnly=True)
@@ -1471,14 +1453,9 @@ _idl_type_registry = monitored.Dict('generator._idl_type_registry', {
'Uint8ClampedArray': TypedArrayTypeData('int'),
'Uint16Array': TypedArrayTypeData('int'),
'Uint32Array': TypedArrayTypeData('int'),
- # TODO(antonm): temporary ugly hack.
- # While in transition phase we allow both DOM's ArrayBuffer
- # and dart:typeddata's ByteBuffer for IDLs' ArrayBuffers,
- # hence ArrayBuffer is mapped to dynamic in arguments and return
- # values.
- 'ArrayBufferView': TypeData(clazz='Interface', dart_type='dynamic',
+ 'ArrayBufferView': TypeData(clazz='Interface',
custom_to_native=True, custom_to_dart=True),
- 'ArrayBuffer': TypeData(clazz='Interface', dart_type='dynamic',
+ 'ArrayBuffer': TypeData(clazz='Interface',
custom_to_native=True, custom_to_dart=True),
'SVGAngle': TypeData(clazz='SVGTearOff'),

Powered by Google App Engine
This is Rietveld 408576698