Random updates for all added proxy interfaces I've done in the past week.
TEST=none
BUG=none
Review URL: http://codereview.chromium.org/4609001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65543 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/ppapi/proxy/ppapi_param_traits.cc b/ppapi/proxy/ppapi_param_traits.cc
index 4bfe23c..04c014b 100644
--- a/ppapi/proxy/ppapi_param_traits.cc
+++ b/ppapi/proxy/ppapi_param_traits.cc
@@ -6,10 +6,38 @@
#include <string.h> // For memcpy
+#include "ppapi/c/pp_resource.h"
+#include "ppapi/proxy/interface_proxy.h"
+#include "ppapi/proxy/ppapi_messages.h"
#include "ppapi/proxy/serialized_var.h"
namespace IPC {
+// PP_Bool ---------------------------------------------------------------------
+
+// static
+void ParamTraits<PP_Bool>::Write(Message* m, const param_type& p) {
+ ParamTraits<bool>::Write(m, pp::proxy::PPBoolToBool(p));
+}
+
+// static
+bool ParamTraits<PP_Bool>::Read(const Message* m, void** iter, param_type* r) {
+ // We specifically want to be strict here about what types of input we accept,
+ // which ParamTraits<bool> does for us. We don't want to deserialize "2" into
+ // a PP_Bool, for example.
+ bool result = false;
+ if (!ParamTraits<bool>::Read(m, iter, &result))
+ return false;
+ *r = pp::proxy::BoolToPPBool(result);
+ return true;
+}
+
+// static
+void ParamTraits<PP_Bool>::Log(const param_type& p, std::string* l) {
+}
+
+// PP_InputEvent ---------------------------------------------------------------
+
// static
void ParamTraits<PP_InputEvent>::Write(Message* m, const param_type& p) {
// PP_InputEvent is just POD so we can just memcpy it.
@@ -111,6 +139,46 @@
void ParamTraits<PP_Size>::Log(const param_type& p, std::string* l) {
}
+// PPBFont_DrawTextAt_Params ---------------------------------------------------
+
+// static
+void ParamTraits<pp::proxy::PPBFont_DrawTextAt_Params>::Write(
+ Message* m,
+ const param_type& p) {
+ ParamTraits<PP_Resource>::Write(m, p.font);
+ ParamTraits<PP_Resource>::Write(m, p.image_data);
+ ParamTraits<PP_Bool>::Write(m, p.text_is_rtl);
+ ParamTraits<PP_Bool>::Write(m, p.override_direction);
+ ParamTraits<PP_Point>::Write(m, p.position);
+ ParamTraits<uint32_t>::Write(m, p.color);
+ ParamTraits<PP_Rect>::Write(m, p.clip);
+ ParamTraits<bool>::Write(m, p.clip_is_null);
+ ParamTraits<PP_Bool>::Write(m, p.image_data_is_opaque);
+}
+
+// static
+bool ParamTraits<pp::proxy::PPBFont_DrawTextAt_Params>::Read(
+ const Message* m,
+ void** iter,
+ param_type* r) {
+ return
+ ParamTraits<PP_Resource>::Read(m, iter, &r->font) &&
+ ParamTraits<PP_Resource>::Read(m, iter, &r->image_data) &&
+ ParamTraits<PP_Bool>::Read(m, iter, &r->text_is_rtl) &&
+ ParamTraits<PP_Bool>::Read(m, iter, &r->override_direction) &&
+ ParamTraits<PP_Point>::Read(m, iter, &r->position) &&
+ ParamTraits<uint32_t>::Read(m, iter, &r->color) &&
+ ParamTraits<PP_Rect>::Read(m, iter, &r->clip) &&
+ ParamTraits<bool>::Read(m, iter, &r->clip_is_null) &&
+ ParamTraits<PP_Bool>::Read(m, iter, &r->image_data_is_opaque);
+}
+
+// static
+void ParamTraits<pp::proxy::PPBFont_DrawTextAt_Params>::Log(
+ const param_type& p,
+ std::string* l) {
+}
+
// SerializedVar ---------------------------------------------------------------
// static
@@ -131,6 +199,44 @@
std::string* l) {
}
+// pp::proxy::SerializedFontDescription ----------------------------------------
+
+// static
+void ParamTraits<pp::proxy::SerializedFontDescription>::Write(
+ Message* m,
+ const param_type& p) {
+ ParamTraits<pp::proxy::SerializedVar>::Write(m, p.face);
+ ParamTraits<int32_t>::Write(m, p.family);
+ ParamTraits<uint32_t>::Write(m, p.size);
+ ParamTraits<int32_t>::Write(m, p.weight);
+ ParamTraits<PP_Bool>::Write(m, p.italic);
+ ParamTraits<PP_Bool>::Write(m, p.small_caps);
+ ParamTraits<int32_t>::Write(m, p.letter_spacing);
+ ParamTraits<int32_t>::Write(m, p.word_spacing);
+}
+
+// static
+bool ParamTraits<pp::proxy::SerializedFontDescription>::Read(
+ const Message* m,
+ void** iter,
+ param_type* r) {
+ return
+ ParamTraits<pp::proxy::SerializedVar>::Read(m, iter, &r->face) &&
+ ParamTraits<int32_t>::Read(m, iter, &r->family) &&
+ ParamTraits<uint32_t>::Read(m, iter, &r->size) &&
+ ParamTraits<int32_t>::Read(m, iter, &r->weight) &&
+ ParamTraits<PP_Bool>::Read(m, iter, &r->italic) &&
+ ParamTraits<PP_Bool>::Read(m, iter, &r->small_caps) &&
+ ParamTraits<int32_t>::Read(m, iter, &r->letter_spacing) &&
+ ParamTraits<int32_t>::Read(m, iter, &r->word_spacing);
+}
+
+// static
+void ParamTraits<pp::proxy::SerializedFontDescription>::Log(
+ const param_type& p,
+ std::string* l) {
+}
+
// std::vector<SerializedVar> --------------------------------------------------
void ParamTraits< std::vector<pp::proxy::SerializedVar> >::Write(
@@ -186,5 +292,4 @@
std::string* l) {
}
-
} // namespace IPC