Chromium Code Reviews| Index: content/public/common/webkit_param_traits.cc |
| diff --git a/content/public/common/webkit_param_traits.cc b/content/public/common/webkit_param_traits.cc |
| index 9d4bf944c6a7c359be36c757d77829e5e4c6916d..ec6763ccca2c0645481dfe65a975c120ee1c5946 100644 |
| --- a/content/public/common/webkit_param_traits.cc |
| +++ b/content/public/common/webkit_param_traits.cc |
| @@ -160,7 +160,225 @@ void ParamTraits<WebKit::WebTransformationMatrix>::Log( |
| LogParam(p.m43(), l); |
| l->append(", "); |
| LogParam(p.m44(), l); |
| - l->append(") "); |
| + l->append(")"); |
| +} |
| + |
| +void ParamTraits<WebKit::WebPoint>::Write( |
| + Message* m, const param_type& p) { |
| + WriteParam(m, p.x); |
| + WriteParam(m, p.y); |
| +} |
| + |
| +bool ParamTraits<WebKit::WebPoint>::Read( |
| + const Message* m, PickleIterator* iter, param_type* r) { |
| + return |
| + ReadParam(m, iter, &r->x) && |
| + ReadParam(m, iter, &r->y); |
| +} |
| + |
| +void ParamTraits<WebKit::WebPoint>::Log( |
| + const param_type& p, std::string* l) { |
| + l->append("("); |
| + LogParam(p.x, l); |
| + l->append(", "); |
| + LogParam(p.y, l); |
| + l->append(")"); |
| +} |
| + |
| +void ParamTraits<WebKit::WebRect>::Write( |
| + Message* m, const param_type& p) { |
| + WriteParam(m, p.x); |
| + WriteParam(m, p.y); |
| + WriteParam(m, p.width); |
| + WriteParam(m, p.height); |
| +} |
| + |
| +bool ParamTraits<WebKit::WebRect>::Read( |
| + const Message* m, PickleIterator* iter, param_type* r) { |
| + return |
| + ReadParam(m, iter, &r->x) && |
| + ReadParam(m, iter, &r->y) && |
| + ReadParam(m, iter, &r->width) && |
| + ReadParam(m, iter, &r->height); |
| +} |
| + |
| +void ParamTraits<WebKit::WebRect>::Log( |
| + const param_type& p, std::string* l) { |
| + l->append("("); |
| + LogParam(p.x, l); |
| + l->append(", "); |
| + LogParam(p.y, l); |
| + l->append(", "); |
| + LogParam(p.width, l); |
| + l->append(", "); |
| + LogParam(p.height, l); |
| + l->append(")"); |
| +} |
| + |
| +void ParamTraits<WebKit::WebFilterOperations>::Write( |
| + Message* m, const param_type& p) { |
| + if (p.isEmpty()) { |
|
piman
2012/09/22 01:01:36
nit: do we need to special case this? Isn't the be
danakj
2012/09/22 14:31:46
Ya true, I inherited this from the WebData one. T
|
| + WriteParam(m, 0); |
| + return; |
| + } |
| + |
| + WriteParam(m, p.size()); |
| + for (std::size_t i = 0; i < p.size(); ++i) { |
| + WriteParam(m, p.at(i)); |
| + } |
| +} |
| + |
| +bool ParamTraits<WebKit::WebFilterOperations>::Read( |
| + const Message* m, PickleIterator* iter, param_type* r) { |
| + size_t count; |
| + if (!ReadParam(m, iter, &count)) |
| + return false; |
| + |
| + for (std::size_t i = 0; i < count; ++i) { |
| + WebKit::WebFilterOperation op = |
| + WebKit::WebFilterOperation::createEmptyFilter(); |
| + if (!ReadParam(m, iter, &op)) |
| + return false; |
| + r->append(op); |
| + } |
| + return true; |
| +} |
| + |
| +void ParamTraits<WebKit::WebFilterOperations>::Log( |
| + const param_type& p, std::string* l) { |
| + l->append("("); |
| + for (std::size_t i = 0; i < p.size(); ++i) { |
| + if (i) |
| + l->append(", "); |
| + LogParam(p.at(i), l); |
| + } |
| + l->append(")"); |
| +} |
| + |
| +void ParamTraits<WebKit::WebFilterOperation>::Write( |
| + Message* m, const param_type& p) { |
| + WriteParam(m, static_cast<unsigned>(p.type())); |
| + switch (p.type()) { |
| + case WebKit::WebFilterOperation::FilterTypeGrayscale: |
| + case WebKit::WebFilterOperation::FilterTypeSepia: |
| + case WebKit::WebFilterOperation::FilterTypeSaturate: |
| + case WebKit::WebFilterOperation::FilterTypeHueRotate: |
| + case WebKit::WebFilterOperation::FilterTypeInvert: |
| + case WebKit::WebFilterOperation::FilterTypeBrightness: |
| + case WebKit::WebFilterOperation::FilterTypeContrast: |
| + case WebKit::WebFilterOperation::FilterTypeOpacity: |
| + case WebKit::WebFilterOperation::FilterTypeBlur: |
| + WriteParam(m, p.amount()); |
| + break; |
| + case WebKit::WebFilterOperation::FilterTypeDropShadow: |
| + WriteParam(m, p.dropShadowOffset()); |
| + WriteParam(m, p.amount()); |
| + WriteParam(m, p.dropShadowColor()); |
| + break; |
| + case WebKit::WebFilterOperation::FilterTypeColorMatrix: |
| + for (int i = 0; i < 20; ++i) |
| + WriteParam(m, p.matrix()[i]); |
| + break; |
| + case WebKit::WebFilterOperation::FilterTypeZoom: |
| + WriteParam(m, p.zoomRect()); |
| + WriteParam(m, p.amount()); |
| + break; |
| + } |
| +} |
| + |
| +bool ParamTraits<WebKit::WebFilterOperation>::Read( |
| + const Message* m, PickleIterator* iter, param_type* r) { |
| + unsigned type; |
| + float amount; |
| + WebKit::WebPoint dropShadowOffset; |
| + WebKit::WebColor dropShadowColor; |
| + SkScalar matrix[20]; |
| + WebKit::WebRect zoomRect; |
| + |
| + if (!ReadParam(m, iter, &type)) |
| + return false; |
| + r->setType(static_cast<WebKit::WebFilterOperation::FilterType>(type)); |
| + |
| + switch (type) { |
| + case WebKit::WebFilterOperation::FilterTypeGrayscale: |
| + case WebKit::WebFilterOperation::FilterTypeSepia: |
| + case WebKit::WebFilterOperation::FilterTypeSaturate: |
| + case WebKit::WebFilterOperation::FilterTypeHueRotate: |
| + case WebKit::WebFilterOperation::FilterTypeInvert: |
| + case WebKit::WebFilterOperation::FilterTypeBrightness: |
| + case WebKit::WebFilterOperation::FilterTypeContrast: |
| + case WebKit::WebFilterOperation::FilterTypeOpacity: |
| + case WebKit::WebFilterOperation::FilterTypeBlur: |
| + if (!ReadParam(m, iter, &amount)) |
| + return false; |
| + r->setAmount(amount); |
| + break; |
| + case WebKit::WebFilterOperation::FilterTypeDropShadow: |
| + if (!ReadParam(m, iter, &dropShadowOffset) || |
| + !ReadParam(m, iter, &amount) || |
| + !ReadParam(m, iter, &dropShadowColor)) |
| + return false; |
| + r->setDropShadowOffset(dropShadowOffset); |
| + r->setAmount(amount); |
| + r->setDropShadowColor(dropShadowColor); |
| + break; |
| + case WebKit::WebFilterOperation::FilterTypeColorMatrix: |
| + for (int i = 0; i < 20; ++i) { |
| + if (!ReadParam(m, iter, &matrix[i])) |
| + return false; |
| + } |
| + r->setMatrix(matrix); |
| + break; |
| + case WebKit::WebFilterOperation::FilterTypeZoom: |
| + if (!ReadParam(m, iter, &zoomRect) || |
| + !ReadParam(m, iter, &amount)) |
| + return false; |
| + r->setZoomRect(zoomRect); |
| + r->setAmount(amount); |
| + break; |
|
piman
2012/09/22 01:01:36
Add a default case that returns false.
This is imp
danakj
2012/09/22 14:31:46
Oh, okay! I did this with a success bool instead o
|
| + } |
| + return true; |
| +} |
| + |
| +void ParamTraits<WebKit::WebFilterOperation>::Log( |
| + const param_type& p, std::string* l) { |
| + l->append("("); |
| + LogParam(static_cast<unsigned>(p.type()), l); |
| + l->append(", "); |
| + |
| + switch (p.type()) { |
| + case WebKit::WebFilterOperation::FilterTypeGrayscale: |
| + case WebKit::WebFilterOperation::FilterTypeSepia: |
| + case WebKit::WebFilterOperation::FilterTypeSaturate: |
| + case WebKit::WebFilterOperation::FilterTypeHueRotate: |
| + case WebKit::WebFilterOperation::FilterTypeInvert: |
| + case WebKit::WebFilterOperation::FilterTypeBrightness: |
| + case WebKit::WebFilterOperation::FilterTypeContrast: |
| + case WebKit::WebFilterOperation::FilterTypeOpacity: |
| + case WebKit::WebFilterOperation::FilterTypeBlur: |
| + LogParam(p.amount(), l); |
| + break; |
| + case WebKit::WebFilterOperation::FilterTypeDropShadow: |
| + LogParam(p.dropShadowOffset(), l); |
| + l->append(", "); |
| + LogParam(p.amount(), l); |
| + l->append(", "); |
| + LogParam(p.dropShadowColor(), l); |
| + break; |
| + case WebKit::WebFilterOperation::FilterTypeColorMatrix: |
| + for (int i = 0; i < 20; ++i) { |
| + if (i) |
| + l->append(", "); |
| + LogParam(p.matrix()[i], l); |
| + } |
| + break; |
| + case WebKit::WebFilterOperation::FilterTypeZoom: |
| + LogParam(p.zoomRect(), l); |
| + l->append(", "); |
| + LogParam(p.amount(), l); |
| + break; |
| + } |
| + l->append(")"); |
| } |
| void ParamTraits<webkit_glue::ResourceLoadTimingInfo>::Write( |