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

enum SyncNetworkState {
  "any",
  "avoid-cellular",
  "online"
};

enum SyncPowerState {
  "auto",
  "avoid-draining"
};

[
    Exposed=(Window,ServiceWorker),
    GarbageCollected,
    RuntimeEnabled=BackgroundSync,
] interface PeriodicSyncRegistration {
    [RuntimeEnabled=BackgroundSyncV2] readonly attribute DOMString tag;
    [RuntimeEnabled=BackgroundSyncV2] readonly attribute unsigned long minPeriod;
    [RuntimeEnabled=BackgroundSyncV2] readonly attribute SyncNetworkState networkState;
    [RuntimeEnabled=BackgroundSyncV2] readonly attribute SyncPowerState powerState;
    [CallWith=ScriptState] Promise<boolean> unregister();
};
