RESOLVED FIXED 55899
[Chromium] Detached DOM trees leak because of CSSStyleDeclaration wrapper sharing
https://bugs.webkit.org/show_bug.cgi?id=55899
Summary [Chromium] Detached DOM trees leak because of CSSStyleDeclaration wrapper sha...
Mikhail Naganov
Reported 2011-03-07 13:14:35 PST
A common pattern of detached DOM trees leak is observed. The common repro scenario is like this: an application sets a style value on some node, then a whole DOM subtree to which this node belongs stays uncollected, even after being detached from the document. This happens because V8 object group for the node includes CSSStyleDeclaration wrapper, which participates in two object groups -- the node group, and the group containing all style declarations. The latter group is thus held by any DOM subtree, including the document object group, and it effectively prevents all other object groups from being collected. Graphically the situation looks like this: Document DOM tree <--> CSSStyleDeclaration <--> Group with style decls. <--> CSSStyleDeclaration <--> Detached DOM subtree Thanks to Rick Byers for providing the example.
Attachments
repro page (707 bytes, text/html)
2011-03-07 13:15 PST, Mikhail Naganov
no flags
Mikhail Naganov
Comment 1 2011-03-07 13:15:15 PST
Created attachment 84974 [details] repro page
anton muhin
Comment 2 2011-03-11 05:32:27 PST
Should be fixed now. See https://bugs.webkit.org/show_bug.cgi?id=56117 for more details.
Note You need to log in before you can comment on or make changes to this bug.