diff options
author | bbudge@chromium.org <bbudge@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-04-02 22:36:13 +0000 |
---|---|---|
committer | bbudge@chromium.org <bbudge@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-04-02 22:36:13 +0000 |
commit | 03d3ba01a3e7055c13c88d27ff03c9d8a79590c2 (patch) | |
tree | f1e3bc1022925e23144ae0dd4736440528ab2430 | |
parent | 52893dca955e1855543b8c9f8436c037f0441400 (diff) | |
download | chromium_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.cc | 18 |
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( |