// 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.

// http://w3c.github.io/performance-timeline/#the-performance-observer-interface

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