Closed Bug 174910 Opened 22 years ago Closed 21 years ago

Mutation events inside anchor elements are not propogated up in tree

Categories

(Core :: DOM: UI Events & Focus Handling, defect, P2)

x86
Windows 2000
defect

Tracking

()

RESOLVED FIXED

People

(Reporter: aaronlev, Assigned: aaronlev)

References

Details

(Keywords: access, topembed, Whiteboard: [Waitng for sr=jst] Creates potential crashes and other problems in accessibility)

Attachments

(2 files, 1 obsolete file)

When a mutation event such as DOMAttrModified, DOMNodeInserted or DOMNodeRemoved occurs somewhere inside an <a>, it is swallowed. I think this has something to do with the event ending up in nsGenericHTMLElement::HandleDOMEventForAnchors() and going no further.
joki is gone, -> me. Aaron, is this blocking anything?
Assignee: joki → bryner
Yes, but I'm not sure what the priority should be. It would be nice to get it fixed by January/February.
Blocks: 149654
QA Contact: rakeshmishra → trix
Now that the accessibility cache is implemented using mutation events, this is an important bug. If we don't fix it, the accessibility APIs could report incorrect data for some pages, and it would inevitably lead to crashes.
Keywords: access, sec508, topembed
Priority: -- → P2
Whiteboard: Creates potential crashes and other problems in accessibility
Attachment #124720 - Flags: review?(bryner)
Other DOM events generated without a pres context would be swallowed by anchors as well.
Comment on attachment 124720 [details] [diff] [review] Shouldn't event get propogated up DOM tree even when aPresContext argument == nsnull? I'd suggest keeping the aEventStatus check as-is, and moving the aPresContext check like you suggested. However, I think it should be changed to an early return and not use NS_ENSURE_ARG (that macro implies and unexpected condition and spews to the console). I'm also curious why this event doesn't have an aPresContext parameter.
There's no pres context because the event is generated by the code in mozilla/content itself, for example nsGenericHTMLElement::SetAttr() or ::InsertChildAt()
Attachment #124720 - Attachment is obsolete: true
Attachment #124799 - Flags: review?(bryner)
Attachment #124720 - Flags: review?(bryner)
Attachment #124799 - Flags: superreview?(jst)
Attachment #124799 - Flags: review?(bryner) → review+
Patch ready.
Assignee: bryner → aaronl
Whiteboard: Creates potential crashes and other problems in accessibility → [Waitng for sr=jst] Creates potential crashes and other problems in accessibility
Comment on attachment 124799 [details] [diff] [review] New patch with bryner's suggestions sr=jst
Attachment #124799 - Flags: superreview?(jst) → superreview+
this has been checked in
Status: NEW → RESOLVED
Closed: 21 years ago
Resolution: --- → FIXED
Component: Event Handling → User events and focus handling
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: