// Copyright 2016 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://html.spec.whatwg.org/multipage/comms.html#broadcastchannel

[
    Constructor(DOMString name),
    ConstructorCallWith=ExecutionContext,
    RaisesException=Constructor,
    Exposed=(Window,Worker),
    ActiveScriptWrappable,
    DependentLifetime,
    Measure
] interface BroadcastChannel : EventTarget {
    readonly attribute DOMString name;

    [RaisesException, Measure] void postMessage(any message);
    [Measure] void close();

    // event handlers
    attribute EventHandler onmessage;
    attribute EventHandler onmessageerror;
};
