[LayoutReloaded] Remove left/right width/height setters from Layout.Box
[WebKit-https.git] / Tools / LayoutReloaded / README.md
1 Visual formatting model implementation.
2 See https://www.w3.org/TR/CSS22/visuren.html for more information.
3
4 WebCore
5 1. recursive layout
6 2. layout logic lives in the renderers mixing block with inline etc.
7
8 LayoutReloaded
9 1. iterative layout within a formatting context, recursive across nested formatting contexts 
10 2. formatting context is responsible for computing size/positions for all the boxes that live in the
11 context including in/out-of-flow and floating boxes
12 3. Initial containing block creates the top level (initial) block formatting context
13 4. Floats are resitriced to their containing blocks.
14 5. Boxes, including inline tree are generated while laying out the content. LayoutTree -> BoxTree.
15
16 Instructions:
17 1. apply ./misc/LayoutReloadedWebKit.patch
18 2. compile WebKit
19 3. load ./test/index.html
20
21 Design:
22 FormattingContext
23  - BlockFormattingContext
24  - InlineFormattingContext (not yet implemented)
25  - TableFormattingContext (not yet implemented)
26  - FlexFormattingContext (not yet implemented)
27  - etc.
28
29 Box
30  - Container
31   - BlockContainer
32    - InitialBlockContainer
33   - InlineContainer (not yet)
34  - InlineBox (not yet)
35  
36
37 Partially done:
38 Block formatting context:
39 - static, relative and out of flow positioning
40 - margin collapsing
41 - floats
42
43 Missing:
44 - Inline formatting context
45 - Everything else