Index: content/public/common/common_param_traits.cc |
diff --git a/content/public/common/common_param_traits.cc b/content/public/common/common_param_traits.cc |
index 8ee6b2afd8eb4f1b5abb53f036fe707dcd6811b2..656ad68c7607760c088f7aac32376e53fc4ef4be 100644 |
--- a/content/public/common/common_param_traits.cc |
+++ b/content/public/common/common_param_traits.cc |
@@ -12,6 +12,7 @@ |
#include "third_party/skia/include/core/SkBitmap.h" |
#include "ui/base/range/range.h" |
#include "ui/gfx/rect.h" |
+#include "ui/gfx/rect_f.h" |
namespace { |
@@ -422,6 +423,34 @@ void ParamTraits<gfx::Rect>::Log(const gfx::Rect& p, std::string* l) { |
p.width(), p.height())); |
} |
+void ParamTraits<gfx::RectF>::Write(Message* m, const gfx::RectF& p) { |
+ ParamTraits<float>::Write(m, p.x()); |
+ ParamTraits<float>::Write(m, p.y()); |
+ ParamTraits<float>::Write(m, p.width()); |
+ ParamTraits<float>::Write(m, p.height()); |
+} |
+ |
+bool ParamTraits<gfx::RectF>::Read(const Message* m, |
+ PickleIterator* iter, |
+ gfx::RectF* r) { |
+ float x, y, w, h; |
+ if (!ParamTraits<float>::Read(m, iter, &x) || |
+ !ParamTraits<float>::Read(m, iter, &y) || |
+ !ParamTraits<float>::Read(m, iter, &w) || |
+ !ParamTraits<float>::Read(m, iter, &h)) |
+ return false; |
+ r->set_x(x); |
+ r->set_y(y); |
+ r->set_width(w); |
+ r->set_height(h); |
+ return true; |
+} |
+ |
+void ParamTraits<gfx::RectF>::Log(const gfx::RectF& p, std::string* l) { |
+ l->append(base::StringPrintf("(%f, %f, %f, %f)", p.x(), p.y(), |
+ p.width(), p.height())); |
+} |
+ |
void ParamTraits<ui::Range>::Write(Message* m, const ui::Range& r) { |
m->WriteUInt64(r.start()); |
m->WriteUInt64(r.end()); |