// 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://w3c.github.io/ServiceWorker/#extendablemessageevent-interface

[
    // TODO(bashi): Stop using CustomConstructor once we solve reference
    // circulation between Blink and V8. http://crbug.com/501866
    // Constructor should be:
    // Constructor(DOMString type, optional ExtendableMessageEventInit eventInitDict),
    CustomConstructor,
    Exposed=ServiceWorker
] interface ExtendableMessageEvent : ExtendableEvent {
    [Custom=Getter] readonly attribute any data;
    readonly attribute DOMString origin;
    readonly attribute DOMString lastEventId;
    [SameObject] readonly attribute (Client or ServiceWorker or MessagePort)? source;
    readonly attribute FrozenArray<MessagePort> ports;
};
