diff options
author | jbroman <jbroman@chromium.org> | 2016-01-08 14:07:22 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-01-08 22:08:15 +0000 |
commit | 7994711ab6906f943da80049d13868530c07be1a (patch) | |
tree | c7ad71d00b7a219b71ae1668d0d798c1cf91c796 /cc | |
parent | 0043bf421a4ff6c3be3564a77d4d51b10a467f05 (diff) | |
download | chromium_src-7994711ab6906f943da80049d13868530c07be1a.zip chromium_src-7994711ab6906f943da80049d13868530c07be1a.tar.gz chromium_src-7994711ab6906f943da80049d13868530c07be1a.tar.bz2 |
Make cc::DrawingDisplayItem hold a const SkPicture.
This lets us remove const_cast<SkPicture*> from callers (i.e. Blink) which
hold SkPicture through const pointers.
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
Review URL: https://codereview.chromium.org/1564233005
Cr-Commit-Position: refs/heads/master@{#368444}
Diffstat (limited to 'cc')
-rw-r--r-- | cc/blink/web_display_item_list_impl.cc | 5 | ||||
-rw-r--r-- | cc/playback/drawing_display_item.cc | 4 | ||||
-rw-r--r-- | cc/playback/drawing_display_item.h | 6 |
3 files changed, 7 insertions, 8 deletions
diff --git a/cc/blink/web_display_item_list_impl.cc b/cc/blink/web_display_item_list_impl.cc index c46e8a0..c9d8de7 100644 --- a/cc/blink/web_display_item_list_impl.cc +++ b/cc/blink/web_display_item_list_impl.cc @@ -54,10 +54,9 @@ void WebDisplayItemListImpl::appendDrawingItem( const SkPicture* picture) { if (display_item_list_->RetainsIndividualDisplayItems()) { display_item_list_->CreateAndAppendItem<cc::DrawingDisplayItem>( - visual_rect, skia::SharePtr(const_cast<SkPicture*>(picture))); + visual_rect, skia::SharePtr(picture)); } else { - cc::DrawingDisplayItem item( - skia::SharePtr(const_cast<SkPicture*>(picture))); + cc::DrawingDisplayItem item(skia::SharePtr(picture)); display_item_list_->RasterIntoCanvas(item); } } diff --git a/cc/playback/drawing_display_item.cc b/cc/playback/drawing_display_item.cc index 78f26fe..36181ae 100644 --- a/cc/playback/drawing_display_item.cc +++ b/cc/playback/drawing_display_item.cc @@ -25,7 +25,7 @@ namespace cc { DrawingDisplayItem::DrawingDisplayItem() {} -DrawingDisplayItem::DrawingDisplayItem(skia::RefPtr<SkPicture> picture) { +DrawingDisplayItem::DrawingDisplayItem(skia::RefPtr<const SkPicture> picture) { SetNew(std::move(picture)); } @@ -51,7 +51,7 @@ DrawingDisplayItem::DrawingDisplayItem(const DrawingDisplayItem& item) { DrawingDisplayItem::~DrawingDisplayItem() { } -void DrawingDisplayItem::SetNew(skia::RefPtr<SkPicture> picture) { +void DrawingDisplayItem::SetNew(skia::RefPtr<const SkPicture> picture) { picture_ = std::move(picture); } diff --git a/cc/playback/drawing_display_item.h b/cc/playback/drawing_display_item.h index 9e8f110..225bda4 100644 --- a/cc/playback/drawing_display_item.h +++ b/cc/playback/drawing_display_item.h @@ -21,7 +21,7 @@ namespace cc { class CC_EXPORT DrawingDisplayItem : public DisplayItem { public: DrawingDisplayItem(); - explicit DrawingDisplayItem(skia::RefPtr<SkPicture> picture); + explicit DrawingDisplayItem(skia::RefPtr<const SkPicture> picture); explicit DrawingDisplayItem(const proto::DisplayItem& proto); explicit DrawingDisplayItem(const DrawingDisplayItem& item); ~DrawingDisplayItem() override; @@ -40,9 +40,9 @@ class CC_EXPORT DrawingDisplayItem : public DisplayItem { void CloneTo(DrawingDisplayItem* item) const; private: - void SetNew(skia::RefPtr<SkPicture> picture); + void SetNew(skia::RefPtr<const SkPicture> picture); - skia::RefPtr<SkPicture> picture_; + skia::RefPtr<const SkPicture> picture_; }; } // namespace cc |