| Index: chrome/renderer/print_web_view_helper_win.cc
|
| diff --git a/chrome/renderer/print_web_view_helper_win.cc b/chrome/renderer/print_web_view_helper_win.cc
|
| index 075ed6bca5fe7554adeb4fefaec58580579d22ed..df44fb09c813acb3953886e9d6e2f197658351b4 100644
|
| --- a/chrome/renderer/print_web_view_helper_win.cc
|
| +++ b/chrome/renderer/print_web_view_helper_win.cc
|
| @@ -162,29 +162,36 @@ void PrintWebViewHelper::RenderPage(
|
| }
|
|
|
| float webkit_page_shrink_factor = frame->getPrintPageShrink(page_number);
|
| + float scale_factor = css_scale_factor * webkit_page_shrink_factor;
|
| +
|
| + gfx::Rect canvas_area =
|
| + params.display_header_footer ? gfx::Rect(page_size) : content_area;
|
| +
|
| SkDevice* device = metafile->StartPageForVectorCanvas(
|
| - page_size, content_area, css_scale_factor * webkit_page_shrink_factor);
|
| + page_size, canvas_area, scale_factor);
|
| DCHECK(device);
|
| // The printPage method may take a reference to the canvas we pass down, so it
|
| // can't be a stack object.
|
| SkRefPtr<skia::VectorCanvas> canvas = new skia::VectorCanvas(device);
|
| canvas->unref(); // SkRefPtr and new both took a reference.
|
| +
|
| if (is_preview) {
|
| printing::MetafileSkiaWrapper::SetMetafileOnCanvas(*canvas, metafile);
|
| skia::SetIsDraftMode(*canvas, is_print_ready_metafile_sent_);
|
| skia::SetIsPreviewMetafile(*canvas, is_preview);
|
| }
|
|
|
| - float webkit_scale_factor = frame->printPage(page_number, canvas.get());
|
| -
|
| if (params.display_header_footer) {
|
| // |page_number| is 0-based, so 1 is added.
|
| PrintHeaderAndFooter(canvas.get(), page_number + 1,
|
| - print_preview_context_.total_page_count(),
|
| - css_scale_factor * webkit_page_shrink_factor,
|
| - page_layout_in_points, *header_footer_info_, params);
|
| + print_preview_context_.total_page_count(), scale_factor,
|
| + page_layout_in_points, *header_footer_info_, params);
|
| }
|
|
|
| + float webkit_scale_factor = RenderPageContent(frame, page_number, canvas_area,
|
| + content_area, scale_factor,
|
| + canvas.get());
|
| +
|
| if (*actual_shrink <= 0 || webkit_scale_factor <= 0) {
|
| NOTREACHED() << "Printing page " << page_number << " failed.";
|
| } else {
|
|
|