diff options
author | simon.hong81@gmail.com <simon.hong81@gmail.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-10-02 20:22:05 +0000 |
---|---|---|
committer | simon.hong81@gmail.com <simon.hong81@gmail.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-10-02 20:22:05 +0000 |
commit | c72ed9801eb09e13684aa4550fed33a208950616 (patch) | |
tree | 2df3b8d232b2c1d0f90376376c159982bf5080ba /ash/shelf | |
parent | 3ad418ef249030974bd877a4f1ef163fb61dc269 (diff) | |
download | chromium_src-c72ed9801eb09e13684aa4550fed33a208950616.zip chromium_src-c72ed9801eb09e13684aa4550fed33a208950616.tar.gz chromium_src-c72ed9801eb09e13684aa4550fed33a208950616.tar.bz2 |
Refactor LauncherItemController and LauncherItemDelegate
* Remove LauncherItem parameter of LauncherItemDelegate method
* LauncherItemController subclasses LauncherItemDelegate
* Register/Unregister when LauncherItemDelegate is created/removed
* LauncherItemDelegateManager handles LauncherItemDelegate by LauncherID
* LauncherItemDelegateManager take ownership of all LauncherItemDelegate
R=sky@chromium.org, skuhne@chromium.org
BUG=279105
TEST=unit_tests, browser_tests, ash_unittests, ash_shell
Review URL: https://codereview.chromium.org/23606016
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@226547 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ash/shelf')
-rw-r--r-- | ash/shelf/app_list_shelf_item_delegate.cc | 19 | ||||
-rw-r--r-- | ash/shelf/app_list_shelf_item_delegate.h | 14 |
2 files changed, 10 insertions, 23 deletions
diff --git a/ash/shelf/app_list_shelf_item_delegate.cc b/ash/shelf/app_list_shelf_item_delegate.cc index 615a381..231f68d 100644 --- a/ash/shelf/app_list_shelf_item_delegate.cc +++ b/ash/shelf/app_list_shelf_item_delegate.cc @@ -4,10 +4,8 @@ #include "ash/shelf/app_list_shelf_item_delegate.h" -#include "ash/launcher/launcher_item_delegate_manager.h" #include "ash/launcher/launcher_model.h" #include "ash/shell.h" -#include "ash/shell_delegate.h" #include "grit/ash_strings.h" #include "ui/base/l10n/l10n_util.h" @@ -18,23 +16,18 @@ AppListShelfItemDelegate::AppListShelfItemDelegate() { LauncherItem app_list; app_list.type = TYPE_APP_LIST; Shell::GetInstance()->launcher_model()->Add(app_list); - - ash::Shell::GetInstance()->launcher_item_delegate_manager()-> - RegisterLauncherItemDelegate(ash::TYPE_APP_LIST, this); } AppListShelfItemDelegate::~AppListShelfItemDelegate() { - // Don't unregister this from LauncherItemDelegateManager. - // LauncherItemDelegateManager is already destroyed. + // LauncherItemDelegateManager owns and destroys this class. } -void AppListShelfItemDelegate::ItemSelected(const LauncherItem& item, - const ui::Event& event) { +void AppListShelfItemDelegate::ItemSelected(const ui::Event& event) { // Pass NULL here to show the app list in the currently active RootWindow. Shell::GetInstance()->ToggleAppList(NULL); } -base::string16 AppListShelfItemDelegate::GetTitle(const LauncherItem& item) { +base::string16 AppListShelfItemDelegate::GetTitle() { LauncherModel* model = Shell::GetInstance()->launcher_model(); DCHECK(model); return model->status() == LauncherModel::STATUS_LOADING ? @@ -43,23 +36,21 @@ base::string16 AppListShelfItemDelegate::GetTitle(const LauncherItem& item) { } ui::MenuModel* AppListShelfItemDelegate::CreateContextMenu( - const LauncherItem& item, aura::RootWindow* root_window) { return NULL; } LauncherMenuModel* AppListShelfItemDelegate::CreateApplicationMenu( - const LauncherItem& item, int event_flags) { // AppList does not show an application menu. return NULL; } -bool AppListShelfItemDelegate::IsDraggable(const LauncherItem& item) { +bool AppListShelfItemDelegate::IsDraggable() { return false; } -bool AppListShelfItemDelegate::ShouldShowTooltip(const LauncherItem& item) { +bool AppListShelfItemDelegate::ShouldShowTooltip() { return true; } diff --git a/ash/shelf/app_list_shelf_item_delegate.h b/ash/shelf/app_list_shelf_item_delegate.h index fe3c94e..2827599 100644 --- a/ash/shelf/app_list_shelf_item_delegate.h +++ b/ash/shelf/app_list_shelf_item_delegate.h @@ -20,17 +20,13 @@ class AppListShelfItemDelegate : public LauncherItemDelegate { virtual ~AppListShelfItemDelegate(); // ash::LauncherItemDelegate overrides: - virtual void ItemSelected(const LauncherItem& item, - const ui::Event& event) OVERRIDE; - virtual base::string16 GetTitle(const LauncherItem& item) OVERRIDE; + virtual void ItemSelected(const ui::Event& event) OVERRIDE; + virtual base::string16 GetTitle() OVERRIDE; virtual ui::MenuModel* CreateContextMenu( - const LauncherItem& item, aura::RootWindow* root_window) OVERRIDE; - virtual LauncherMenuModel* CreateApplicationMenu( - const LauncherItem& item, - int event_flags) OVERRIDE; - virtual bool IsDraggable(const LauncherItem& item) OVERRIDE; - virtual bool ShouldShowTooltip(const LauncherItem& item) OVERRIDE; + virtual LauncherMenuModel* CreateApplicationMenu(int event_flags) OVERRIDE; + virtual bool IsDraggable() OVERRIDE; + virtual bool ShouldShowTooltip() OVERRIDE; private: DISALLOW_COPY_AND_ASSIGN(AppListShelfItemDelegate); |