// Copyright 2014 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/index.html#service-worker-client-interface
[
    Exposed=ServiceWorker,
    ImplementedAs=ServiceWorkerClient,
] interface Client {
    [RuntimeEnabled=ServiceWorkerClientAttributes] readonly attribute USVString url;
    [RuntimeEnabled=ServiceWorkerClientAttributes] readonly attribute ContextFrameType frameType;
    [RuntimeEnabled=ServiceWorkerClientAttributes] readonly attribute DOMString id;
    [PostMessage, RaisesException, CallWith=ExecutionContext] void postMessage(SerializedScriptValue message, optional sequence<Transferable> transfer);
};
