Index: chrome/browser/extensions/crx_installer.cc |
diff --git a/chrome/browser/extensions/crx_installer.cc b/chrome/browser/extensions/crx_installer.cc |
index c76a45d332cba783425668b9cc409fd47409a885..be392bb8383e5219fb00287a145a5785f3745690 100644 |
--- a/chrome/browser/extensions/crx_installer.cc |
+++ b/chrome/browser/extensions/crx_installer.cc |
@@ -163,11 +163,11 @@ CrxInstaller::CrxInstaller(base::WeakPtr<ExtensionService> service_weak, |
} |
CrxInstaller::~CrxInstaller() { |
- // Make sure the UI is deleted on the ui thread. |
- if (client_) { |
- BrowserThread::DeleteSoon(BrowserThread::UI, FROM_HERE, client_); |
- client_ = NULL; |
- } |
+ DCHECK_CURRENTLY_ON(BrowserThread::UI); |
+ // Ensure |client_| and |install_checker_| data members are destroyed on the |
+ // UI thread. The |client_| dialog has a weak reference as |this| is its |
+ // delegate, and |install_checker_| owns WeakPtrs, so must be destroyed on the |
+ // same thread that created it. |
} |
void CrxInstaller::InstallCrx(const base::FilePath& source_file) { |