| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "content/common/cc_messages.h" | 5 #include "content/common/cc_messages.h" |
| 6 | 6 |
| 7 #include "content/public/common/common_param_traits.h" | 7 #include "content/public/common/common_param_traits.h" |
| 8 #include "third_party/WebKit/Source/Platform/chromium/public/WebData.h" |
| 9 #include "third_party/WebKit/Source/Platform/chromium/public/WebFilterOperations
.h" |
| 10 #include "third_party/WebKit/Source/Platform/chromium/public/WebTransformationMa
trix.h" |
| 8 | 11 |
| 9 namespace IPC { | 12 namespace IPC { |
| 10 | 13 |
| 11 void ParamTraits<WebKit::WebData>::Write(Message* m, const param_type& p) { | 14 void ParamTraits<WebKit::WebData>::Write(Message* m, const param_type& p) { |
| 12 if (p.isEmpty()) { | 15 if (p.isEmpty()) { |
| 13 m->WriteData(NULL, 0); | 16 m->WriteData(NULL, 0); |
| 14 } else { | 17 } else { |
| 15 m->WriteData(p.data(), p.size()); | 18 m->WriteData(p.data(), p.size()); |
| 16 } | 19 } |
| 17 } | 20 } |
| (...skipping 10 matching lines...) Expand all Loading... |
| 28 r->reset(); | 31 r->reset(); |
| 29 return true; | 32 return true; |
| 30 } | 33 } |
| 31 | 34 |
| 32 void ParamTraits<WebKit::WebData>::Log(const param_type& p, std::string* l) { | 35 void ParamTraits<WebKit::WebData>::Log(const param_type& p, std::string* l) { |
| 33 l->append("(WebData of size "); | 36 l->append("(WebData of size "); |
| 34 LogParam(p.size(), l); | 37 LogParam(p.size(), l); |
| 35 l->append(")"); | 38 l->append(")"); |
| 36 } | 39 } |
| 37 | 40 |
| 41 void ParamTraits<WebKit::WebFilterOperation>::Write( |
| 42 Message* m, const param_type& p) { |
| 43 WriteParam(m, p.type()); |
| 44 switch (p.type()) { |
| 45 case WebKit::WebFilterOperation::FilterTypeGrayscale: |
| 46 case WebKit::WebFilterOperation::FilterTypeSepia: |
| 47 case WebKit::WebFilterOperation::FilterTypeSaturate: |
| 48 case WebKit::WebFilterOperation::FilterTypeHueRotate: |
| 49 case WebKit::WebFilterOperation::FilterTypeInvert: |
| 50 case WebKit::WebFilterOperation::FilterTypeBrightness: |
| 51 case WebKit::WebFilterOperation::FilterTypeContrast: |
| 52 case WebKit::WebFilterOperation::FilterTypeOpacity: |
| 53 case WebKit::WebFilterOperation::FilterTypeBlur: |
| 54 WriteParam(m, p.amount()); |
| 55 break; |
| 56 case WebKit::WebFilterOperation::FilterTypeDropShadow: |
| 57 WriteParam(m, p.dropShadowOffset()); |
| 58 WriteParam(m, p.amount()); |
| 59 WriteParam(m, p.dropShadowColor()); |
| 60 break; |
| 61 case WebKit::WebFilterOperation::FilterTypeColorMatrix: |
| 62 for (int i = 0; i < 20; ++i) |
| 63 WriteParam(m, p.matrix()[i]); |
| 64 break; |
| 65 case WebKit::WebFilterOperation::FilterTypeZoom: |
| 66 WriteParam(m, p.zoomRect()); |
| 67 WriteParam(m, p.amount()); |
| 68 break; |
| 69 } |
| 70 } |
| 71 |
| 72 bool ParamTraits<WebKit::WebFilterOperation>::Read( |
| 73 const Message* m, PickleIterator* iter, param_type* r) { |
| 74 WebKit::WebFilterOperation::FilterType type; |
| 75 float amount; |
| 76 WebKit::WebPoint dropShadowOffset; |
| 77 WebKit::WebColor dropShadowColor; |
| 78 SkScalar matrix[20]; |
| 79 WebKit::WebRect zoomRect; |
| 80 |
| 81 if (!ReadParam(m, iter, &type)) |
| 82 return false; |
| 83 r->setType(type); |
| 84 |
| 85 bool success = false; |
| 86 switch (type) { |
| 87 case WebKit::WebFilterOperation::FilterTypeGrayscale: |
| 88 case WebKit::WebFilterOperation::FilterTypeSepia: |
| 89 case WebKit::WebFilterOperation::FilterTypeSaturate: |
| 90 case WebKit::WebFilterOperation::FilterTypeHueRotate: |
| 91 case WebKit::WebFilterOperation::FilterTypeInvert: |
| 92 case WebKit::WebFilterOperation::FilterTypeBrightness: |
| 93 case WebKit::WebFilterOperation::FilterTypeContrast: |
| 94 case WebKit::WebFilterOperation::FilterTypeOpacity: |
| 95 case WebKit::WebFilterOperation::FilterTypeBlur: |
| 96 if (ReadParam(m, iter, &amount)) { |
| 97 r->setAmount(amount); |
| 98 success = true; |
| 99 } |
| 100 break; |
| 101 case WebKit::WebFilterOperation::FilterTypeDropShadow: |
| 102 if (ReadParam(m, iter, &dropShadowOffset) && |
| 103 ReadParam(m, iter, &amount) && |
| 104 ReadParam(m, iter, &dropShadowColor)) { |
| 105 r->setDropShadowOffset(dropShadowOffset); |
| 106 r->setAmount(amount); |
| 107 r->setDropShadowColor(dropShadowColor); |
| 108 success = true; |
| 109 } |
| 110 break; |
| 111 case WebKit::WebFilterOperation::FilterTypeColorMatrix: { |
| 112 int i; |
| 113 for (i = 0; i < 20; ++i) { |
| 114 if (!ReadParam(m, iter, &matrix[i])) |
| 115 break; |
| 116 } |
| 117 if (i == 20) { |
| 118 r->setMatrix(matrix); |
| 119 success = true; |
| 120 } |
| 121 break; |
| 122 } |
| 123 case WebKit::WebFilterOperation::FilterTypeZoom: |
| 124 if (ReadParam(m, iter, &zoomRect) && |
| 125 ReadParam(m, iter, &amount)) { |
| 126 r->setZoomRect(zoomRect); |
| 127 r->setAmount(amount); |
| 128 success = true; |
| 129 } |
| 130 break; |
| 131 } |
| 132 return success; |
| 133 } |
| 134 |
| 135 void ParamTraits<WebKit::WebFilterOperation>::Log( |
| 136 const param_type& p, std::string* l) { |
| 137 l->append("("); |
| 138 LogParam(static_cast<unsigned>(p.type()), l); |
| 139 l->append(", "); |
| 140 |
| 141 switch (p.type()) { |
| 142 case WebKit::WebFilterOperation::FilterTypeGrayscale: |
| 143 case WebKit::WebFilterOperation::FilterTypeSepia: |
| 144 case WebKit::WebFilterOperation::FilterTypeSaturate: |
| 145 case WebKit::WebFilterOperation::FilterTypeHueRotate: |
| 146 case WebKit::WebFilterOperation::FilterTypeInvert: |
| 147 case WebKit::WebFilterOperation::FilterTypeBrightness: |
| 148 case WebKit::WebFilterOperation::FilterTypeContrast: |
| 149 case WebKit::WebFilterOperation::FilterTypeOpacity: |
| 150 case WebKit::WebFilterOperation::FilterTypeBlur: |
| 151 LogParam(p.amount(), l); |
| 152 break; |
| 153 case WebKit::WebFilterOperation::FilterTypeDropShadow: |
| 154 LogParam(p.dropShadowOffset(), l); |
| 155 l->append(", "); |
| 156 LogParam(p.amount(), l); |
| 157 l->append(", "); |
| 158 LogParam(p.dropShadowColor(), l); |
| 159 break; |
| 160 case WebKit::WebFilterOperation::FilterTypeColorMatrix: |
| 161 for (int i = 0; i < 20; ++i) { |
| 162 if (i) |
| 163 l->append(", "); |
| 164 LogParam(p.matrix()[i], l); |
| 165 } |
| 166 break; |
| 167 case WebKit::WebFilterOperation::FilterTypeZoom: |
| 168 LogParam(p.zoomRect(), l); |
| 169 l->append(", "); |
| 170 LogParam(p.amount(), l); |
| 171 break; |
| 172 } |
| 173 l->append(")"); |
| 174 } |
| 175 |
| 176 void ParamTraits<WebKit::WebFilterOperations>::Write( |
| 177 Message* m, const param_type& p) { |
| 178 WriteParam(m, p.size()); |
| 179 for (std::size_t i = 0; i < p.size(); ++i) { |
| 180 WriteParam(m, p.at(i)); |
| 181 } |
| 182 } |
| 183 |
| 184 bool ParamTraits<WebKit::WebFilterOperations>::Read( |
| 185 const Message* m, PickleIterator* iter, param_type* r) { |
| 186 size_t count; |
| 187 if (!ReadParam(m, iter, &count)) |
| 188 return false; |
| 189 |
| 190 for (std::size_t i = 0; i < count; ++i) { |
| 191 WebKit::WebFilterOperation op = |
| 192 WebKit::WebFilterOperation::createEmptyFilter(); |
| 193 if (!ReadParam(m, iter, &op)) |
| 194 return false; |
| 195 r->append(op); |
| 196 } |
| 197 return true; |
| 198 } |
| 199 |
| 200 void ParamTraits<WebKit::WebFilterOperations>::Log( |
| 201 const param_type& p, std::string* l) { |
| 202 l->append("("); |
| 203 for (std::size_t i = 0; i < p.size(); ++i) { |
| 204 if (i) |
| 205 l->append(", "); |
| 206 LogParam(p.at(i), l); |
| 207 } |
| 208 l->append(")"); |
| 209 } |
| 210 |
| 38 void ParamTraits<WebKit::WebTransformationMatrix>::Write( | 211 void ParamTraits<WebKit::WebTransformationMatrix>::Write( |
| 39 Message* m, const param_type& p) { | 212 Message* m, const param_type& p) { |
| 40 WriteParam(m, p.m11()); | 213 WriteParam(m, p.m11()); |
| 41 WriteParam(m, p.m12()); | 214 WriteParam(m, p.m12()); |
| 42 WriteParam(m, p.m13()); | 215 WriteParam(m, p.m13()); |
| 43 WriteParam(m, p.m14()); | 216 WriteParam(m, p.m14()); |
| 44 WriteParam(m, p.m21()); | 217 WriteParam(m, p.m21()); |
| 45 WriteParam(m, p.m22()); | 218 WriteParam(m, p.m22()); |
| 46 WriteParam(m, p.m23()); | 219 WriteParam(m, p.m23()); |
| 47 WriteParam(m, p.m24()); | 220 WriteParam(m, p.m24()); |
| (...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 130 l->append(", "); | 303 l->append(", "); |
| 131 LogParam(p.m42(), l); | 304 LogParam(p.m42(), l); |
| 132 l->append(", "); | 305 l->append(", "); |
| 133 LogParam(p.m43(), l); | 306 LogParam(p.m43(), l); |
| 134 l->append(", "); | 307 l->append(", "); |
| 135 LogParam(p.m44(), l); | 308 LogParam(p.m44(), l); |
| 136 l->append(") "); | 309 l->append(") "); |
| 137 } | 310 } |
| 138 | 311 |
| 139 } // namespace IPC | 312 } // namespace IPC |
| OLD | NEW |