diff options
author | dpolukhin@chromium.org <dpolukhin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-12-02 09:36:36 +0000 |
---|---|---|
committer | dpolukhin@chromium.org <dpolukhin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-12-02 09:36:36 +0000 |
commit | 9c635f24128b5638dac833499fb1fd5ee2be6375 (patch) | |
tree | f066e7d5557d8fa1ee43d3332d851b90746d25a0 /chrome/browser | |
parent | f2ea0e7e43ed78908d91613f1f227af329aff20c (diff) | |
download | chromium_src-9c635f24128b5638dac833499fb1fd5ee2be6375.zip chromium_src-9c635f24128b5638dac833499fb1fd5ee2be6375.tar.gz chromium_src-9c635f24128b5638dac833499fb1fd5ee2be6375.tar.bz2 |
Remember external extensions installed from file in pending extensions map
BUG=http://code.google.com/p/chromium-os/issues/detail?id=9746
TEST=manual
Review URL: http://codereview.chromium.org/5552002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@67989 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser')
-rw-r--r-- | chrome/browser/extensions/extension_updater.cc | 5 | ||||
-rw-r--r-- | chrome/browser/extensions/extensions_service.cc | 17 |
2 files changed, 20 insertions, 2 deletions
diff --git a/chrome/browser/extensions/extension_updater.cc b/chrome/browser/extensions/extension_updater.cc index 15e26aa..8b9986f 100644 --- a/chrome/browser/extensions/extension_updater.cc +++ b/chrome/browser/extensions/extension_updater.cc @@ -734,7 +734,10 @@ void ExtensionUpdater::CheckNow() { service_->pending_extensions(); for (PendingExtensionMap::const_iterator iter = pending_extensions.begin(); iter != pending_extensions.end(); ++iter) { - fetches_builder.AddPendingExtension(iter->first, iter->second); + Extension::Location location = iter->second.install_source; + if (location != Extension::EXTERNAL_PREF && + location != Extension::EXTERNAL_REGISTRY) + fetches_builder.AddPendingExtension(iter->first, iter->second); } fetches_builder.ReportStats(); diff --git a/chrome/browser/extensions/extensions_service.cc b/chrome/browser/extensions/extensions_service.cc index 9e7b359..63a62a0 100644 --- a/chrome/browser/extensions/extensions_service.cc +++ b/chrome/browser/extensions/extensions_service.cc @@ -783,7 +783,6 @@ void ExtensionsService::AddPendingExtensionInternal( return; } - pending_extensions_[id] = PendingExtensionInfo(update_url, expected_crx_type, is_from_sync, install_silently, enable_on_install, @@ -1942,6 +1941,22 @@ void ExtensionsService::OnExternalExtensionFileFound( } } + GURL update_url = GURL(); + PendingExtensionInfo::ExpectedCrxType expected_crx_type = + PendingExtensionInfo::UNKNOWN; + bool is_from_sync = false; + bool install_silently = true; + bool enable_on_install = true; + bool enable_incognito_on_install = false; + pending_extensions_[id] = PendingExtensionInfo( + update_url, + expected_crx_type, + is_from_sync, + install_silently, + enable_on_install, + enable_incognito_on_install, + location); + scoped_refptr<CrxInstaller> installer( new CrxInstaller(this, // frontend NULL)); // no client (silent install) |