dom/webidl/PerformanceObserver.webidl
author Marian-Vasile Laza <mlaza@mozilla.com>
Mon, 20 Mar 2023 21:17:55 +0200
changeset 657270 ef283da5146eca3004d1ab219a5fca8ebb246ef9
parent 639536 3abfd8a5be735ddd84dbf88026de3709d049059d
permissions -rw-r--r--
Backed out changeset 18595f6364ea (bug 1822521) for wpt failures on popover-focus-child-dialog.html. CLOSED TREE

/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this file,
 * You can obtain one at http://mozilla.org/MPL/2.0/.
 *
 * The origin of this IDL file is
 * https://w3c.github.io/performance-timeline/#the-performanceobserver-interface
 */

dictionary PerformanceObserverInit {
  sequence<DOMString> entryTypes;
  DOMString type;
  boolean buffered;
  [Pref="dom.enable_event_timing"]
  DOMHighResTimeStamp durationThreshold;
};

callback PerformanceObserverCallback = undefined (PerformanceObserverEntryList entries,
                                                  PerformanceObserver observer);

[Pref="dom.enable_performance_observer",
 Exposed=(Window,Worker)]
interface PerformanceObserver {
    [Throws]
    constructor(PerformanceObserverCallback callback);

    [Throws] undefined observe(optional PerformanceObserverInit options = {});
    undefined disconnect();
    PerformanceEntryList takeRecords();
    static readonly attribute object supportedEntryTypes;
};