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

Unified Diff: chrome/browser/ui/ash/launcher/chrome_launcher_controller.h

Issue 22429004: Refactor LauncherDelegate (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix for OpenBrowserUsingShelfOnOhterDisplay fail Created 7 years, 4 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
Index: chrome/browser/ui/ash/launcher/chrome_launcher_controller.h
diff --git a/chrome/browser/ui/ash/launcher/chrome_launcher_controller.h b/chrome/browser/ui/ash/launcher/chrome_launcher_controller.h
index fd0c6c1614d134a00b2d8d670f945857e51278f0..5ae9218bf33c1b2a9f0b8845911a61567ba2816f 100644
--- a/chrome/browser/ui/ash/launcher/chrome_launcher_controller.h
+++ b/chrome/browser/ui/ash/launcher/chrome_launcher_controller.h
@@ -13,6 +13,7 @@
#include "ash/display/display_controller.h"
#include "ash/launcher/launcher_delegate.h"
+#include "ash/launcher/launcher_item_delegate.h"
#include "ash/launcher/launcher_model_observer.h"
#include "ash/launcher/launcher_types.h"
#include "ash/shelf/shelf_layout_manager_observer.h"
@@ -71,7 +72,10 @@ typedef ScopedVector<ChromeLauncherAppMenuItem> ChromeLauncherAppMenuItems;
// * App shell windows have ShellWindowLauncherItemController, owned by
// ShellWindowLauncherController.
// * Shortcuts have no LauncherItemController.
+// TODO(simon.hong81): Move LauncherItemDelegate out from
+// ChromeLauncherController and makes separate subclass with it.
class ChromeLauncherController : public ash::LauncherDelegate,
+ public ash::LauncherItemDelegate,
public ash::LauncherModelObserver,
public ash::ShellObserver,
public ash::DisplayController::Observer,
@@ -265,6 +269,17 @@ class ChromeLauncherController : public ash::LauncherDelegate,
bool allow_minimize);
// ash::LauncherDelegate overrides:
+ virtual ash::LauncherID GetIDByWindow(aura::Window* window) OVERRIDE;
+ virtual void OnLauncherCreated(ash::Launcher* launcher) OVERRIDE;
+ virtual void OnLauncherDestroyed(ash::Launcher* launcher) OVERRIDE;
+ virtual ash::LauncherID GetLauncherIDForAppID(
+ const std::string& app_id) OVERRIDE;
+ virtual const std::string& GetAppIDForLauncherID(ash::LauncherID id) OVERRIDE;
+ virtual void PinAppWithID(const std::string& app_id) OVERRIDE;
+ virtual bool IsAppPinned(const std::string& app_id) OVERRIDE;
+ virtual void UnpinAppWithID(const std::string& app_id) OVERRIDE;
+
+ // ash::LauncherItemDelegate overrides:
virtual void ItemSelected(const ash::LauncherItem& item,
const ui::Event& event) OVERRIDE;
virtual string16 GetTitle(const ash::LauncherItem& item) OVERRIDE;
@@ -273,17 +288,8 @@ class ChromeLauncherController : public ash::LauncherDelegate,
virtual ash::LauncherMenuModel* CreateApplicationMenu(
const ash::LauncherItem& item,
int event_flags) OVERRIDE;
- virtual ash::LauncherID GetIDByWindow(aura::Window* window) OVERRIDE;
virtual bool IsDraggable(const ash::LauncherItem& item) OVERRIDE;
virtual bool ShouldShowTooltip(const ash::LauncherItem& item) OVERRIDE;
- virtual void OnLauncherCreated(ash::Launcher* launcher) OVERRIDE;
- virtual void OnLauncherDestroyed(ash::Launcher* launcher) OVERRIDE;
- virtual ash::LauncherID GetLauncherIDForAppID(
- const std::string& app_id) OVERRIDE;
- virtual const std::string& GetAppIDForLauncherID(ash::LauncherID id) OVERRIDE;
- virtual void PinAppWithID(const std::string& app_id) OVERRIDE;
- virtual bool IsAppPinned(const std::string& app_id) OVERRIDE;
- virtual void UnpinAppWithID(const std::string& app_id) OVERRIDE;
// ash::LauncherModelObserver overrides:
virtual void LauncherItemAdded(int index) OVERRIDE;
@@ -465,6 +471,9 @@ class ChromeLauncherController : public ash::LauncherDelegate,
void MoveItemWithoutPinnedStateChangeNotification(int source_index,
int target_index);
+ // Register LauncherItemDelegate.
+ void RegisterLauncherItemDelegate();
+
static ChromeLauncherController* instance_;
ash::LauncherModel* model_;

Powered by Google App Engine
This is Rietveld 408576698