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

// https://slightlyoff.github.io/ServiceWorker/spec/service_worker/#serviceworkermessage-event-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 ServiceWorkerMessageEventInit eventInitDict),
    CustomConstructor,
    Exposed=(Window, Worker),
] interface ServiceWorkerMessageEvent : Event {
    [Custom=Getter] readonly attribute any data;
    readonly attribute DOMString origin;
    readonly attribute DOMString lastEventId;
    readonly attribute (ServiceWorker or MessagePort)? source;
    readonly attribute FrozenArray<MessagePort>? ports;
};
