// 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/#the-performance-observer-interface

[
    Exposed=(Window,Worker)
] interface PerformanceObserverEntryList {
    // TODO(foolip): getEntries() should take an optional FilterOptions argument.
    sequence<PerformanceEntry> getEntries();
    sequence<PerformanceEntry> getEntriesByType(DOMString entryType);
    sequence<PerformanceEntry> getEntriesByName(DOMString name, optional DOMString entryType = null);
};
