summaryrefslogtreecommitdiffstats
path: root/chrome/browser/render_widget_helper.cc
diff options
context:
space:
mode:
authorojan@google.com <ojan@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-07-29 23:32:47 +0000
committerojan@google.com <ojan@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-07-29 23:32:47 +0000
commitc82192d62ae8518837f448f9bbd9d0c93cd4af13 (patch)
tree795361f6bb6033caf55862386541c70e08b969be /chrome/browser/render_widget_helper.cc
parent9a2bba4ed0996b8bc9f8dab235ad83af3f155948 (diff)
downloadchromium_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.cc12
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,