summaryrefslogtreecommitdiffstats
path: root/chrome/browser/views/tabs
diff options
context:
space:
mode:
authorjcampan@chromium.org <jcampan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-04-30 17:11:10 +0000
committerjcampan@chromium.org <jcampan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-04-30 17:11:10 +0000
commit940ccb2c357f17b2727b92999491cd4e0e25d0b4 (patch)
tree19b441db80d298393f5bacaddb5e4c50642c6f50 /chrome/browser/views/tabs
parent7f74a4ee8538089c11895ff2f3b7110f3ca0061b (diff)
downloadchromium_src-940ccb2c357f17b2727b92999491cd4e0e25d0b4.zip
chromium_src-940ccb2c357f17b2727b92999491cd4e0e25d0b4.tar.gz
chromium_src-940ccb2c357f17b2727b92999491cd4e0e25d0b4.tar.bz2
Relanding this, it was missing the Mac unit-test change, that was breaking the build.
TBR=ben Closing the last tab with a download in-progress would cause the tab to be closed and become unusable if the user decides not to proceed with the browser shutdown. This is because we check for in-progress downloads when the browser is closed, and the tab is closed before that, leaving the tab-strip in a bad state. This CL ensures we also bring-up the confirmation dialog when the last tab is closed. BUG=10680 TEST=Start downloading a big file. While the file is downloading, close all tabs. When closing the last tab, the in-progress download dialog should be shown. Select the 'Wait for downloads', the download tab should be shown and the previous tab should still be displayed and functional. Close all tabs again, this time select the 'Close and cancel downloads' option, the browser should be closed. Review URL: http://codereview.chromium.org/100210 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14952 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/views/tabs')
-rw-r--r--chrome/browser/views/tabs/tab_strip.cc2
1 files changed, 2 insertions, 0 deletions
diff --git a/chrome/browser/views/tabs/tab_strip.cc b/chrome/browser/views/tabs/tab_strip.cc
index 51ff414..1b1acac 100644
--- a/chrome/browser/views/tabs/tab_strip.cc
+++ b/chrome/browser/views/tabs/tab_strip.cc
@@ -904,6 +904,8 @@ void TabStrip::CloseTab(Tab* tab) {
available_width_for_tabs_ = GetAvailableWidthForTabs(last_tab);
resize_layout_scheduled_ = true;
AddMessageLoopObserver();
+ // Note that the next call might not close the tab (because of unload
+ // hanlders or if the delegate veto the close).
model_->CloseTabContentsAt(tab_index);
}
}