| Index: cc/playback/filter_display_item.cc
|
| diff --git a/cc/playback/filter_display_item.cc b/cc/playback/filter_display_item.cc
|
| index ddf595760d11f0990c0b716e293f798998a5850e..d51da7ceb5a8292e4328cc5d500b26e04ea24a29 100644
|
| --- a/cc/playback/filter_display_item.cc
|
| +++ b/cc/playback/filter_display_item.cc
|
| @@ -18,22 +18,29 @@
|
|
|
| namespace cc {
|
|
|
| -FilterDisplayItem::FilterDisplayItem() {
|
| +FilterDisplayItem::FilterDisplayItem(const FilterOperations& filters,
|
| + const gfx::RectF& bounds) {
|
| + SetNew(filters, bounds);
|
| }
|
|
|
| -FilterDisplayItem::~FilterDisplayItem() {
|
| +FilterDisplayItem::FilterDisplayItem(const proto::DisplayItem& proto) {
|
| + DCHECK_EQ(proto::DisplayItem::Type_Filter, proto.type());
|
| +
|
| + const proto::FilterDisplayItem& details = proto.filter_item();
|
| + gfx::RectF bounds = ProtoToRectF(details.bounds());
|
| +
|
| + // TODO(dtrainor): Support deserializing FilterOperations (crbug.com/541321).
|
| + FilterOperations filters;
|
| +
|
| + SetNew(filters, bounds);
|
| }
|
|
|
| +FilterDisplayItem::~FilterDisplayItem() {}
|
| +
|
| void FilterDisplayItem::SetNew(const FilterOperations& filters,
|
| const gfx::RectF& bounds) {
|
| filters_ = filters;
|
| bounds_ = bounds;
|
| -
|
| - // FilterOperations doesn't expose its capacity, but size is probably good
|
| - // enough.
|
| - size_t external_memory_usage = filters_.size() * sizeof(filters_.at(0));
|
| - DisplayItem::SetNew(true /* suitable_for_gpu_raster */, 1 /* op_count */,
|
| - external_memory_usage);
|
| }
|
|
|
| void FilterDisplayItem::ToProtobuf(proto::DisplayItem* proto) const {
|
| @@ -45,18 +52,6 @@ void FilterDisplayItem::ToProtobuf(proto::DisplayItem* proto) const {
|
| // TODO(dtrainor): Support serializing FilterOperations (crbug.com/541321).
|
| }
|
|
|
| -void FilterDisplayItem::FromProtobuf(const proto::DisplayItem& proto) {
|
| - DCHECK_EQ(proto::DisplayItem::Type_Filter, proto.type());
|
| -
|
| - const proto::FilterDisplayItem& details = proto.filter_item();
|
| - gfx::RectF bounds = ProtoToRectF(details.bounds());
|
| -
|
| - // TODO(dtrainor): Support deserializing FilterOperations (crbug.com/541321).
|
| - FilterOperations filters;
|
| -
|
| - SetNew(filters, bounds);
|
| -}
|
| -
|
| void FilterDisplayItem::Raster(SkCanvas* canvas,
|
| const gfx::Rect& canvas_target_playback_rect,
|
| SkPicture::AbortCallback* callback) const {
|
| @@ -84,22 +79,24 @@ void FilterDisplayItem::AsValueInto(
|
| bounds_.ToString().c_str(), visual_rect.ToString().c_str()));
|
| }
|
|
|
| -EndFilterDisplayItem::EndFilterDisplayItem() {
|
| - DisplayItem::SetNew(true /* suitable_for_gpu_raster */, 0 /* op_count */,
|
| - 0 /* external_memory_usage */);
|
| +size_t FilterDisplayItem::ExternalMemoryUsage() const {
|
| + // FilterOperations doesn't expose its capacity, but size is probably good
|
| + // enough.
|
| + return filters_.size() * sizeof(filters_.at(0));
|
| }
|
|
|
| -EndFilterDisplayItem::~EndFilterDisplayItem() {
|
| +EndFilterDisplayItem::EndFilterDisplayItem() {}
|
| +
|
| +EndFilterDisplayItem::EndFilterDisplayItem(const proto::DisplayItem& proto) {
|
| + DCHECK_EQ(proto::DisplayItem::Type_EndFilter, proto.type());
|
| }
|
|
|
| +EndFilterDisplayItem::~EndFilterDisplayItem() {}
|
| +
|
| void EndFilterDisplayItem::ToProtobuf(proto::DisplayItem* proto) const {
|
| proto->set_type(proto::DisplayItem::Type_EndFilter);
|
| }
|
|
|
| -void EndFilterDisplayItem::FromProtobuf(const proto::DisplayItem& proto) {
|
| - DCHECK_EQ(proto::DisplayItem::Type_EndFilter, proto.type());
|
| -}
|
| -
|
| void EndFilterDisplayItem::Raster(SkCanvas* canvas,
|
| const gfx::Rect& canvas_target_playback_rect,
|
| SkPicture::AbortCallback* callback) const {
|
| @@ -115,4 +112,8 @@ void EndFilterDisplayItem::AsValueInto(
|
| visual_rect.ToString().c_str()));
|
| }
|
|
|
| +size_t EndFilterDisplayItem::ExternalMemoryUsage() const {
|
| + return 0;
|
| +}
|
| +
|
| } // namespace cc
|
|
|