Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5)

Side by Side Diff: content/public/common/webkit_param_traits.cc

Issue 10966050: Add pickling traits for the WebFilterOperations class. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « content/public/common/webkit_param_traits.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 // NOTE: New trait definitions that will be used by Chrome Frame must be placed 5 // NOTE: New trait definitions that will be used by Chrome Frame must be placed
6 // in common_param_traits2.cc. 6 // in common_param_traits2.cc.
7 7
8 #include "content/public/common/webkit_param_traits.h" 8 #include "content/public/common/webkit_param_traits.h"
9 9
10 #include "base/string_number_conversions.h" 10 #include "base/string_number_conversions.h"
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after
153 l->append(", "); 153 l->append(", ");
154 LogParam(p.m34(), l); 154 LogParam(p.m34(), l);
155 l->append(", "); 155 l->append(", ");
156 LogParam(p.m41(), l); 156 LogParam(p.m41(), l);
157 l->append(", "); 157 l->append(", ");
158 LogParam(p.m42(), l); 158 LogParam(p.m42(), l);
159 l->append(", "); 159 l->append(", ");
160 LogParam(p.m43(), l); 160 LogParam(p.m43(), l);
161 l->append(", "); 161 l->append(", ");
162 LogParam(p.m44(), l); 162 LogParam(p.m44(), l);
163 l->append(") "); 163 l->append(")");
164 }
165
166 void ParamTraits<WebKit::WebPoint>::Write(
167 Message* m, const param_type& p) {
168 WriteParam(m, p.x);
169 WriteParam(m, p.y);
170 }
171
172 bool ParamTraits<WebKit::WebPoint>::Read(
173 const Message* m, PickleIterator* iter, param_type* r) {
174 return
175 ReadParam(m, iter, &r->x) &&
176 ReadParam(m, iter, &r->y);
177 }
178
179 void ParamTraits<WebKit::WebPoint>::Log(
180 const param_type& p, std::string* l) {
181 l->append("(");
182 LogParam(p.x, l);
183 l->append(", ");
184 LogParam(p.y, l);
185 l->append(")");
186 }
187
188 void ParamTraits<WebKit::WebRect>::Write(
189 Message* m, const param_type& p) {
190 WriteParam(m, p.x);
191 WriteParam(m, p.y);
192 WriteParam(m, p.width);
193 WriteParam(m, p.height);
194 }
195
196 bool ParamTraits<WebKit::WebRect>::Read(
197 const Message* m, PickleIterator* iter, param_type* r) {
198 return
199 ReadParam(m, iter, &r->x) &&
200 ReadParam(m, iter, &r->y) &&
201 ReadParam(m, iter, &r->width) &&
202 ReadParam(m, iter, &r->height);
203 }
204
205 void ParamTraits<WebKit::WebRect>::Log(
206 const param_type& p, std::string* l) {
207 l->append("(");
208 LogParam(p.x, l);
209 l->append(", ");
210 LogParam(p.y, l);
211 l->append(", ");
212 LogParam(p.width, l);
213 l->append(", ");
214 LogParam(p.height, l);
215 l->append(")");
216 }
217
218 void ParamTraits<WebKit::WebFilterOperations>::Write(
219 Message* m, const param_type& p) {
220 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
221 WriteParam(m, 0);
222 return;
223 }
224
225 WriteParam(m, p.size());
226 for (std::size_t i = 0; i < p.size(); ++i) {
227 WriteParam(m, p.at(i));
228 }
229 }
230
231 bool ParamTraits<WebKit::WebFilterOperations>::Read(
232 const Message* m, PickleIterator* iter, param_type* r) {
233 size_t count;
234 if (!ReadParam(m, iter, &count))
235 return false;
236
237 for (std::size_t i = 0; i < count; ++i) {
238 WebKit::WebFilterOperation op =
239 WebKit::WebFilterOperation::createEmptyFilter();
240 if (!ReadParam(m, iter, &op))
241 return false;
242 r->append(op);
243 }
244 return true;
245 }
246
247 void ParamTraits<WebKit::WebFilterOperations>::Log(
248 const param_type& p, std::string* l) {
249 l->append("(");
250 for (std::size_t i = 0; i < p.size(); ++i) {
251 if (i)
252 l->append(", ");
253 LogParam(p.at(i), l);
254 }
255 l->append(")");
256 }
257
258 void ParamTraits<WebKit::WebFilterOperation>::Write(
259 Message* m, const param_type& p) {
260 WriteParam(m, static_cast<unsigned>(p.type()));
261 switch (p.type()) {
262 case WebKit::WebFilterOperation::FilterTypeGrayscale:
263 case WebKit::WebFilterOperation::FilterTypeSepia:
264 case WebKit::WebFilterOperation::FilterTypeSaturate:
265 case WebKit::WebFilterOperation::FilterTypeHueRotate:
266 case WebKit::WebFilterOperation::FilterTypeInvert:
267 case WebKit::WebFilterOperation::FilterTypeBrightness:
268 case WebKit::WebFilterOperation::FilterTypeContrast:
269 case WebKit::WebFilterOperation::FilterTypeOpacity:
270 case WebKit::WebFilterOperation::FilterTypeBlur:
271 WriteParam(m, p.amount());
272 break;
273 case WebKit::WebFilterOperation::FilterTypeDropShadow:
274 WriteParam(m, p.dropShadowOffset());
275 WriteParam(m, p.amount());
276 WriteParam(m, p.dropShadowColor());
277 break;
278 case WebKit::WebFilterOperation::FilterTypeColorMatrix:
279 for (int i = 0; i < 20; ++i)
280 WriteParam(m, p.matrix()[i]);
281 break;
282 case WebKit::WebFilterOperation::FilterTypeZoom:
283 WriteParam(m, p.zoomRect());
284 WriteParam(m, p.amount());
285 break;
286 }
287 }
288
289 bool ParamTraits<WebKit::WebFilterOperation>::Read(
290 const Message* m, PickleIterator* iter, param_type* r) {
291 unsigned type;
292 float amount;
293 WebKit::WebPoint dropShadowOffset;
294 WebKit::WebColor dropShadowColor;
295 SkScalar matrix[20];
296 WebKit::WebRect zoomRect;
297
298 if (!ReadParam(m, iter, &type))
299 return false;
300 r->setType(static_cast<WebKit::WebFilterOperation::FilterType>(type));
301
302 switch (type) {
303 case WebKit::WebFilterOperation::FilterTypeGrayscale:
304 case WebKit::WebFilterOperation::FilterTypeSepia:
305 case WebKit::WebFilterOperation::FilterTypeSaturate:
306 case WebKit::WebFilterOperation::FilterTypeHueRotate:
307 case WebKit::WebFilterOperation::FilterTypeInvert:
308 case WebKit::WebFilterOperation::FilterTypeBrightness:
309 case WebKit::WebFilterOperation::FilterTypeContrast:
310 case WebKit::WebFilterOperation::FilterTypeOpacity:
311 case WebKit::WebFilterOperation::FilterTypeBlur:
312 if (!ReadParam(m, iter, &amount))
313 return false;
314 r->setAmount(amount);
315 break;
316 case WebKit::WebFilterOperation::FilterTypeDropShadow:
317 if (!ReadParam(m, iter, &dropShadowOffset) ||
318 !ReadParam(m, iter, &amount) ||
319 !ReadParam(m, iter, &dropShadowColor))
320 return false;
321 r->setDropShadowOffset(dropShadowOffset);
322 r->setAmount(amount);
323 r->setDropShadowColor(dropShadowColor);
324 break;
325 case WebKit::WebFilterOperation::FilterTypeColorMatrix:
326 for (int i = 0; i < 20; ++i) {
327 if (!ReadParam(m, iter, &matrix[i]))
328 return false;
329 }
330 r->setMatrix(matrix);
331 break;
332 case WebKit::WebFilterOperation::FilterTypeZoom:
333 if (!ReadParam(m, iter, &zoomRect) ||
334 !ReadParam(m, iter, &amount))
335 return false;
336 r->setZoomRect(zoomRect);
337 r->setAmount(amount);
338 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
339 }
340 return true;
341 }
342
343 void ParamTraits<WebKit::WebFilterOperation>::Log(
344 const param_type& p, std::string* l) {
345 l->append("(");
346 LogParam(static_cast<unsigned>(p.type()), l);
347 l->append(", ");
348
349 switch (p.type()) {
350 case WebKit::WebFilterOperation::FilterTypeGrayscale:
351 case WebKit::WebFilterOperation::FilterTypeSepia:
352 case WebKit::WebFilterOperation::FilterTypeSaturate:
353 case WebKit::WebFilterOperation::FilterTypeHueRotate:
354 case WebKit::WebFilterOperation::FilterTypeInvert:
355 case WebKit::WebFilterOperation::FilterTypeBrightness:
356 case WebKit::WebFilterOperation::FilterTypeContrast:
357 case WebKit::WebFilterOperation::FilterTypeOpacity:
358 case WebKit::WebFilterOperation::FilterTypeBlur:
359 LogParam(p.amount(), l);
360 break;
361 case WebKit::WebFilterOperation::FilterTypeDropShadow:
362 LogParam(p.dropShadowOffset(), l);
363 l->append(", ");
364 LogParam(p.amount(), l);
365 l->append(", ");
366 LogParam(p.dropShadowColor(), l);
367 break;
368 case WebKit::WebFilterOperation::FilterTypeColorMatrix:
369 for (int i = 0; i < 20; ++i) {
370 if (i)
371 l->append(", ");
372 LogParam(p.matrix()[i], l);
373 }
374 break;
375 case WebKit::WebFilterOperation::FilterTypeZoom:
376 LogParam(p.zoomRect(), l);
377 l->append(", ");
378 LogParam(p.amount(), l);
379 break;
380 }
381 l->append(")");
164 } 382 }
165 383
166 void ParamTraits<webkit_glue::ResourceLoadTimingInfo>::Write( 384 void ParamTraits<webkit_glue::ResourceLoadTimingInfo>::Write(
167 Message* m, const param_type& p) { 385 Message* m, const param_type& p) {
168 WriteParam(m, p.base_time.is_null()); 386 WriteParam(m, p.base_time.is_null());
169 if (p.base_time.is_null()) 387 if (p.base_time.is_null())
170 return; 388 return;
171 WriteParam(m, p.base_ticks); 389 WriteParam(m, p.base_ticks);
172 WriteParam(m, p.base_time); 390 WriteParam(m, p.base_time);
173 WriteParam(m, p.proxy_start); 391 WriteParam(m, p.proxy_start);
(...skipping 298 matching lines...) Expand 10 before | Expand all | Expand 10 after
472 ReadParam(m, iter, &p->ssl_valid) && 690 ReadParam(m, iter, &p->ssl_valid) &&
473 ReadParam(m, iter, &p->preferred) && 691 ReadParam(m, iter, &p->preferred) &&
474 ReadParam(m, iter, &p->blacklisted_by_user); 692 ReadParam(m, iter, &p->blacklisted_by_user);
475 } 693 }
476 void ParamTraits<webkit::forms::PasswordForm>::Log(const param_type& p, 694 void ParamTraits<webkit::forms::PasswordForm>::Log(const param_type& p,
477 std::string* l) { 695 std::string* l) {
478 l->append("<PasswordForm>"); 696 l->append("<PasswordForm>");
479 } 697 }
480 698
481 } // namespace IPC 699 } // namespace IPC
OLDNEW
« no previous file with comments | « content/public/common/webkit_param_traits.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698