Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2074)

Unified Diff: ash/public/interfaces/shelf.mojom

Issue 2750463009: mash: Fix ShelfItem mojo struct; add enums and traits. (Closed)
Patch Set: Address comment. Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ash/public/interfaces/BUILD.gn ('k') | ash/public/interfaces/shelf.typemap » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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.
};
« no previous file with comments | « ash/public/interfaces/BUILD.gn ('k') | ash/public/interfaces/shelf.typemap » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698