| Index: chrome/browser/ui/ash/launcher/chrome_launcher_controller_impl.h
|
| diff --git a/chrome/browser/ui/ash/launcher/chrome_launcher_controller_impl.h b/chrome/browser/ui/ash/launcher/chrome_launcher_controller_impl.h
|
| index 1e3de665076f5ab792b73a73b6a54261190d32bc..c2e9b3ccdbe97c1c2f7041d485f29d1ee1d201ec 100644
|
| --- a/chrome/browser/ui/ash/launcher/chrome_launcher_controller_impl.h
|
| +++ b/chrome/browser/ui/ash/launcher/chrome_launcher_controller_impl.h
|
| @@ -67,6 +67,9 @@
|
| const ash::ShelfItem* GetItem(ash::ShelfID id) const override;
|
| void SetItemType(ash::ShelfID id, ash::ShelfItemType type) override;
|
| void SetItemStatus(ash::ShelfID id, ash::ShelfItemStatus status) override;
|
| + void SetShelfItemDelegate(
|
| + ash::ShelfID id,
|
| + std::unique_ptr<ash::ShelfItemDelegate> item_delegate) override;
|
| void CloseLauncherItem(ash::ShelfID id) override;
|
| bool IsPinned(ash::ShelfID id) override;
|
| void SetV1AppStatus(const std::string& app_id,
|
| @@ -104,6 +107,7 @@
|
| content::WebContents* web_contents) const override;
|
| BrowserShortcutLauncherItemController*
|
| GetBrowserShortcutLauncherItemController() override;
|
| + ash::ShelfItemDelegate* GetShelfItemDelegate(const ash::ShelfID id) override;
|
| bool ShelfBoundsChangesProbablyWithUser(
|
| ash::WmShelf* shelf,
|
| const AccountId& account_id) const override;
|
| @@ -157,6 +161,7 @@
|
| friend class TestChromeLauncherControllerImpl;
|
| FRIEND_TEST_ALL_PREFIXES(ChromeLauncherControllerImplTest, AppPanels);
|
|
|
| + typedef std::map<ash::ShelfID, ash::ShelfItemDelegate*> IDToItemControllerMap;
|
| typedef std::map<content::WebContents*, std::string> WebContentsToAppIDMap;
|
|
|
| // Remembers / restores list of running applications.
|
| @@ -166,7 +171,7 @@
|
| void RestoreUnpinnedRunningApplicationOrder(const std::string& user_id);
|
|
|
| // Invoked when the associated browser or app is closed.
|
| - void RemoveShelfItem(ash::ShelfID id);
|
| + void LauncherItemClosed(ash::ShelfID id);
|
|
|
| // Internal helpers for pinning and unpinning that handle both
|
| // client-triggered and internal pinning operations.
|
| @@ -232,6 +237,8 @@
|
| void ShelfItemRemoved(int index, const ash::ShelfItem& old_item) override;
|
| void ShelfItemMoved(int start_index, int target_index) override;
|
| void ShelfItemChanged(int index, const ash::ShelfItem& old_item) override;
|
| + void OnSetShelfItemDelegate(ash::ShelfID id,
|
| + ash::ShelfItemDelegate* item_delegate) override;
|
|
|
| // ash::WindowTreeHostManager::Observer:
|
| void OnDisplayConfigurationChanged() override;
|
| @@ -253,6 +260,9 @@
|
| void UnpinShelfItemInternal(ash::ShelfID id);
|
|
|
| ash::ShelfModel* model_;
|
| +
|
| + // Controller items in this map are owned by |ShelfModel|.
|
| + IDToItemControllerMap id_to_item_controller_map_;
|
|
|
| // Direct access to app_id for a web contents.
|
| WebContentsToAppIDMap web_contents_to_app_id_;
|
|
|