| 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 fdd05df63ab80407c5c19a84e7dfefe90e00fd2b..dc1d4309df7a599938015438cf5c53b2398ffbb7 100644
|
| --- a/cc/blink/web_display_item_list_impl.cc
|
| +++ b/cc/blink/web_display_item_list_impl.cc
|
| @@ -7,6 +7,7 @@
|
| #include <vector>
|
|
|
| #include "cc/blink/web_blend_mode.h"
|
| +#include "cc/blink/web_filter_operations_impl.h"
|
| #include "cc/resources/clip_display_item.h"
|
| #include "cc/resources/clip_path_display_item.h"
|
| #include "cc/resources/drawing_display_item.h"
|
| @@ -32,6 +33,11 @@ scoped_refptr<cc::DisplayItemList> WebDisplayItemListImpl::ToDisplayItemList() {
|
| return display_item_list_;
|
| }
|
|
|
| +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) {
|
| @@ -95,12 +101,26 @@ void WebDisplayItemListImpl::appendEndTransparencyItem() {
|
| display_item_list_->AppendItem(cc::EndTransparencyDisplayItem::Create());
|
| }
|
|
|
| +#if FILTER_DISPLAY_ITEM_USES_FILTER_OPERATIONS
|
| +void WebDisplayItemListImpl::appendFilterItem(
|
| + const blink::WebFilterOperations& filters,
|
| + const blink::WebFloatRect& bounds) {
|
| + const WebFilterOperationsImpl& filters_impl =
|
| + static_cast<const WebFilterOperationsImpl&>(filters);
|
| + display_item_list_->AppendItem(
|
| + cc::FilterDisplayItem::Create(filters_impl.AsFilterOperations(), bounds));
|
| +}
|
| +#else
|
| void WebDisplayItemListImpl::appendFilterItem(
|
| SkImageFilter* filter,
|
| const blink::WebFloatRect& bounds) {
|
| + cc::FilterOperations filter_operations;
|
| + filter_operations.Append(
|
| + cc::FilterOperation::CreateReferenceFilter(skia::SharePtr(filter)));
|
| display_item_list_->AppendItem(
|
| - cc::FilterDisplayItem::Create(skia::SharePtr(filter), bounds));
|
| + cc::FilterDisplayItem::Create(filter_operations, bounds));
|
| }
|
| +#endif
|
|
|
| void WebDisplayItemListImpl::appendEndFilterItem() {
|
| display_item_list_->AppendItem(cc::EndFilterDisplayItem::Create());
|
|
|