| Index: cc/playback/filter_display_item.cc
|
| diff --git a/cc/playback/filter_display_item.cc b/cc/playback/filter_display_item.cc
|
| index c155b68a64259e97e466eec07a940ea15f39de6a..bcd676c71d432ffee5a28edba0753e5375b5b561 100644
|
| --- a/cc/playback/filter_display_item.cc
|
| +++ b/cc/playback/filter_display_item.cc
|
| @@ -7,6 +7,8 @@
|
| #include "base/strings/stringprintf.h"
|
| #include "base/trace_event/trace_event_argument.h"
|
| #include "cc/output/render_surface_filters.h"
|
| +#include "cc/proto/display_item.pb.h"
|
| +#include "cc/proto/gfx_conversions.h"
|
| #include "skia/ext/refptr.h"
|
| #include "third_party/skia/include/core/SkCanvas.h"
|
| #include "third_party/skia/include/core/SkImageFilter.h"
|
| @@ -34,6 +36,27 @@ void FilterDisplayItem::SetNew(const FilterOperations& filters,
|
| 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();
|
| + 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 {
|
| @@ -74,6 +97,14 @@ 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,
|
| const gfx::Rect& canvas_target_playback_rect,
|
| SkPicture::AbortCallback* callback) const {
|
|
|