| Index: chrome/renderer/print_web_view_helper_linux.cc | 
| diff --git a/chrome/renderer/print_web_view_helper_linux.cc b/chrome/renderer/print_web_view_helper_linux.cc | 
| index 4198377b0a6fb7acfff3336986614a5f6a0f5754..62800f4fa8818d6af48f5f0461a730e79a0b7e56 100644 | 
| --- a/chrome/renderer/print_web_view_helper_linux.cc | 
| +++ b/chrome/renderer/print_web_view_helper_linux.cc | 
| @@ -192,8 +192,11 @@ void PrintWebViewHelper::PrintPageInternal( | 
| gfx::Rect content_area; | 
| GetPageSizeAndContentAreaFromPageLayout(page_layout_in_points, &page_size, | 
| &content_area); | 
| -  SkDevice* device = metafile->StartPageForVectorCanvas( | 
| -      page_size, content_area, scale_factor); | 
| +  gfx::Rect canvas_area = | 
| +      params.params.display_header_footer ? gfx::Rect(page_size) : content_area; | 
| + | 
| +  SkDevice* device = metafile->StartPageForVectorCanvas(page_size, canvas_area, | 
| +                                                        scale_factor); | 
| if (!device) | 
| return; | 
|  | 
| @@ -203,16 +206,19 @@ void PrintWebViewHelper::PrintPageInternal( | 
| canvas->unref();  // SkRefPtr and new both took a reference. | 
| printing::MetafileSkiaWrapper::SetMetafileOnCanvas(*canvas, metafile); | 
| skia::SetIsDraftMode(*canvas, is_print_ready_metafile_sent_); | 
| -  frame->printPage(params.page_number, canvas.get()); | 
|  | 
| if (params.params.display_header_footer) { | 
| // |page_number| is 0-based, so 1 is added. | 
| // The scale factor on Linux is 1. | 
| +    double page_shrink_factor = frame->getPrintPageShrink(params.page_number); | 
| PrintHeaderAndFooter(canvas.get(), params.page_number + 1, | 
| print_preview_context_.total_page_count(), | 
| -                         scale_factor, page_layout_in_points, | 
| -                         *header_footer_info_, params.params); | 
| +                         scale_factor * page_shrink_factor, | 
| +                         page_layout_in_points, *header_footer_info_, | 
| +                         params.params); | 
| } | 
| +  RenderPageContent(frame, params.page_number, canvas_area, content_area, | 
| +                    scale_factor, canvas.get()); | 
|  | 
| // Done printing. Close the device context to retrieve the compiled metafile. | 
| if (!metafile->FinishPage()) | 
|  |