// 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-registration-obj
[
    ActiveDOMObject,
    RuntimeEnabled=ServiceWorker,
    GarbageCollected,
    TypeChecking=Interface,
] interface ServiceWorkerRegistration : EventTarget {
    [Unforgeable] readonly attribute ServiceWorker? installing;
    [Unforgeable] readonly attribute ServiceWorker? waiting;
    [Unforgeable] readonly attribute ServiceWorker? active;

    readonly attribute USVString scope;

    [CallWith=ScriptState] Promise<boolean> unregister();

    attribute EventHandler onupdatefound;
};
