summaryrefslogtreecommitdiffstats
path: root/chrome/browser
diff options
context:
space:
mode:
authordpolukhin@chromium.org <dpolukhin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-12-02 09:36:36 +0000
committerdpolukhin@chromium.org <dpolukhin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-12-02 09:36:36 +0000
commit9c635f24128b5638dac833499fb1fd5ee2be6375 (patch)
treef066e7d5557d8fa1ee43d3332d851b90746d25a0 /chrome/browser
parentf2ea0e7e43ed78908d91613f1f227af329aff20c (diff)
downloadchromium_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.cc5
-rw-r--r--chrome/browser/extensions/extensions_service.cc17
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)