| Index: chrome/browser/ui/ash/launcher/browser_shortcut_launcher_item_controller.cc
|
| diff --git a/chrome/browser/ui/ash/launcher/browser_shortcut_launcher_item_controller.cc b/chrome/browser/ui/ash/launcher/browser_shortcut_launcher_item_controller.cc
|
| index 0a4985d33fb07700c5e039c132b02ad059ac9b8e..da46397ff11406867544f9617056b9993a918e74 100644
|
| --- a/chrome/browser/ui/ash/launcher/browser_shortcut_launcher_item_controller.cc
|
| +++ b/chrome/browser/ui/ash/launcher/browser_shortcut_launcher_item_controller.cc
|
| @@ -11,16 +11,15 @@
|
| #include "ash/common/wm_shell.h"
|
| #include "ash/common/wm_window.h"
|
| #include "ash/common/wm_window_property.h"
|
| +#include "ash/public/cpp/shelf_application_menu_item.h"
|
| #include "ash/resources/grit/ash_resources.h"
|
| #include "ash/wm/window_util.h"
|
| #include "base/memory/ptr_util.h"
|
| #include "chrome/browser/profiles/profile.h"
|
| -#include "chrome/browser/ui/ash/launcher/chrome_launcher_app_menu_item.h"
|
| #include "chrome/browser/ui/ash/launcher/chrome_launcher_app_menu_item_browser.h"
|
| #include "chrome/browser/ui/ash/launcher/chrome_launcher_app_menu_item_tab.h"
|
| #include "chrome/browser/ui/ash/launcher/chrome_launcher_controller.h"
|
| #include "chrome/browser/ui/ash/launcher/chrome_launcher_controller_util.h"
|
| -#include "chrome/browser/ui/ash/launcher/launcher_application_menu_item_model.h"
|
| #include "chrome/browser/ui/ash/launcher/launcher_context_menu.h"
|
| #include "chrome/browser/ui/browser.h"
|
| #include "chrome/browser/ui/browser_commands.h"
|
| @@ -145,22 +144,28 @@ BrowserShortcutLauncherItemController::Activate(ash::LaunchSource source) {
|
| }
|
|
|
| return launcher_controller()->ActivateWindowOrMinimizeIfActive(
|
| - last_browser->window(), GetApplicationList(0).size() == 2);
|
| + last_browser->window(), GetAppMenuItems(0).size() == 1);
|
| }
|
|
|
| -void BrowserShortcutLauncherItemController::Close() {
|
| - for (auto* browser : GetListOfActiveBrowsers())
|
| - browser->window()->Close();
|
| +ash::ShelfItemDelegate::PerformedAction
|
| +BrowserShortcutLauncherItemController::ItemSelected(const ui::Event& event) {
|
| + if (event.flags() & ui::EF_CONTROL_DOWN) {
|
| + chrome::NewEmptyWindow(launcher_controller()->profile());
|
| + return kNewWindowCreated;
|
| + }
|
| +
|
| + // In case of a keyboard event, we were called by a hotkey. In that case we
|
| + // activate the next item in line if an item of our list is already active.
|
| + if (event.type() == ui::ET_KEY_RELEASED)
|
| + return ActivateOrAdvanceToNextBrowser();
|
| +
|
| + return Activate(ash::LAUNCH_FROM_UNKNOWN);
|
| }
|
|
|
| -ChromeLauncherAppMenuItems
|
| -BrowserShortcutLauncherItemController::GetApplicationList(int event_flags) {
|
| - ChromeLauncherAppMenuItems items;
|
| +ash::ShelfAppMenuItemList
|
| +BrowserShortcutLauncherItemController::GetAppMenuItems(int event_flags) {
|
| + ash::ShelfAppMenuItemList items;
|
| bool found_tabbed_browser = false;
|
| - // Add the application name to the menu.
|
| - base::string16 app_title = l10n_util::GetStringUTF16(IDS_PRODUCT_NAME);
|
| - items.push_back(
|
| - base::MakeUnique<ChromeLauncherAppMenuItem>(app_title, nullptr, false));
|
| for (auto* browser : GetListOfActiveBrowsers()) {
|
| TabStripModel* tab_strip = browser->tab_strip_model();
|
| if (tab_strip->active_index() == -1)
|
| @@ -173,7 +178,7 @@ BrowserShortcutLauncherItemController::GetApplicationList(int event_flags) {
|
| gfx::Image app_icon = GetBrowserListIcon(web_contents);
|
| base::string16 title = GetBrowserListTitle(web_contents);
|
| items.push_back(base::MakeUnique<ChromeLauncherAppMenuItemBrowser>(
|
| - title, &app_icon, browser, items.size() == 1));
|
| + title, &app_icon, browser));
|
| } else {
|
| for (int index = 0; index < tab_strip->count(); ++index) {
|
| content::WebContents* web_contents =
|
| @@ -182,10 +187,8 @@ BrowserShortcutLauncherItemController::GetApplicationList(int event_flags) {
|
| launcher_controller()->GetAppListIcon(web_contents);
|
| base::string16 title =
|
| launcher_controller()->GetAppListTitle(web_contents);
|
| - // Check if we need to insert a separator in front.
|
| - bool leading_separator = !index;
|
| items.push_back(base::MakeUnique<ChromeLauncherAppMenuItemTab>(
|
| - title, &app_icon, web_contents, leading_separator));
|
| + title, &app_icon, web_contents));
|
| }
|
| }
|
| }
|
| @@ -196,25 +199,9 @@ BrowserShortcutLauncherItemController::GetApplicationList(int event_flags) {
|
| return items;
|
| }
|
|
|
| -ash::ShelfItemDelegate::PerformedAction
|
| -BrowserShortcutLauncherItemController::ItemSelected(const ui::Event& event) {
|
| - if (event.flags() & ui::EF_CONTROL_DOWN) {
|
| - chrome::NewEmptyWindow(launcher_controller()->profile());
|
| - return kNewWindowCreated;
|
| - }
|
| -
|
| - // In case of a keyboard event, we were called by a hotkey. In that case we
|
| - // activate the next item in line if an item of our list is already active.
|
| - if (event.type() == ui::ET_KEY_RELEASED) {
|
| - return ActivateOrAdvanceToNextBrowser();
|
| - }
|
| -
|
| - return Activate(ash::LAUNCH_FROM_UNKNOWN);
|
| -}
|
| -
|
| -ui::SimpleMenuModel*
|
| -BrowserShortcutLauncherItemController::CreateApplicationMenu(int event_flags) {
|
| - return new LauncherApplicationMenuItemModel(GetApplicationList(event_flags));
|
| +void BrowserShortcutLauncherItemController::Close() {
|
| + for (auto* browser : GetListOfActiveBrowsers())
|
| + browser->window()->Close();
|
| }
|
|
|
| bool BrowserShortcutLauncherItemController::IsListOfActiveBrowserEmpty() {
|
|
|