| Index: ash/launcher/launcher_view.cc
|
| diff --git a/ash/launcher/launcher_view.cc b/ash/launcher/launcher_view.cc
|
| index 8585e49e55744f903145efa24d6ebf47befacd18..fb47c9f630e0b0257e5c79386b9acb2c4d14effb 100644
|
| --- a/ash/launcher/launcher_view.cc
|
| +++ b/ash/launcher/launcher_view.cc
|
| @@ -1513,12 +1513,15 @@ bool LauncherView::ShowListMenuForView(const LauncherItem& item,
|
| new LauncherMenuModelAdapter(menu_model.get())),
|
| source,
|
| gfx::Point(),
|
| - false);
|
| + false,
|
| + ui::CONTEXT_MENU_SOURCE_NONE);
|
| return true;
|
| }
|
|
|
| -void LauncherView::ShowContextMenuForView(views::View* source,
|
| - const gfx::Point& point) {
|
| +void LauncherView::ShowContextMenuForView(
|
| + views::View* source,
|
| + const gfx::Point& point,
|
| + ui::ContextMenuSourceType source_type) {
|
| int view_index = view_model_->GetIndexOfView(source);
|
| if (view_index != -1 &&
|
| model_->items()[view_index].type == TYPE_APP_LIST) {
|
| @@ -1526,7 +1529,7 @@ void LauncherView::ShowContextMenuForView(views::View* source,
|
| }
|
|
|
| if (view_index == -1) {
|
| - Shell::GetInstance()->ShowContextMenu(point);
|
| + Shell::GetInstance()->ShowContextMenu(point, source_type);
|
| return;
|
| }
|
| scoped_ptr<ui::MenuModel> menu_model(delegate_->CreateContextMenu(
|
| @@ -1542,14 +1545,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::ContextMenuSourceType source_type) {
|
| closing_event_time_ = base::TimeDelta();
|
| launcher_menu_runner_.reset(
|
| new views::MenuRunner(menu_model_adapter->CreateMenu()));
|
| @@ -1594,12 +1599,21 @@ void LauncherView::ShowMenu(
|
| shelf->ForceUndimming(true);
|
| // NOTE: if you convert to HAS_MNEMONICS be sure and update menu building
|
| // code.
|
| - if (launcher_menu_runner_->RunMenuAt(
|
| - source->GetWidget(),
|
| - NULL,
|
| - anchor_point,
|
| - menu_alignment,
|
| - views::MenuRunner::CONTEXT_MENU) == views::MenuRunner::MENU_DELETED) {
|
| + views::MenuRunner::RunResult result;
|
| + if (context_menu) {
|
| + result = launcher_menu_runner_->RunContextMenuAt(source->GetWidget(),
|
| + NULL,
|
| + anchor_point,
|
| + source_type,
|
| + 0);
|
| + } else {
|
| + result = launcher_menu_runner_->RunMenuAt(source->GetWidget(),
|
| + NULL,
|
| + anchor_point,
|
| + menu_alignment,
|
| + 0);
|
| + }
|
| + if (result == views::MenuRunner::MENU_DELETED) {
|
| if (!got_deleted) {
|
| got_deleted_ = NULL;
|
| shelf->ForceUndimming(false);
|
|
|