summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
authorcjihrig <cjihrig@gmail.com>2022-05-11 21:15:54 -0400
committerColin Ihrig <cjihrig@gmail.com>2022-06-16 12:05:33 -0400
commit95312ab53a3a118955278a27a0297a17889ad36e (patch)
tree287be428d28e3477380813c9849d36f0f0502569 /ext
parent364da468d24653b00c9989187f3d45609f007265 (diff)
fix: make Performance global an EventTarget
This commit updates the Performance global to extend EventTarget.
Diffstat (limited to 'ext')
-rw-r--r--ext/web/15_performance.js18
1 files changed, 14 insertions, 4 deletions
diff --git a/ext/web/15_performance.js b/ext/web/15_performance.js
index 10e014008..e7eafd533 100644
--- a/ext/web/15_performance.js
+++ b/ext/web/15_performance.js
@@ -327,9 +327,14 @@
}
webidl.configurePrototype(PerformanceMeasure);
const PerformanceMeasurePrototype = PerformanceMeasure.prototype;
- class Performance {
- constructor() {
- webidl.illegalConstructor();
+ class Performance extends EventTarget {
+ constructor(key = null) {
+ if (key != illegalConstructorKey) {
+ webidl.illegalConstructor();
+ }
+
+ super();
+ this[webidl.brand] = webidl.brand;
}
get timeOrigin() {
@@ -572,12 +577,17 @@
webidl.configurePrototype(Performance);
const PerformancePrototype = Performance.prototype;
+ webidl.converters["Performance"] = webidl.createInterfaceConverter(
+ "Performance",
+ PerformancePrototype,
+ );
+
window.__bootstrap.performance = {
PerformanceEntry,
PerformanceMark,
PerformanceMeasure,
Performance,
- performance: webidl.createBranded(Performance),
+ performance: new Performance(illegalConstructorKey),
setTimeOrigin,
};
})(this);