Chromium Code Reviews| Index: chrome/browser/tab_contents/tab_contents.cc |
| diff --git a/chrome/browser/tab_contents/tab_contents.cc b/chrome/browser/tab_contents/tab_contents.cc |
| index 54e62d2877987c524ecc9d41cd0ea71fdec877f9..814f6e35d78af50a3273acf3e3dcf02ecb01f954 100644 |
| --- a/chrome/browser/tab_contents/tab_contents.cc |
| +++ b/chrome/browser/tab_contents/tab_contents.cc |
| @@ -840,6 +840,12 @@ void TabContents::HideContents() { |
| WasHidden(); |
| } |
| +bool TabContents::NeedToFireBeforeUnload() { |
| + return notify_disconnection() && |
| + !showing_interstitial_page() && |
|
Charlie Reis
2010/12/08 01:26:12
Why is this line necessary? I think we run unload
sky
2010/12/08 03:04:22
No idea there. This code comes directly from Brows
Charlie Reis
2010/12/08 05:50:11
Oh! Well, it doesn't sound right to me, since the
|
| + !render_view_host()->SuddenTerminationAllowed(); |
|
Charlie Reis
2010/12/08 01:26:12
Doesn't this catch both the beforeunload and unloa
sky
2010/12/08 03:04:22
Yes.
Charlie Reis
2010/12/08 05:50:11
Yep, the improved comment is enough-- thanks.
|
| +} |
| + |
| void TabContents::OpenURL(const GURL& url, const GURL& referrer, |
| WindowOpenDisposition disposition, |
| PageTransition::Type transition) { |
| @@ -2785,6 +2791,8 @@ void TabContents::RunJavaScriptMessage( |
| void TabContents::RunBeforeUnloadConfirm(const std::wstring& message, |
| IPC::Message* reply_msg) { |
| + if (delegate()) |
| + delegate()->WillRunBeforeUnloadConfirm(); |
| if (delegate() && delegate()->ShouldSuppressDialogs()) { |
| render_view_host()->JavaScriptMessageBoxClosed(reply_msg, true, |
| std::wstring()); |