blob: 33fa76844356ca367d2c2ef435c65cc0c8536f37 [file] [log] [blame]
// 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.
[RuntimeEnabled=StorageAccessAPIBeyondCookies]
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 = {});
};