summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbenwells@chromium.org <benwells@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-08-09 04:29:23 +0000
committerbenwells@chromium.org <benwells@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-08-09 04:29:23 +0000
commit8a011179facb6aa84f1207ed4595ddbfa812b0ce (patch)
tree18d9e4046199ceb4cc828ecacf9f35e5b55d9e14
parent6012e392f3788dc751f9685e6c8f6b4fd98cb441 (diff)
downloadchromium_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/DEPS1
-rw-r--r--apps/launcher.cc12
-rw-r--r--chrome/browser/ui/extensions/application_launch.cc12
3 files changed, 13 insertions, 12 deletions
diff --git a/apps/DEPS b/apps/DEPS
index 0100480..7920f1a 100644
--- a/apps/DEPS
+++ b/apps/DEPS
@@ -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;