diff options
author | benwells@chromium.org <benwells@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-08-09 04:29:23 +0000 |
---|---|---|
committer | benwells@chromium.org <benwells@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-08-09 04:29:23 +0000 |
commit | 8a011179facb6aa84f1207ed4595ddbfa812b0ce (patch) | |
tree | 18d9e4046199ceb4cc828ecacf9f35e5b55d9e14 | |
parent | 6012e392f3788dc751f9685e6c8f6b4fd98cb441 (diff) | |
download | chromium_src-8a011179facb6aa84f1207ed4595ddbfa812b0ce.zip chromium_src-8a011179facb6aa84f1207ed4595ddbfa812b0ce.tar.gz chromium_src-8a011179facb6aa84f1207ed4595ddbfa812b0ce.tar.bz2 |
Move win8 metro mode app launch check back to apps
This puts it back onto all launch paths and prevents apps being started
in metro mode where they don't work properly.
BUG=267498
Review URL: https://chromiumcodereview.appspot.com/22417005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@216575 0039d316-1c4b-4281-b951-d872f2087c98
-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; |