Index: chrome/browser/ui/views/aura/chrome_shell_delegate.cc |
diff --git a/chrome/browser/ui/views/aura/chrome_shell_delegate.cc b/chrome/browser/ui/views/aura/chrome_shell_delegate.cc |
index b182cf0b0fadeed180f611793a1a8c9e56de4b4a..975ad25f0a6e10f6a973964e4fe1bf54266deffb 100644 |
--- a/chrome/browser/ui/views/aura/chrome_shell_delegate.cc |
+++ b/chrome/browser/ui/views/aura/chrome_shell_delegate.cc |
@@ -5,6 +5,7 @@ |
#include "chrome/browser/ui/views/aura/chrome_shell_delegate.h" |
#include "ash/launcher/launcher_types.h" |
+#include "ash/shell_url_constants.h" |
#include "ash/wm/window_util.h" |
#include "base/command_line.h" |
#include "chrome/browser/defaults.h" |
@@ -17,12 +18,15 @@ |
#include "chrome/browser/ui/views/aura/launcher_icon_updater.h" |
#include "chrome/browser/ui/views/aura/status_area_host_aura.h" |
#include "chrome/browser/ui/views/frame/browser_view.h" |
+#include "content/public/browser/page_navigator.h" |
+#include "googleurl/src/gurl.h" |
#include "grit/theme_resources.h" |
#include "ui/aura/window.h" |
#if defined(OS_CHROMEOS) |
#include "chrome/browser/chromeos/dbus/dbus_thread_manager.h" |
#include "chrome/browser/chromeos/dbus/power_manager_client.h" |
+#include "chrome/browser/extensions/api/terminal/terminal_extension_helper.h" |
#endif |
namespace { |
@@ -111,6 +115,27 @@ std::vector<aura::Window*> ChromeShellDelegate::GetCycleWindowList( |
return windows; |
} |
+void ChromeShellDelegate::OpenNewTab(const GURL& url) { |
+ GURL new_tab_url = url; |
+ Browser* browser = BrowserList::GetLastActive(); |
+ |
+#if defined(OS_CHROMEOS) |
+ if (url == GURL(ash::kAuraTerminalURL)) { |
+ new_tab_url = |
tbarzic
2012/01/30 22:57:18
have to fix spacing here..
|
+ TerminalExtensionHelper::GetCroshExtensionURL(browser->profile()); |
+ } |
+#endif |
+ |
+ if (!new_tab_url.is_valid()) |
+ return; |
+ |
+ browser->OpenURL(content::OpenURLParams(new_tab_url, |
+ content::Referrer(), |
+ NEW_FOREGROUND_TAB, |
+ content::PAGE_TRANSITION_GENERATED, |
+ false)); |
+} |
+ |
void ChromeShellDelegate::CreateNewWindow() { |
Profile* profile = ProfileManager::GetDefaultProfile(); |
if (browser_defaults::kAlwaysOpenIncognitoWindow && |