summaryrefslogtreecommitdiffstats
path: root/cc
diff options
context:
space:
mode:
authorjbroman <jbroman@chromium.org>2016-01-08 14:07:22 -0800
committerCommit bot <commit-bot@chromium.org>2016-01-08 22:08:15 +0000
commit7994711ab6906f943da80049d13868530c07be1a (patch)
treec7ad71d00b7a219b71ae1668d0d798c1cf91c796 /cc
parent0043bf421a4ff6c3be3564a77d4d51b10a467f05 (diff)
downloadchromium_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.cc5
-rw-r--r--cc/playback/drawing_display_item.cc4
-rw-r--r--cc/playback/drawing_display_item.h6
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