summaryrefslogtreecommitdiffstats
path: root/chromium/extensions/browser/extension_util.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/extensions/browser/extension_util.cc')
-rw-r--r--chromium/extensions/browser/extension_util.cc21
1 files changed, 21 insertions, 0 deletions
diff --git a/chromium/extensions/browser/extension_util.cc b/chromium/extensions/browser/extension_util.cc
index 448496763d8..93c9c913745 100644
--- a/chromium/extensions/browser/extension_util.cc
+++ b/chromium/extensions/browser/extension_util.cc
@@ -20,9 +20,26 @@
#include "extensions/common/manifest_handlers/shared_module_info.h"
#include "extensions/common/permissions/permissions_data.h"
+#if defined(OS_CHROMEOS)
+#include "base/system/sys_info.h"
+#endif
+
namespace extensions {
namespace util {
+namespace {
+
+#if defined(OS_CHROMEOS)
+bool IsSigninProfileTestExtensionOnTestImage(const Extension* extension) {
+ if (extension->id() != extension_misc::kSigninProfileTestExtensionId)
+ return false;
+ base::SysInfo::CrashIfChromeOSNonTestImage();
+ return true;
+}
+#endif
+
+} // namespace
+
bool CanBeIncognitoEnabled(const Extension* extension) {
return IncognitoInfo::IsIncognitoAllowed(extension) &&
(!extension->is_platform_app() ||
@@ -43,6 +60,10 @@ bool IsIncognitoEnabled(const std::string& extension_id,
return true;
if (extension->is_login_screen_extension())
return true;
+#if defined(OS_CHROMEOS)
+ if (IsSigninProfileTestExtensionOnTestImage(extension))
+ return true;
+#endif
}
return ExtensionPrefs::Get(context)->IsIncognitoEnabled(extension_id);
}