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