// 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,
    RuntimeEnabled=BroadcastChannel,
    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;
};
