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. |