Index: cc/blink/web_display_item_list_impl.cc |
diff --git a/cc/blink/web_display_item_list_impl.cc b/cc/blink/web_display_item_list_impl.cc |
index 2bad804cb54a89469e2e0d9cdee2573fa96c2725..7bd983c94904c2fc6b37a19009c0244fc976110c 100644 |
--- a/cc/blink/web_display_item_list_impl.cc |
+++ b/cc/blink/web_display_item_list_impl.cc |
@@ -31,8 +31,9 @@ WebDisplayItemListImpl::WebDisplayItemListImpl( |
} |
void WebDisplayItemListImpl::appendDrawingItem(const SkPicture* picture) { |
- display_item_list_->AppendItem(cc::DrawingDisplayItem::Create( |
- skia::SharePtr(const_cast<SkPicture*>(picture)))); |
+ auto* item = |
+ display_item_list_->CreateAndAppendItem<cc::DrawingDisplayItem>(); |
+ item->SetNew(skia::SharePtr(const_cast<SkPicture*>(picture))); |
} |
void WebDisplayItemListImpl::appendClipItem( |
@@ -42,42 +43,47 @@ void WebDisplayItemListImpl::appendClipItem( |
for (size_t i = 0; i < rounded_clip_rects.size(); ++i) { |
rounded_rects.push_back(rounded_clip_rects[i]); |
} |
- display_item_list_->AppendItem( |
- cc::ClipDisplayItem::Create(clip_rect, rounded_rects)); |
+ auto* item = display_item_list_->CreateAndAppendItem<cc::ClipDisplayItem>(); |
+ item->SetNew(clip_rect, rounded_rects); |
} |
void WebDisplayItemListImpl::appendEndClipItem() { |
- display_item_list_->AppendItem(cc::EndClipDisplayItem::Create()); |
+ display_item_list_->CreateAndAppendItem<cc::EndClipDisplayItem>(); |
} |
void WebDisplayItemListImpl::appendClipPathItem(const SkPath& clip_path, |
SkRegion::Op clip_op, |
bool antialias) { |
- display_item_list_->AppendItem( |
- cc::ClipPathDisplayItem::Create(clip_path, clip_op, antialias)); |
+ auto* item = |
+ display_item_list_->CreateAndAppendItem<cc::ClipPathDisplayItem>(); |
+ item->SetNew(clip_path, clip_op, antialias); |
} |
void WebDisplayItemListImpl::appendEndClipPathItem() { |
- display_item_list_->AppendItem(cc::EndClipPathDisplayItem::Create()); |
+ display_item_list_->CreateAndAppendItem<cc::EndClipPathDisplayItem>(); |
} |
void WebDisplayItemListImpl::appendFloatClipItem( |
const blink::WebFloatRect& clip_rect) { |
- display_item_list_->AppendItem(cc::FloatClipDisplayItem::Create(clip_rect)); |
+ auto* item = |
+ display_item_list_->CreateAndAppendItem<cc::FloatClipDisplayItem>(); |
+ item->SetNew(clip_rect); |
} |
void WebDisplayItemListImpl::appendEndFloatClipItem() { |
- display_item_list_->AppendItem(cc::EndFloatClipDisplayItem::Create()); |
+ display_item_list_->CreateAndAppendItem<cc::EndFloatClipDisplayItem>(); |
} |
void WebDisplayItemListImpl::appendTransformItem(const SkMatrix44& matrix) { |
gfx::Transform transform; |
transform.matrix() = matrix; |
- display_item_list_->AppendItem(cc::TransformDisplayItem::Create(transform)); |
+ auto* item = |
+ display_item_list_->CreateAndAppendItem<cc::TransformDisplayItem>(); |
+ item->SetNew(transform); |
} |
void WebDisplayItemListImpl::appendEndTransformItem() { |
- display_item_list_->AppendItem(cc::EndTransformDisplayItem::Create()); |
+ display_item_list_->CreateAndAppendItem<cc::EndTransformDisplayItem>(); |
} |
void WebDisplayItemListImpl::appendCompositingItem( |
@@ -89,13 +95,14 @@ void WebDisplayItemListImpl::appendCompositingItem( |
DCHECK_LE(opacity, 1.f); |
// TODO(ajuma): This should really be rounding instead of flooring the alpha |
// value, but that breaks slimming paint reftests. |
- display_item_list_->AppendItem(cc::CompositingDisplayItem::Create( |
- static_cast<uint8_t>(gfx::ToFlooredInt(255 * opacity)), xfermode, bounds, |
- skia::SharePtr(color_filter))); |
+ auto* item = |
+ display_item_list_->CreateAndAppendItem<cc::CompositingDisplayItem>(); |
+ item->SetNew(static_cast<uint8_t>(gfx::ToFlooredInt(255 * opacity)), xfermode, |
+ bounds, skia::SharePtr(color_filter)); |
} |
void WebDisplayItemListImpl::appendEndCompositingItem() { |
- display_item_list_->AppendItem(cc::EndCompositingDisplayItem::Create()); |
+ display_item_list_->CreateAndAppendItem<cc::EndCompositingDisplayItem>(); |
} |
void WebDisplayItemListImpl::appendFilterItem( |
@@ -103,12 +110,12 @@ void WebDisplayItemListImpl::appendFilterItem( |
const blink::WebFloatRect& bounds) { |
const WebFilterOperationsImpl& filters_impl = |
static_cast<const WebFilterOperationsImpl&>(filters); |
- display_item_list_->AppendItem( |
- cc::FilterDisplayItem::Create(filters_impl.AsFilterOperations(), bounds)); |
+ auto* item = display_item_list_->CreateAndAppendItem<cc::FilterDisplayItem>(); |
+ item->SetNew(filters_impl.AsFilterOperations(), bounds); |
} |
void WebDisplayItemListImpl::appendEndFilterItem() { |
- display_item_list_->AppendItem(cc::EndFilterDisplayItem::Create()); |
+ display_item_list_->CreateAndAppendItem<cc::EndFilterDisplayItem>(); |
} |
void WebDisplayItemListImpl::appendScrollItem( |