summaryrefslogtreecommitdiffstats
path: root/chrome/common/render_messages_params.cc
diff options
context:
space:
mode:
authorctguil@chromium.org <ctguil@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-09-16 00:23:42 +0000
committerctguil@chromium.org <ctguil@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-09-16 00:23:42 +0000
commit9892b477aaf5bc739bc1a896052266ad13c79ac0 (patch)
treede4c76231e3c3ff69e2ce82c848f08a1023d4f93 /chrome/common/render_messages_params.cc
parentd83a560943d1fdfcf9ec46ea001248a46e6148a7 (diff)
downloadchromium_src-9892b477aaf5bc739bc1a896052266ad13c79ac0.zip
chromium_src-9892b477aaf5bc739bc1a896052266ad13c79ac0.tar.gz
chromium_src-9892b477aaf5bc739bc1a896052266ad13c79ac0.tar.bz2
Add support for webkit ValueChanged accessibility notification.
BUG=13291 TEST=interactive_ui_tests:AccessibilityWinBrowserTest.TestNotification* Review URL: http://codereview.chromium.org/3341021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59589 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/common/render_messages_params.cc')
-rw-r--r--chrome/common/render_messages_params.cc50
1 files changed, 50 insertions, 0 deletions
diff --git a/chrome/common/render_messages_params.cc b/chrome/common/render_messages_params.cc
index f193c5e..041cd21 100644
--- a/chrome/common/render_messages_params.cc
+++ b/chrome/common/render_messages_params.cc
@@ -525,6 +525,30 @@ struct ParamTraits<Extension::Location> {
}
};
+template <>
+struct ParamTraits
+ <ViewHostMsg_AccessibilityNotification_Params::NotificationType> {
+ typedef ViewHostMsg_AccessibilityNotification_Params params;
+ typedef params::NotificationType param_type;
+ static void Write(Message* m, const param_type& p) {
+ int val = static_cast<int>(p);
+ WriteParam(m, val);
+ }
+ static bool Read(const Message* m, void** iter, param_type* p) {
+ int val = 0;
+ if (!ReadParam(m, iter, &val) ||
+ val < params::NOTIFICATION_TYPE_CHECK_STATE_CHANGED ||
+ val > params::NOTIFICATION_TYPE_VALUE_CHANGED) {
+ return false;
+ }
+ *p = static_cast<param_type>(val);
+ return true;
+ }
+ static void Log(const param_type& p, std::string* l) {
+ ParamTraits<int>::Log(static_cast<int>(p), l);
+ }
+};
+
void ParamTraits<ViewMsg_Navigate_Params>::Write(Message* m,
const param_type& p) {
@@ -1799,4 +1823,30 @@ void ParamTraits<base::file_util_proxy::Entry>::Log(
l->append(")");
}
+void ParamTraits<ViewHostMsg_AccessibilityNotification_Params>::Write(
+ Message* m,
+ const param_type& p) {
+ WriteParam(m, p.notification_type);
+ WriteParam(m, p.acc_obj);
+}
+
+bool ParamTraits<ViewHostMsg_AccessibilityNotification_Params>::Read(
+ const Message* m,
+ void** iter,
+ param_type* p) {
+ return
+ ReadParam(m, iter, &p->notification_type) &&
+ ReadParam(m, iter, &p->acc_obj);
+}
+
+void ParamTraits<ViewHostMsg_AccessibilityNotification_Params>::Log(
+ const param_type& p,
+ std::string* l) {
+ l->append("(");
+ LogParam(p.notification_type, l);
+ l->append(", ");
+ LogParam(p.acc_obj, l);
+ l->append(")");
+}
+
} // namespace IPC