diff options
author | ctguil@chromium.org <ctguil@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-09-16 00:23:42 +0000 |
---|---|---|
committer | ctguil@chromium.org <ctguil@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-09-16 00:23:42 +0000 |
commit | 9892b477aaf5bc739bc1a896052266ad13c79ac0 (patch) | |
tree | de4c76231e3c3ff69e2ce82c848f08a1023d4f93 /chrome/common/render_messages_params.cc | |
parent | d83a560943d1fdfcf9ec46ea001248a46e6148a7 (diff) | |
download | chromium_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.cc | 50 |
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 |