| Index: sdk/lib/html/scripts/generator.py
|
| diff --git a/sdk/lib/html/scripts/generator.py b/sdk/lib/html/scripts/generator.py
|
| index 1ba1bcd576fee9b3c010633cb448b1bcde7989b2..703e14889b8aa802134f6bafabc43720d8cc53d4 100644
|
| --- a/sdk/lib/html/scripts/generator.py
|
| +++ b/sdk/lib/html/scripts/generator.py
|
| @@ -594,6 +594,7 @@ def FindConversion(idl_type, direction, interface, member):
|
| #
|
| # INTERFACE.MEMBER: annotations for member.
|
| # +TYPE: add annotations only if there are member annotations.
|
| +# -TYPE: add annotations only if there are no member annotations.
|
| # TYPE: add regardless of member annotations.
|
|
|
| dart2js_annotations = {
|
| @@ -615,10 +616,26 @@ dart2js_annotations = {
|
| 'DOMWindow.openDatabase': "@Creates('Database') @Creates('DatabaseSync')",
|
|
|
| # Cross-frame windows are EventTargets.
|
| - 'EventTarget':
|
| - #"@Creates('Null') @Returns('EventTarget|=Object')",
|
| + '-EventTarget':
|
| "@Creates('EventTarget|=Object') @Returns('EventTarget|=Object')",
|
|
|
| + # To be in callback with the browser-created Event, we had to have called
|
| + # addEventListener on the target, so we avoid
|
| + 'Event.currentTarget':
|
| + "@Creates('Null') @Returns('EventTarget|=Object')",
|
| +
|
| + # Only nodes in the DOM bubble and have target !== currentTarget.
|
| + 'Event.target':
|
| + "@Creates('Node') @Returns('EventTarget|=Object')",
|
| +
|
| + 'MouseEvent.relatedTarget':
|
| + "@Creates('Node') @Returns('EventTarget|=Object')",
|
| +
|
| + # Touch targets are Elements in a Document, or the Document.
|
| + 'Touch.target':
|
| + "@Creates('Element|Document') @Returns('Element|Document')",
|
| +
|
| +
|
| 'FileReader.result': "@Creates('String|ArrayBuffer|Null')",
|
|
|
| # Rather than have the result of an IDBRequest as a union over all possible
|
| @@ -687,6 +704,9 @@ def FindAnnotations(idl_type, interface_name, member_name):
|
| return ann2 + ' ' + ann1
|
| return ann1
|
|
|
| + ann2 = dart2js_annotations.get('-' + idl_type)
|
| + if ann2:
|
| + return ann2
|
| ann2 = dart2js_annotations.get(idl_type)
|
| return ann2
|
|
|
|
|