summaryrefslogtreecommitdiffstats
path: root/cc/blink
diff options
context:
space:
mode:
authorschenney <schenney@chromium.org>2015-02-19 08:48:25 -0800
committerCommit bot <commit-bot@chromium.org>2015-02-19 16:49:13 +0000
commitba47b3ebc5d0b50ac44673774a66fe82f0dc8a21 (patch)
tree45166346f0ec0aa484c08a1dbecf005fbb558959 /cc/blink
parent6e4300d896a8d4103fdb43276521feaf0a6dcd28 (diff)
downloadchromium_src-ba47b3ebc5d0b50ac44673774a66fe82f0dc8a21.zip
chromium_src-ba47b3ebc5d0b50ac44673774a66fe82f0dc8a21.tar.gz
chromium_src-ba47b3ebc5d0b50ac44673774a66fe82f0dc8a21.tar.bz2
Resolve FIXMEs in cc for Display Item Lists.
This is the final patch for removing location and making SkPicture const in drawing display items, and the first patch in adding scroll display item support in cc. R=ajuma@chromium.org BUG=458240 Review URL: https://codereview.chromium.org/939463003 Cr-Commit-Position: refs/heads/master@{#317060}
Diffstat (limited to 'cc/blink')
-rw-r--r--cc/blink/web_display_item_list_impl.cc21
-rw-r--r--cc/blink/web_display_item_list_impl.h5
2 files changed, 16 insertions, 10 deletions
diff --git a/cc/blink/web_display_item_list_impl.cc b/cc/blink/web_display_item_list_impl.cc
index 1b6f91a..4941afe 100644
--- a/cc/blink/web_display_item_list_impl.cc
+++ b/cc/blink/web_display_item_list_impl.cc
@@ -35,14 +35,7 @@ scoped_refptr<cc::DisplayItemList> WebDisplayItemListImpl::ToDisplayItemList() {
void WebDisplayItemListImpl::appendDrawingItem(const SkPicture* picture) {
display_item_list_->AppendItem(cc::DrawingDisplayItem::Create(
- skia::SharePtr(const_cast<SkPicture*>(picture)), gfx::PointF(0, 0)));
-}
-
-void WebDisplayItemListImpl::appendDrawingItem(
- SkPicture* picture,
- const blink::WebFloatPoint& location) {
- display_item_list_->AppendItem(
- cc::DrawingDisplayItem::Create(skia::SharePtr(picture), location));
+ skia::SharePtr(const_cast<SkPicture*>(picture))));
}
void WebDisplayItemListImpl::appendClipItem(
@@ -114,6 +107,18 @@ void WebDisplayItemListImpl::appendEndFilterItem() {
display_item_list_->AppendItem(cc::EndFilterDisplayItem::Create());
}
+void WebDisplayItemListImpl::appendScrollItem(
+ const blink::WebSize& scrollOffset,
+ ScrollContainerId) {
+ SkMatrix44 matrix;
+ matrix.setTranslate(-scrollOffset.width, -scrollOffset.height, 0);
+ appendTransformItem(matrix);
+}
+
+void WebDisplayItemListImpl::appendEndScrollItem() {
+ appendEndTransformItem();
+}
+
WebDisplayItemListImpl::~WebDisplayItemListImpl() {
}
diff --git a/cc/blink/web_display_item_list_impl.h b/cc/blink/web_display_item_list_impl.h
index 1295a13..8ec7a152 100644
--- a/cc/blink/web_display_item_list_impl.h
+++ b/cc/blink/web_display_item_list_impl.h
@@ -33,8 +33,6 @@ class WebDisplayItemListImpl : public blink::WebDisplayItemList {
// blink::WebDisplayItemList implementation.
virtual void appendDrawingItem(const SkPicture*);
- virtual void appendDrawingItem(SkPicture*,
- const blink::WebFloatPoint& location);
virtual void appendClipItem(
const blink::WebRect& clip_rect,
const blink::WebVector<SkRRect>& rounded_clip_rects);
@@ -53,6 +51,9 @@ class WebDisplayItemListImpl : public blink::WebDisplayItemList {
virtual void appendFilterItem(const blink::WebFilterOperations& filters,
const blink::WebFloatRect& bounds);
virtual void appendEndFilterItem();
+ virtual void appendScrollItem(const blink::WebSize& scrollOffset,
+ ScrollContainerId);
+ virtual void appendEndScrollItem();
private:
scoped_refptr<cc::DisplayItemList> display_item_list_;