Chromium Code Reviews| 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. |
|
James Cook
2017/03/16 16:48:50
Thanks for documenting all the stuff in this file.
msw
2017/03/16 23:15:50
Acknowledged.
|
| }; |