chromium/third_party/blink/renderer/modules/storage_access/storage_access_handle.idl

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

interface StorageAccessHandle {
    [LogActivity=GetterOnly, RaisesException=Getter] readonly attribute Storage sessionStorage;
    [LogActivity=GetterOnly, RaisesException=Getter] readonly attribute Storage localStorage;
    [LogActivity=GetterOnly, RaisesException=Getter] readonly attribute IDBFactory indexedDB;
    [LogActivity=GetterOnly, RaisesException=Getter] readonly attribute LockManager locks;
    [LogActivity=GetterOnly, RaisesException=Getter] readonly attribute CacheStorage caches;
    [CallWith=ScriptState, LogActivity, RaisesException] Promise<FileSystemDirectoryHandle> getDirectory();
    [CallWith=ScriptState, LogActivity, RaisesException] Promise<StorageEstimate> estimate();
    [LogActivity, RaisesException] DOMString createObjectURL(Blob blob);
    [LogActivity, RaisesException] void revokeObjectURL(DOMString url);
    [CallWith=ExecutionContext, LogActivity, RaisesException] BroadcastChannel BroadcastChannel(DOMString name);
    [CallWith=ExecutionContext, LogActivity, RaisesException] SharedWorker SharedWorker(ScriptURLString scriptURL, optional (DOMString or SharedWorkerOptions) options = {});
};