From 51b63f67089e9c8dbc417e5770a4286f6944aa54 Mon Sep 17 00:00:00 2001 From: "bauerb@chromium.org" Date: Wed, 5 Oct 2011 18:55:42 +0000 Subject: Use a placeholder instead of the default plugin for missing plug-ins on Mac and Linux. BUG=62079 TEST=Missing plug-in placeholder looks different Review URL: http://codereview.chromium.org/7990005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@104144 0039d316-1c4b-4281-b951-d872f2087c98 --- ipc/ipc_message_utils.h | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'ipc/ipc_message_utils.h') diff --git a/ipc/ipc_message_utils.h b/ipc/ipc_message_utils.h index 8a03069..91af787 100644 --- a/ipc/ipc_message_utils.h +++ b/ipc/ipc_message_utils.h @@ -497,6 +497,37 @@ struct ParamTraits > { } }; +template <> +struct ParamTraits > { + typedef std::vector param_type; + static void Write(Message* m, const param_type& p) { + WriteParam(m, static_cast(p.size())); + for (size_t i = 0; i < p.size(); i++) + WriteParam(m, p[i]); + } + static bool Read(const Message* m, void** iter, param_type* r) { + int size; + // ReadLength() checks for < 0 itself. + if (!m->ReadLength(iter, &size)) + return false; + r->resize(size); + for (int i = 0; i < size; i++) { + bool value; + if (!ReadParam(m, iter, &value)) + return false; + (*r)[i] = value; + } + return true; + } + static void Log(const param_type& p, std::string* l) { + for (size_t i = 0; i < p.size(); ++i) { + if (i != 0) + l->append(" "); + LogParam((p[i]), l); + } + } +}; + template struct ParamTraits > { typedef std::vector

param_type; -- cgit v1.1