Closed Bug 216237 Opened 22 years ago Closed 22 years ago

Stopping event propagation should not cancel system event group handlers

Categories

(Core :: DOM: Events, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: bryner, Assigned: bryner)

References

Details

(Keywords: fixed1.4.1)

Attachments

(2 files)

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 1.2.2.6 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.
Attached file testcase
You should be able to type in the text field on this page, but you can't.
Attached patch patchSplinter Review
Clear the STOP_DISPATCH flag before beginning the second event pass.
Attachment #129837 - Flags: superreview?(jst)
Attachment #129837 - Flags: review?(caillon)
Comment on attachment 129837 [details] [diff] [review] patch sr=jst
Attachment #129837 - Flags: superreview?(jst) → superreview+
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.
Attachment #129837 - Flags: approval1.5b?
Comment on attachment 129837 [details] [diff] [review] patch a=mkaply for trunk and branch Thanks for finding this
Attachment #129837 - Flags: approval1.5b?
Attachment #129837 - Flags: approval1.5b+
Attachment #129837 - Flags: approval1.4.x+
Checked in on trunk and 1.4 branch.
Status: NEW → RESOLVED
Closed: 22 years ago
Keywords: fixed1.4.1
Resolution: --- → FIXED
Blocks: 224532
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: