Open Bug 997092 Opened 10 years ago Updated 2 years ago

Get the list of reflowed nodes when adding a WeakReflowObserver on the docshell

Categories

(Core :: Layout, defect)

defect

Tracking

()

People

(Reporter: pbro, Unassigned)

References

Details

Bug 453650 gave us the ability to add observers to a docshell to be notified when reflows occur.

This is useful for the devtools because it helps developer understand better how their application behaves.

One useful thing that I find missing though is knowing which DOM element(s) was/were reflowed.
If I'm not wrong, reflows end up constructing frames, and frames are linked to DOM elements, so it seems like getting this information should be possible.

If the observer's callbacks (reflow and reflowInterruptible) would be given a list of nodes that have been reflowed, it could help with:

- updating the devtools' box-model view of a node, only when needed,
- showing if a node is hidden or visible in the devtools' markup-view,
- giving more context to developers wanted to improve their app's performance: today we can log reflows in the devtools' webconsole, sometimes with the line in the JS code that caused it, if we can, other times with no other information than the timestamp. I believe also logging the node(s) would help here.

I'm not sure whether this would be an expensive thing to add, maybe it should only be done when there actually are observers. And maybe only if these observers are registered with a specific flag.
Summary: Get the list of reflowed nodes when addeding a WeakReflowObserver on the docshell → Get the list of reflowed nodes when adding a WeakReflowObserver on the docshell
Blocks: 997198
Some relevant discussions can be found here in bug 911209 comment 26
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.