StorageAccessHandle

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

The StorageAccessHandle interface represents access to unpartitioned state granted by a call to Document.requestStorageAccess().

Instance properties

StorageAccessHandle.sessionStorage Read only

Returns an unpartitioned session Storage object if access was granted.

StorageAccessHandle.localStorage Read only

Returns an unpartitioned local Storage object if access was granted.

StorageAccessHandle.indexedDB Read only

Returns an unpartitioned IDBFactory object if access was granted.

StorageAccessHandle.locks Read only

Returns an unpartitioned LockManager object if access was granted.

StorageAccessHandle.caches Read only

Returns an unpartitioned CacheStorage object if access was granted.

Instance methods

StorageAccessHandle.getDirectory()

Returns a Promise that fulfills with an unpartitioned FileSystemDirectoryHandle object if access was granted, and rejects otherwise.

StorageAccessHandle.estimate()

Returns a Promise that fulfills with an unpartitioned StorageEstimate object if access was granted, and rejects otherwise.

StorageAccessHandle.createObjectURL()

Returns a string representing the unpartitioned blob storage url created if access was granted, and throws otherwise.

StorageAccessHandle.revokeObjectURL()

Revokes the unpartitioned blob storage url passed in if access was granted, and throws otherwise.

StorageAccessHandle.BroadcastChannel()

Returns the unpartitioned BroadcastChannel created if access was granted, and throws otherwise.

StorageAccessHandle.SharedWorker()

Returns the unpartitioned SharedWorker created if access was granted, and throws otherwise.

Example

js
document.requestStorageAccess({ localStorage: true }).then(
  (handle) => {
    console.log("localStorage access granted");
    handle.localStorage.setItem("foo", "bar");
  },
  () => {
    console.log("localStorage access denied");
  },
);

Note: See Using the Storage Access API for a more complete example.

Specifications

Specification
Extending Storage Access API (SAA) to non-cookie storage
# storageaccesshandle

Browser compatibility

BCD tables only load in the browser

See also