[LayoutReloaded] Initial commit -block formatting context.
[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
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