If you cancel an event by calling event.stopPropagation(), event.preventBubble(), event.preventCapture(), or event.cancelBubble = true, then we incorrectly apply that to the system event group as well. This violates section 22.214.171.124 of the DOM3 Events spec, which says that stopping propagation in one event group cannot affect propagation in other event groups. Besides that, it leads to some nasty problems, which my testcase will demonstrate.
Created attachment 129836 [details] testcase You should be able to type in the text field on this page, but you can't.
Created attachment 129837 [details] [diff] [review] patch Clear the STOP_DISPATCH flag before beginning the second event pass.
Comment on attachment 129837 [details] [diff] [review] patch sr=jst
Attachment #129837 - Flags: superreview?(jst) → superreview+
16 years ago
Attachment #129837 - Flags: review?(caillon) → review+
Comment on attachment 129837 [details] [diff] [review] patch Can I get this in for 1.5b? It's a pretty safe fix.
Comment on attachment 129837 [details] [diff] [review] patch a=mkaply for trunk and branch Thanks for finding this
Checked in on trunk and 1.4 branch.
Status: NEW → RESOLVED
Last Resolved: 16 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.