Index: chrome/browser/ui/ash/chrome_shell_delegate.cc |
diff --git a/chrome/browser/ui/ash/chrome_shell_delegate.cc b/chrome/browser/ui/ash/chrome_shell_delegate.cc |
index c7490a4da4676f1fa3c756bdfb2038f756af9eb3..08b3c3948253dd1f81d922ceebf3d04d8653df4c 100644 |
--- a/chrome/browser/ui/ash/chrome_shell_delegate.cc |
+++ b/chrome/browser/ui/ash/chrome_shell_delegate.cc |
@@ -20,12 +20,16 @@ |
#include "chrome/browser/ui/ash/chrome_keyboard_ui.h" |
#include "chrome/browser/ui/ash/launcher/chrome_launcher_controller.h" |
#include "chrome/browser/ui/ash/launcher/launcher_context_menu.h" |
+#include "chrome/browser/ui/ash/multi_user/multi_user_util.h" |
#include "chrome/browser/ui/ash/session_util.h" |
+#include "chrome/browser/ui/browser.h" |
#include "chrome/browser/ui/browser_commands.h" |
#include "chrome/browser/ui/browser_finder.h" |
#include "chrome/browser/ui/browser_navigator.h" |
#include "chrome/browser/ui/browser_navigator_params.h" |
+#include "chrome/browser/ui/browser_tabstrip.h" |
#include "chrome/browser/ui/browser_window.h" |
+#include "chrome/browser/ui/scoped_tabbed_browser_displayer.h" |
#include "chrome/grit/chromium_strings.h" |
#include "grit/theme_resources.h" |
#include "ui/base/l10n/l10n_util.h" |
@@ -120,6 +124,21 @@ void ChromeShellDelegate::Exit() { |
chrome::AttemptUserExit(); |
} |
+void ChromeShellDelegate::OpenUrl(const GURL& url) { |
+ if (!url.is_valid()) |
+ return; |
+ |
+ chrome::ScopedTabbedBrowserDisplayer displayer( |
+ ProfileManager::GetActiveUserProfile()); |
+ chrome::AddSelectedTabWithURL(displayer.browser(), url, |
+ ui::PAGE_TRANSITION_LINK); |
+ |
+ // Since the ScopedTabbedBrowserDisplayer does not guarantee that the |
+ // browser will be shown on the active desktop, we ensure the visibility. |
+ multi_user_util::MoveWindowToCurrentDesktop( |
+ displayer.browser()->window()->GetNativeWindow()); |
+} |
+ |
app_list::AppListViewDelegate* ChromeShellDelegate::GetAppListViewDelegate() { |
DCHECK(ash::Shell::HasInstance()); |
return AppListServiceAsh::GetInstance()->GetViewDelegate( |