summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbbudge@chromium.org <bbudge@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-04-02 22:36:13 +0000
committerbbudge@chromium.org <bbudge@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-04-02 22:36:13 +0000
commit03d3ba01a3e7055c13c88d27ff03c9d8a79590c2 (patch)
treef1e3bc1022925e23144ae0dd4736440528ab2430
parent52893dca955e1855543b8c9f8436c037f0441400 (diff)
downloadchromium_src-03d3ba01a3e7055c13c88d27ff03c9d8a79590c2.zip
chromium_src-03d3ba01a3e7055c13c88d27ff03c9d8a79590c2.tar.gz
chromium_src-03d3ba01a3e7055c13c88d27ff03c9d8a79590c2.tar.bz2
Mark default apps as "from webstore" so NaCl gets enabled.
Default apps serve as OEM customization and should be able to load NaCl modules. This is a problem now because they aren't really distinguishable from normal extensions. To fix this, mark them as "from webstore" when they're loaded. BUG=28707 TEST=none Review URL: https://chromiumcodereview.appspot.com/9950070 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@130235 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/browser/extensions/external_extension_provider_impl.cc18
1 files changed, 16 insertions, 2 deletions
diff --git a/chrome/browser/extensions/external_extension_provider_impl.cc b/chrome/browser/extensions/external_extension_provider_impl.cc
index 68ffa0b..d9f332e 100644
--- a/chrome/browser/extensions/external_extension_provider_impl.cc
+++ b/chrome/browser/extensions/external_extension_provider_impl.cc
@@ -317,9 +317,23 @@ void ExternalExtensionProviderImpl::CreateExternalProviders(
Extension::EXTERNAL_PREF_DOWNLOAD,
Extension::NO_FLAGS)));
-#if defined(OS_CHROMEOS) || defined (OS_MACOSX)
+#if defined(OS_CHROMEOS)
+ // Define a per-user source of external default extensions, which serves
+ // as a source for OEM customization. Mark these default extensions as
+ // being from the webstore so they can load Native Client modules.
+ provider_list->push_back(
+ linked_ptr<ExternalExtensionProviderInterface>(
+ new ExternalExtensionProviderImpl(
+ service,
+ new ExternalPrefExtensionLoader(
+ chrome::DIR_USER_EXTERNAL_EXTENSIONS,
+ ExternalPrefExtensionLoader::NONE),
+ Extension::EXTERNAL_PREF,
+ Extension::EXTERNAL_PREF_DOWNLOAD,
+ Extension::FROM_WEBSTORE)));
+#endif
+#if defined (OS_MACOSX)
// Define a per-user source of external extensions.
- // On Chrome OS, this serves as a source for OEM customization.
provider_list->push_back(
linked_ptr<ExternalExtensionProviderInterface>(
new ExternalExtensionProviderImpl(