Index: content/common/cc_messages.cc |
diff --git a/content/common/cc_messages.cc b/content/common/cc_messages.cc |
index 7d6fc94ae172fe2c7f5c064d38c025e8cae5f23d..e4b07401b218881833a1a042ddef7e471e4b92a9 100644 |
--- a/content/common/cc_messages.cc |
+++ b/content/common/cc_messages.cc |
@@ -21,6 +21,44 @@ |
namespace IPC { |
+void ParamTraits<cc::FilterOperation>::GetSize(base::PickleSizer* s, |
+ const param_type& p) { |
+ GetParamSize(s, p.type()); |
+ switch (p.type()) { |
+ case cc::FilterOperation::GRAYSCALE: |
+ case cc::FilterOperation::SEPIA: |
+ case cc::FilterOperation::SATURATE: |
+ case cc::FilterOperation::HUE_ROTATE: |
+ case cc::FilterOperation::INVERT: |
+ case cc::FilterOperation::BRIGHTNESS: |
+ case cc::FilterOperation::SATURATING_BRIGHTNESS: |
+ case cc::FilterOperation::CONTRAST: |
+ case cc::FilterOperation::OPACITY: |
+ case cc::FilterOperation::BLUR: |
+ GetParamSize(s, p.amount()); |
+ break; |
+ case cc::FilterOperation::DROP_SHADOW: |
+ GetParamSize(s, p.drop_shadow_offset()); |
+ GetParamSize(s, p.amount()); |
+ GetParamSize(s, p.drop_shadow_color()); |
+ break; |
+ case cc::FilterOperation::COLOR_MATRIX: |
+ for (int i = 0; i < 20; ++i) |
+ GetParamSize(s, p.matrix()[i]); |
+ break; |
+ case cc::FilterOperation::ZOOM: |
+ GetParamSize(s, p.amount()); |
+ GetParamSize(s, p.zoom_inset()); |
+ break; |
+ case cc::FilterOperation::REFERENCE: |
+ GetParamSize(s, p.image_filter()); |
+ break; |
+ case cc::FilterOperation::ALPHA_THRESHOLD: |
+ NOTREACHED(); |
+ break; |
+ } |
+} |
+ |
void ParamTraits<cc::FilterOperation>::Write(base::Pickle* m, |
const param_type& p) { |
WriteParam(m, p.type()); |
@@ -186,6 +224,14 @@ void ParamTraits<cc::FilterOperation>::Log( |
l->append(")"); |
} |
+void ParamTraits<cc::FilterOperations>::GetSize(base::PickleSizer* s, |
+ const param_type& p) { |
+ GetParamSize(s, base::checked_cast<uint32_t>(p.size())); |
+ for (std::size_t i = 0; i < p.size(); ++i) { |
+ GetParamSize(s, p.at(i)); |
+ } |
+} |
+ |
void ParamTraits<cc::FilterOperations>::Write(base::Pickle* m, |
const param_type& p) { |
WriteParam(m, base::checked_cast<uint32_t>(p.size())); |
@@ -221,6 +267,17 @@ void ParamTraits<cc::FilterOperations>::Log( |
l->append(")"); |
} |
+void ParamTraits<sk_sp<SkImageFilter>>::GetSize(base::PickleSizer* s, |
+ const param_type& p) { |
+ SkImageFilter* filter = p.get(); |
+ if (filter) { |
+ sk_sp<SkData> data(SkValidatingSerializeFlattenable(filter)); |
+ s->AddData(data->size()); |
+ } else { |
+ s->AddData(0); |
+ } |
+} |
+ |
void ParamTraits<sk_sp<SkImageFilter>>::Write(base::Pickle* m, |
const param_type& p) { |
SkImageFilter* filter = p.get(); |
@@ -709,6 +766,13 @@ void ParamTraits<cc::DelegatedFrameData>::Log(const param_type& p, |
l->append("])"); |
} |
+void ParamTraits<cc::DrawQuad::Resources>::GetSize(base::PickleSizer* s, |
+ const param_type& p) { |
+ GetParamSize(s, p.count); |
+ for (size_t i = 0; i < p.count; ++i) |
+ GetParamSize(s, p.ids[i]); |
+} |
+ |
void ParamTraits<cc::DrawQuad::Resources>::Write(base::Pickle* m, |
const param_type& p) { |
DCHECK_LE(p.count, cc::DrawQuad::Resources::kMaxResourceIdCount); |
@@ -749,6 +813,13 @@ void ParamTraits<cc::DrawQuad::Resources>::Log(const param_type& p, |
l->append("])"); |
} |
+void ParamTraits<cc::StreamVideoDrawQuad::OverlayResources>::GetSize( |
+ base::PickleSizer* s, const param_type& p) { |
+ for (size_t i = 0; i < cc::DrawQuad::Resources::kMaxResourceIdCount; ++i) { |
+ GetParamSize(s, p.size_in_pixels[i]); |
+ } |
+} |
+ |
void ParamTraits<cc::StreamVideoDrawQuad::OverlayResources>::Write( |
base::Pickle* m, |
const param_type& p) { |
@@ -780,6 +851,13 @@ void ParamTraits<cc::StreamVideoDrawQuad::OverlayResources>::Log( |
l->append("])"); |
} |
+void ParamTraits<cc::TextureDrawQuad::OverlayResources>::GetSize( |
+ base::PickleSizer* s, const param_type& p) { |
+ for (size_t i = 0; i < cc::DrawQuad::Resources::kMaxResourceIdCount; ++i) { |
+ GetParamSize(s, p.size_in_pixels[i]); |
+ } |
+} |
+ |
void ParamTraits<cc::TextureDrawQuad::OverlayResources>::Write( |
base::Pickle* m, |
const param_type& p) { |