Skip to content

Commit 320eb36

Browse files
committed
emit parameterized ProgressEvent
1 parent 8a8bb00 commit 320eb36

File tree

4 files changed

+37
-37
lines changed

4 files changed

+37
-37
lines changed

baselines/dom.generated.d.ts

+15-15
Original file line numberDiff line numberDiff line change
@@ -1953,7 +1953,7 @@ interface ApplicationCacheEventMap {
19531953
"error": Event;
19541954
"noupdate": Event;
19551955
"obsolete": Event;
1956-
"progress": ProgressEvent;
1956+
"progress": ProgressEvent<ApplicationCache>;
19571957
"updateready": Event;
19581958
}
19591959

@@ -1971,7 +1971,7 @@ interface ApplicationCache extends EventTarget {
19711971
/** @deprecated */
19721972
onobsolete: ((this: ApplicationCache, ev: Event) => any) | null;
19731973
/** @deprecated */
1974-
onprogress: ((this: ApplicationCache, ev: ProgressEvent) => any) | null;
1974+
onprogress: ((this: ApplicationCache, ev: ProgressEvent<ApplicationCache>) => any) | null;
19751975
/** @deprecated */
19761976
onupdateready: ((this: ApplicationCache, ev: Event) => any) | null;
19771977
/** @deprecated */
@@ -4286,7 +4286,7 @@ interface DocumentEventMap extends GlobalEventHandlersEventMap, DocumentAndEleme
42864286
"fullscreenerror": Event;
42874287
"pointerlockchange": Event;
42884288
"pointerlockerror": Event;
4289-
"readystatechange": ProgressEvent;
4289+
"readystatechange": ProgressEvent<Document>;
42904290
"visibilitychange": Event;
42914291
}
42924292

@@ -4445,7 +4445,7 @@ interface Document extends Node, NonElementParentNode, DocumentOrShadowRoot, Par
44454445
* Fires when the state of the object has changed.
44464446
* @param ev The event
44474447
*/
4448-
onreadystatechange: ((this: Document, ev: ProgressEvent) => any) | null;
4448+
onreadystatechange: ((this: Document, ev: ProgressEvent<Document>) => any) | null;
44494449
onvisibilitychange: ((this: Document, ev: Event) => any) | null;
44504450
/**
44514451
* Returns document's origin.
@@ -17241,9 +17241,9 @@ interface WindowEventMap extends GlobalEventHandlersEventMap, WindowEventHandler
1724117241
"play": Event;
1724217242
"playing": Event;
1724317243
"popstate": PopStateEvent;
17244-
"progress": ProgressEvent;
17244+
"progress": ProgressEvent<Window>;
1724517245
"ratechange": Event;
17246-
"readystatechange": ProgressEvent;
17246+
"readystatechange": ProgressEvent<Window>;
1724717247
"reset": Event;
1724817248
"resize": UIEvent;
1724917249
"scroll": Event;
@@ -17327,7 +17327,7 @@ interface Window extends EventTarget, WindowTimers, WindowSessionStorage, Window
1732717327
onmspointerup: ((this: Window, ev: Event) => any) | null;
1732817328
/** @deprecated */
1732917329
onorientationchange: ((this: Window, ev: Event) => any) | null;
17330-
onreadystatechange: ((this: Window, ev: ProgressEvent) => any) | null;
17330+
onreadystatechange: ((this: Window, ev: ProgressEvent<Window>) => any) | null;
1733117331
onvrdisplayactivate: ((this: Window, ev: Event) => any) | null;
1733217332
onvrdisplayblur: ((this: Window, ev: Event) => any) | null;
1733317333
onvrdisplayconnect: ((this: Window, ev: Event) => any) | null;
@@ -17679,13 +17679,13 @@ declare var XMLHttpRequest: {
1767917679
};
1768017680

1768117681
interface XMLHttpRequestEventTargetEventMap {
17682-
"abort": ProgressEvent;
17683-
"error": ProgressEvent;
17684-
"load": ProgressEvent;
17685-
"loadend": ProgressEvent;
17686-
"loadstart": ProgressEvent;
17687-
"progress": ProgressEvent;
17688-
"timeout": ProgressEvent;
17682+
"abort": ProgressEvent<XMLHttpRequestEventTarget>;
17683+
"error": ProgressEvent<XMLHttpRequestEventTarget>;
17684+
"load": ProgressEvent<XMLHttpRequestEventTarget>;
17685+
"loadend": ProgressEvent<XMLHttpRequestEventTarget>;
17686+
"loadstart": ProgressEvent<XMLHttpRequestEventTarget>;
17687+
"progress": ProgressEvent<XMLHttpRequestEventTarget>;
17688+
"timeout": ProgressEvent<XMLHttpRequestEventTarget>;
1768917689
}
1769017690

1769117691
interface XMLHttpRequestEventTarget extends EventTarget {
@@ -18323,7 +18323,7 @@ declare var onmspointerover: ((this: Window, ev: Event) => any) | null;
1832318323
declare var onmspointerup: ((this: Window, ev: Event) => any) | null;
1832418324
/** @deprecated */
1832518325
declare var onorientationchange: ((this: Window, ev: Event) => any) | null;
18326-
declare var onreadystatechange: ((this: Window, ev: ProgressEvent) => any) | null;
18326+
declare var onreadystatechange: ((this: Window, ev: ProgressEvent<Window>) => any) | null;
1832718327
declare var onvrdisplayactivate: ((this: Window, ev: Event) => any) | null;
1832818328
declare var onvrdisplayblur: ((this: Window, ev: Event) => any) | null;
1832918329
declare var onvrdisplayconnect: ((this: Window, ev: Event) => any) | null;

baselines/webworker.generated.d.ts

+7-7
Original file line numberDiff line numberDiff line change
@@ -4510,13 +4510,13 @@ declare var XMLHttpRequest: {
45104510
};
45114511

45124512
interface XMLHttpRequestEventTargetEventMap {
4513-
"abort": ProgressEvent;
4514-
"error": ProgressEvent;
4515-
"load": ProgressEvent;
4516-
"loadend": ProgressEvent;
4517-
"loadstart": ProgressEvent;
4518-
"progress": ProgressEvent;
4519-
"timeout": ProgressEvent;
4513+
"abort": ProgressEvent<XMLHttpRequestEventTarget>;
4514+
"error": ProgressEvent<XMLHttpRequestEventTarget>;
4515+
"load": ProgressEvent<XMLHttpRequestEventTarget>;
4516+
"loadend": ProgressEvent<XMLHttpRequestEventTarget>;
4517+
"loadstart": ProgressEvent<XMLHttpRequestEventTarget>;
4518+
"progress": ProgressEvent<XMLHttpRequestEventTarget>;
4519+
"timeout": ProgressEvent<XMLHttpRequestEventTarget>;
45204520
}
45214521

45224522
interface XMLHttpRequestEventTarget extends EventTarget {

inputfiles/overridingTypes.json

+6-12
Original file line numberDiff line numberDiff line change
@@ -1862,33 +1862,27 @@
18621862
"event": [
18631863
{
18641864
"name": "loadstart",
1865-
"type": "ProgressEvent",
1866-
"generic": "FileReader"
1865+
"type": "ProgressEvent"
18671866
},
18681867
{
18691868
"name": "progress",
1870-
"type": "ProgressEvent",
1871-
"generic": "FileReader"
1869+
"type": "ProgressEvent"
18721870
},
18731871
{
18741872
"name": "load",
1875-
"type": "ProgressEvent",
1876-
"generic": "FileReader"
1873+
"type": "ProgressEvent"
18771874
},
18781875
{
18791876
"name": "abort",
1880-
"type": "ProgressEvent",
1881-
"generic": "FileReader"
1877+
"type": "ProgressEvent"
18821878
},
18831879
{
18841880
"name": "error",
1885-
"type": "ProgressEvent",
1886-
"generic": "FileReader"
1881+
"type": "ProgressEvent"
18871882
},
18881883
{
18891884
"name": "loadend",
1890-
"type": "ProgressEvent",
1891-
"generic": "FileReader"
1885+
"type": "ProgressEvent"
18921886
}
18931887
]
18941888
}

src/emitter.ts

+9-3
Original file line numberDiff line numberDiff line change
@@ -249,11 +249,17 @@ export function emitWebIdl(webidl: Browser.WebIdl, flavor: Flavor) {
249249
}
250250

251251
function getEventTypeInInterface(eName: string, i: Browser.Interface) {
252+
function getGenericEventType(baseName: string) {
253+
if (baseName === "ProgressEvent" && !i.name.endsWith("Handlers")) {
254+
return `${baseName}<${i.name}>`;
255+
}
256+
return baseName;
257+
}
258+
252259
if (i.events) {
253260
const event = i.events.event.find(e => e.name === eName);
254261
if (event && event.type) {
255-
const generic = event.generic ? `<${event.generic}>` : "";
256-
return event.type + generic;
262+
return getGenericEventType(event.type);
257263
}
258264
}
259265
if (i["attributeless-events"]) {
@@ -262,7 +268,7 @@ export function emitWebIdl(webidl: Browser.WebIdl, flavor: Flavor) {
262268
return event.type;
263269
}
264270
}
265-
return eNameToEType[eName] || "Event";
271+
return getGenericEventType(eNameToEType[eName]) || "Event";
266272
}
267273

268274
/// Determine if interface1 depends on interface2

0 commit comments

Comments
 (0)