Index: cc/playback/filter_display_item.cc |
diff --git a/cc/playback/filter_display_item.cc b/cc/playback/filter_display_item.cc |
index d51da7ceb5a8292e4328cc5d500b26e04ea24a29..ddf595760d11f0990c0b716e293f798998a5850e 100644 |
--- a/cc/playback/filter_display_item.cc |
+++ b/cc/playback/filter_display_item.cc |
@@ -18,12 +18,34 @@ |
namespace cc { |
-FilterDisplayItem::FilterDisplayItem(const FilterOperations& filters, |
- const gfx::RectF& bounds) { |
- SetNew(filters, bounds); |
+FilterDisplayItem::FilterDisplayItem() { |
} |
-FilterDisplayItem::FilterDisplayItem(const proto::DisplayItem& proto) { |
+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 { |
+ proto->set_type(proto::DisplayItem::Type_Filter); |
+ |
+ proto::FilterDisplayItem* details = proto->mutable_filter_item(); |
+ RectFToProto(bounds_, details->mutable_bounds()); |
+ |
+ // 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(); |
@@ -33,23 +55,6 @@ |
FilterOperations filters; |
SetNew(filters, bounds); |
-} |
- |
-FilterDisplayItem::~FilterDisplayItem() {} |
- |
-void FilterDisplayItem::SetNew(const FilterOperations& filters, |
- const gfx::RectF& bounds) { |
- filters_ = filters; |
- bounds_ = bounds; |
-} |
- |
-void FilterDisplayItem::ToProtobuf(proto::DisplayItem* proto) const { |
- proto->set_type(proto::DisplayItem::Type_Filter); |
- |
- proto::FilterDisplayItem* details = proto->mutable_filter_item(); |
- RectFToProto(bounds_, details->mutable_bounds()); |
- |
- // TODO(dtrainor): Support serializing FilterOperations (crbug.com/541321). |
} |
void FilterDisplayItem::Raster(SkCanvas* canvas, |
@@ -79,22 +84,20 @@ |
bounds_.ToString().c_str(), visual_rect.ToString().c_str())); |
} |
-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() { |
+ DisplayItem::SetNew(true /* suitable_for_gpu_raster */, 0 /* op_count */, |
+ 0 /* external_memory_usage */); |
} |
-EndFilterDisplayItem::EndFilterDisplayItem() {} |
- |
-EndFilterDisplayItem::EndFilterDisplayItem(const proto::DisplayItem& proto) { |
- DCHECK_EQ(proto::DisplayItem::Type_EndFilter, proto.type()); |
+EndFilterDisplayItem::~EndFilterDisplayItem() { |
} |
- |
-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, |
@@ -112,8 +115,4 @@ |
visual_rect.ToString().c_str())); |
} |
-size_t EndFilterDisplayItem::ExternalMemoryUsage() const { |
- return 0; |
-} |
- |
} // namespace cc |