The Recording TreeOutline was added to its own container, but that container's height was never constrained, meaning that it's height is the full height of all the TreeElement children. Since TreeOutline uses `offsetHeight` to determine how many elements to show, the virtualization logic of TreeOutline then proceeds to add everything back to the DOM since it thinks it has room.
Created attachment 334409 [details] Patch
<rdar://problem/37758441>
Comment on attachment 334409 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=334409&action=review r-, because it looks like this breaks the recording tree outline: 1. Goto https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API/Tutorial/Basic_animations 2. Record frames from "a looping panorama" demo 3. Open recording, expand first frame => No child elements > Source/WebInspectorUI/UserInterface/Views/TreeOutline.js:716 > + if (!isNaN(this._virtualizedPreviousFirstItem) && Math.abs(firstItem - this._virtualizedPreviousFirstItem) < numberVisible) Why is this needed? The bug title/summary gives the impression that the problem is with how TreeOutline is used in the CanvasSidebarPanel, not with TreeOutline itself. Please add a clarifying comment to the change log.
Comment on attachment 334409 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=334409&action=review >> Source/WebInspectorUI/UserInterface/Views/TreeOutline.js:716 >> + if (!isNaN(this._virtualizedPreviousFirstItem) && Math.abs(firstItem - this._virtualizedPreviousFirstItem) < numberVisible) > > Why is this needed? The bug title/summary gives the impression that the problem is with how TreeOutline is used in the CanvasSidebarPanel, not with TreeOutline itself. Please add a clarifying comment to the change log. This is what caused the breakage. I was trying to optimize the virtualization functionality, but I see that it needs some tweaking. :P
Created attachment 335208 [details] Patch
Comment on attachment 335208 [details] Patch r=me
Comment on attachment 335208 [details] Patch Clearing flags on attachment: 335208 Committed r229377: <https://trac.webkit.org/changeset/229377>
All reviewed patches have been landed. Closing bug.