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 |