Index: chrome/renderer/print_web_view_helper_mac.mm |
diff --git a/chrome/renderer/print_web_view_helper_mac.mm b/chrome/renderer/print_web_view_helper_mac.mm |
index 3ceeb5d92ed139c98ab8aa71619b45df4d320612..9fdfa09123e680fceaafdad41b0b5a2ea3cc1d86 100644 |
--- a/chrome/renderer/print_web_view_helper_mac.mm |
+++ b/chrome/renderer/print_web_view_helper_mac.mm |
@@ -37,7 +37,7 @@ void PrintWebViewHelper::PrintPageInternal( |
// Render page for printing. |
gfx::Rect content_area(params.params.printable_size); |
RenderPage(params.params.printable_size, content_area, scale_factor, |
- page_number, page_slot, frame, &metafile); |
+ page_number, page_slot, frame, false, &metafile); |
vandebo (ex-Chrome)
2011/08/01 21:07:37
Same here.
Aayush Kumar
2011/08/02 00:18:13
Done.
|
metafile.FinishDocument(); |
PrintHostMsg_DidPrintPage_Params page_params; |
@@ -82,7 +82,7 @@ void PrintWebViewHelper::RenderPreviewPage(int page_number) { |
base::TimeTicks begin_time = base::TimeTicks::Now(); |
RenderPage(printParams.page_size, content_area, scale_factor, page_number, |
print_preview_context_.GetPageSlotForPage(page_number), |
- print_preview_context_.frame(), initial_render_metafile); |
+ print_preview_context_.frame(), true, initial_render_metafile); |
print_preview_context_.RenderedPreviewPage( |
base::TimeTicks::Now() - begin_time); |
@@ -115,7 +115,7 @@ void PrintWebViewHelper::RenderPreviewPage(int page_number) { |
void PrintWebViewHelper::RenderPage( |
const gfx::Size& page_size, const gfx::Rect& content_area, |
const float& scale_factor, int page_number, int page_slot, WebFrame* frame, |
- printing::Metafile* metafile) { |
+ bool is_preview, printing::Metafile* metafile) { |
{ |
#if defined(USE_SKIA) |
@@ -138,7 +138,20 @@ void PrintWebViewHelper::RenderPage( |
CGContextRef cgContext = metafile->context(); |
CGContextRef canvasPtr = cgContext; |
#endif |
- frame->printPage(page_number, canvasPtr); |
+ float webkit_scale_factor = frame->printPage(page_number, canvasPtr); |
+#if defined(USE_SKIA) |
+ PrintMsg_Print_Params printParams = print_preview_context_.print_params(); |
+ if (is_preview && printParams.display_header_footer) { |
+ PageSizeMargins page_layout_in_points; |
+ GetPageSizeAndMarginsInPoints(frame, page_number, printParams, |
+ &page_layout_in_points); |
+ // |page_number| is 0-based, so 1 is added. |
+ PrintHeaderAndFooter(device, *canvas, page_number + 1, |
+ print_preview_context_.total_page_count(), |
+ webkit_scale_factor, page_layout_in_points, |
+ *header_footer_info_); |
+ } |
+#endif // USE_SKIA |
} |
// Done printing. Close the device context to retrieve the compiled metafile. |