diff options
author | ojan@google.com <ojan@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-07-29 23:32:47 +0000 |
---|---|---|
committer | ojan@google.com <ojan@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-07-29 23:32:47 +0000 |
commit | c82192d62ae8518837f448f9bbd9d0c93cd4af13 (patch) | |
tree | 795361f6bb6033caf55862386541c70e08b969be /chrome/browser/render_widget_helper.cc | |
parent | 9a2bba4ed0996b8bc9f8dab235ad83af3f155948 (diff) | |
download | chromium_src-c82192d62ae8518837f448f9bbd9d0c93cd4af13.zip chromium_src-c82192d62ae8518837f448f9bbd9d0c93cd4af13.tar.gz chromium_src-c82192d62ae8518837f448f9bbd9d0c93cd4af13.tar.bz2 |
Fix not closing the browser with hung, crashed and interstitial tabs. Adds a 1 second hang monitor for the beforeunload/unload events to fire.
BUG=1296059
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@81 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/render_widget_helper.cc')
-rw-r--r-- | chrome/browser/render_widget_helper.cc | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/chrome/browser/render_widget_helper.cc b/chrome/browser/render_widget_helper.cc index 9e34d75..708c236 100644 --- a/chrome/browser/render_widget_helper.cc +++ b/chrome/browser/render_widget_helper.cc @@ -86,14 +86,16 @@ void RenderWidgetHelper::CancelResourceRequests(int render_widget_id) { } void RenderWidgetHelper::CrossSiteClosePageACK(int new_render_process_host_id, - int new_request_id) { + int new_request_id, + bool is_closing_browser) { if (g_browser_process->io_thread()) g_browser_process->io_thread()->message_loop()->PostTask(FROM_HERE, NewRunnableMethod(this, &RenderWidgetHelper::OnCrossSiteClosePageACK, g_browser_process->resource_dispatcher_host(), new_render_process_host_id, - new_request_id)); + new_request_id, + is_closing_browser)); } bool RenderWidgetHelper::WaitForPaintMsg(int render_widget_id, @@ -196,8 +198,10 @@ void RenderWidgetHelper::OnCancelResourceRequests( void RenderWidgetHelper::OnCrossSiteClosePageACK( ResourceDispatcherHost* dispatcher, int new_render_process_host_id, - int new_request_id) { - dispatcher->OnClosePageACK(new_render_process_host_id, new_request_id, false); + int new_request_id, + bool is_closing_browser) { + dispatcher->OnClosePageACK(new_render_process_host_id, new_request_id, + is_closing_browser); } void RenderWidgetHelper::CreateView(int opener_id, |