| 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 3836161f9e975c26962ed48cf5a5f80d0cc5352d..6092657aadb666b08493e323202f0e4ae8484662 100644
|
| --- a/chrome/renderer/print_web_view_helper_mac.mm
|
| +++ b/chrome/renderer/print_web_view_helper_mac.mm
|
| @@ -36,7 +36,8 @@ 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, frame, &metafile);
|
| + page_number, frame, &metafile, false,
|
| + params.params.display_header_footer);
|
| metafile.FinishDocument();
|
|
|
| PrintHostMsg_DidPrintPage_Params page_params;
|
| @@ -68,7 +69,8 @@ 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_.frame(), print_preview_context_.metafile());
|
| + print_preview_context_.frame(), print_preview_context_.metafile(),
|
| + true, printParams.display_header_footer);
|
| print_preview_context_.RenderedPreviewPage(
|
| base::TimeTicks::Now() - begin_time);
|
| PreviewPageRendered(page_number);
|
| @@ -77,7 +79,8 @@ 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, WebFrame* frame,
|
| - printing::Metafile* metafile) {
|
| + printing::Metafile* metafile, bool is_preview,
|
| + bool display_header_footer) {
|
|
|
| {
|
| #if defined(USE_SKIA)
|
| @@ -100,7 +103,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)
|
| + if (is_preview && display_header_footer) {
|
| + PageSizeMargins page_size_margins_in_points =
|
| + GetPageSizeAndMarginsInPoints(frame, page_number,
|
| + print_preview_context_.print_params());
|
| + // The page_number count starts from 0, so we add 1.
|
| + PrintHeaderAndFooter(static_cast<skia::VectorPlatformDeviceSkia*>(device),
|
| + canvas, page_number + 1,
|
| + print_preview_context_.total_page_count(),
|
| + webkit_scale_factor, page_size_margins_in_points,
|
| + header_footer_info_);
|
| + }
|
| +#endif
|
| }
|
|
|
| // Done printing. Close the device context to retrieve the compiled metafile.
|
|
|