| Index: ash/public/interfaces/shelf.mojom
|
| diff --git a/ash/public/interfaces/shelf.mojom b/ash/public/interfaces/shelf.mojom
|
| index 0d6d20b657236f73038d0caff5434f877336ba22..71ea601fa6648a8b369d4be5295dd8bd19c146fc 100644
|
| --- a/ash/public/interfaces/shelf.mojom
|
| +++ b/ash/public/interfaces/shelf.mojom
|
| @@ -24,6 +24,30 @@ enum ShelfAlignment { BOTTOM, LEFT, RIGHT, BOTTOM_LOCKED, };
|
| // These values match ash::ShelfAutoHideBehavior.
|
| enum ShelfAutoHideBehavior { ALWAYS, NEVER, HIDDEN, };
|
|
|
| +// Represents the status of items in the shelf.
|
| +// These values match ash::ShelfItemStatus.
|
| +enum ShelfItemStatus {
|
| + CLOSED, // A closed shelf item, i.e. has no live instance.
|
| + RUNNING, // A shelf item that has live instance.
|
| + ACTIVE, // An active shelf item that has focus.
|
| + ATTENTION, // A shelf item that needs user's attention.
|
| +};
|
| +
|
| +// The type of a shelf item.
|
| +// These values match ash::ShelfItemType.
|
| +enum ShelfItemType {
|
| + PANEL, // A running app panel.
|
| + PINNED_APP, // A pinned app, which may be running or not.
|
| + APP_LIST, // An item that toggles visiblity of the app list.
|
| + BROWSER, // The browser shortcut, the browser may be running or not.
|
| + APP, // An unpinned running app window. Supports these app types:
|
| + // - Extension "V1" (legacy packaged and hosted) apps,
|
| + // - Extension "V2" (platform) apps,
|
| + // - ARC (App Runtime for Chrome - Android Play Store) apps.
|
| + DIALOG, // An open dialog.
|
| + UNDEFINED, // Default value.
|
| +};
|
| +
|
| // Source of the launch or activation request, for tracking.
|
| // These values match ash::ShelfLaunchSource.
|
| enum ShelfLaunchSource {
|
| @@ -91,17 +115,16 @@ struct MenuItem {
|
| uint32 radio_group_id; // The radio group id.
|
| };
|
|
|
| -// ShelfItem contains the basic fields needed to pin shortcut items.
|
| +// ShelfItems are used to populate the shelf.
|
| +// This structure matches ash::ShelfItem.
|
| struct ShelfItem {
|
| - // An app id, used to correlate windows and shortcuts (eg. 'mojo:foo').
|
| - string app_id;
|
| -
|
| - // A app title, used for tooltips, etc. (eg. 'Foo Application').
|
| - string app_title;
|
| -
|
| - // An icon image Bitmap, shown on the shelf.
|
| - skia.mojom.Bitmap image;
|
| -
|
| - // Additional context menu items (eg. 'New Incognito Window').
|
| - array<MenuItem>? context_menu_items;
|
| + ShelfItemType type; // The type of the shelf item.
|
| + skia.mojom.Bitmap image; // An icon image Bitmap, shown on the shelf.
|
| + int64 shelf_id; // A shelf model ID used by the shelf and clients.
|
| + ShelfItemStatus status; // The running/closed/etc. status of the item.
|
| + string app_id; // An app id string, used to match app windows.
|
| + mojo.common.mojom.String16 title; // The title to display for tooltips, etc.
|
| + bool shows_tooltip; // Whether the tooltip should be shown on hover.
|
| + bool pinned_by_policy; // Whether the item is pinned by policy preferences,
|
| + // the user cannot un-pin these items.
|
| };
|
|
|