// 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://storage.spec.whatwg.org/#storagemanager

[
    SecureContext,
    Exposed=(Window,Worker)
] interface StorageManager : EventTarget {
    [CallWith=ScriptState, MeasureAs=DurableStoragePersisted] Promise<boolean> persisted();
    [Exposed=Window, CallWith=ScriptState, MeasureAs=DurableStoragePersist] Promise<boolean> persist();

    [CallWith=ScriptState, MeasureAs=DurableStorageEstimate] Promise<StorageEstimate> estimate();
    [RuntimeEnabled=QuotaChange] attribute EventHandler onquotachange;
};