From fb3b8eb329f49ee720d6d6587e573d76ad5bb77b Mon Sep 17 00:00:00 2001 From: Simon Chan <1330321+yume-chan@users.noreply.github.com> Date: Wed, 2 Mar 2022 11:15:40 +0800 Subject: [PATCH 1/2] convert performance.measure() to overloads --- baselines/dom.generated.d.ts | 4 +++- baselines/serviceworker.generated.d.ts | 4 +++- baselines/sharedworker.generated.d.ts | 4 +++- baselines/webworker.generated.d.ts | 4 +++- inputfiles/overridingTypes.jsonc | 13 +++++++++++++ unittests/files/performance-measure.ts | 8 ++++++++ 6 files changed, 33 insertions(+), 4 deletions(-) create mode 100644 unittests/files/performance-measure.ts diff --git a/baselines/dom.generated.d.ts b/baselines/dom.generated.d.ts index f32fedc45..807d6a0e9 100644 --- a/baselines/dom.generated.d.ts +++ b/baselines/dom.generated.d.ts @@ -10275,7 +10275,9 @@ interface Performance extends EventTarget { getEntriesByName(name: string, type?: string): PerformanceEntryList; getEntriesByType(type: string): PerformanceEntryList; mark(markName: string, markOptions?: PerformanceMarkOptions): PerformanceMark; - measure(measureName: string, startOrMeasureOptions?: string | PerformanceMeasureOptions, endMark?: string): PerformanceMeasure; + measure(measureName: string): PerformanceMeasure; + measure(measureName: string, measureOptions: PerformanceMeasureOptions): PerformanceMeasure; + measure(measureName: string, startMark?: string, endMark?: string): PerformanceMeasure; now(): DOMHighResTimeStamp; setResourceTimingBufferSize(maxSize: number): void; toJSON(): any; diff --git a/baselines/serviceworker.generated.d.ts b/baselines/serviceworker.generated.d.ts index a3258b376..d6cbff4a2 100644 --- a/baselines/serviceworker.generated.d.ts +++ b/baselines/serviceworker.generated.d.ts @@ -2323,7 +2323,9 @@ interface Performance extends EventTarget { getEntriesByName(name: string, type?: string): PerformanceEntryList; getEntriesByType(type: string): PerformanceEntryList; mark(markName: string, markOptions?: PerformanceMarkOptions): PerformanceMark; - measure(measureName: string, startOrMeasureOptions?: string | PerformanceMeasureOptions, endMark?: string): PerformanceMeasure; + measure(measureName: string): PerformanceMeasure; + measure(measureName: string, measureOptions: PerformanceMeasureOptions): PerformanceMeasure; + measure(measureName: string, startMark?: string, endMark?: string): PerformanceMeasure; now(): DOMHighResTimeStamp; setResourceTimingBufferSize(maxSize: number): void; toJSON(): any; diff --git a/baselines/sharedworker.generated.d.ts b/baselines/sharedworker.generated.d.ts index 06a713071..7b2527877 100644 --- a/baselines/sharedworker.generated.d.ts +++ b/baselines/sharedworker.generated.d.ts @@ -2232,7 +2232,9 @@ interface Performance extends EventTarget { getEntriesByName(name: string, type?: string): PerformanceEntryList; getEntriesByType(type: string): PerformanceEntryList; mark(markName: string, markOptions?: PerformanceMarkOptions): PerformanceMark; - measure(measureName: string, startOrMeasureOptions?: string | PerformanceMeasureOptions, endMark?: string): PerformanceMeasure; + measure(measureName: string): PerformanceMeasure; + measure(measureName: string, measureOptions: PerformanceMeasureOptions): PerformanceMeasure; + measure(measureName: string, startMark?: string, endMark?: string): PerformanceMeasure; now(): DOMHighResTimeStamp; setResourceTimingBufferSize(maxSize: number): void; toJSON(): any; diff --git a/baselines/webworker.generated.d.ts b/baselines/webworker.generated.d.ts index c885f3bbb..f4013c2c5 100644 --- a/baselines/webworker.generated.d.ts +++ b/baselines/webworker.generated.d.ts @@ -2375,7 +2375,9 @@ interface Performance extends EventTarget { getEntriesByName(name: string, type?: string): PerformanceEntryList; getEntriesByType(type: string): PerformanceEntryList; mark(markName: string, markOptions?: PerformanceMarkOptions): PerformanceMark; - measure(measureName: string, startOrMeasureOptions?: string | PerformanceMeasureOptions, endMark?: string): PerformanceMeasure; + measure(measureName: string): PerformanceMeasure; + measure(measureName: string, measureOptions: PerformanceMeasureOptions): PerformanceMeasure; + measure(measureName: string, startMark?: string, endMark?: string): PerformanceMeasure; now(): DOMHighResTimeStamp; setResourceTimingBufferSize(maxSize: number): void; toJSON(): any; diff --git a/inputfiles/overridingTypes.jsonc b/inputfiles/overridingTypes.jsonc index 980f2eefe..af37485a4 100644 --- a/inputfiles/overridingTypes.jsonc +++ b/inputfiles/overridingTypes.jsonc @@ -2834,6 +2834,19 @@ }, "SourceBufferList": { "exposed": "Window" + }, + "Performance": { + "methods": { + "method": { + "measure": { + "overrideSignatures": [ + "measure(measureName: string): PerformanceMeasure", + "measure(measureName: string, measureOptions: PerformanceMeasureOptions): PerformanceMeasure", + "measure(measureName: string, startMark?: string, endMark?: string): PerformanceMeasure" + ] + } + } + } } } }, diff --git a/unittests/files/performance-measure.ts b/unittests/files/performance-measure.ts new file mode 100644 index 000000000..1d29df510 --- /dev/null +++ b/unittests/files/performance-measure.ts @@ -0,0 +1,8 @@ +performance.measure('name'); +performance.measure('name', 'start'); +performance.measure('name', undefined); +performance.measure('name', 'start', 'end'); +performance.measure('name', undefined, 'end'); +performance.measure('name', 'start', undefined); +performance.measure('name', undefined, undefined); +performance.measure('name', { start: 'start', end: 'end' }); From cde70de53e5898b2c41c83f28105a6ca63e8ad3a Mon Sep 17 00:00:00 2001 From: Simon Chan <1330321+yume-chan@users.noreply.github.com> Date: Thu, 3 Mar 2022 10:30:00 +0800 Subject: [PATCH 2/2] Merge first two overloads of `performance.measure` --- baselines/dom.generated.d.ts | 3 +-- baselines/serviceworker.generated.d.ts | 3 +-- baselines/sharedworker.generated.d.ts | 3 +-- baselines/webworker.generated.d.ts | 3 +-- inputfiles/overridingTypes.jsonc | 3 +-- 5 files changed, 5 insertions(+), 10 deletions(-) diff --git a/baselines/dom.generated.d.ts b/baselines/dom.generated.d.ts index 807d6a0e9..f1e633b20 100644 --- a/baselines/dom.generated.d.ts +++ b/baselines/dom.generated.d.ts @@ -10275,8 +10275,7 @@ interface Performance extends EventTarget { getEntriesByName(name: string, type?: string): PerformanceEntryList; getEntriesByType(type: string): PerformanceEntryList; mark(markName: string, markOptions?: PerformanceMarkOptions): PerformanceMark; - measure(measureName: string): PerformanceMeasure; - measure(measureName: string, measureOptions: PerformanceMeasureOptions): PerformanceMeasure; + measure(measureName: string, options?: PerformanceMeasureOptions): PerformanceMeasure; measure(measureName: string, startMark?: string, endMark?: string): PerformanceMeasure; now(): DOMHighResTimeStamp; setResourceTimingBufferSize(maxSize: number): void; diff --git a/baselines/serviceworker.generated.d.ts b/baselines/serviceworker.generated.d.ts index d6cbff4a2..05b6f4171 100644 --- a/baselines/serviceworker.generated.d.ts +++ b/baselines/serviceworker.generated.d.ts @@ -2323,8 +2323,7 @@ interface Performance extends EventTarget { getEntriesByName(name: string, type?: string): PerformanceEntryList; getEntriesByType(type: string): PerformanceEntryList; mark(markName: string, markOptions?: PerformanceMarkOptions): PerformanceMark; - measure(measureName: string): PerformanceMeasure; - measure(measureName: string, measureOptions: PerformanceMeasureOptions): PerformanceMeasure; + measure(measureName: string, options?: PerformanceMeasureOptions): PerformanceMeasure; measure(measureName: string, startMark?: string, endMark?: string): PerformanceMeasure; now(): DOMHighResTimeStamp; setResourceTimingBufferSize(maxSize: number): void; diff --git a/baselines/sharedworker.generated.d.ts b/baselines/sharedworker.generated.d.ts index 7b2527877..3aba88884 100644 --- a/baselines/sharedworker.generated.d.ts +++ b/baselines/sharedworker.generated.d.ts @@ -2232,8 +2232,7 @@ interface Performance extends EventTarget { getEntriesByName(name: string, type?: string): PerformanceEntryList; getEntriesByType(type: string): PerformanceEntryList; mark(markName: string, markOptions?: PerformanceMarkOptions): PerformanceMark; - measure(measureName: string): PerformanceMeasure; - measure(measureName: string, measureOptions: PerformanceMeasureOptions): PerformanceMeasure; + measure(measureName: string, options?: PerformanceMeasureOptions): PerformanceMeasure; measure(measureName: string, startMark?: string, endMark?: string): PerformanceMeasure; now(): DOMHighResTimeStamp; setResourceTimingBufferSize(maxSize: number): void; diff --git a/baselines/webworker.generated.d.ts b/baselines/webworker.generated.d.ts index f4013c2c5..22c862cf2 100644 --- a/baselines/webworker.generated.d.ts +++ b/baselines/webworker.generated.d.ts @@ -2375,8 +2375,7 @@ interface Performance extends EventTarget { getEntriesByName(name: string, type?: string): PerformanceEntryList; getEntriesByType(type: string): PerformanceEntryList; mark(markName: string, markOptions?: PerformanceMarkOptions): PerformanceMark; - measure(measureName: string): PerformanceMeasure; - measure(measureName: string, measureOptions: PerformanceMeasureOptions): PerformanceMeasure; + measure(measureName: string, options?: PerformanceMeasureOptions): PerformanceMeasure; measure(measureName: string, startMark?: string, endMark?: string): PerformanceMeasure; now(): DOMHighResTimeStamp; setResourceTimingBufferSize(maxSize: number): void; diff --git a/inputfiles/overridingTypes.jsonc b/inputfiles/overridingTypes.jsonc index af37485a4..b5c4a7e6f 100644 --- a/inputfiles/overridingTypes.jsonc +++ b/inputfiles/overridingTypes.jsonc @@ -2840,8 +2840,7 @@ "method": { "measure": { "overrideSignatures": [ - "measure(measureName: string): PerformanceMeasure", - "measure(measureName: string, measureOptions: PerformanceMeasureOptions): PerformanceMeasure", + "measure(measureName: string, options?: PerformanceMeasureOptions): PerformanceMeasure", "measure(measureName: string, startMark?: string, endMark?: string): PerformanceMeasure" ] }