Index: chrome/renderer/printing/print_web_view_helper_pdf_win.cc |
diff --git a/chrome/renderer/printing/print_web_view_helper_pdf_win.cc b/chrome/renderer/printing/print_web_view_helper_pdf_win.cc |
index b6300b0eb9f178a342825115e94564ad46fd6a12..f0a6a25832e3faaf7b70a00bbe6b7fc967b806fc 100644 |
--- a/chrome/renderer/printing/print_web_view_helper_pdf_win.cc |
+++ b/chrome/renderer/printing/print_web_view_helper_pdf_win.cc |
@@ -179,22 +179,17 @@ void PrintWebViewHelper::PrintPageInternal( |
frame->getPrintPageShrink(params.page_number); |
float scale_factor = css_scale_factor * webkit_page_shrink_factor; |
- SkBaseDevice* device = metafile->StartPageForVectorCanvas(page_size, |
- canvas_area, |
- scale_factor); |
- if (!device) |
+ skia::VectorCanvas* canvas = metafile->GetVectorCanvasForNewPage( |
+ page_size, canvas_area, scale_factor); |
+ if (!canvas) |
return; |
- // The printPage method take a reference to the canvas we pass down, so it |
- // can't be a stack object. |
- skia::RefPtr<skia::VectorCanvas> canvas = |
- skia::AdoptRef(new skia::VectorCanvas(device)); |
MetafileSkiaWrapper::SetMetafileOnCanvas(*canvas, metafile); |
skia::SetIsDraftMode(*canvas, is_print_ready_metafile_sent_); |
if (params.params.display_header_footer) { |
// |page_number| is 0-based, so 1 is added. |
- PrintHeaderAndFooter(canvas.get(), |
+ PrintHeaderAndFooter(canvas, |
params.page_number + 1, |
print_preview_context_.total_page_count(), |
*frame, |
@@ -208,9 +203,9 @@ void PrintWebViewHelper::PrintPageInternal( |
canvas_area, |
content_area, |
scale_factor, |
- canvas.get()); |
+ canvas); |
DCHECK_GT(webkit_scale_factor, 0.0f); |
- // Done printing. Close the device context to retrieve the compiled metafile. |
+ // Done printing. Close the canvas to retrieve the compiled metafile. |
if (!metafile->FinishPage()) |
NOTREACHED() << "metafile failed"; |
} |