Index: chrome/renderer/printing/print_web_view_helper.cc |
diff --git a/chrome/renderer/printing/print_web_view_helper.cc b/chrome/renderer/printing/print_web_view_helper.cc |
index bb1ab8fadee51109c7bd115befface4d35b677da..d51cbffd9df36510bdd2584d6a9d72bef661fe09 100644 |
--- a/chrome/renderer/printing/print_web_view_helper.cc |
+++ b/chrome/renderer/printing/print_web_view_helper.cc |
@@ -795,9 +795,6 @@ void PrintWebViewHelper::DisablePreview() { |
bool PrintWebViewHelper::IsScriptInitiatedPrintAllowed( |
blink::WebFrame* frame, bool user_initiated) { |
-#if defined(OS_ANDROID) |
- return false; |
-#endif // defined(OS_ANDROID) |
// 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 |
@@ -822,6 +819,9 @@ void PrintWebViewHelper::DidStopLoading() { |
// Prints |frame| which called window.print(). |
void PrintWebViewHelper::PrintPage(blink::WebLocalFrame* frame, |
bool user_initiated) { |
+ |
+ DLOG(INFO) << "DGN PrintPage - From Script - routing_id: " << routing_id(); |
+ |
DCHECK(frame); |
// Allow Prerendering to cancel this print request if necessary. |
@@ -831,11 +831,19 @@ void PrintWebViewHelper::PrintPage(blink::WebLocalFrame* frame, |
return; |
} |
- if (!IsScriptInitiatedPrintAllowed(frame, user_initiated)) |
+ if (!IsScriptInitiatedPrintAllowed(frame, user_initiated)) { |
+ DLOG(INFO) << "DGN PrintPage - Script printing not allowed"; |
return; |
+ } |
if (!g_is_preview_enabled_) { |
- Print(frame, blink::WebNode()); |
dgn
2014/11/25 17:07:42
past that point, it I didn't find any way of knowi
|
+ bool use_system_specific_flow = false; |
+ |
+#if defined(OS_ANDROID) |
+ use_system_specific_flow = true; |
+#endif |
+ |
+ Print(frame, blink::WebNode(), use_system_specific_flow); |
} else { |
print_preview_context_.InitWithFrame(frame); |
RequestPrintPreview(PRINT_PREVIEW_SCRIPTED); |
@@ -947,6 +955,7 @@ bool PrintWebViewHelper::GetPrintFrame(blink::WebLocalFrame** frame) { |
#if defined(ENABLE_BASIC_PRINTING) |
void PrintWebViewHelper::OnPrintPages() { |
+ DLOG(INFO) << "DGN - OnPrintPages - Call from PrintManager"; |
blink::WebLocalFrame* frame; |
if (GetPrintFrame(&frame)) |
Print(frame, blink::WebNode()); |
@@ -1243,10 +1252,15 @@ void PrintWebViewHelper::PrintNode(const blink::WebNode& node) { |
} |
void PrintWebViewHelper::Print(blink::WebLocalFrame* frame, |
- const blink::WebNode& node) { |
+ const blink::WebNode& node, |
+ const bool use_system_specific_flow) { |
// If still not finished with earlier print request simply ignore. |
- if (prep_frame_view_) |
+ DLOG(INFO) << "DGN Print"; |
+ |
+ if (prep_frame_view_) { |
+ DLOG(INFO) << "DGN Print request ignored"; |
return; |
+ } |
FrameReference frame_ref(frame); |
@@ -1256,6 +1270,8 @@ void PrintWebViewHelper::Print(blink::WebLocalFrame* frame, |
return; // Failed to init print page settings. |
} |
+ DLOG(INFO) << "DGN CalculateNumberOfPages OK"; |
+ |
// Some full screen plugins can say they don't want to print. |
if (!expected_page_count) { |
DidFinishPrinting(FAIL_PRINT); |
@@ -1264,11 +1280,14 @@ void PrintWebViewHelper::Print(blink::WebLocalFrame* frame, |
// Ask the browser to show UI to retrieve the final print settings. |
if (!GetPrintSettingsFromUser(frame_ref.GetFrame(), node, |
- expected_page_count)) { |
+ expected_page_count, |
+ use_system_specific_flow)) { |
DidFinishPrinting(OK); // Release resources and fail silently. |
return; |
} |
+ DLOG(INFO) << "DGN GetPrintSettingsFromUser OK"; |
+ |
// Render Pages for printing. |
if (!RenderPagesForPrint(frame_ref.GetFrame(), node)) { |
LOG(ERROR) << "RenderPagesForPrint failed"; |
@@ -1278,6 +1297,9 @@ void PrintWebViewHelper::Print(blink::WebLocalFrame* frame, |
} |
void PrintWebViewHelper::DidFinishPrinting(PrintingResult result) { |
+ if (result == OK) DLOG(INFO) << "DGN DidFinishPrinting"; |
+ else DLOG(INFO) << "DGN DidFinishPrinting - Failure: " << result; |
+ |
switch (result) { |
case OK: |
break; |
@@ -1541,7 +1563,8 @@ bool PrintWebViewHelper::UpdatePrintSettings( |
bool PrintWebViewHelper::GetPrintSettingsFromUser(blink::WebFrame* frame, |
const blink::WebNode& node, |
- int expected_pages_count) { |
+ int expected_pages_count, |
+ const bool system_specific) { |
PrintHostMsg_ScriptedPrint_Params params; |
PrintMsg_PrintPages_Params print_settings; |
@@ -1552,6 +1575,7 @@ bool PrintWebViewHelper::GetPrintSettingsFromUser(blink::WebFrame* frame, |
if (PrintingNodeOrPdfFrame(frame, node)) |
margin_type = GetMarginsForPdf(frame, node); |
params.margin_type = margin_type; |
+ params.use_system_specific_flow = system_specific; |
Send(new PrintHostMsg_DidShowPrintDialog(routing_id())); |
@@ -1574,6 +1598,7 @@ bool PrintWebViewHelper::RenderPagesForPrint(blink::WebLocalFrame* frame, |
const blink::WebNode& node) { |
if (!frame || prep_frame_view_) |
return false; |
+ |
const PrintMsg_PrintPages_Params& params = *print_pages_params_; |
const PrintMsg_Print_Params& print_params = params.params; |
prep_frame_view_.reset(new PrepareFrameAndViewForPrint( |