| test(() => { |
| assert_implements(typeof PerformanceObserver.supportedEntryTypes !== "undefined", 'supportedEntryTypes is not supported'); |
| assert_true(PerformanceObserver.supportedEntryTypes.includes("paint"), |
| "There should be an entry 'paint' in PerformanceObserver.supportedEntryTypes"); |
| }, "supportedEntryTypes contains 'paint'."); |
| |
| const entryType = 'paint'; |
| promise_test(async() => { |
| assert_implements(typeof PerformanceObserver.supportedEntryTypes !== "undefined", 'supportedEntryTypes is not supported'); |
| assert_implements(typeof PerformanceObserver.supportedEntryTypes.includes(entryType), `supportedEntryTypes does not include '${entryType}'`); |
| await new Promise((resolve) => { |
| new PerformanceObserver(function (list, observer) { |
| observer.disconnect(); |
| resolve(); |
| }).observe({entryTypes: [entryType]}); |
| |
| // Force the PerformanceEntry. |
| // Use `self` for Workers. |
| if (self.document) |
| document.head.parentNode.appendChild(document.createTextNode('foo')); |
| }) |
| }, `'${entryType}' entries should be observable.`) |