Chromium Code Reviews| Index: components/printing/renderer/print_web_view_helper.cc |
| diff --git a/components/printing/renderer/print_web_view_helper.cc b/components/printing/renderer/print_web_view_helper.cc |
| index dcd4305f2a1ee4927ce8b8002edb1f838fd0978d..9f5e5560e231e1fe6b6dcdc72d5de0e968b687f1 100644 |
| --- a/components/printing/renderer/print_web_view_helper.cc |
| +++ b/components/printing/renderer/print_web_view_helper.cc |
| @@ -767,6 +767,14 @@ void PrepareFrameAndViewForPrint::FinishPrinting() { |
| on_ready_.Reset(); |
| } |
| +bool PrintWebViewHelper::Delegate::IsAskPrintSettingsEnabled() { |
| + return true; |
| +} |
| + |
| +bool PrintWebViewHelper::Delegate::IsScriptedPrintEnabled() { |
| + return true; |
| +} |
| + |
| PrintWebViewHelper::PrintWebViewHelper( |
| content::RenderView* render_view, |
| scoped_ptr<Delegate> delegate) |
| @@ -796,6 +804,9 @@ void PrintWebViewHelper::DisablePreview() { |
| bool PrintWebViewHelper::IsScriptInitiatedPrintAllowed( |
| blink::WebFrame* frame, bool user_initiated) { |
| + if (!delegate_->IsScriptedPrintEnabled()) |
|
dgn
2015/01/23 15:21:09
This is where window.print() was previously disabl
|
| + return false; |
| + |
| // If preview is enabled, then the print dialog is tab modal, and the user |
| // can always close the tab on a mis-behaving page (the system print dialog |
| // is app modal). If the print was initiated through user action, don't |
| @@ -1267,7 +1278,8 @@ void PrintWebViewHelper::Print(blink::WebLocalFrame* frame, |
| } |
| // Ask the browser to show UI to retrieve the final print settings. |
| - if (!GetPrintSettingsFromUser(frame_ref.GetFrame(), node, |
| + if (delegate_->IsAskPrintSettingsEnabled() && |
| + !GetPrintSettingsFromUser(frame_ref.GetFrame(), node, |
| expected_page_count, |
| is_scripted)) { |
| DidFinishPrinting(OK); // Release resources and fail silently. |