canmove, Confirmed users, Bureaucrats and Sysops emeriti
1,334
edits
(better headings) |
(→Relationship of continuations to frame tree structure: more text, since this is really important) |
||
| Line 45: | Line 45: | ||
=== Relationship of continuations to frame tree structure === | === Relationship of continuations to frame tree structure === | ||
It is worth emphasizing two points about the relationship of the prev-in-flow / next-in-flow linkage to the existing frame tree structure. | |||
First, if you want to traverse the frame tree or a subtree thereof to examine all the frames once, you do <em>not</em> want to traverse next-in-flow links. All continuations are reachable by traversing the <code>GetNextSibling</code> links from the result of <code>GetFirstChild</code> for all child lists. | |||
Second, the following property holds: | |||
* Consider two frames F1 and F2 where F1's next-in-flow is F2 and their respective parent frames are P1 and P2. Then either P1's next in flow is P2, or P1 == P2 and P1/P2 is responsible for breaking F1 and F2. | * Consider two frames F1 and F2 where F1's next-in-flow is F2 and their respective parent frames are P1 and P2. Then either P1's next in flow is P2, or P1 == P2 and P1/P2 is responsible for breaking F1 and F2. | ||
In other words, continuations are sometimes siblings of each other, and sometimes not. If their parent content was broken at the same point, then they are not siblings, since they are children of different continuations of the parent. So in the frame tree for the markup | |||
<p>This is <b><i>some <br/>text</i></b>.</p> | |||
the two continuations for the <code>b</code> element are siblings (unless the line break is also a page break), but the two continuations for the <code>i</code> element are not. | |||
== Reflow statuses == | == Reflow statuses == | ||