// Copyright 2015 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// https://w3c.github.io/performance-timeline/#idl-def-PerformanceObserverCallback
callback PerformanceObserverCallback = void (PerformanceObserverEntryList entries, PerformanceObserver observer);

// https://w3c.github.io/performance-timeline/#the-performance-observer-interface
[
    ActiveScriptWrappable,
    DependentLifetime,
    Constructor(PerformanceObserverCallback callback),
    ConstructorCallWith=ScriptState,
    Exposed=(Window,Worker)
] interface PerformanceObserver {
    [RaisesException] void observe(PerformanceObserverInit options);
    void disconnect();
};
