The problem is that selection-changed can be called multiple times for list boxes. When the notification is deferred by the AXObject cache, it's ensured to be called only one for every element in the following run loop iteration, but when not deferred the signal is emitted for every notification.
Created attachment 447940 [details] Patch
Committed r287455 (245590@trunk): <https://commits.webkit.org/245590@trunk>