| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/ui/ash/launcher/launcher_context_menu.h" | 5 #include "chrome/browser/ui/ash/launcher/launcher_context_menu.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 | 8 |
| 9 #include "ash/desktop_background/user_wallpaper_delegate.h" | 9 #include "ash/desktop_background/user_wallpaper_delegate.h" |
| 10 #include "ash/metrics/user_metrics_recorder.h" | 10 #include "ash/metrics/user_metrics_recorder.h" |
| (...skipping 19 matching lines...) Expand all Loading... |
| 30 | 30 |
| 31 namespace { | 31 namespace { |
| 32 | 32 |
| 33 bool MenuItemHasLauncherContext(const extensions::MenuItem* item) { | 33 bool MenuItemHasLauncherContext(const extensions::MenuItem* item) { |
| 34 return item->contexts().Contains(extensions::MenuItem::LAUNCHER); | 34 return item->contexts().Contains(extensions::MenuItem::LAUNCHER); |
| 35 } | 35 } |
| 36 | 36 |
| 37 } // namespace | 37 } // namespace |
| 38 | 38 |
| 39 LauncherContextMenu::LauncherContextMenu(ChromeLauncherController* controller, | 39 LauncherContextMenu::LauncherContextMenu(ChromeLauncherController* controller, |
| 40 const ash::LauncherItem* item, | 40 const ash::ShelfItem* item, |
| 41 aura::Window* root) | 41 aura::Window* root) |
| 42 : ui::SimpleMenuModel(NULL), | 42 : ui::SimpleMenuModel(NULL), |
| 43 controller_(controller), | 43 controller_(controller), |
| 44 item_(*item), | 44 item_(*item), |
| 45 shelf_alignment_menu_(root), | 45 shelf_alignment_menu_(root), |
| 46 root_window_(root), | 46 root_window_(root), |
| 47 item_delegate_(NULL) { | 47 item_delegate_(NULL) { |
| 48 DCHECK(item); | 48 DCHECK(item); |
| 49 DCHECK(root_window_); | 49 DCHECK(root_window_); |
| 50 Init(); | 50 Init(); |
| 51 } | 51 } |
| 52 | 52 |
| 53 LauncherContextMenu::LauncherContextMenu( | 53 LauncherContextMenu::LauncherContextMenu(ChromeLauncherController* controller, |
| 54 ChromeLauncherController* controller, | 54 ash::ShelfItemDelegate* item_delegate, |
| 55 ash::ShelfItemDelegate* item_delegate, | 55 ash::ShelfItem* item, |
| 56 ash::LauncherItem* item, | 56 aura::Window* root) |
| 57 aura::Window* root) | |
| 58 : ui::SimpleMenuModel(NULL), | 57 : ui::SimpleMenuModel(NULL), |
| 59 controller_(controller), | 58 controller_(controller), |
| 60 item_(*item), | 59 item_(*item), |
| 61 shelf_alignment_menu_(root), | 60 shelf_alignment_menu_(root), |
| 62 root_window_(root), | 61 root_window_(root), |
| 63 item_delegate_(item_delegate) { | 62 item_delegate_(item_delegate) { |
| 64 DCHECK(item); | 63 DCHECK(item); |
| 65 DCHECK(root_window_); | 64 DCHECK(root_window_); |
| 66 Init(); | 65 Init(); |
| 67 } | 66 } |
| 68 | 67 |
| 69 LauncherContextMenu::LauncherContextMenu(ChromeLauncherController* controller, | 68 LauncherContextMenu::LauncherContextMenu(ChromeLauncherController* controller, |
| 70 aura::Window* root) | 69 aura::Window* root) |
| 71 : ui::SimpleMenuModel(NULL), | 70 : ui::SimpleMenuModel(NULL), |
| 72 controller_(controller), | 71 controller_(controller), |
| 73 item_(ash::LauncherItem()), | 72 item_(ash::ShelfItem()), |
| 74 shelf_alignment_menu_(root), | 73 shelf_alignment_menu_(root), |
| 75 extension_items_(new extensions::ContextMenuMatcher( | 74 extension_items_(new extensions::ContextMenuMatcher( |
| 76 controller->profile(), this, this, | 75 controller->profile(), this, this, |
| 77 base::Bind(MenuItemHasLauncherContext))), | 76 base::Bind(MenuItemHasLauncherContext))), |
| 78 root_window_(root), | 77 root_window_(root), |
| 79 item_delegate_(NULL) { | 78 item_delegate_(NULL) { |
| 80 DCHECK(root_window_); | 79 DCHECK(root_window_); |
| 81 Init(); | 80 Init(); |
| 82 } | 81 } |
| 83 | 82 |
| (...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 150 } | 149 } |
| 151 if (controller_->IsOpen(item_.id)) { | 150 if (controller_->IsOpen(item_.id)) { |
| 152 AddItem(MENU_CLOSE, | 151 AddItem(MENU_CLOSE, |
| 153 l10n_util::GetStringUTF16(IDS_LAUNCHER_CONTEXT_MENU_CLOSE)); | 152 l10n_util::GetStringUTF16(IDS_LAUNCHER_CONTEXT_MENU_CLOSE)); |
| 154 } | 153 } |
| 155 } | 154 } |
| 156 AddSeparator(ui::NORMAL_SEPARATOR); | 155 AddSeparator(ui::NORMAL_SEPARATOR); |
| 157 if (item_.type == ash::TYPE_APP_SHORTCUT || | 156 if (item_.type == ash::TYPE_APP_SHORTCUT || |
| 158 item_.type == ash::TYPE_WINDOWED_APP || | 157 item_.type == ash::TYPE_WINDOWED_APP || |
| 159 item_.type == ash::TYPE_PLATFORM_APP) { | 158 item_.type == ash::TYPE_PLATFORM_APP) { |
| 160 std::string app_id = controller_->GetAppIDForLauncherID(item_.id); | 159 std::string app_id = controller_->GetAppIDForShelfID(item_.id); |
| 161 if (!app_id.empty()) { | 160 if (!app_id.empty()) { |
| 162 int index = 0; | 161 int index = 0; |
| 163 extension_items_->AppendExtensionItems( | 162 extension_items_->AppendExtensionItems( |
| 164 app_id, base::string16(), &index); | 163 app_id, base::string16(), &index); |
| 165 AddSeparator(ui::NORMAL_SEPARATOR); | 164 AddSeparator(ui::NORMAL_SEPARATOR); |
| 166 } | 165 } |
| 167 } | 166 } |
| 168 } | 167 } |
| 169 // In fullscreen, the launcher is either hidden or autohidden depending on | 168 // In fullscreen, the launcher is either hidden or autohidden depending on |
| 170 // the type of fullscreen. Do not show the auto-hide menu item while in | 169 // the type of fullscreen. Do not show the auto-hide menu item while in |
| (...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 324 case MENU_CHANGE_WALLPAPER: | 323 case MENU_CHANGE_WALLPAPER: |
| 325 ash::Shell::GetInstance()->user_wallpaper_delegate()-> | 324 ash::Shell::GetInstance()->user_wallpaper_delegate()-> |
| 326 OpenSetWallpaperPage(); | 325 OpenSetWallpaperPage(); |
| 327 break; | 326 break; |
| 328 #endif | 327 #endif |
| 329 default: | 328 default: |
| 330 extension_items_->ExecuteCommand(command_id, NULL, | 329 extension_items_->ExecuteCommand(command_id, NULL, |
| 331 content::ContextMenuParams()); | 330 content::ContextMenuParams()); |
| 332 } | 331 } |
| 333 } | 332 } |
| OLD | NEW |