| Index: chrome/browser/ui/views/frame/browser_view.cc
|
| diff --git a/chrome/browser/ui/views/frame/browser_view.cc b/chrome/browser/ui/views/frame/browser_view.cc
|
| index 655d51afe04d35b635796f00fee401553c66b677..3c06cc00e2581e837f50f89f85a7c1e2f1548264 100644
|
| --- a/chrome/browser/ui/views/frame/browser_view.cc
|
| +++ b/chrome/browser/ui/views/frame/browser_view.cc
|
| @@ -437,6 +437,10 @@ BrowserView::BrowserView()
|
| }
|
|
|
| BrowserView::~BrowserView() {
|
| + // All the tabs should have been destroyed already. If we were closed by the
|
| + // OS with some tabs than the NativeBrowserFrame should have destroyed them.
|
| + DCHECK_EQ(0, browser_->tab_strip_model()->count());
|
| +
|
| // Immersive mode may need to reparent views before they are removed/deleted.
|
| immersive_mode_controller_.reset();
|
|
|
| @@ -477,16 +481,6 @@ BrowserView::~BrowserView() {
|
| RemoveAllChildViews(true);
|
| toolbar_ = NULL;
|
|
|
| - // It is possible that we were forced-closed by the native view system and
|
| - // that tabs remain in the browser. Close any such remaining tabs. Detach
|
| - // before destroying in hopes of avoiding less callbacks trying to access
|
| - // members since destroyed.
|
| - {
|
| - ScopedVector<content::WebContents> contents;
|
| - while (browser_->tab_strip_model()->count())
|
| - contents.push_back(browser_->tab_strip_model()->DetachWebContentsAt(0));
|
| - }
|
| -
|
| // Explicitly set browser_ to NULL.
|
| browser_.reset();
|
| }
|
|
|