Don't wait to close tabs waiting for JavaScript dialogs.

They're known unresponsive, so nothing is gained.

BUG=629964
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation

Review-Url: https://codereview.chromium.org/2384813002
Cr-Commit-Position: refs/heads/master@{#424044}
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
index 6e0a94fd..dea63ab0 100644
--- a/content/browser/web_contents/web_contents_impl.cc
+++ b/content/browser/web_contents/web_contents_impl.cc
@@ -2383,6 +2383,10 @@
          GetController().GetVisibleEntry()->GetIsOverridingUserAgent();
 }
 
+bool WebContentsImpl::IsJavaScriptDialogShowing() const {
+  return is_showing_javascript_dialog_;
+}
+
 AccessibilityMode WebContentsImpl::GetAccessibilityMode() const {
   return accessibility_mode_;
 }
@@ -4130,6 +4134,7 @@
       !delegate_->GetJavaScriptDialogManager(this);
 
   if (!suppress_this_message) {
+    is_showing_javascript_dialog_ = true;
     dialog_manager_ = delegate_->GetJavaScriptDialogManager(this);
     dialog_manager_->RunJavaScriptDialog(
         this, frame_url, javascript_message_type, message, default_prompt,
@@ -5045,6 +5050,7 @@
                       BeforeUnloadDialogCancelled());
   }
 
+  is_showing_javascript_dialog_ = false;
   is_showing_before_unload_dialog_ = false;
   if (rfh) {
     rfh->JavaScriptDialogClosed(reply_msg, success, user_input,