Assertion when removing a link in personal toolbar using contextmenu

RESOLVED INACTIVE

Status

()

Core
DOM: Events
RESOLVED INACTIVE
14 years ago
2 days ago

People

(Reporter: sicking, Unassigned)

Tracking

Trunk
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

If you rightclick a link in the personal toolback and choose 'Delete' we assert
a bunch of times. The problem is that we end up calling GetControllers a bunch
of times on a xulelement that is no longer part of a document (probably the link
itself). The caller of GetControllers is nsFocusController.

The stack isn't very interesting since it's mostly HandleDOMEvent calls as well
as js. The function that removes the xulelement from the tree is not in the
callstack, that seems to be over and done with.

What seems to be happening is that when the left mousebutton is released we
close the popup which ends up focusing the window. This will fire off a buch of
commands. During this firing we call GetController on the currently focused
node, which is the link that was just deleted.

We should probably let elements notify the focuscontroller when they are being
removed from the tree. Or the focuscontroller could be an nsIDocumentObserver
(though it might need to observe a whole lot of documents) so that it can remove
the focus from elements that are removed from the tree.
Or is it ok that we're asking for the controllers of an element that has been
removed from the tree? Should nsXULElement::GetControllers simply return null
without asserting?
Assignee: events → nobody
QA Contact: ian → events

Comment 2

2 days ago
Per policy at https://wiki.mozilla.org/Bug_Triage/Projects/Bug_Handling/Bug_Husbandry#Inactive_Bugs. If this bug is not an enhancement request or a bug not present in a supported release of Firefox, then it may be reopened.
Status: NEW → RESOLVED
Last Resolved: 2 days ago
Resolution: --- → INACTIVE
You need to log in before you can comment on or make changes to this bug.