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

Unified Diff: cc/playback/compositing_display_item.h

Issue 1494223003: cc: Shrink size of display item (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: danakj review 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/compositing_display_item.h
diff --git a/cc/playback/compositing_display_item.h b/cc/playback/compositing_display_item.h
index 071308ec018908022f3f70992500b7411447848c..4240aafafae6e5677a473832efbb9ca20f95b8c7 100644
--- a/cc/playback/compositing_display_item.h
+++ b/cc/playback/compositing_display_item.h
@@ -20,23 +20,33 @@ namespace cc {
class CC_EXPORT CompositingDisplayItem : public DisplayItem {
public:
- CompositingDisplayItem();
+ CompositingDisplayItem(uint8_t alpha,
+ SkXfermode::Mode xfermode,
+ SkRect* bounds,
+ skia::RefPtr<SkColorFilter> color_filter);
+ explicit CompositingDisplayItem(const proto::DisplayItem& proto);
~CompositingDisplayItem() override;
- void SetNew(uint8_t alpha,
- SkXfermode::Mode xfermode,
- SkRect* bounds,
- skia::RefPtr<SkColorFilter> color_filter);
-
void ToProtobuf(proto::DisplayItem* proto) const override;
- void FromProtobuf(const proto::DisplayItem& proto) override;
void Raster(SkCanvas* canvas,
const gfx::Rect& canvas_target_playback_rect,
SkPicture::AbortCallback* callback) const override;
void AsValueInto(const gfx::Rect& visual_rect,
base::trace_event::TracedValue* array) const override;
+ size_t ExternalMemoryUsage() const override;
+
+ int ApproximateOpCount() const { return 1; }
+ bool IsSuitableForGpuRasterization() const { return true; }
+
+ protected:
+ void FromProtobuf(const proto::DisplayItem& proto) override;
private:
+ void SetNew(uint8_t alpha,
+ SkXfermode::Mode xfermode,
+ SkRect* bounds,
+ skia::RefPtr<SkColorFilter> color_filter);
+
uint8_t alpha_;
SkXfermode::Mode xfermode_;
bool has_bounds_;
@@ -47,6 +57,7 @@ class CC_EXPORT CompositingDisplayItem : public DisplayItem {
class CC_EXPORT EndCompositingDisplayItem : public DisplayItem {
public:
EndCompositingDisplayItem();
+ explicit EndCompositingDisplayItem(const proto::DisplayItem& proto);
~EndCompositingDisplayItem() override;
static scoped_ptr<EndCompositingDisplayItem> Create() {
@@ -54,12 +65,18 @@ class CC_EXPORT EndCompositingDisplayItem : public DisplayItem {
}
void ToProtobuf(proto::DisplayItem* proto) const override;
- void FromProtobuf(const proto::DisplayItem& proto) override;
void Raster(SkCanvas* canvas,
const gfx::Rect& canvas_target_playback_rect,
SkPicture::AbortCallback* callback) const override;
void AsValueInto(const gfx::Rect& visual_rect,
base::trace_event::TracedValue* array) const override;
+ size_t ExternalMemoryUsage() const override;
+
+ int ApproximateOpCount() const { return 0; }
+ bool IsSuitableForGpuRasterization() const { return true; }
+
+ protected:
+ void FromProtobuf(const proto::DisplayItem& proto) override;
};
} // namespace cc

Powered by Google App Engine
This is Rietveld 408576698