| Index: content/browser/tab_contents/tab_contents.cc
|
| diff --git a/content/browser/tab_contents/tab_contents.cc b/content/browser/tab_contents/tab_contents.cc
|
| index 220e7697c8a77768d31087e574619ef39fbeb6aa..e4fb6180cbbe9ce4a7b4d4b5b58af7c621baed1a 100644
|
| --- a/content/browser/tab_contents/tab_contents.cc
|
| +++ b/content/browser/tab_contents/tab_contents.cc
|
| @@ -2406,6 +2406,7 @@ void TabContents::RunJavaScriptMessage(
|
| const std::wstring& default_prompt,
|
| const GURL& frame_url,
|
| const int flags,
|
| + const bool unload_handler_being_run,
|
| IPC::Message* reply_msg,
|
| bool* did_suppress_message) {
|
| // Suppress javascript messages when requested and when inside a constrained
|
| @@ -2414,9 +2415,11 @@ void TabContents::RunJavaScriptMessage(
|
| // Also suppress messages when showing an interstitial. The interstitial is
|
| // shown over the previous page, we don't want the hidden page dialogs to
|
| // interfere with the interstitial.
|
| + // Also suppress messages during beforeunload/unload event handlers.
|
| bool suppress_this_message =
|
| suppress_javascript_messages_ ||
|
| showing_interstitial_page() ||
|
| + unload_handler_being_run ||
|
| (delegate() && delegate()->ShouldSuppressDialogs());
|
| if (delegate())
|
| suppress_this_message |=
|
|
|