Open Bug 1257255 Opened 9 years ago Updated 1 year ago

Add support for listing detached DOM nodes, perhaps by document?

Categories

(DevTools :: Memory, defect, P2)

defect

Tracking

(Not tracked)

People

(Reporter: fitzgen, Unassigned)

References

(Depends on 1 open bug)

Details

With the infrastructure from bug 1056992, we could add a domNodeKind() method to JS::ubi::Node which returns an instance of the following sum type: DomNodeKind = NotDomNode | AttachedDomNode | DetachedDomNode We could then add a census breakdown that partitions the heap by the DomNodeKind of each node: { by: "domNodeKind", detached: { by: "className", then: { by: "count", count: true, bytes: true } }, attached: { by: "className", then: { by: "count", count: true, bytes: true } }, notDomNode: { by: "count", count: true, bytes: true }, } This breakdown would yield trees in the "aggregates" view like: +-------+-------+----------------------+ | Bytes | Count | Group | +-------+-------+----------------------+ | BBBBB | CCCCC | - Non-DOM nodes | | BBBBB | CCCCC | - Attached DOM nodes | | BBBBB | CCCCC | - HTMLDivElement | | BBBBB | CCCCC | - HTMLPElement | | BBBBB | CCCCC | ... | | BBBBB | CCCCC | - Detached DOM nodes | | BBBBB | CCCCC | - HTMLDivElement | | BBBBB | CCCCC | - HTMLPElement | | BBBBB | CCCCC | ... | +-------+-------+----------------------+ When combined with bug 1249788, this would give the following steps for solving/debugging bug 1056992: * Take snapshot * View "aggregates" * Group by "DOM nodes" * View all (the only in this case?) detached iframes, and their retaining paths (bug 1249788) * Break the detached iframe's retaining path to fix the bug Additionally, we could also add a census breakdown by document, if that extra level of hierarchy would help.
Summary: Add support for listing detached DOM nodes, perhaps by window? → Add support for listing detached DOM nodes, perhaps by document?
Er, those would be the step for solving bug 1256621.
Product: Firefox → DevTools
Depends on: 1474383
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.