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..da3952f5e4c9e95c8ee4111a12e1260ae2885953 100644 |
--- a/chrome/browser/ui/views/aura/chrome_shell_delegate.cc |
+++ b/chrome/browser/ui/views/aura/chrome_shell_delegate.cc |
@@ -17,12 +17,14 @@ |
#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 "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 +113,32 @@ std::vector<aura::Window*> ChromeShellDelegate::GetCycleWindowList( |
return windows; |
} |
+void ChromeShellDelegate::OpenNewTab(NewTabContentType type) { |
+ GURL new_tab_url; |
+ Browser* browser = BrowserList::GetLastActive(); |
+ |
+ switch (type) { |
+ case NEW_TAB_CONTENT_CROSH: |
+#if defined(OS_CHROMEOS) |
+ new_tab_url = |
+ TerminalExtensionHelper::GetCroshExtensionURL(browser->profile()); |
+#endif |
+ break; |
+ default: |
+ NOTREACHED(); |
+ break; |
+ } |
+ |
+ 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 && |