| Index: chrome/browser/ui/extensions/application_launch.cc
|
| diff --git a/chrome/browser/ui/extensions/application_launch.cc b/chrome/browser/ui/extensions/application_launch.cc
|
| index f5b8f1617f4b1936b8f1b9201978b087450ef2a3..23f01b962dc6fec20f65d65ec1826c27679ff3ee 100644
|
| --- a/chrome/browser/ui/extensions/application_launch.cc
|
| +++ b/chrome/browser/ui/extensions/application_launch.cc
|
| @@ -39,6 +39,8 @@
|
| #include "extensions/browser/extension_system.h"
|
| #include "extensions/common/constants.h"
|
| #include "extensions/common/extension.h"
|
| +#include "extensions/common/features/feature.h"
|
| +#include "extensions/common/features/feature_provider.h"
|
| #include "grit/generated_resources.h"
|
| #include "ui/base/window_open_disposition.h"
|
| #include "ui/gfx/rect.h"
|
| @@ -322,7 +324,7 @@ WebContents* OpenEnabledApplication(const AppLaunchParams& params) {
|
| UMA_HISTOGRAM_ENUMERATION(
|
| "Extensions.AppLaunchContainer", params.container, 100);
|
|
|
| - if (extension->is_platform_app()) {
|
| + if (CanLaunchViaEvent(extension)) {
|
| // Remember what desktop the launch happened on so that when the app opens a
|
| // window we can open them on the right desktop.
|
| PerAppSettingsServiceFactory::GetForBrowserContext(profile)->
|
| @@ -466,3 +468,10 @@ WebContents* OpenAppShortcutWindow(Profile* profile,
|
|
|
| return tab;
|
| }
|
| +
|
| +bool CanLaunchViaEvent(const extensions::Extension* extension) {
|
| + extensions::FeatureProvider* feature_provider =
|
| + extensions::FeatureProvider::GetAPIFeatures();
|
| + extensions::Feature* feature = feature_provider->GetFeature("app.runtime");
|
| + return feature->IsAvailableToExtension(extension).is_available();
|
| +}
|
|
|