chromium/third_party/blink/renderer/modules/background_sync/periodic_sync_manager.idl

// Copyright 2019 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// TODO(crbug.com/925297): Link to spec.
// Explainer: https://github.com/beverloo/periodic-background-sync

[
    Exposed=(Window,Worker),
    RuntimeEnabled=PeriodicBackgroundSync
] interface PeriodicSyncManager {
    [MeasureAs=PeriodicBackgroundSyncRegister,CallWith=ScriptState,RaisesException,ImplementedAs=registerPeriodicSync] Promise<undefined> register(DOMString tag, optional BackgroundSyncOptions options = {});
    [MeasureAs=PeriodicBackgroundSyncGetTags, CallWith=ScriptState] Promise<sequence<DOMString>> getTags();
    [MeasureAs=PeriodicBackgroundSyncUnregister,CallWith=ScriptState] Promise<undefined> unregister(DOMString tag);
};