Changes

Jump to: navigation, search

Gecko:Overview

913 bytes added, 02:04, 9 March 2018
Adding description for ib-splitting
nsIFrame::GetNextInFlow and nsIFrame::GetPrevInFlow traverse only the
fluid continuations and do not cross fixed continuation boundaries.
 
If an inline frame has non-inline children, then we split the original
inline frame into multiple parts. The original inline's children are
distributed into these parts like so. The children of the original
inline are grouped into runs of inline and non-inline and runs of
inlines get an inline parent while runs of non-inline get an anonymous
block parent. This is ib-splitting or block-inside-inline-splitting.
This splitting proceeds recursively over the frame tree until all
non-inlines inside inlines are ancestors of a block frame with anonymous
block wrappers in between. This splitting maintains the relative order
between these child frames and the relationship between the parts of a
split inline is maintained using an ib-sibling chain. It is important
to note that any wrappers created during frame construction (such as
for tables) may not be included in the ib-sibling chain depending on
when this wrapper creation takes place.
TODO: nsBox craziness from https://bugzilla.mozilla.org/show_bug.cgi?id=524925#c64
 
TODO: describe block-within-inline splits
TODO: link to documentation of block and inline layout
3
edits

Navigation menu