Skip to content

Commit dfcf338

Browse files
committed
---
yaml --- r: 263072 b: refs/heads/main c: 5cb6cb0 h: refs/heads/main
1 parent e3b67fb commit dfcf338

File tree

3 files changed

+27
-7
lines changed

3 files changed

+27
-7
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1994,4 +1994,4 @@ refs/tags/2.14.0-96.0.dev: 1eee24e50fc3028754d9a8e98852b949c04da4e4
19941994
refs/tags/2.14.0-97.0.dev: ba9c1636e87fbdcc02b8bc4a584455c32f8378b4
19951995
refs/tags/2.14.0-98.0.dev: f2d370c93582bbf4da42b5dd4c906d6145b01ea9
19961996
refs/tags/2.14.0-99.0.dev: e722f62b48fb382534efc1f20735def68848006f
1997-
refs/heads/main: d94dd29bb8d3a199f51c52f87e0df6ae3cc7d298
1997+
refs/heads/main: 5cb6cb0fa345d0f538811a65c2aaad69b34f7422

trunk/sdk/lib/html/dart2js/html_dart2js.dart

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7836,7 +7836,7 @@ class Event native "*Event" {
78367836
/// @domName Event.currentTarget; @docsEditable true
78377837
EventTarget get currentTarget => _convertNativeToDart_EventTarget(this._currentTarget);
78387838
@JSName('currentTarget')
7839-
@Creates('EventTarget|=Object') @Returns('EventTarget|=Object')
7839+
@Creates('Null') @Returns('EventTarget|=Object')
78407840
final dynamic _currentTarget;
78417841

78427842
/// @domName Event.defaultPrevented; @docsEditable true
@@ -7851,7 +7851,7 @@ class Event native "*Event" {
78517851
/// @domName Event.target; @docsEditable true
78527852
EventTarget get target => _convertNativeToDart_EventTarget(this._target);
78537853
@JSName('target')
7854-
@Creates('EventTarget|=Object') @Returns('EventTarget|=Object')
7854+
@Creates('Node') @Returns('EventTarget|=Object')
78557855
final dynamic _target;
78567856

78577857
/// @domName Event.timeStamp; @docsEditable true
@@ -13055,7 +13055,7 @@ class MouseEvent extends UIEvent native "*MouseEvent" {
1305513055
/// @domName MouseEvent.relatedTarget; @docsEditable true
1305613056
EventTarget get relatedTarget => _convertNativeToDart_EventTarget(this._relatedTarget);
1305713057
@JSName('relatedTarget')
13058-
@Creates('EventTarget|=Object') @Returns('EventTarget|=Object')
13058+
@Creates('Node') @Returns('EventTarget|=Object')
1305913059
final dynamic _relatedTarget;
1306013060

1306113061
/// @domName MouseEvent.screenX; @docsEditable true
@@ -17454,7 +17454,7 @@ class Touch native "*Touch" {
1745417454
/// @domName Touch.target; @docsEditable true
1745517455
EventTarget get target => _convertNativeToDart_EventTarget(this._target);
1745617456
@JSName('target')
17457-
@Creates('EventTarget|=Object') @Returns('EventTarget|=Object')
17457+
@Creates('Element|Document') @Returns('Element|Document')
1745817458
final dynamic _target;
1745917459

1746017460
/// @domName Touch.webkitForce; @docsEditable true

trunk/sdk/lib/html/scripts/generator.py

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -594,6 +594,7 @@ def FindConversion(idl_type, direction, interface, member):
594594
#
595595
# INTERFACE.MEMBER: annotations for member.
596596
# +TYPE: add annotations only if there are member annotations.
597+
# -TYPE: add annotations only if there are no member annotations.
597598
# TYPE: add regardless of member annotations.
598599

599600
dart2js_annotations = {
@@ -615,10 +616,26 @@ def FindConversion(idl_type, direction, interface, member):
615616
'DOMWindow.openDatabase': "@Creates('Database') @Creates('DatabaseSync')",
616617

617618
# Cross-frame windows are EventTargets.
618-
'EventTarget':
619-
#"@Creates('Null') @Returns('EventTarget|=Object')",
619+
'-EventTarget':
620620
"@Creates('EventTarget|=Object') @Returns('EventTarget|=Object')",
621621

622+
# To be in callback with the browser-created Event, we had to have called
623+
# addEventListener on the target, so we avoid
624+
'Event.currentTarget':
625+
"@Creates('Null') @Returns('EventTarget|=Object')",
626+
627+
# Only nodes in the DOM bubble and have target !== currentTarget.
628+
'Event.target':
629+
"@Creates('Node') @Returns('EventTarget|=Object')",
630+
631+
'MouseEvent.relatedTarget':
632+
"@Creates('Node') @Returns('EventTarget|=Object')",
633+
634+
# Touch targets are Elements in a Document, or the Document.
635+
'Touch.target':
636+
"@Creates('Element|Document') @Returns('Element|Document')",
637+
638+
622639
'FileReader.result': "@Creates('String|ArrayBuffer|Null')",
623640

624641
# 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):
687704
return ann2 + ' ' + ann1
688705
return ann1
689706

707+
ann2 = dart2js_annotations.get('-' + idl_type)
708+
if ann2:
709+
return ann2
690710
ann2 = dart2js_annotations.get(idl_type)
691711
return ann2
692712

0 commit comments

Comments
 (0)