summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ash/ash_strings.grd4
-rw-r--r--ash/launcher/launcher_delegate.h4
-rw-r--r--ash/launcher/launcher_view.cc8
-rw-r--r--ash/shell/launcher_delegate_impl.cc5
-rw-r--r--ash/shell/launcher_delegate_impl.h1
-rw-r--r--chrome/browser/ui/views/ash/launcher/chrome_launcher_delegate.cc20
-rw-r--r--chrome/browser/ui/views/ash/launcher/chrome_launcher_delegate.h1
7 files changed, 32 insertions, 11 deletions
diff --git a/ash/ash_strings.grd b/ash/ash_strings.grd
index c6107b5..15b321c 100644
--- a/ash/ash_strings.grd
+++ b/ash/ash_strings.grd
@@ -167,8 +167,8 @@ This file contains the strings for ash.
<message name="IDS_AURA_APP_LIST_TITLE" desc="The title used for the Aura app list in the launcher">
Applications
</message>
- <message name="IDS_AURA_CYCLER_TITLE" desc="The title used for the Aura window cycler in the launcher">
- Window Cycler
+ <message name="IDS_AURA_NEW_TAB" desc="The text label of the New Tab menu item">
+ New tab
</message>
<message name="IDS_AURA_LAUNCHER_OVERFLOW_NAME" desc="The title used for the Aura overflow button in the launcher">
Overflow Button
diff --git a/ash/launcher/launcher_delegate.h b/ash/launcher/launcher_delegate.h
index 27bd964..9e5fdc6 100644
--- a/ash/launcher/launcher_delegate.h
+++ b/ash/launcher/launcher_delegate.h
@@ -25,6 +25,10 @@ class ASH_EXPORT LauncherDelegate {
// tab.
virtual void CreateNewTab() = 0;
+ // Invoked when the user clicks on button in the launcher to create a new
+ // window.
+ virtual void CreateNewWindow() = 0;
+
// Invoked when the user clicks on a window entry in the launcher.
virtual void ItemClicked(const LauncherItem& item) = 0;
diff --git a/ash/launcher/launcher_view.cc b/ash/launcher/launcher_view.cc
index 4695ebe..8f5722e 100644
--- a/ash/launcher/launcher_view.cc
+++ b/ash/launcher/launcher_view.cc
@@ -28,6 +28,7 @@
#include "ui/views/controls/button/image_button.h"
#include "ui/views/controls/menu/menu_model_adapter.h"
#include "ui/views/controls/menu/menu_runner.h"
+#include "ui/views/widget/root_view.h"
#include "ui/views/widget/widget.h"
using ui::Animation;
@@ -692,7 +693,7 @@ string16 LauncherView::GetAccessibleName(const views::View* view) {
return l10n_util::GetStringUTF16(IDS_AURA_APP_LIST_TITLE);
case TYPE_BROWSER_SHORTCUT:
- return l10n_util::GetStringUTF16(IDS_AURA_CYCLER_TITLE);
+ return l10n_util::GetStringUTF16(IDS_AURA_NEW_TAB);
}
return string16();
@@ -725,7 +726,10 @@ void LauncherView::ButtonPressed(views::Button* sender,
break;
case TYPE_BROWSER_SHORTCUT:
- delegate_->CreateNewTab();
+ if (event.flags() & ui::EF_CONTROL_DOWN)
+ delegate_->CreateNewWindow();
+ else
+ delegate_->CreateNewTab();
break;
}
}
diff --git a/ash/shell/launcher_delegate_impl.cc b/ash/shell/launcher_delegate_impl.cc
index 6a9f0d9..9d7fe27 100644
--- a/ash/shell/launcher_delegate_impl.cc
+++ b/ash/shell/launcher_delegate_impl.cc
@@ -20,7 +20,12 @@ LauncherDelegateImpl::LauncherDelegateImpl(WindowWatcher* watcher)
LauncherDelegateImpl::~LauncherDelegateImpl() {
}
+// In the shell we'll create a window all the time.
void LauncherDelegateImpl::CreateNewTab() {
+ CreateNewWindow();
+}
+
+void LauncherDelegateImpl::CreateNewWindow() {
ash::shell::ToplevelWindow::CreateParams create_params;
create_params.can_resize = true;
create_params.can_maximize = true;
diff --git a/ash/shell/launcher_delegate_impl.h b/ash/shell/launcher_delegate_impl.h
index 0bd2f9e..9a43a12 100644
--- a/ash/shell/launcher_delegate_impl.h
+++ b/ash/shell/launcher_delegate_impl.h
@@ -27,6 +27,7 @@ class LauncherDelegateImpl : public ash::LauncherDelegate {
// LauncherDelegate overrides:
virtual void CreateNewTab() OVERRIDE;
+ virtual void CreateNewWindow() OVERRIDE;
virtual void ItemClicked(const ash::LauncherItem& item) OVERRIDE;
virtual int GetBrowserShortcutResourceId() OVERRIDE;
virtual string16 GetTitle(const ash::LauncherItem& item) OVERRIDE;
diff --git a/chrome/browser/ui/views/ash/launcher/chrome_launcher_delegate.cc b/chrome/browser/ui/views/ash/launcher/chrome_launcher_delegate.cc
index 2fdecdb..35bdfc2 100644
--- a/chrome/browser/ui/views/ash/launcher/chrome_launcher_delegate.cc
+++ b/chrome/browser/ui/views/ash/launcher/chrome_launcher_delegate.cc
@@ -341,14 +341,20 @@ void ChromeLauncherDelegate::CreateNewTab() {
Browser *last_browser = BrowserList::FindTabbedBrowser(
GetProfileForNewWindows(), true);
- if (last_browser) {
- last_browser->NewTab();
- aura::Window* window = last_browser->window()->GetNativeHandle();
- window->Show();
- ash::wm::ActivateWindow(window);
- } else {
- Browser::NewEmptyWindow(GetProfileForNewWindows());
+ if (!last_browser) {
+ CreateNewWindow();
+ return;
}
+
+ last_browser->NewTab();
+ aura::Window* window = last_browser->window()->GetNativeHandle();
+ window->Show();
+ ash::wm::ActivateWindow(window);
+}
+
+void ChromeLauncherDelegate::CreateNewWindow() {
+ printf("ChromeLauncherDelegate::CreateNewWindow\n");
+ Browser::NewEmptyWindow(GetProfileForNewWindows());
}
void ChromeLauncherDelegate::ItemClicked(const ash::LauncherItem& item) {
diff --git a/chrome/browser/ui/views/ash/launcher/chrome_launcher_delegate.h b/chrome/browser/ui/views/ash/launcher/chrome_launcher_delegate.h
index 87d1b2d..4994db6 100644
--- a/chrome/browser/ui/views/ash/launcher/chrome_launcher_delegate.h
+++ b/chrome/browser/ui/views/ash/launcher/chrome_launcher_delegate.h
@@ -151,6 +151,7 @@ class ChromeLauncherDelegate : public ash::LauncherDelegate,
// ash::LauncherDelegate overrides:
virtual void CreateNewTab() OVERRIDE;
+ virtual void CreateNewWindow() OVERRIDE;
virtual void ItemClicked(const ash::LauncherItem& item) OVERRIDE;
virtual int GetBrowserShortcutResourceId() OVERRIDE;
virtual string16 GetTitle(const ash::LauncherItem& item) OVERRIDE;