summaryrefslogtreecommitdiffstats
path: root/chrome/browser/extensions/extension_pref_value_map.cc
diff options
context:
space:
mode:
authorakalin@chromium.org <akalin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-04-29 19:27:31 +0000
committerakalin@chromium.org <akalin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-04-29 19:27:31 +0000
commit06f9256f22242c46365458eadab409c79509d8d8 (patch)
treea46c7b7470f3315d35b1da105888240d242c9cc5 /chrome/browser/extensions/extension_pref_value_map.cc
parent3b5648911bcde7d6dddc0fbef236257ea14b58af (diff)
downloadchromium_src-06f9256f22242c46365458eadab409c79509d8d8.zip
chromium_src-06f9256f22242c46365458eadab409c79509d8d8.tar.gz
chromium_src-06f9256f22242c46365458eadab409c79509d8d8.tar.bz2
[Sync] Add support for enabling/disabling an extension before it's installed
Make Enable/DisableExtension handle non-installed extensions gracefully. Make DisableExtension handle terminated extensions. Make ProcessSyncData enable/disable an extension regardless of whether it's already installed. BUG=72659 TEST= Review URL: http://codereview.chromium.org/6903127 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@83571 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/extensions/extension_pref_value_map.cc')
-rw-r--r--chrome/browser/extensions/extension_pref_value_map.cc5
1 files changed, 4 insertions, 1 deletions
diff --git a/chrome/browser/extensions/extension_pref_value_map.cc b/chrome/browser/extensions/extension_pref_value_map.cc
index 02ebcdf..7032be9 100644
--- a/chrome/browser/extensions/extension_pref_value_map.cc
+++ b/chrome/browser/extensions/extension_pref_value_map.cc
@@ -101,7 +101,10 @@ void ExtensionPrefValueMap::UnregisterExtension(const std::string& ext_id) {
void ExtensionPrefValueMap::SetExtensionState(const std::string& ext_id,
bool is_enabled) {
ExtensionEntryMap::const_iterator i = entries_.find(ext_id);
- CHECK(i != entries_.end());
+ // This may happen when sync sets the extension state for an
+ // extension that is not installed.
+ if (i == entries_.end())
+ return;
if (i->second->enabled == is_enabled)
return;
std::set<std::string> keys; // keys set by this extension