98 lines
3.3 KiB
Plaintext
Executable File
98 lines
3.3 KiB
Plaintext
Executable File
// Copyright 2017 The Chromium Authors
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
// <p>
|
|
// The API that can be used by an app to create and manage data on the
|
|
// Chrome OS lock screen.
|
|
// </p>
|
|
// <p>
|
|
// The API usability will depend on the user session state:
|
|
// <ul>
|
|
// <li>
|
|
// When the user session is locked, the API usage will only be allowed
|
|
// from the lock screen context.
|
|
// </li>
|
|
// <li>
|
|
// When the user session is not locked, the API usage will only be
|
|
// allowed outside the lock screen context - i.e. from the regular app
|
|
// context.
|
|
// </li>
|
|
// </ul>
|
|
// </p>
|
|
// <p>
|
|
// Note that apps have reduced access to Chrome apps APIs from the lock screen
|
|
// context.
|
|
// </p>
|
|
namespace lockScreen.data {
|
|
// The basic information about available data items originating from the lock
|
|
// screen.
|
|
dictionary DataItemInfo {
|
|
// The data item ID that can later be used to retrieve and update the
|
|
// associated lock screen data.
|
|
DOMString id;
|
|
};
|
|
|
|
dictionary DataItemsAvailableEvent {
|
|
// <p>Whether the event was dispatched as a result of the user session
|
|
// getting unlocked.
|
|
// </p>
|
|
// <p>For example:
|
|
// <ul>
|
|
// <li>If the app creates new data items while shown on
|
|
// the lock screen, when the user unlocks the screen,
|
|
// $(ref:onDataItemsAvailable) event will be dispatched with this
|
|
// property set to <code>true</code>.
|
|
// </li>
|
|
// <li>When the user logs in, if not previously reported lock screen
|
|
// data items are found, which could happen if the user session had
|
|
// been closed while it was locked, $(ref:onDataItemsAvailable) will
|
|
// be dispatched with this property set to <code>false</code>.
|
|
// </li>
|
|
// </ul>
|
|
// </p>
|
|
boolean wasLocked;
|
|
};
|
|
|
|
callback DataItemCallback = void(DataItemInfo item);
|
|
callback DataItemListCallback = void(DataItemInfo[] items);
|
|
callback DataCallback = void(ArrayBuffer data);
|
|
callback VoidCallback = void();
|
|
|
|
interface Functions {
|
|
// Creates a new data item reference - available only in lock screen
|
|
// contexts.
|
|
static void create(DataItemCallback callback);
|
|
|
|
// Gets references to all data items available to the app.
|
|
static void getAll(DataItemListCallback callback);
|
|
|
|
// Retrieves content of the data item identified by |id|.
|
|
static void getContent(
|
|
DOMString id,
|
|
DataCallback callback);
|
|
|
|
// Sets contents of a data item.
|
|
// |id| - Identifies the target data item.
|
|
// |data| - The data item contents to set.
|
|
static void setContent(
|
|
DOMString id,
|
|
ArrayBuffer data,
|
|
optional VoidCallback callback);
|
|
|
|
// Deletes a data item. The data item will not be available through this
|
|
// API anymore.
|
|
// |id| - Identifies the data item to delete.
|
|
static void delete(
|
|
DOMString id,
|
|
optional VoidCallback callback);
|
|
};
|
|
|
|
interface Events {
|
|
// Dispatched when new data items become available to main, non-lock screen
|
|
// app context - this event is not expected to be dispatched to the app in
|
|
// the lock screen context.
|
|
static void onDataItemsAvailable(DataItemsAvailableEvent event);
|
|
};
|
|
};
|