fantasai wrote:
So afaict the actual work of DeletingFrameSubtree &co is just these lines
http://mxr.mozilla.org/mozilla-central/source/layout/base/nsCSSFrameConstructor.cpp#6938
// Remove the mapping from the content object to its frame.
nsIContent* content = aFrame->GetContent();
if (content) {
aFrameManager->RemoveAsPrimaryFrame(content, aFrame);
aFrameManager->ClearAllUndisplayedContentIn(content);
}
with the rest being recursion code.
Yes; the rest of it is basically making sure that we find all the
relevant out-of-flows and destroy them in the right order.
This is then followed up by a call to nsFrameManager::RemoveFrame at the top
level. Does that seem right?
Yes, but that call is preceded by RemoveFrame calls on the out-of-flows
whose placeholders are under the frame being removed but whose
containing blocks are not.
Would it make sense for nsIFrame::RemoveFrame to unmap the content
itself?
Yes; the hard part is handling the out-of-flows, right?
-Boris
_______________________________________________
dev-tech-layout mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-tech-layout