| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "content/browser/web_contents/web_contents_impl.h" | 5 #include "content/browser/web_contents/web_contents_impl.h" |
| 6 | 6 |
| 7 #include <utility> | 7 #include <utility> |
| 8 | 8 |
| 9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
| 10 #include "base/debug/trace_event.h" | 10 #include "base/debug/trace_event.h" |
| (...skipping 3378 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3389 const base::string16& message, | 3389 const base::string16& message, |
| 3390 const base::string16& default_prompt, | 3390 const base::string16& default_prompt, |
| 3391 const GURL& frame_url, | 3391 const GURL& frame_url, |
| 3392 JavaScriptMessageType javascript_message_type, | 3392 JavaScriptMessageType javascript_message_type, |
| 3393 IPC::Message* reply_msg) { | 3393 IPC::Message* reply_msg) { |
| 3394 // Suppress JavaScript dialogs when requested. Also suppress messages when | 3394 // Suppress JavaScript dialogs when requested. Also suppress messages when |
| 3395 // showing an interstitial as it's shown over the previous page and we don't | 3395 // showing an interstitial as it's shown over the previous page and we don't |
| 3396 // want the hidden page's dialogs to interfere with the interstitial. | 3396 // want the hidden page's dialogs to interfere with the interstitial. |
| 3397 bool suppress_this_message = | 3397 bool suppress_this_message = |
| 3398 static_cast<RenderFrameHostImpl*>(render_frame_host)->is_swapped_out() || | 3398 static_cast<RenderFrameHostImpl*>(render_frame_host)->is_swapped_out() || |
| 3399 ShowingInterstitialPage() || | 3399 ShowingInterstitialPage() || !delegate_ || |
| 3400 !delegate_ || | 3400 delegate_->ShouldSuppressDialogs(this) || |
| 3401 delegate_->ShouldSuppressDialogs() || | 3401 !delegate_->GetJavaScriptDialogManager(this); |
| 3402 !delegate_->GetJavaScriptDialogManager(); | |
| 3403 | 3402 |
| 3404 if (!suppress_this_message) { | 3403 if (!suppress_this_message) { |
| 3405 std::string accept_lang = GetContentClient()->browser()-> | 3404 std::string accept_lang = GetContentClient()->browser()-> |
| 3406 GetAcceptLangs(GetBrowserContext()); | 3405 GetAcceptLangs(GetBrowserContext()); |
| 3407 dialog_manager_ = delegate_->GetJavaScriptDialogManager(); | 3406 dialog_manager_ = delegate_->GetJavaScriptDialogManager(this); |
| 3408 dialog_manager_->RunJavaScriptDialog( | 3407 dialog_manager_->RunJavaScriptDialog( |
| 3409 this, | 3408 this, |
| 3410 frame_url.GetOrigin(), | 3409 frame_url.GetOrigin(), |
| 3411 accept_lang, | 3410 accept_lang, |
| 3412 javascript_message_type, | 3411 javascript_message_type, |
| 3413 message, | 3412 message, |
| 3414 default_prompt, | 3413 default_prompt, |
| 3415 base::Bind(&WebContentsImpl::OnDialogClosed, | 3414 base::Bind(&WebContentsImpl::OnDialogClosed, |
| 3416 base::Unretained(this), | 3415 base::Unretained(this), |
| 3417 render_frame_host->GetProcess()->GetID(), | 3416 render_frame_host->GetProcess()->GetID(), |
| (...skipping 19 matching lines...) Expand all Loading... |
| 3437 RenderFrameHost* render_frame_host, | 3436 RenderFrameHost* render_frame_host, |
| 3438 const base::string16& message, | 3437 const base::string16& message, |
| 3439 bool is_reload, | 3438 bool is_reload, |
| 3440 IPC::Message* reply_msg) { | 3439 IPC::Message* reply_msg) { |
| 3441 RenderFrameHostImpl* rfhi = | 3440 RenderFrameHostImpl* rfhi = |
| 3442 static_cast<RenderFrameHostImpl*>(render_frame_host); | 3441 static_cast<RenderFrameHostImpl*>(render_frame_host); |
| 3443 if (delegate_) | 3442 if (delegate_) |
| 3444 delegate_->WillRunBeforeUnloadConfirm(); | 3443 delegate_->WillRunBeforeUnloadConfirm(); |
| 3445 | 3444 |
| 3446 bool suppress_this_message = | 3445 bool suppress_this_message = |
| 3447 rfhi->rfh_state() != RenderFrameHostImpl::STATE_DEFAULT || | 3446 rfhi->rfh_state() != RenderFrameHostImpl::STATE_DEFAULT || !delegate_ || |
| 3448 !delegate_ || | 3447 delegate_->ShouldSuppressDialogs(this) || |
| 3449 delegate_->ShouldSuppressDialogs() || | 3448 !delegate_->GetJavaScriptDialogManager(this); |
| 3450 !delegate_->GetJavaScriptDialogManager(); | |
| 3451 if (suppress_this_message) { | 3449 if (suppress_this_message) { |
| 3452 rfhi->JavaScriptDialogClosed(reply_msg, true, base::string16(), true); | 3450 rfhi->JavaScriptDialogClosed(reply_msg, true, base::string16(), true); |
| 3453 return; | 3451 return; |
| 3454 } | 3452 } |
| 3455 | 3453 |
| 3456 is_showing_before_unload_dialog_ = true; | 3454 is_showing_before_unload_dialog_ = true; |
| 3457 dialog_manager_ = delegate_->GetJavaScriptDialogManager(); | 3455 dialog_manager_ = delegate_->GetJavaScriptDialogManager(this); |
| 3458 dialog_manager_->RunBeforeUnloadDialog( | 3456 dialog_manager_->RunBeforeUnloadDialog( |
| 3459 this, message, is_reload, | 3457 this, message, is_reload, |
| 3460 base::Bind(&WebContentsImpl::OnDialogClosed, base::Unretained(this), | 3458 base::Bind(&WebContentsImpl::OnDialogClosed, base::Unretained(this), |
| 3461 render_frame_host->GetProcess()->GetID(), | 3459 render_frame_host->GetProcess()->GetID(), |
| 3462 render_frame_host->GetRoutingID(), reply_msg, | 3460 render_frame_host->GetRoutingID(), reply_msg, |
| 3463 false)); | 3461 false)); |
| 3464 } | 3462 } |
| 3465 | 3463 |
| 3466 WebContents* WebContentsImpl::GetAsWebContents() { | 3464 WebContents* WebContentsImpl::GetAsWebContents() { |
| 3467 return this; | 3465 return this; |
| (...skipping 883 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4351 node->render_manager()->ResumeResponseDeferredAtStart(); | 4349 node->render_manager()->ResumeResponseDeferredAtStart(); |
| 4352 } | 4350 } |
| 4353 | 4351 |
| 4354 void WebContentsImpl::SetForceDisableOverscrollContent(bool force_disable) { | 4352 void WebContentsImpl::SetForceDisableOverscrollContent(bool force_disable) { |
| 4355 force_disable_overscroll_content_ = force_disable; | 4353 force_disable_overscroll_content_ = force_disable; |
| 4356 if (view_) | 4354 if (view_) |
| 4357 view_->SetOverscrollControllerEnabled(CanOverscrollContent()); | 4355 view_->SetOverscrollControllerEnabled(CanOverscrollContent()); |
| 4358 } | 4356 } |
| 4359 | 4357 |
| 4360 } // namespace content | 4358 } // namespace content |
| OLD | NEW |