diff options
| author | cjihrig <cjihrig@gmail.com> | 2022-05-11 21:15:54 -0400 |
|---|---|---|
| committer | Colin Ihrig <cjihrig@gmail.com> | 2022-06-16 12:05:33 -0400 |
| commit | 95312ab53a3a118955278a27a0297a17889ad36e (patch) | |
| tree | 287be428d28e3477380813c9849d36f0f0502569 /ext | |
| parent | 364da468d24653b00c9989187f3d45609f007265 (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.js | 18 |
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); |
