| OLD | NEW | 
|   1 // Copyright 2016 The Chromium Authors. All rights reserved. |   1 // Copyright 2016 The Chromium Authors. All rights reserved. | 
|   2 // Use of this source code is governed by a BSD-style license that can be |   2 // Use of this source code is governed by a BSD-style license that can be | 
|   3 // found in the LICENSE file. |   3 // found in the LICENSE file. | 
|   4  |   4  | 
|   5 module mash.shelf.mojom; |   5 module mash.shelf.mojom; | 
|   6  |   6  | 
|   7 import "mash/shelf/public/interfaces/shelf_constants.mojom"; |   7 import "mash/shelf/public/interfaces/shelf_constants.mojom"; | 
|   8 import "skia/public/interfaces/bitmap.mojom"; |   8 import "skia/public/interfaces/bitmap.mojom"; | 
|   9  |   9  | 
|  10 // TODO(msw): Add support for multiple displays (with unified and multi-shelf). |  10 // TODO(msw): Add support for multiple displays (with unified and multi-shelf). | 
|  11  |  11  | 
|  12 // The Shelf controller allows clients (eg. Chrome) to control the mash shelf. |  12 // The Shelf controller allows clients (eg. Chrome) to control the mash shelf. | 
|  13 interface ShelfController { |  13 interface ShelfController { | 
|  14   AddObserver(associated ShelfObserver observer); |  14   AddObserver(associated ShelfObserver observer); | 
|  15  |  15  | 
|  16   SetAlignment(Alignment alignment); |  16   SetAlignment(Alignment alignment); | 
|  17   SetAutoHideBehavior(AutoHideBehavior auto_hide); |  17   SetAutoHideBehavior(AutoHideBehavior auto_hide); | 
|  18  |  18  | 
|  19   PinItem(ShelfItem item, associated ShelfItemDelegate delegate); |  19   PinItem(ShelfItem item, associated ShelfItemDelegate delegate); | 
|  20   UnpinItem(string app_id); |  20   UnpinItem(string app_id); | 
 |  21  | 
 |  22   SetItemImage(string app_id, skia.mojom.Bitmap image); | 
|  21 }; |  23 }; | 
|  22  |  24  | 
|  23 // ShelfObserver is notified on shelf changes; used to persist profile settings. |  25 // ShelfObserver is notified on shelf changes; used to persist profile settings. | 
|  24 interface ShelfObserver { |  26 interface ShelfObserver { | 
|  25   OnAlignmentChanged(Alignment alignment); |  27   OnAlignmentChanged(Alignment alignment); | 
|  26   OnAutoHideBehaviorChanged(AutoHideBehavior auto_hide); |  28   OnAutoHideBehaviorChanged(AutoHideBehavior auto_hide); | 
|  27 }; |  29 }; | 
|  28  |  30  | 
|  29 // ShelfItemDelegate handles command execution and observes shelf item changes. |  31 // ShelfItemDelegate handles command execution and observes shelf item changes. | 
|  30 interface ShelfItemDelegate { |  32 interface ShelfItemDelegate { | 
| (...skipping 29 matching lines...) Expand all  Loading... | 
|  60  |  62  | 
|  61   // A app title, used for tooltips, etc. (eg. 'Foo Application'). |  63   // A app title, used for tooltips, etc. (eg. 'Foo Application'). | 
|  62   string app_title; |  64   string app_title; | 
|  63  |  65  | 
|  64   // An icon image Bitmap, shown on the shelf. |  66   // An icon image Bitmap, shown on the shelf. | 
|  65   skia.mojom.Bitmap image; |  67   skia.mojom.Bitmap image; | 
|  66  |  68  | 
|  67   // Additional context menu items (eg. 'New Incognito Window'). |  69   // Additional context menu items (eg. 'New Incognito Window'). | 
|  68   array<ContextMenuItem>? context_menu_items; |  70   array<ContextMenuItem>? context_menu_items; | 
|  69 }; |  71 }; | 
| OLD | NEW |