summaryrefslogtreecommitdiffstats
path: root/ash/shelf
diff options
context:
space:
mode:
authorsimon.hong81@gmail.com <simon.hong81@gmail.com@0039d316-1c4b-4281-b951-d872f2087c98>2013-10-02 20:22:05 +0000
committersimon.hong81@gmail.com <simon.hong81@gmail.com@0039d316-1c4b-4281-b951-d872f2087c98>2013-10-02 20:22:05 +0000
commitc72ed9801eb09e13684aa4550fed33a208950616 (patch)
tree2df3b8d232b2c1d0f90376376c159982bf5080ba /ash/shelf
parent3ad418ef249030974bd877a4f1ef163fb61dc269 (diff)
downloadchromium_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.cc19
-rw-r--r--ash/shelf/app_list_shelf_item_delegate.h14
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);