blob: 118c785d784caef430e40166dcf301291fb03f93 [file] [log] [blame]
// Copyright 2019 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// Use the <code>chrome.loginScreenStorage</code> API to store persistent data
// from the login screen or inject data into the session.
[platforms=("chromeos", "lacros"),
implemented_in="chrome/browser/chromeos/extensions/login_screen/login_screen_storage/login_screen_storage_api.h"]
namespace loginScreenStorage {
callback StoreCallback = void ();
callback RetrieveCallback = void (DOMString data);
interface Functions {
// Stores persistent data from the login screen. This data can be accessed
// later using $(ref:retrievePersistentData) by any extension from the
// specified extension ids. This method will fail if called while a user
// session is active.
// |extensionIds|: IDs of the extensions that should have access to the
// stored data.
// |data|: The data to store.
static void storePersistentData(
DOMString[] extensionIds,
DOMString data,
StoreCallback callback);
// Retrieves persistent data that was previously stored using
// $(ref:storePersistentData) for the caller's extension ID.
// |ownerId|: ID of the extension that saved the data that the caller is
// trying to retrieve.
static void retrievePersistentData(
DOMString ownerId,
RetrieveCallback callback);
// Stores credentials for later access from the user session. This method
// will fail if called while a user session is active.
// |extensionId|: ID of the in-session extension that should have access to
// these credentials. Credentials stored using this method are deleted on
// session exit.
// |credentials|: The credentials to store.
static void storeCredentials(
DOMString extensionId,
DOMString credentials,
StoreCallback callback);
// Retrieves credentials that were previosly stored using
// $(ref:storeCredentials). The caller's extension ID should be the same as
// the extension id passed to the $(ref:storeCredentials).
static void retrieveCredentials(
RetrieveCallback callback);
};
};