Index: chrome/common/render_messages.h |
diff --git a/chrome/common/render_messages.h b/chrome/common/render_messages.h |
index 8dc63a9c6ebdf66a04e782e27ec1c56fd4bb57e4..e45d79d745f5209df9157c1b412861c8e912d8e8 100644 |
--- a/chrome/common/render_messages.h |
+++ b/chrome/common/render_messages.h |
@@ -52,6 +52,7 @@ |
#include "webkit/glue/plugins/webplugin.h" |
#include "webkit/glue/plugins/webplugininfo.h" |
#include "webkit/glue/resource_loader_bridge.h" |
+#include "webkit/glue/webaccessibility.h" |
#include "webkit/glue/webcookie.h" |
#include "webkit/glue/webdropdata.h" |
#include "webkit/glue/webmenuitem.h" |
@@ -61,10 +62,6 @@ namespace base { |
class Time; |
} |
-namespace webkit_glue { |
-struct WebAccessibility; |
-} |
- |
class SkBitmap; |
// Parameters structure for ViewMsg_Navigate, which has too many data |
@@ -3325,9 +3322,55 @@ struct ParamTraits<WindowContainerType> { |
template <> |
struct ParamTraits<webkit_glue::WebAccessibility> { |
typedef webkit_glue::WebAccessibility param_type; |
- static void Write(Message* m, const param_type& p); |
- static bool Read(const Message* m, void** iter, param_type* p); |
- static void Log(const param_type& p, std::wstring* l); |
+ static void Write(Message* m, const param_type& p) { |
+ WriteParam(m, p.id); |
+ WriteParam(m, p.name); |
+ WriteParam(m, p.value); |
+ WriteParam(m, static_cast<int>(p.role)); |
+ WriteParam(m, static_cast<int>(p.state)); |
+ WriteParam(m, p.location); |
+ WriteParam(m, p.attributes); |
+ WriteParam(m, p.children); |
+ } |
+ static bool Read(const Message* m, void** iter, param_type* p) { |
+ bool ret = ReadParam(m, iter, &p->id); |
+ ret = ret && ReadParam(m, iter, &p->name); |
+ ret = ret && ReadParam(m, iter, &p->value); |
+ int role = -1; |
+ ret = ret && ReadParam(m, iter, &role); |
+ if (role >= webkit_glue::WebAccessibility::ROLE_NONE && |
+ role < webkit_glue::WebAccessibility::NUM_ROLES) { |
+ p->role = static_cast<webkit_glue::WebAccessibility::Role>(role); |
+ } else { |
+ p->role = webkit_glue::WebAccessibility::ROLE_NONE; |
+ } |
+ int state = 0; |
+ ret = ret && ReadParam(m, iter, &state); |
+ p->state = static_cast<webkit_glue::WebAccessibility::State>(state); |
+ ret = ret && ReadParam(m, iter, &p->location); |
+ ret = ret && ReadParam(m, iter, &p->attributes); |
+ ret = ret && ReadParam(m, iter, &p->children); |
+ return ret; |
+ } |
+ static void Log(const param_type& p, std::wstring* l) { |
+ l->append(L"("); |
+ LogParam(p.id, l); |
+ l->append(L", "); |
+ LogParam(p.name, l); |
+ l->append(L", "); |
+ LogParam(p.value, l); |
+ l->append(L", "); |
+ LogParam(static_cast<int>(p.role), l); |
+ l->append(L", "); |
+ LogParam(static_cast<int>(p.state), l); |
+ l->append(L", "); |
+ LogParam(p.location, l); |
+ l->append(L", "); |
+ LogParam(p.attributes, l); |
+ l->append(L", "); |
+ LogParam(p.children, l); |
+ l->append(L")"); |
+ } |
}; |
// Traits for ViewMsg_DeviceOrientationUpdated_Params |