chromium/third_party/blink/renderer/modules/lock_screen/lock_screen_data.idl

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

// https://github.com/WICG/lock-screen/blob/main/README.md
[
  SecureContext,
  RuntimeEnabled=WebAppsLockScreen
] interface LockScreenData {
  [CallWith=ScriptState]
  Promise<sequence<DOMString>> getKeys();

  [CallWith=ScriptState]
  // TODO (crbug.com/1293259): Use `(DOMString or undefined)` instead of `any`
  // when supported by the Blink IDL compiler.
  Promise<any> getData(DOMString key);

  [CallWith=ScriptState]
  Promise<undefined> setData(DOMString key, DOMString data);

  [CallWith=ScriptState]
  Promise<undefined> deleteData(DOMString key);
};