// 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://mkruisselbrink.github.io/navigator-connect/#idl-def-ServicePortCollection
[
    Exposed=(Window,Worker),
    GarbageCollected,
    TypeChecking=Interface,
    RuntimeEnabled=NavigatorConnect,
    TypeChecking=Interface,
]  interface ServicePortCollection : EventTarget {
    [CallWith=ScriptState, RaisesException] Promise<ServicePort> connect(DOMString url, optional ServicePortConnectOptions options);
    [CallWith=ScriptState] Promise<ServicePort> match(ServicePortMatchOptions options);
    [CallWith=ScriptState] Promise<sequence<ServicePort>> matchAll(optional ServicePortMatchOptions options);
    [Exposed=ServiceWorker] attribute EventHandler onconnect;
    attribute EventHandler onmessage;
    attribute EventHandler onclose;
};
