| Index: ash/launcher/launcher_view.cc
|
| diff --git a/ash/launcher/launcher_view.cc b/ash/launcher/launcher_view.cc
|
| index d723c094f27fea0dd9b0f5f6275cbb0d16a22057..a372cad40096a6edae6d342895ae3f107f7203b5 100644
|
| --- a/ash/launcher/launcher_view.cc
|
| +++ b/ash/launcher/launcher_view.cc
|
| @@ -985,8 +985,8 @@ void LauncherView::PrepareForDrag(Pointer pointer,
|
|
|
| // If the item is no longer draggable, bail out.
|
| LauncherItemDelegate* item_delegate = item_manager_->GetLauncherItemDelegate(
|
| - model_->items()[start_drag_index_].type);
|
| - if (!item_delegate->IsDraggable(model_->items()[start_drag_index_])) {
|
| + model_->items()[start_drag_index_].id);
|
| + if (!item_delegate->IsDraggable()) {
|
| CancelDrag(-1);
|
| return;
|
| }
|
| @@ -1003,8 +1003,8 @@ void LauncherView::ContinueDrag(const ui::LocatedEvent& event) {
|
| DCHECK_NE(-1, current_index);
|
|
|
| LauncherItemDelegate* item_delegate = item_manager_->GetLauncherItemDelegate(
|
| - model_->items()[current_index].type);
|
| - if (!item_delegate->IsDraggable(model_->items()[current_index])) {
|
| + model_->items()[current_index].id);
|
| + if (!item_delegate->IsDraggable()) {
|
| CancelDrag(-1);
|
| return;
|
| }
|
| @@ -1539,9 +1539,8 @@ void LauncherView::PointerPressedOnButton(views::View* view,
|
| return;
|
|
|
| LauncherItemDelegate* item_delegate = item_manager_->GetLauncherItemDelegate(
|
| - model_->items()[index].type);
|
| - if (view_model_->view_size() <= 1 ||
|
| - !item_delegate->IsDraggable(model_->items()[index]))
|
| + model_->items()[index].id);
|
| + if (view_model_->view_size() <= 1 || !item_delegate->IsDraggable())
|
| return; // View is being deleted or not draggable, ignore request.
|
|
|
| ShelfLayoutManager* shelf = tooltip_->shelf_layout_manager();
|
| @@ -1611,8 +1610,8 @@ base::string16 LauncherView::GetAccessibleName(const views::View* view) {
|
| return base::string16();
|
|
|
| LauncherItemDelegate* item_delegate = item_manager_->GetLauncherItemDelegate(
|
| - model_->items()[view_index].type);
|
| - return item_delegate->GetTitle(model_->items()[view_index]);
|
| + model_->items()[view_index].id);
|
| + return item_delegate->GetTitle();
|
| }
|
|
|
| void LauncherView::ButtonPressed(views::Button* sender,
|
| @@ -1671,8 +1670,8 @@ void LauncherView::ButtonPressed(views::Button* sender,
|
|
|
| LauncherItemDelegate* item_delegate =
|
| item_manager_->GetLauncherItemDelegate(
|
| - model_->items()[view_index].type);
|
| - item_delegate->ItemSelected(model_->items()[view_index], event);
|
| + model_->items()[view_index].id);
|
| + item_delegate->ItemSelected(event);
|
|
|
| ShowListMenuForView(model_->items()[view_index], sender, event);
|
| }
|
| @@ -1683,8 +1682,8 @@ bool LauncherView::ShowListMenuForView(const LauncherItem& item,
|
| const ui::Event& event) {
|
| scoped_ptr<ash::LauncherMenuModel> menu_model;
|
| LauncherItemDelegate* item_delegate =
|
| - item_manager_->GetLauncherItemDelegate(item.type);
|
| - menu_model.reset(item_delegate->CreateApplicationMenu(item, event.flags()));
|
| + item_manager_->GetLauncherItemDelegate(item.id);
|
| + menu_model.reset(item_delegate->CreateApplicationMenu(event.flags()));
|
|
|
| // Make sure we have a menu and it has at least two items in addition to the
|
| // application title and the 3 spacing separators.
|
| @@ -1717,9 +1716,8 @@ void LauncherView::ShowContextMenuForView(views::View* source,
|
| }
|
| scoped_ptr<ui::MenuModel> menu_model;
|
| LauncherItemDelegate* item_delegate = item_manager_->GetLauncherItemDelegate(
|
| - model_->items()[view_index].type);
|
| + model_->items()[view_index].id);
|
| menu_model.reset(item_delegate->CreateContextMenu(
|
| - model_->items()[view_index],
|
| source->GetWidget()->GetNativeView()->GetRootWindow()));
|
| if (!menu_model)
|
| return;
|
| @@ -1880,8 +1878,8 @@ bool LauncherView::ShouldShowTooltipForView(const views::View* view) const {
|
| if (!item)
|
| return true;
|
| LauncherItemDelegate* item_delegate =
|
| - item_manager_->GetLauncherItemDelegate(item->type);
|
| - return item_delegate->ShouldShowTooltip(*item);
|
| + item_manager_->GetLauncherItemDelegate(item->id);
|
| + return item_delegate->ShouldShowTooltip();
|
| }
|
|
|
| int LauncherView::CalculateShelfDistance(const gfx::Point& coordinate) const {
|
|
|