| 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(
|
|
|