Gecko:Continuation Model: Difference between revisions

add info on overflow containers
(add info on overflow containers)
Line 47: Line 47:
* nsBlockFrame creates multiple inline children, each one associated with the same inline element, separated by line breaks, or by changes in text direction
* nsBlockFrame creates multiple inline children, each one associated with the same inline element, separated by line breaks, or by changes in text direction
* nsTableColFrame creates non-fluid continuations for itself if it has span="N" and N > 1
* nsTableColFrame creates non-fluid continuations for itself if it has span="N" and N > 1
=== Overflow Container Continuations ===
Sometimes the content of a frame needs to break across pages even though the frame itself is complete. This usually happens if an element with fixed height has overflow that doesn't fit on one page. In this case, the completed frame is "overflow incomplete", and special continuations are created to hold its overflow. These continuations are called "overflow containers". They are invisible, and are kept on a special list in their parent. See documentation in [http://lxr.mozilla.org/seamonkey/source/layout/generic/nsContainerFrame.h nsContainerFrame.h] and example trees in [https://bugzilla.mozilla.org/show_bug.cgi?id=379349#c3 bug 379349 comment 3].
This infrastructure was extended in [https://bugzilla.mozilla.org/show_bug.cgi?id=154892 bug 154892] to also manage continuations for absolutely-positioned frames.


=== Relationship of continuations to frame tree structure ===
=== Relationship of continuations to frame tree structure ===
Confirmed users
104

edits