| // META: script=resources/utils.js |
| |
| test(() => { |
| assert_true(!!self.PerformanceObserver, "PerformanceObserver"); |
| assert_true(!!self.PerformanceObserver.supportedEntryTypes, |
| "PerformanceObserver.supportedEntryTypes"); |
| }, "PerformanceObserver.supportedEntryTypes exists"); |
| |
| // UPDATE HERE if new entry |
| [ |
| [ "navigation", "PerformanceNavigationTiming" ], |
| [ "paint", "PerformancePaintTiming" ], |
| [ "longtask", "PerformanceLongTaskTiming" ], |
| ].forEach(test_support); |
| |
| // UPDATE BELOW to ensure the entry gets created |
| |
| // paint |
| if (self.document) document.head.parentNode.appendChild(document.createTextNode('text inserted on purpose')); |
| |
| // longtask |
| function syncWait(waitDuration) { |
| if (waitDuration <= 0) |
| return; |
| |
| const startTime = performance.now(); |
| let unused = ''; |
| for (let i = 0; i < 10000; i++) |
| unused += '' + Math.random(); |
| |
| return syncWait(waitDuration - (performance.now() - startTime)); |
| } |
| syncWait(50); |