Chromium Code Reviews| Index: printing/pdf_metafile_skia.cc |
| diff --git a/printing/pdf_metafile_skia.cc b/printing/pdf_metafile_skia.cc |
| index fa8c129e9d10f75c64d9d95149023365a5169181..1c089e976c21288579c2f92e6a3336a0760b0836 100644 |
| --- a/printing/pdf_metafile_skia.cc |
| +++ b/printing/pdf_metafile_skia.cc |
| @@ -12,6 +12,9 @@ |
| #include "base/files/file.h" |
| #include "base/memory/ptr_util.h" |
| #include "base/time/time.h" |
| +#include "cc/paint/paint_canvas.h" |
| +#include "cc/paint/paint_record.h" |
| +#include "cc/paint/paint_recorder.h" |
| #include "printing/print_settings.h" |
| #include "third_party/skia/include/core/SkDocument.h" |
| #include "third_party/skia/include/core/SkPictureRecorder.h" |
| @@ -77,7 +80,7 @@ sk_sp<SkDocument> MakePdfDocument(SkWStream* wStream) { |
| namespace printing { |
| struct Page { |
| - Page(SkSize s, sk_sp<SkPicture> c) : size_(s), content_(std::move(c)) {} |
| + Page(SkSize s, sk_sp<cc::PaintRecord> c) : size_(s), content_(std::move(c)) {} |
| Page(Page&& that) : size_(that.size_), content_(std::move(that.content_)) {} |
| Page(const Page&) = default; |
| Page& operator=(const Page&) = default; |
| @@ -87,17 +90,17 @@ struct Page { |
| return *this; |
| } |
| SkSize size_; |
| - sk_sp<SkPicture> content_; |
| + sk_sp<cc::PaintRecord> content_; |
| }; |
| struct PdfMetafileSkiaData { |
| - SkPictureRecorder recorder_; // Current recording |
| + cc::PaintRecorder recorder_; // Current recording |
| std::vector<Page> pages_; |
| std::unique_ptr<SkStreamAsset> pdf_data_; |
| // The scale factor is used because Blink occasionally calls |
| - // SkCanvas::getTotalMatrix() even though the total matrix is not as |
| + // PaintCanvas::getTotalMatrix() even though the total matrix is not as |
| // meaningful for a vector canvas as for a raster canvas. |
| float scale_factor_; |
| SkSize size_; |
| @@ -135,7 +138,7 @@ void PdfMetafileSkia::StartPage(const gfx::Size& page_size, |
| DCHECK(!data_->recorder_.getRecordingCanvas()); |
| float inverse_scale = 1.0 / scale_factor; |
| - SkCanvas* canvas = data_->recorder_.beginRecording( |
| + cc::PaintCanvas* canvas = data_->recorder_.beginRecording( |
| inverse_scale * page_size.width(), inverse_scale * page_size.height()); |
| // Recording canvas is owned by the data_->recorder_. No ref() necessary. |
| if (content_area != gfx::Rect(page_size)) { |
| @@ -154,7 +157,7 @@ void PdfMetafileSkia::StartPage(const gfx::Size& page_size, |
| // http://crbug.com/469656 |
| } |
| -SkCanvas* PdfMetafileSkia::GetVectorCanvasForNewPage( |
| +cc::PaintCanvas* PdfMetafileSkia::GetVectorCanvasForNewPage( |
| const gfx::Size& page_size, |
| const gfx::Rect& content_area, |
| const float& scale_factor) { |
| @@ -168,8 +171,8 @@ bool PdfMetafileSkia::FinishPage() { |
| sk_sp<SkPicture> pic = data_->recorder_.finishRecordingAsPicture(); |
|
danakj
2017/02/09 23:05:22
PaintRecord record
|
| if (data_->scale_factor_ != 1.0f) { |
| - SkCanvas* canvas = data_->recorder_.beginRecording(data_->size_.width(), |
| - data_->size_.height()); |
| + cc::PaintCanvas* canvas = data_->recorder_.beginRecording( |
| + data_->size_.width(), data_->size_.height()); |
| canvas->scale(data_->scale_factor_, data_->scale_factor_); |
| canvas->drawPicture(pic); |
| pic = data_->recorder_.finishRecordingAsPicture(); |
| @@ -198,7 +201,8 @@ bool PdfMetafileSkia::FinishDocument() { |
| } |
| for (const Page& page : data_->pages_) { |
| - SkCanvas* canvas = doc->beginPage(page.size_.width(), page.size_.height()); |
| + cc::PaintCanvas* canvas( |
| + doc->beginPage(page.size_.width(), page.size_.height())); |
| canvas->drawPicture(page.content_); |
| doc->endPage(); |
| } |