On 7/8/09 12:12 PM, Boris Zbarsky wrote:
fantasai wrote:
5. Why does nsFrameManager::RemvoeFrame need aParentFrame? Are there
cases where aParentFrame != aOldFrame->GetParent() ?
I'd have to check the callsites. I suspect no.
There could be one case caused by the lazy inline frame reparenting
optimization.
When an inline element breaks across lines, and the children in the
inline frame's overflow list are moved to the inline frame's
next-in-flow, we don't update the parent pointer in those children. This
is because traversing that list can be a performance problem. We update
the parent pointer just before we reflow the child. So during reflow of
an inline frame, some frames in its child list (that haven't been
reflowed yet) might not have the right parent pointer.
Off the top of my head I can't think of a situation that would cause
RemoveFrame to be called on one of those not-yet-reflowed children, but
maybe a weird situation to do with column balancing?
Rob
_______________________________________________
dev-tech-layout mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-tech-layout