Index: chrome/browser/ui/browser.cc |
diff --git a/chrome/browser/ui/browser.cc b/chrome/browser/ui/browser.cc |
index 0643a188ac11213941f6b0d9d1ae70df6d97c1d9..f3e71c14e86fa01188a4773b7221924a4a69593f 100644 |
--- a/chrome/browser/ui/browser.cc |
+++ b/chrome/browser/ui/browser.cc |
@@ -445,6 +445,11 @@ Browser::Browser(const CreateParams& params) |
} |
Browser::~Browser() { |
+ // Stop observing notifications before continuing with destruction. Profile |
+ // destruction will unload extensions and reentrant calls to Browser:: should |
+ // be avoided while it is being torn down. |
+ registrar_.RemoveAll(); |
+ |
// The tab strip should not have any tabs at this point. |
DCHECK(tab_strip_model_->empty()); |
tab_strip_model_->RemoveObserver(this); |