Skip to content

Commit 52e173d

Browse files
committed
update touch event spec
1 parent 668ce45 commit 52e173d

File tree

3 files changed

+92
-32
lines changed

3 files changed

+92
-32
lines changed

baselines/dom.generated.d.ts

Lines changed: 40 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -846,6 +846,27 @@ interface SVGBoundingBoxOptions {
846846
clipped?: boolean;
847847
}
848848

849+
interface TouchInit {
850+
identifier?: number;
851+
target?: EventTarget;
852+
clientX?: number;
853+
clientY?: number;
854+
screenX?: number;
855+
screenY?: number;
856+
pageX?: number;
857+
pageY?: number;
858+
radiusX?: number;
859+
radiusY?: number;
860+
rotationAngle?: number;
861+
force?: number;
862+
}
863+
864+
interface TouchEventInit extends EventModifierInit {
865+
touches?: Touch[];
866+
targetTouches?: Touch[];
867+
changedTouches?: Touch[];
868+
}
869+
849870
interface UIEventInit extends EventInit {
850871
view?: Window;
851872
detail?: number;
@@ -2468,6 +2489,7 @@ interface Document extends Node, NonElementParentNode, DocumentOrShadowRoot, Par
24682489
createEvent(eventInterface:"SpeechSynthesisEvent"): SpeechSynthesisEvent;
24692490
createEvent(eventInterface:"StorageEvent"): StorageEvent;
24702491
createEvent(eventInterface:"SyncEvent"): SyncEvent;
2492+
createEvent(eventInterface:"TouchEvent"): TouchEvent;
24712493
createEvent(eventInterface:"TrackEvent"): TrackEvent;
24722494
createEvent(eventInterface:"TransitionEvent"): TransitionEvent;
24732495
createEvent(eventInterface:"UIEvent"): UIEvent;
@@ -9597,11 +9619,15 @@ interface Touch {
95979619
readonly clientY: number;
95989620
readonly pageX: number;
95999621
readonly pageY: number;
9622+
readonly radiusX: number;
9623+
readonly radiusY: number;
9624+
readonly rotationAngle: number;
9625+
readonly force: number;
96009626
}
96019627

96029628
declare var Touch: {
96039629
prototype: Touch;
9604-
new (): Touch;
9630+
new (touchInitDict: TouchInit): Touch;
96059631
}
96069632

96079633
interface TouchList {
@@ -9627,7 +9653,7 @@ interface TouchEvent extends UIEvent {
96279653

96289654
declare var TouchEvent: {
96299655
prototype: TouchEvent;
9630-
new (): TouchEvent;
9656+
new (type: string, eventInitDict?: TouchEventInit): TouchEvent;
96319657
}
96329658

96339659
interface UIEvent extends Event {
@@ -11731,6 +11757,10 @@ interface GlobalEventHandlersEventMap {
1173111757
"pointerleave": Event;
1173211758
"selectstart": Event;
1173311759
"selectionchange": Event;
11760+
"touchstart": TouchEvent;
11761+
"touchend": TouchEvent;
11762+
"touchmove": TouchEvent;
11763+
"touchcancel": TouchEvent;
1173411764
}
1173511765

1173611766
interface GlobalEventHandlers {
@@ -11814,6 +11844,10 @@ interface GlobalEventHandlers {
1181411844
onpointerleave: (this: GlobalEventHandlers, ev: Event) => any;
1181511845
onselectstart: (this: GlobalEventHandlers, ev: Event) => any;
1181611846
onselectionchange: (this: GlobalEventHandlers, ev: Event) => any;
11847+
ontouchstart: (this: GlobalEventHandlers, ev: TouchEvent) => any;
11848+
ontouchend: (this: GlobalEventHandlers, ev: TouchEvent) => any;
11849+
ontouchmove: (this: GlobalEventHandlers, ev: TouchEvent) => any;
11850+
ontouchcancel: (this: GlobalEventHandlers, ev: TouchEvent) => any;
1181711851
addEventListener<K extends keyof GlobalEventHandlersEventMap>(type: K, listener: (this: GlobalEventHandlers, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void;
1181811852
addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void;
1181911853
}
@@ -12881,6 +12915,10 @@ declare var onpointerenter: (this: Window, ev: Event) => any;
1288112915
declare var onpointerleave: (this: Window, ev: Event) => any;
1288212916
declare var onselectstart: (this: Window, ev: Event) => any;
1288312917
declare var onselectionchange: (this: Window, ev: Event) => any;
12918+
declare var ontouchstart: (this: Window, ev: TouchEvent) => any;
12919+
declare var ontouchend: (this: Window, ev: TouchEvent) => any;
12920+
declare var ontouchmove: (this: Window, ev: TouchEvent) => any;
12921+
declare var ontouchcancel: (this: Window, ev: TouchEvent) => any;
1288412922
declare var onafterprint: (this: Window, ev: Event) => any;
1288512923
declare var onbeforeprint: (this: Window, ev: Event) => any;
1288612924
declare var onbeforeunload: OnBeforeUnloadEventHandler;

inputfiles/browser.webidl.xml

Lines changed: 52 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1073,6 +1073,29 @@
10731073
<member name="clipped" default="false" type="boolean"/>
10741074
</members>
10751075
</dictionary>
1076+
<dictionary name="TouchInit" extends="Object">
1077+
<members>
1078+
<member name="identifier" type="long" required="1"/>
1079+
<member name="target" type="EventTarget" required="1"/>
1080+
<member name="clientX" default="0" type="double"/>
1081+
<member name="clientY" default="0" type="double"/>
1082+
<member name="screenX" default="0" type="double"/>
1083+
<member name="screenY" default="0" type="double"/>
1084+
<member name="pageX" default="0" type="double"/>
1085+
<member name="pageY" default="0" type="double"/>
1086+
<member name="radiusX" default="0" type="float"/>
1087+
<member name="radiusY" default="0" type="float"/>
1088+
<member name="rotationAngle" default="0" type="float"/>
1089+
<member name="force" default="0" type="float"/>
1090+
</members>
1091+
</dictionary>
1092+
<dictionary name="TouchEventInit" extends="EventModifierInit">
1093+
<members>
1094+
<member name="touches" default="[]" type="sequence&lt;Touch&gt;"/>
1095+
<member name="targetTouches" default="[]" type="sequence&lt;Touch&gt;"/>
1096+
<member name="changedTouches" default="[]" type="sequence&lt;Touch&gt;"/>
1097+
</members>
1098+
</dictionary>
10761099
<dictionary name="UIEventInit" extends="EventInit">
10771100
<members>
10781101
<member name="view" default="null" nullable="1" type="Window"/>
@@ -3200,10 +3223,10 @@
32003223
<param name="view" type="WindowProxy"/>
32013224
<param name="target" type="EventTarget"/>
32023225
<param name="identifier" type="long"/>
3203-
<param name="pageX" type="long"/>
3204-
<param name="pageY" type="long"/>
3205-
<param name="screenX" type="long"/>
3206-
<param name="screenY" type="long"/>
3226+
<param name="pageX" type="double"/>
3227+
<param name="pageY" type="double"/>
3228+
<param name="screenX" type="double"/>
3229+
<param name="screenY" type="double"/>
32073230
</method>
32083231
<method name="createTouchList" type="TouchList">
32093232
<param name="touches" type="Touch" variadic="1"/>
@@ -8631,15 +8654,22 @@
86318654
<implements>SVGZoomAndPan</implements>
86328655
</interface>
86338656
<interface name="Touch" extends="Object">
8657+
<constructor>
8658+
<param name="touchInitDict" type="TouchInit"/>
8659+
</constructor>
86348660
<properties>
86358661
<property name="identifier" read-only="1" type="long"/>
86368662
<property name="target" read-only="1" type="EventTarget"/>
8637-
<property name="screenX" read-only="1" type="long"/>
8638-
<property name="screenY" read-only="1" type="long"/>
8639-
<property name="clientX" read-only="1" type="long"/>
8640-
<property name="clientY" read-only="1" type="long"/>
8641-
<property name="pageX" read-only="1" type="long"/>
8642-
<property name="pageY" read-only="1" type="long"/>
8663+
<property name="screenX" read-only="1" type="double"/>
8664+
<property name="screenY" read-only="1" type="double"/>
8665+
<property name="clientX" read-only="1" type="double"/>
8666+
<property name="clientY" read-only="1" type="double"/>
8667+
<property name="pageX" read-only="1" type="double"/>
8668+
<property name="pageY" read-only="1" type="double"/>
8669+
<property name="radiusX" read-only="1" type="float"/>
8670+
<property name="radiusY" read-only="1" type="float"/>
8671+
<property name="rotationAngle" read-only="1" type="float"/>
8672+
<property name="force" read-only="1" type="float"/>
86438673
</properties>
86448674
</interface>
86458675
<interface name="TouchList" extends="Object">
@@ -8653,6 +8683,10 @@
86538683
</properties>
86548684
</interface>
86558685
<interface name="TouchEvent" extends="UIEvent">
8686+
<constructor>
8687+
<param name="type" type="DOMString"/>
8688+
<param name="eventInitDict" optional="1" type="TouchEventInit"/>
8689+
</constructor>
86568690
<properties>
86578691
<property name="touches" read-only="1" type="TouchList"/>
86588692
<property name="targetTouches" read-only="1" type="TouchList"/>
@@ -11040,6 +11074,10 @@
1104011074
<property name="onpointerleave" type="EventHandler" event-handler="pointerleave"/>
1104111075
<property name="onselectstart" type="EventHandler" event-handler="selectstart"/>
1104211076
<property name="onselectionchange" type="EventHandler" event-handler="selectionchange"/>
11077+
<property name="ontouchstart" type="EventHandler" event-handler="touchstart"/>
11078+
<property name="ontouchend" type="EventHandler" event-handler="touchend"/>
11079+
<property name="ontouchmove" type="EventHandler" event-handler="touchmove"/>
11080+
<property name="ontouchcancel" type="EventHandler" event-handler="touchcancel"/>
1104311081
</properties>
1104411082
<events>
1104511083
<event name="abort" type="Event"/>
@@ -11113,6 +11151,10 @@
1111311151
<event name="transitioncancel" type="TransitionEvent"/>
1111411152
<event name="selectstart" type="Event"/>
1111511153
<event name="selectionchange" type="Event"/>
11154+
<event name="touchstart" type="TouchEvent"/>
11155+
<event name="touchend" type="TouchEvent"/>
11156+
<event name="touchmove" type="TouchEvent"/>
11157+
<event name="touchcancel" type="TouchEvent"/>
1111611158
</events>
1111711159
</interface>
1111811160
<interface name="WindowEventHandlers" extends="Object" no-interface-object="1">

inputfiles/overridingTypes.json

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -532,26 +532,6 @@
532532
"disconnect(destination: AudioParam, output?: number): void"
533533
]
534534
},
535-
{
536-
"kind": "property",
537-
"name": "ontouchcancel",
538-
"type": "(ev: TouchEvent) => any"
539-
},
540-
{
541-
"kind": "property",
542-
"name": "ontouchend",
543-
"type": "(ev: TouchEvent) => any"
544-
},
545-
{
546-
"kind": "property",
547-
"name": "ontouchmove",
548-
"type": "(ev: TouchEvent) => any"
549-
},
550-
{
551-
"kind": "property",
552-
"name": "ontouchstart",
553-
"type": "(ev: TouchEvent) => any"
554-
},
555535
{
556536
"kind": "property",
557537
"name": "keyPath?",

0 commit comments

Comments
 (0)