Cast: Log kVideoAckReceived as a frame event in VideoSender.

To achieve this, a mapping from (lowest 8 bits of frame id) to rtp timestamp is added to VideoSender. The map is populated when a frame is encoded, and the map is read when an ack is received. 
The mapping is in the form of a fixed-size array. Since the map only holds 256 entries, there is a very rare chance that we might get a really old ack back (more than 256 frames ago, or about 8-9 seconds ago) which will result in a bad mapping.
Since this should be a very rare occurrence and it is only used for logging purposes, this works fine for our purpose. We acknowledge its limitations.

BUG=339590,343990

Review URL: https://codereview.chromium.org/177183004

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@253299 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 253299
Use validating IPC enum macros in accessibility messages.

This is part of a long-running background task to remove the remaining uses of the unchecked IPC_ENUM_TRAITS() macro.

The most automated way to do this is to tweak the json_schema_compiler to generate these for us. We'd need to do something as currently the idl doesn't support providing values for the corresponding enum

BUG=246708

Review URL: https://codereview.chromium.org/143873021

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@253300 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 253300