Index: chrome/browser/extensions/chrome_process_manager_delegate.cc |
diff --git a/chrome/browser/extensions/chrome_process_manager_delegate.cc b/chrome/browser/extensions/chrome_process_manager_delegate.cc |
index 9e983ef02c50b43e1403cf82acec08e78694bffc..491892a44a82c9ff0204d982b08fa21f1566c968 100644 |
--- a/chrome/browser/extensions/chrome_process_manager_delegate.cc |
+++ b/chrome/browser/extensions/chrome_process_manager_delegate.cc |
@@ -22,9 +22,11 @@ |
#include "extensions/browser/process_manager_factory.h" |
#include "extensions/common/extension.h" |
#include "extensions/common/one_shot_event.h" |
+#include "extensions/common/permissions/permissions_data.h" |
#if defined(OS_CHROMEOS) |
#include "chrome/browser/chromeos/profiles/profile_helper.h" |
+#include "chromeos/chromeos_switches.h" |
#endif |
namespace extensions { |
@@ -84,6 +86,14 @@ bool ChromeProcessManagerDelegate::IsExtensionBackgroundPageAllowed( |
// policy. |
return login_screen_apps_list->HasKey(extension.id()); |
} |
+ |
+ if (chromeos::ProfileHelper::IsLockScreenAppProfile(profile) && |
+ !profile->IsOffTheRecord()) { |
+ return base::CommandLine::ForCurrentProcess()->HasSwitch( |
+ chromeos::switches::kEnableLockScreenApps) && |
+ extension.permissions_data()->HasAPIPermission( |
+ APIPermission::kLockScreen); |
+ } |
#endif |
return AreBackgroundPagesAllowedForContext(context); |