Commit 6b55570f authored by akalin@chromium.org's avatar akalin@chromium.org

Fixed extension sync-related crash in ChromeUrlRequestContext

Made ChromeUrlRequestContext handle multiple extension unloaded
notifications gracefully.

BUG=50567
TEST=manual (see repro in bug)

Review URL: http://codereview.chromium.org/2819072

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54100 0039d316-1c4b-4281-b951-d872f2087c98
parent 01b23daa
...@@ -841,8 +841,15 @@ void ChromeURLRequestContext::OnUnloadedExtension(const std::string& id) { ...@@ -841,8 +841,15 @@ void ChromeURLRequestContext::OnUnloadedExtension(const std::string& id) {
if (is_off_the_record_) if (is_off_the_record_)
return; return;
ExtensionInfoMap::iterator iter = extension_info_.find(id); ExtensionInfoMap::iterator iter = extension_info_.find(id);
DCHECK(iter != extension_info_.end()); if (iter != extension_info_.end()) {
extension_info_.erase(iter); extension_info_.erase(iter);
} else {
// NOTE: This can currently happen if we receive multiple unload
// notifications, e.g. setting incognito-enabled state for a
// disabled extension (e.g., via sync). See
// http://code.google.com/p/chromium/issues/detail?id=50582 .
NOTREACHED() << id;
}
} }
bool ChromeURLRequestContext::AreCookiesEnabled() const { bool ChromeURLRequestContext::AreCookiesEnabled() const {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment