| Index: cc/playback/filter_display_item.cc
|
| diff --git a/cc/playback/filter_display_item.cc b/cc/playback/filter_display_item.cc
|
| index 48fcab33ec10f4b7ccba9e30b16dd4d0e03badeb..df9b0063b2ce94ab60d7b285cd1b2b3d6b0523bf 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) {
|
| + proto->set_type(proto::DisplayItem::Type_Filter);
|
| +
|
| + proto::FilterDisplayItem* details = proto->mutable_details_filter();
|
| + RectFToProto(bounds_, details->mutable_bounds());
|
| +
|
| + // TODO(dtrainor): Support serializing FilterOperations.
|
| +}
|
| +
|
| +void FilterDisplayItem::FromProtobuf(const proto::DisplayItem& proto) {
|
| + DCHECK_EQ(proto::DisplayItem::Type_Filter, proto.type());
|
| +
|
| + const proto::FilterDisplayItem& details = proto.details_filter();
|
| + gfx::RectF bounds = ProtoToRectF(details.bounds());
|
| +
|
| + // TODO(dtrainor): Support deserializing FilterOperations.
|
| + FilterOperations filters;
|
| +
|
| + SetNew(filters, bounds);
|
| +}
|
| +
|
| void FilterDisplayItem::Raster(SkCanvas* canvas,
|
| const gfx::Rect& canvas_target_playback_rect,
|
| SkPicture::AbortCallback* callback) const {
|
| @@ -80,6 +103,14 @@ EndFilterDisplayItem::EndFilterDisplayItem() {
|
| EndFilterDisplayItem::~EndFilterDisplayItem() {
|
| }
|
|
|
| +void EndFilterDisplayItem::ToProtobuf(proto::DisplayItem* proto) {
|
| + 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 {
|
|
|