| Index: sdk/lib/html/scripts/generator.py
|
| diff --git a/sdk/lib/html/scripts/generator.py b/sdk/lib/html/scripts/generator.py
|
| index 76b5ecfe5a570a05349b8e8f7fe85150b079b6a3..30b03330942d6eaf27752f739094ffdd369aea72 100644
|
| --- a/sdk/lib/html/scripts/generator.py
|
| +++ b/sdk/lib/html/scripts/generator.py
|
| @@ -545,11 +545,15 @@ dart2js_conversions = {
|
| 'SerializedScriptValue set Worker.postMessage': _serialize_SSV,
|
|
|
| # receiving message via MessageEvent
|
| - 'DOMObject get MessageEvent.data':
|
| + '* get MessageEvent.data':
|
| Conversion('_convertNativeToDart_SerializedScriptValue',
|
| 'dynamic', 'dynamic'),
|
|
|
| - 'DOMObject get PopStateEvent.state':
|
| + '* get History.state':
|
| + Conversion('_convertNativeToDart_SerializedScriptValue',
|
| + 'dynamic', 'dynamic'),
|
| +
|
| + '* get PopStateEvent.state':
|
| Conversion('_convertNativeToDart_SerializedScriptValue',
|
| 'dynamic', 'dynamic'),
|
|
|
| @@ -577,13 +581,14 @@ dart2js_conversions = {
|
| def FindConversion(idl_type, direction, interface, member):
|
| table = dart2js_conversions
|
| return (table.get('%s %s %s.%s' % (idl_type, direction, interface, member)) or
|
| + table.get('* %s %s.%s' % (direction, interface, member)) or
|
| table.get('%s %s %s.*' % (idl_type, direction, interface)) or
|
| table.get('%s %s' % (idl_type, direction)))
|
| return None
|
|
|
| # ------------------------------------------------------------------------------
|
|
|
| -# Annotations to be placed on members. The table is indexed by the IDL
|
| +# Annotations to be placed on native members. The table is indexed by the IDL
|
| # interface and member name, and by IDL return or field type name. Both are
|
| # used to assemble the annotations:
|
| #
|
| @@ -602,8 +607,18 @@ dart2js_annotations = {
|
| 'CanvasRenderingContext2D.webkitGetImageDataHD':
|
| "@Creates('ImageData|=Object')",
|
|
|
| + # Methods returning Window can return a local window, or a cross-frame
|
| + # window (=Object) that needs wrapping.
|
| + 'DOMWindow':
|
| + "@Creates('LocalWindow|=Object') @Returns('LocalWindow|=Object')",
|
| +
|
| 'DOMWindow.openDatabase': "@Creates('Database') @Creates('DatabaseSync')",
|
|
|
| + # Cross-frame windows are EventTargets.
|
| + 'EventTarget':
|
| + #"@Creates('Null') @Returns('EventTarget|=Object')",
|
| + "@Creates('EventTarget|=Object') @Returns('EventTarget|=Object')",
|
| +
|
| 'FileReader.result': "@Creates('String|ArrayBuffer|Null')",
|
|
|
| # Rather than have the result of an IDBRequest as a union over all possible
|
| @@ -645,6 +660,16 @@ dart2js_annotations = {
|
|
|
| 'MessageEvent.ports': "@Creates('=List')",
|
|
|
| + 'MessageEvent.data':
|
| + "@_annotation_Creates_SerializedScriptValue "
|
| + "@_annotation_Returns_SerializedScriptValue",
|
| + 'PopStateEvent.state':
|
| + "@_annotation_Creates_SerializedScriptValue "
|
| + "@_annotation_Returns_SerializedScriptValue",
|
| + 'SerializedScriptValue':
|
| + "@_annotation_Creates_SerializedScriptValue "
|
| + "@_annotation_Returns_SerializedScriptValue",
|
| +
|
| 'SQLResultSetRowList.item': "@Creates('=Object')",
|
|
|
| 'XMLHttpRequest.response':
|
| @@ -1096,7 +1121,7 @@ _idl_type_registry = {
|
| item_type='MediaStream', suppress_interface=True),
|
| 'NamedNodeMap': TypeData(clazz='Interface', item_type='Node'),
|
| 'NodeList': TypeData(clazz='Interface', item_type='Node',
|
| - suppress_interface=True),
|
| + suppress_interface=False, dart_type='List<Node>'),
|
| 'SVGAnimatedLengthList': TypeData(clazz='Interface',
|
| item_type='SVGAnimatedLength'),
|
| 'SVGAnimatedNumberList': TypeData(clazz='Interface',
|
|
|