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