Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(285)

Unified Diff: cc/playback/filter_display_item.cc

Issue 1494223003: cc: Shrink size of display item (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Make SetNew private Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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..64e274dd5116e492993a5adb61d1cd92e55cbfbb 100644
--- a/cc/playback/filter_display_item.cc
+++ b/cc/playback/filter_display_item.cc
@@ -18,22 +18,21 @@
namespace cc {
-FilterDisplayItem::FilterDisplayItem() {
+FilterDisplayItem::FilterDisplayItem(const FilterOperations& filters,
+ const gfx::RectF& bounds) {
+ SetNew(filters, bounds);
}
-FilterDisplayItem::~FilterDisplayItem() {
+FilterDisplayItem::FilterDisplayItem(const proto::DisplayItem& proto) {
+ FromProtobuf(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 {
@@ -51,7 +50,8 @@ void FilterDisplayItem::FromProtobuf(const proto::DisplayItem& proto) {
const proto::FilterDisplayItem& details = proto.filter_item();
gfx::RectF bounds = ProtoToRectF(details.bounds());
- // TODO(dtrainor): Support deserializing FilterOperations (crbug.com/541321).
+ // TODO(dtrainor): Support deserializing FilterOperations
danakj 2015/12/08 19:18:16 random comment wrapping?
+ // (crbug.com/541321).
FilterOperations filters;
SetNew(filters, bounds);
@@ -84,14 +84,20 @@ 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) {
+ FromProtobuf(proto);
}
+EndFilterDisplayItem::~EndFilterDisplayItem() {}
+
void EndFilterDisplayItem::ToProtobuf(proto::DisplayItem* proto) const {
proto->set_type(proto::DisplayItem::Type_EndFilter);
}
@@ -115,4 +121,8 @@ void EndFilterDisplayItem::AsValueInto(
visual_rect.ToString().c_str()));
}
+size_t EndFilterDisplayItem::ExternalMemoryUsage() const {
+ return 0;
+}
+
} // namespace cc

Powered by Google App Engine
This is Rietveld 408576698