| <!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> | |
| 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> |