chromium/third_party/blink/renderer/core/frame/reporting_observer.idl

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

// https://w3c.github.io/reporting/#interface-reporting-observer

callback ReportingObserverCallback = void (sequence<Report> reports, ReportingObserver observer);

[
    ActiveScriptWrappable,
    Exposed=(Window,Worker)
] interface ReportingObserver {
    [CallWith=ExecutionContext] constructor(ReportingObserverCallback callback, optional ReportingObserverOptions options = {});
    void observe();
    void disconnect();
    ReportList takeRecords();
};

typedef sequence<Report> ReportList;