diff options
-rw-r--r-- | apps/DEPS | 1 | ||||
-rw-r--r-- | apps/launcher.cc | 12 | ||||
-rw-r--r-- | chrome/browser/ui/extensions/application_launch.cc | 12 |
3 files changed, 13 insertions, 12 deletions
@@ -20,6 +20,7 @@ include_rules = [ "+chrome/browser/lifetime/application_lifetime.h", "+chrome/browser/profiles", "+chrome/browser/sessions/session_id.h", + "+chrome/browser/ui/extensions/app_metro_infobar_delegate_win.h", "+chrome/browser/ui/host_desktop.h", "+chrome/common/chrome_switches.h", "+chrome/common/extensions", diff --git a/apps/launcher.cc b/apps/launcher.cc index d892da6..9ebb46e 100644 --- a/apps/launcher.cc +++ b/apps/launcher.cc @@ -23,6 +23,7 @@ #include "chrome/browser/extensions/extension_system.h" #include "chrome/browser/extensions/lazy_background_task_queue.h" #include "chrome/browser/profiles/profile.h" +#include "chrome/browser/ui/extensions/app_metro_infobar_delegate_win.h" #include "chrome/common/extensions/extension.h" #include "chrome/common/extensions/extension_messages.h" #include "content/public/browser/browser_thread.h" @@ -285,6 +286,17 @@ void LaunchPlatformAppWithCommandLine(Profile* profile, const Extension* extension, const CommandLine* command_line, const base::FilePath& current_directory) { +#if defined(OS_WIN) + // On Windows 8's single window Metro mode we can not launch platform apps. + // Offer to switch Chrome to desktop mode. + if (win8::IsSingleWindowMetroMode()) { + AppMetroInfoBarDelegateWin::Create( + profile, AppMetroInfoBarDelegateWin::LAUNCH_PACKAGED_APP, + extension->id()); + return; + } +#endif + base::FilePath path; if (!GetAbsolutePathFromCommandLine(command_line, current_directory, &path)) { LaunchPlatformAppWithNoData(profile, extension); diff --git a/chrome/browser/ui/extensions/application_launch.cc b/chrome/browser/ui/extensions/application_launch.cc index 02112d1..cec680a 100644 --- a/chrome/browser/ui/extensions/application_launch.cc +++ b/chrome/browser/ui/extensions/application_launch.cc @@ -20,7 +20,6 @@ #include "chrome/browser/ui/browser_finder.h" #include "chrome/browser/ui/browser_tabstrip.h" #include "chrome/browser/ui/browser_window.h" -#include "chrome/browser/ui/extensions/app_metro_infobar_delegate_win.h" #include "chrome/browser/ui/host_desktop.h" #include "chrome/browser/ui/tabs/tab_strip_model.h" #include "chrome/browser/web_applications/web_app.h" @@ -343,17 +342,6 @@ WebContents* OpenApplication(const AppLaunchParams& params) { UMA_HISTOGRAM_ENUMERATION("Extensions.AppLaunchContainer", container, 100); if (extension->is_platform_app()) { -#if defined(OS_WIN) - // On Windows 8's single window Metro mode we can not launch platform apps. - // Offer to switch Chrome to desktop mode. - if (win8::IsSingleWindowMetroMode()) { - AppMetroInfoBarDelegateWin::Create( - profile, AppMetroInfoBarDelegateWin::LAUNCH_PACKAGED_APP, - extension->id()); - return NULL; - } -#endif - apps::LaunchPlatformAppWithCommandLine( profile, extension, params.command_line, params.current_directory); return NULL; |