summaryrefslogtreecommitdiffstats
path: root/extensions/browser/extension_util.cc
diff options
context:
space:
mode:
authortmdiep@chromium.org <tmdiep@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-05-22 11:12:23 +0000
committertmdiep@chromium.org <tmdiep@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-05-22 11:12:23 +0000
commit411f8aef7e6db2fadec7205a220f24ec8b914486 (patch)
tree619e67df3f82fa12c572c50cba09ea35fd625896 /extensions/browser/extension_util.cc
parent128a45f650f3a12253c3c2984d0f6eb36ab2a27b (diff)
downloadchromium_src-411f8aef7e6db2fadec7205a220f24ec8b914486.zip
chromium_src-411f8aef7e6db2fadec7205a220f24ec8b914486.tar.gz
chromium_src-411f8aef7e6db2fadec7205a220f24ec8b914486.tar.bz2
Moved IS_EPHEMERAL flag to extension prefs
This patch moves the IS_EPHEMERAL flag from the Extension class to extension prefs. This is because an Extension object is immutable and this flag needs to be changed after creation to quickly promote a running ephemeral app to being installed. Otherwise the install must be delayed until the ephemeral app is closed. BUG=374018 TBR=sky@chromium.org TEST=All automated tests Review URL: https://codereview.chromium.org/282103003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@272157 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'extensions/browser/extension_util.cc')
-rw-r--r--extensions/browser/extension_util.cc26
1 files changed, 26 insertions, 0 deletions
diff --git a/extensions/browser/extension_util.cc b/extensions/browser/extension_util.cc
new file mode 100644
index 0000000..52e7f5f
--- /dev/null
+++ b/extensions/browser/extension_util.cc
@@ -0,0 +1,26 @@
+// Copyright 2014 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "extensions/browser/extension_util.h"
+
+#include "extensions/browser/extension_prefs.h"
+#include "extensions/browser/extension_registry.h"
+
+namespace extensions {
+namespace util {
+
+bool IsExtensionInstalledPermanently(const std::string& extension_id,
+ content::BrowserContext* context) {
+ const Extension* extension = ExtensionRegistry::Get(context)->
+ GetExtensionById(extension_id, ExtensionRegistry::EVERYTHING);
+ return extension && !IsEphemeralApp(extension_id, context);
+}
+
+bool IsEphemeralApp(const std::string& extension_id,
+ content::BrowserContext* context) {
+ return ExtensionPrefs::Get(context)->IsEphemeralApp(extension_id);
+}
+
+} // namespace util
+} // namespace extensions