| Index: ash/launcher/launcher_view.cc
|
| diff --git a/ash/launcher/launcher_view.cc b/ash/launcher/launcher_view.cc
|
| index 0d1f89872c8e304a0210b429bf6a8db7926152f3..70292f21932643b1e35004b8547f7ebc84973cb8 100644
|
| --- a/ash/launcher/launcher_view.cc
|
| +++ b/ash/launcher/launcher_view.cc
|
| @@ -1498,14 +1498,14 @@ void LauncherView::ButtonPressed(views::Button* sender,
|
| }
|
|
|
| if (model_->items()[view_index].type != TYPE_APP_LIST)
|
| - ShowListMenuForView(model_->items()[view_index], sender, event.flags());
|
| + ShowListMenuForView(model_->items()[view_index], sender, event);
|
| }
|
|
|
| bool LauncherView::ShowListMenuForView(const LauncherItem& item,
|
| views::View* source,
|
| - int event_flags) {
|
| + const ui::Event& event) {
|
| scoped_ptr<ash::LauncherMenuModel> menu_model;
|
| - menu_model.reset(delegate_->CreateApplicationMenu(item, event_flags));
|
| + menu_model.reset(delegate_->CreateApplicationMenu(item, 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.
|
| @@ -1516,12 +1516,14 @@ bool LauncherView::ShowListMenuForView(const LauncherItem& item,
|
| new LauncherMenuModelAdapter(menu_model.get())),
|
| source,
|
| gfx::Point(),
|
| - false);
|
| + false,
|
| + ui::GetMenuSourceTypeForEvent(event));
|
| return true;
|
| }
|
|
|
| void LauncherView::ShowContextMenuForView(views::View* source,
|
| - const gfx::Point& point) {
|
| + const gfx::Point& point,
|
| + ui:: MenuSourceType source_type) {
|
| int view_index = view_model_->GetIndexOfView(source);
|
| if (view_index != -1 &&
|
| model_->items()[view_index].type == TYPE_APP_LIST) {
|
| @@ -1531,7 +1533,7 @@ void LauncherView::ShowContextMenuForView(views::View* source,
|
| tooltip_->Close();
|
|
|
| if (view_index == -1) {
|
| - Shell::GetInstance()->ShowContextMenu(point);
|
| + Shell::GetInstance()->ShowContextMenu(point, source_type);
|
| return;
|
| }
|
| scoped_ptr<ui::MenuModel> menu_model(delegate_->CreateContextMenu(
|
| @@ -1547,14 +1549,16 @@ void LauncherView::ShowContextMenuForView(views::View* source,
|
| new views::MenuModelAdapter(menu_model.get())),
|
| source,
|
| point,
|
| - true);
|
| + true,
|
| + source_type);
|
| }
|
|
|
| void LauncherView::ShowMenu(
|
| scoped_ptr<views::MenuModelAdapter> menu_model_adapter,
|
| views::View* source,
|
| const gfx::Point& click_point,
|
| - bool context_menu) {
|
| + bool context_menu,
|
| + ui::MenuSourceType source_type) {
|
| closing_event_time_ = base::TimeDelta();
|
| launcher_menu_runner_.reset(
|
| new views::MenuRunner(menu_model_adapter->CreateMenu()));
|
| @@ -1612,7 +1616,9 @@ void LauncherView::ShowMenu(
|
| NULL,
|
| anchor_point,
|
| menu_alignment,
|
| - views::MenuRunner::CONTEXT_MENU) == views::MenuRunner::MENU_DELETED) {
|
| + source_type,
|
| + context_menu ? views::MenuRunner::CONTEXT_MENU : 0) ==
|
| + views::MenuRunner::MENU_DELETED) {
|
| if (!got_deleted) {
|
| got_deleted_ = NULL;
|
| shelf->ForceUndimming(false);
|
|
|