| 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 f5ded39ef5a2c2594942581e39d1dd7281b1eefc..ced2f71ad15a76331a7ab0c9a5054d262cec34a8 100644
|
| --- a/chrome/renderer/print_web_view_helper_mac.mm
|
| +++ b/chrome/renderer/print_web_view_helper_mac.mm
|
| @@ -36,7 +36,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, frame, &metafile);
|
| + page_number, frame, false, &metafile);
|
| metafile.FinishDocument();
|
|
|
| PrintHostMsg_DidPrintPage_Params page_params;
|
| @@ -68,7 +68,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(), true,
|
| + print_preview_context_.metafile());
|
| print_preview_context_.RenderedPreviewPage(
|
| base::TimeTicks::Now() - begin_time);
|
| PreviewPageRendered(page_number);
|
| @@ -77,7 +78,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, WebFrame* frame,
|
| - printing::Metafile* metafile) {
|
| + bool is_preview, printing::Metafile* metafile) {
|
|
|
| {
|
| #if defined(USE_SKIA)
|
| @@ -100,7 +101,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_.get());
|
| + }
|
| +#endif // USE_SKIA
|
| }
|
|
|
| // Done printing. Close the device context to retrieve the compiled metafile.
|
|
|