Jonas Sicking wrote:
We are definitely
short on use cases for mutation events in general which is a problem.
1. Graphical breakpoints. The user marks some DOM element or attribute
to trigger break. The debugger inserts mutation listeners to watch for
the event that causes that element/attribute to be created/modified.
Then the debugger re-executes some code sequence and halts when the
appropriate listener is entered. Placing the listeners high in the tree
and analyzing all of the events is easier than trying to precisely add a
listener since the tree will be modified during re-execution.
2. Graphical tracing. Recording all or part of the DOM creation. For
visualization or analysis tools. See for example Firebug's HTML panel
with options Highlight Changes, Expand Changes, or Scroll Changes into View.
3. Client side dynamic translation. Intercept mutations and replace or
extend them. This could be for user tools like scriptish or stylish, dev
tools to inject marks or code, or for re-engineering complex sites for
newer browser features.
jjb