After http://trac.webkit.org/changeset/175273, Document no longer keeps a set of MediaSessions and it doesn't need to query each MediaSession for its characteristics and play state. MediaSessionClient::hasMediaCharacteristics() is no longer needed and MediaSessionClient::mediaStateDidChange() can be removed if HTMLMediaElement calls Document::updateIsPlayingAudio() after m_playing has changed.
Created attachment 240576 [details] Patch
Comment on attachment 240576 [details] Patch r=me, with one nit: The comment you made above is really good, and I'd like to see it in the ChangeLog too.
Thanks Jer. Committed: http://trac.webkit.org/changeset/175330