Jonas Sicking wrote: > On Thu, Oct 11, 2012 at 6:04 AM, Paul Rouget <p...@mozilla.com> wrote: > > Paul Rouget wrote: > >> Context: in the firefox devtools, we need to track some nodes and update > >> different "views" based on what's happening to this node (show its parents, > >> show its child, show its attributes, …). > >> > >> The new Mutation observers are very helpful. But there's one thing I am not > >> really sure how to handle correctly . > >> > >> When a node gets detached (parent.removeChild(node)) or reparented, I need > >> to > >> be notified. > >> > >> My current idea is to listen to "childList" mutations from the parent, > >> then, on this mutation, check if the node is still part of the children of > >> the parent, if not, check if it has a parent, if so, the node has been > >> *relocated*, then I need re-listen to a "childList" mutation from this > >> new parent, if no parent, the node has been *detached*. > >> > >> I was wondering if there was any better way to do that. > > > > Another way to do it is to listen to subtree mutations from the > > documentElement, > > and then check if the targeted node is part of the removeNodes list. > > You also would have to check if any of the the node's ancestors is > part of the removeNodes list.
Indeed. I tested this approach yesterday, and ran into this issue. The other option is to listen to subtree+childList on the root node, and everytime the callback is called, check if the node is still attached (with compareDocumentPosition) > > Would that deteriorate the performance? > > That is obviously more work that has to be done both by the platform > and by the webpage, so yes, it's worse performance. How much work I > couldn't say offhand. > > It would be worth bringing this use-case to the webapps WG where > MutationObservers are defined. Especially getting notifications when a > node is moved in and out of a document seems like it would be worth > having explicit notifications about. > > / Jonas -- Paul _______________________________________________ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform