1. Enforce receiver checks on IDL interfaces. 2. Avoid prototype manipulation on constructing IDL interfaces with `ReflectConstruct`. 3. `defineReplaceableAttribute` should create IDL getter/setter. 4. Corrected `PerformanceResourceTiming` to inherit the public interface `PerformanceEntry` instead of the internal interface `InternalPerformanceResourceTiming`. 5. `detail` is not a specified attribute on `PerfomanceEntry`. Node.js specific extensions are moved to a subclass of `PerformanceEntry` as `PerformanceNodeEntry`. PR-URL: https://github.com/nodejs/node/pull/44483 Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Reviewed-By: Minwoo Jung <nodecorelab@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
32 lines
1.1 KiB
HTML
32 lines
1.1 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<meta name="timeout" content="long">
|
|
<title>Resource Timing: EventSource timing behavior</title>
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
<script src="/resource-timing/resources/observe-entry.js"></script>
|
|
</head>
|
|
</script>
|
|
<script>
|
|
async_test(t => {
|
|
const repetitions = 2;
|
|
const url = new URL(`/eventsource/resources/message.py`, location.href);
|
|
const eventSource = new EventSource(url);
|
|
let messages = 0;
|
|
t.add_cleanup(() => eventSource.close());
|
|
eventSource.addEventListener('message', () => {
|
|
++messages;
|
|
})
|
|
|
|
new PerformanceObserver(() => {
|
|
const entries = performance.getEntriesByName(url);
|
|
assert_greater_than_equal(entries.length, messages - 1);
|
|
if (entries.length === repetitions)
|
|
t.done();
|
|
}).observe({type: 'resource'});
|
|
}, "ResourceTiming for EventSource should reflect number of re-connections to source");
|
|
</script>
|
|
</body>
|
|
</html>
|