Chromium Code Reviews| 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. |