Commit 15ce2350 authored by Adrienne Walker's avatar Adrienne Walker Committed by Commit Bot

Remove PlaybackPaintRecord function

This function was added temporarily to work around the extra clip that
SkCanvas::drawPicture adds and to turn calls into playback in this
patch: https://codereview.chromium.org/2755183002

As PaintRecord is now its own class and is not an SkPicture, these
functions can all change back to drawPicture.  The underlying derived
types in SkiaPaintCanvas and PaintOpBuffer call playback instead of
drawPicture so this is a noop.

This patch is just cleaning up a confusing helper that's not needed.

Bug: 702577
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Change-Id: I45746132861b23e799995c83d2e58dee1c0ee10d
Reviewed-on: https://chromium-review.googlesource.com/498855Reviewed-by: default avatarPhilip Rogers <pdr@chromium.org>
Reviewed-by: default avatarMichael Wasserman <msw@chromium.org>
Commit-Queue: enne <enne@chromium.org>
Cr-Commit-Position: refs/heads/master@{#471201}
parent 7e967b16
......@@ -166,6 +166,8 @@ class CC_PAINT_EXPORT PaintCanvas {
virtual void drawDisplayItemList(
scoped_refptr<DisplayItemList> display_item_list) = 0;
// Unlike SkCanvas::drawPicture, this only plays back the PaintRecord and does
// not add an additional clip. This is closer to SkPicture::playback.
virtual void drawPicture(sk_sp<const PaintRecord> record) = 0;
virtual bool isClipEmpty() const = 0;
......@@ -181,14 +183,6 @@ class CC_PAINT_EXPORT PaintCanvas {
const SkRect& rect,
sk_sp<SkData> data) = 0;
// TODO(enne): maybe this should live on PaintRecord, but that's not
// possible when PaintRecord is a typedef.
virtual void PlaybackPaintRecord(sk_sp<const PaintRecord> record) = 0;
protected:
friend class PaintSurface;
friend class PaintRecorder;
private:
DISALLOW_COPY_AND_ASSIGN(PaintCanvas);
};
......@@ -222,11 +216,6 @@ class CC_PAINT_EXPORT PaintCanvasAutoRestore {
int save_count_ = 0;
};
// TODO(enne): Move all these functions into PaintCanvas. These are only
// separate now to make the transition to concrete types easier by keeping
// the base PaintCanvas type equivalent to the SkCanvas interface and
// all these helper functions potentially operating on both.
// Following routines are used in print preview workflow to mark the
// preview metafile.
#if defined(OS_MACOSX)
......
......@@ -340,6 +340,7 @@ void DrawPosTextOp::RasterWithFlags(const PaintOpWithFlags* base_op,
void DrawRecordOp::Raster(const PaintOp* base_op,
SkCanvas* canvas,
const SkMatrix& original_ctm) {
// Don't use drawPicture here, as it adds an implicit clip.
auto* op = static_cast<const DrawRecordOp*>(base_op);
op->record->playback(canvas);
}
......
......@@ -343,10 +343,6 @@ void RecordPaintCanvas::Annotate(AnnotationType type,
buffer_->push<AnnotateOp>(type, rect, data);
}
void RecordPaintCanvas::PlaybackPaintRecord(sk_sp<const PaintRecord> record) {
drawPicture(record);
}
const SkNoDrawCanvas* RecordPaintCanvas::GetCanvas() const {
return const_cast<RecordPaintCanvas*>(this)->GetCanvas();
}
......
......@@ -124,8 +124,6 @@ class CC_PAINT_EXPORT RecordPaintCanvas final : public PaintCanvas {
const SkRect& rect,
sk_sp<SkData> data) override;
void PlaybackPaintRecord(sk_sp<const PaintRecord> record) override;
// Don't shadow non-virtual helper functions.
using PaintCanvas::clipRect;
using PaintCanvas::clipRRect;
......
......@@ -253,10 +253,6 @@ const SkMatrix& SkiaPaintCanvas::getTotalMatrix() const {
return canvas_->getTotalMatrix();
}
void SkiaPaintCanvas::PlaybackPaintRecord(sk_sp<const PaintRecord> record) {
record->playback(canvas_);
}
void SkiaPaintCanvas::Annotate(AnnotationType type,
const SkRect& rect,
sk_sp<SkData> data) {
......
......@@ -129,8 +129,6 @@ class CC_PAINT_EXPORT SkiaPaintCanvas final : public PaintCanvas {
const SkRect& rect,
sk_sp<SkData> data) override;
void PlaybackPaintRecord(sk_sp<const PaintRecord> record) override;
// Don't shadow non-virtual helper functions.
using PaintCanvas::clipRect;
using PaintCanvas::clipRRect;
......
......@@ -1148,11 +1148,11 @@ void Tab::PaintTabBackground(gfx::Canvas* canvas,
inactive_color, stroke_color);
}
canvas->sk_canvas()->PlaybackPaintRecord(cache.fill_record);
canvas->sk_canvas()->drawPicture(cache.fill_record);
gfx::ScopedCanvas scoped_canvas(clip ? canvas : nullptr);
if (clip)
canvas->sk_canvas()->clipPath(*clip, SkClipOp::kDifference, true);
canvas->sk_canvas()->PlaybackPaintRecord(cache.stroke_record);
canvas->sk_canvas()->drawPicture(cache.stroke_record);
}
void Tab::PaintTabBackgroundFill(gfx::Canvas* canvas,
......
......@@ -3417,7 +3417,7 @@ void CompositedLayerMapping::PaintScrollableArea(
DrawingRecorder drawing_recorder(context, *graphics_layer,
DisplayItem::kScrollbarCompositedScrollbar,
layer_bounds);
context.Canvas()->PlaybackPaintRecord(builder.EndRecording());
context.Canvas()->drawPicture(builder.EndRecording());
}
bool CompositedLayerMapping::IsScrollableAreaLayer(
......
......@@ -971,7 +971,7 @@ void PaintLayerCompositor::PaintContents(const GraphicsLayer* graphics_layer,
DrawingRecorder drawing_recorder(context, *graphics_layer,
DisplayItem::kScrollbarCompositedScrollbar,
layer_bounds);
context.Canvas()->PlaybackPaintRecord(builder.EndRecording());
context.Canvas()->drawPicture(builder.EndRecording());
}
Scrollbar* PaintLayerCompositor::GraphicsLayerToScrollbar(
......
......@@ -54,7 +54,7 @@ class ScopedScrollbarPainter {
~ScopedScrollbarPainter() {
canvas_->save();
canvas_->translate(rect_.x, rect_.y);
canvas_->PlaybackPaintRecord(builder_.EndRecording());
canvas_->drawPicture(builder_.EndRecording());
canvas_->restore();
}
......
......@@ -105,14 +105,14 @@ void RecordingImageBufferSurface::FallBackToRasterCanvas(
fallback_surface_->SetImageBuffer(image_buffer_);
if (previous_frame_) {
fallback_surface_->Canvas()->PlaybackPaintRecord(previous_frame_);
fallback_surface_->Canvas()->drawPicture(previous_frame_);
previous_frame_.reset();
}
if (current_frame_) {
sk_sp<PaintRecord> record = current_frame_->finishRecordingAsPicture();
if (record)
fallback_surface_->Canvas()->PlaybackPaintRecord(record);
fallback_surface_->Canvas()->drawPicture(record);
current_frame_.reset();
}
......
......@@ -311,7 +311,7 @@ class ChromePrintContext : public PrintContext {
builder.Context().SetPrinting(true);
builder.Context().BeginRecording(bounds);
float scale = SpoolPage(builder.Context(), page_number, bounds);
canvas->PlaybackPaintRecord(builder.Context().EndRecording());
canvas->drawPicture(builder.Context().EndRecording());
return scale;
}
......@@ -373,7 +373,7 @@ class ChromePrintContext : public PrintContext {
current_height += page_size_in_pixels.Height() + 1;
}
canvas->PlaybackPaintRecord(context.EndRecording());
canvas->drawPicture(context.EndRecording());
}
protected:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment