diff options
author | ojan@google.com <ojan@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-10-09 21:58:05 +0000 |
---|---|---|
committer | ojan@google.com <ojan@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-10-09 21:58:05 +0000 |
commit | 8a2820a90f85f91c500a9d382f8e8ba870fb621c (patch) | |
tree | 8d8bd23228cd1e6455e64b0de46e961947459382 /chrome/common/ipc_message_utils.h | |
parent | 283f76091ad757bdc17c6d9090209eade4211075 (diff) | |
download | chromium_src-8a2820a90f85f91c500a9d382f8e8ba870fb621c.zip chromium_src-8a2820a90f85f91c500a9d382f8e8ba870fb621c.tar.gz chromium_src-8a2820a90f85f91c500a9d382f8e8ba870fb621c.tar.bz2 |
Patch by Thatcher Ulrich <tulrich@google.com>.
Implement "iframe shim" behavior for windowed plugins.
In FF and IE on windows, iframes are implemented as native HWNDs.
This has the side effect that iframes display on top of windowed
plugins. This side effect has long been known as a workaround for
allowing HTML elements to appear above plugin content.
BUG=1788
Review URL: http://codereview.chromium.org/7032
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3137 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/common/ipc_message_utils.h')
-rw-r--r-- | chrome/common/ipc_message_utils.h | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/chrome/common/ipc_message_utils.h b/chrome/common/ipc_message_utils.h index 0c6ef8e..d5531e2 100644 --- a/chrome/common/ipc_message_utils.h +++ b/chrome/common/ipc_message_utils.h @@ -943,6 +943,40 @@ struct ParamTraits< Tuple5<A, B, C, D, E> > { } }; +template <class A, class B, class C, class D, class E, class F> +struct ParamTraits< Tuple6<A, B, C, D, E, F> > { + typedef Tuple6<A, B, C, D, E, F> param_type; + static void Write(Message* m, const param_type& p) { + WriteParam(m, p.a); + WriteParam(m, p.b); + WriteParam(m, p.c); + WriteParam(m, p.d); + WriteParam(m, p.e); + WriteParam(m, p.f); + } + static bool Read(const Message* m, void** iter, param_type* r) { + return (ReadParam(m, iter, &r->a) && + ReadParam(m, iter, &r->b) && + ReadParam(m, iter, &r->c) && + ReadParam(m, iter, &r->d) && + ReadParam(m, iter, &r->e) && + ReadParam(m, iter, &r->f)); + } + static void Log(const param_type& p, std::wstring* l) { + LogParam(p.a, l); + l->append(L", "); + LogParam(p.b, l); + l->append(L", "); + LogParam(p.c, l); + l->append(L", "); + LogParam(p.d, l); + l->append(L", "); + LogParam(p.e, l); + l->append(L", "); + LogParam(p.f, l); + } +}; + template <> struct ParamTraits<webkit_glue::WebApplicationInfo> { typedef webkit_glue::WebApplicationInfo param_type; |