summaryrefslogtreecommitdiffstats
path: root/chrome/browser/extensions
diff options
context:
space:
mode:
authormpcomplete@chromium.org <mpcomplete@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-02-23 19:20:57 +0000
committermpcomplete@chromium.org <mpcomplete@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-02-23 19:20:57 +0000
commite23dbaa81c408c1f7df623b95236f564dc275f3c (patch)
tree5839ad5494158adee2ce59a8903e024220fc915b /chrome/browser/extensions
parent9dd90e58cb52161989caf7fcba35ceada332a05c (diff)
downloadchromium_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.cc8
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_ = "";
}