The function UserGestureToken::processingUserGestureForMedia is use for non-media things such as the WebAuthenticatorCoordinator. It really should be renamed to indicate what it does, since the current name is quite unclear.
(or rather, we should either rename it or stop using it for non-media related things).
It looks like the differences between processingUserGesture() and processingUserGestureForMedia() are: - processingUserGestureForMedia() works for any scope type, processingUserGesture() only works for All (not MediaOnly) - processingUserGestureForMedia() works for state == ProcessingUserGesture or m_state == ProcessingPotentialUserGesture, processingUserGesture() only works for state == ProcessingUserGesture.
It took a while to find, but ProcessingPotentialUserGesture is set when a touch event is a potential tap and we are in TouchStart. GestureScope::MediaOnly is used when propagating a user gesture on from a fetch or XHR.
<rdar://problem/78403759>