Chromium Code Reviews| Index: cc/playback/drawing_display_item.cc |
| diff --git a/cc/playback/drawing_display_item.cc b/cc/playback/drawing_display_item.cc |
| index 05935778582c5d8d11b716610cac185db21816d5..b038e1268386d49dc0445e4fda23347887fb56f1 100644 |
| --- a/cc/playback/drawing_display_item.cc |
| +++ b/cc/playback/drawing_display_item.cc |
| @@ -21,17 +21,25 @@ |
| namespace cc { |
| -DrawingDisplayItem::DrawingDisplayItem() { |
| +DrawingDisplayItem::DrawingDisplayItem() {} |
| + |
| +DrawingDisplayItem::DrawingDisplayItem(skia::RefPtr<SkPicture> picture) { |
| + SetNew(picture); |
|
danakj
2015/12/08 19:18:16
prefer to move() the reference when it makes sense
|
| +} |
| + |
| +DrawingDisplayItem::DrawingDisplayItem(const proto::DisplayItem& proto) { |
| + FromProtobuf(proto); |
| +} |
| + |
| +DrawingDisplayItem::DrawingDisplayItem(const DrawingDisplayItem& item) { |
| + item.CloneTo(this); |
| } |
| DrawingDisplayItem::~DrawingDisplayItem() { |
| } |
| void DrawingDisplayItem::SetNew(skia::RefPtr<SkPicture> picture) { |
| - picture_ = std::move(picture); |
| - DisplayItem::SetNew(picture_->suitableForGpuRasterization(NULL), |
| - picture_->approximateOpCount(), |
| - SkPictureUtils::ApproximateBytesUsed(picture_.get())); |
| + picture_ = picture; |
|
vmpstr
2015/12/08 19:07:02
Still move to save on refcounts?
danakj
2015/12/08 19:18:16
ditto
|
| } |
| void DrawingDisplayItem::ToProtobuf(proto::DisplayItem* proto) const { |
| @@ -119,4 +127,16 @@ void DrawingDisplayItem::CloneTo(DrawingDisplayItem* item) const { |
| item->SetNew(picture_); |
| } |
| +size_t DrawingDisplayItem::ExternalMemoryUsage() const { |
| + return SkPictureUtils::ApproximateBytesUsed(picture_.get()); |
| +} |
| + |
| +int DrawingDisplayItem::ApproximateOpCount() const { |
| + return picture_->approximateOpCount(); |
| +} |
| + |
| +bool DrawingDisplayItem::IsSuitableForGpuRasterization() const { |
| + return picture_->suitableForGpuRasterization(NULL); |
| +} |
| + |
| } // namespace cc |