// 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.
[ImplementedAs=DocumentStorageAccess]
partial interface Document {
[
CallWith=ScriptState,
NewObject,
MeasureAs=StorageAccessAPI_HasStorageAccess_Method
] Promise<boolean> hasStorageAccess();
[
CallWith=ScriptState,
NewObject,
MeasureAs=StorageAccessAPI_requestStorageAccess_Method
] Promise<undefined> requestStorageAccess();
[
CallWith=ScriptState,
NewObject,
MeasureAs=StorageAccessAPI_requestStorageAccess_BeyondCookies
] Promise<StorageAccessHandle> requestStorageAccess(StorageAccessTypes types);
[
CallWith=ScriptState,
NewObject,
MeasureAs=StorageAccessAPI_hasUnpartitionedCookieAccess
] Promise<boolean> hasUnpartitionedCookieAccess();
[
CallWith=ScriptState,
NewObject,
MeasureAs=StorageAccessAPI_requestStorageAccessFor_Method
] Promise<undefined> requestStorageAccessFor(USVString requestedOrigin);
};