#import // https://w3c.github.io/performance-timeline/#dom-performanceobservercallbackoptions dictionary PerformanceObserverCallbackOptions { unsigned long long droppedEntriesCount; }; callback PerformanceObserverCallback = undefined (PerformanceObserverEntryList entries, PerformanceObserver observer, optional PerformanceObserverCallbackOptions options = {}); // https://w3c.github.io/performance-timeline/#dom-performanceobserverinit dictionary PerformanceObserverInit { sequence entryTypes; DOMString type; boolean buffered; }; // https://w3c.github.io/performance-timeline/#dom-performanceobserver [Exposed=(Window,Worker)] interface PerformanceObserver { constructor(PerformanceObserverCallback callback); undefined observe(optional PerformanceObserverInit options = {}); undefined disconnect(); PerformanceEntryList takeRecords(); // FIXME: This should be FrozenArray, but must also always return the same object. [SameObject] static readonly attribute any supportedEntryTypes; };