diff options
Diffstat (limited to 'chrome/browser/xp_frame.cc')
| -rw-r--r-- | chrome/browser/xp_frame.cc | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/chrome/browser/xp_frame.cc b/chrome/browser/xp_frame.cc index 872acac..fee785b 100644 --- a/chrome/browser/xp_frame.cc +++ b/chrome/browser/xp_frame.cc @@ -2462,6 +2462,18 @@ void XPFrame::DestroyBrowser() { // the tabstrip from the model's observer list because the model was // destroyed with browser_. if (browser_) { + if (bookmark_bar_view_.get() && bookmark_bar_view_->GetParent()) { + // The bookmark bar should not be parented by the time we get here. + // If you hit this NOTREACHED file a bug with the trace. + NOTREACHED(); + bookmark_bar_view_->GetParent()->RemoveChildView(bookmark_bar_view_.get()); + } + + // Explicitly delete the BookmarkBarView now. That way we don't have to + // worry about the BookmarkBarView potentially outliving the Browser & + // Profile. + bookmark_bar_view_.reset(NULL); + browser_->tabstrip_model()->RemoveObserver(tabstrip_); delete browser_; browser_ = NULL; |
