Index: chrome/browser/background/background_application_list_model.cc |
diff --git a/chrome/browser/background/background_application_list_model.cc b/chrome/browser/background/background_application_list_model.cc |
index 712a2c147383460b50eb30b39036fcabc627b73c..aded46a043e63a178b5c62674b8927533a5a694a 100644 |
--- a/chrome/browser/background/background_application_list_model.cc |
+++ b/chrome/browser/background/background_application_list_model.cc |
@@ -25,6 +25,7 @@ |
#include "extensions/browser/extension_prefs.h" |
#include "extensions/browser/extension_registry.h" |
#include "extensions/browser/extension_system.h" |
+#include "extensions/browser/extension_util.h" |
#include "extensions/browser/image_loader.h" |
#include "extensions/common/extension.h" |
#include "extensions/common/extension_icon_set.h" |
@@ -307,6 +308,11 @@ bool BackgroundApplicationListModel::IsBackgroundApp( |
// 2) It is a hosted app, and has a background contents registered or in the |
// manifest. |
+ // Ephemeral apps are denied any background activity after their event page |
+ // has been destroyed, thus they cannot be background apps. |
+ if (extensions::util::IsEphemeralApp(extension.id(), profile)) |
+ return false; |
+ |
// Not a background app if we don't have the background permission or |
// the push messaging permission |
if (!extension.permissions_data()->HasAPIPermission( |