diff options
author | mpcomplete@chromium.org <mpcomplete@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-02-23 19:20:57 +0000 |
---|---|---|
committer | mpcomplete@chromium.org <mpcomplete@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-02-23 19:20:57 +0000 |
commit | e23dbaa81c408c1f7df623b95236f564dc275f3c (patch) | |
tree | 5839ad5494158adee2ce59a8903e024220fc915b /chrome/browser/extensions | |
parent | 9dd90e58cb52161989caf7fcba35ceada332a05c (diff) | |
download | chromium_src-e23dbaa81c408c1f7df623b95236f564dc275f3c.zip chromium_src-e23dbaa81c408c1f7df623b95236f564dc275f3c.tar.gz chromium_src-e23dbaa81c408c1f7df623b95236f564dc275f3c.tar.bz2 |
Fix a crash when 2 extension uninstall dialogs were open and then confirmed.
BUG=36456
Review URL: http://codereview.chromium.org/656010
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39753 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/extensions')
-rw-r--r-- | chrome/browser/extensions/extensions_ui.cc | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/chrome/browser/extensions/extensions_ui.cc b/chrome/browser/extensions/extensions_ui.cc index a177f59..24dc43e 100644 --- a/chrome/browser/extensions/extensions_ui.cc +++ b/chrome/browser/extensions/extensions_ui.cc @@ -427,7 +427,13 @@ void ExtensionsDOMHandler::InstallUIProceed(bool create_app_shortcut) { // We only ever use ExtensionInstallUI for uninstalling, which should never // result in it telling us to create a shortcut. DCHECK(!create_app_shortcut); - extensions_service_->UninstallExtension(extension_id_uninstalling_, false); + + // The extension can be uninstalled in another window while the uninstall UI + // was showing. Do nothing in that case. + if (extensions_service_->GetExtensionById(extension_id_uninstalling_, true)) { + extensions_service_->UninstallExtension(extension_id_uninstalling_, + false /* external_uninstall */); + } extension_id_uninstalling_ = ""; } |