1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-28 23:07:35 +00:00

LibWeb: Show formatting context roots in layout tree dumps

This patch does three things:

- Factors out the code that determines whether a box will create a new
  formatting context for its children (and which type of context)

- Uses that code to mark all formatting context roots in layout tree
  dumps. This makes it much easier to follow along with layout since
  you can now see exactly where control is transferred to a new
  formatting context.

- Rebaselines all existing layout tests, since the output format has
  changed slightly.
This commit is contained in:
Andreas Kling 2023-05-03 10:32:23 +02:00
parent 42e118e6a9
commit 968db96101
117 changed files with 905 additions and 851 deletions

View file

@ -1,22 +1,22 @@
Viewport <#document> at (0,0) content-size 800x600 children: not-inline
BlockContainer <html> at (0,0) content-size 800x293.625 children: not-inline
BlockContainer <html> at (0,0) content-size 800x293.625 [BFC] children: not-inline
BlockContainer <body> at (8,8) content-size 784x277.625 children: not-inline
TableWrapper <(anonymous)> at (8,8) content-size 164.296875x66.40625 children: not-inline
TableBox <table.table-border-black> at (9,9) content-size 164.296875x64.40625 children: not-inline
TableWrapper <(anonymous)> at (8,8) content-size 164.296875x66.40625 [BFC] children: not-inline
TableBox <table.table-border-black> at (9,9) content-size 164.296875x64.40625 [TFC] children: not-inline
BlockContainer <(anonymous)> at (8,8) content-size 0x0 children: inline
TextNode <#text>
TableRowGroupBox <tbody> at (9,9) content-size 166.296875x64.40625 children: not-inline
TableRowBox <tr> at (9,9) content-size 166.296875x21.46875 children: not-inline
BlockContainer <(anonymous)> at (8,8) content-size 0x0 children: inline
TextNode <#text>
TableCellBox <td> at (11,11) content-size 82.015625x17.46875 children: inline
TableCellBox <td> at (11,11) content-size 82.015625x17.46875 [BFC] children: inline
line 0 width: 82.015625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
frag 0 from TextNode start: 0, length: 9, rect: [11,11 82.015625x17.46875]
"Firstname"
TextNode <#text>
BlockContainer <(anonymous)> at (8,8) content-size 0x0 children: inline
TextNode <#text>
TableCellBox <td> at (97.015625,11) content-size 76.28125x17.46875 children: inline
TableCellBox <td> at (97.015625,11) content-size 76.28125x17.46875 [BFC] children: inline
line 0 width: 76.28125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
frag 0 from TextNode start: 0, length: 8, rect: [97.015625,11 76.28125x17.46875]
"Lastname"
@ -28,14 +28,14 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
TableRowBox <tr> at (9,30.46875) content-size 166.296875x21.46875 children: not-inline
BlockContainer <(anonymous)> at (8,8) content-size 0x0 children: inline
TextNode <#text>
TableCellBox <td> at (11,32.46875) content-size 82.015625x17.46875 children: inline
TableCellBox <td> at (11,32.46875) content-size 82.015625x17.46875 [BFC] children: inline
line 0 width: 44.65625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
frag 0 from TextNode start: 0, length: 5, rect: [11,32.46875 44.65625x17.46875]
"Peter"
TextNode <#text>
BlockContainer <(anonymous)> at (8,8) content-size 0x0 children: inline
TextNode <#text>
TableCellBox <td> at (97.015625,32.46875) content-size 76.28125x17.46875 children: inline
TableCellBox <td> at (97.015625,32.46875) content-size 76.28125x17.46875 [BFC] children: inline
line 0 width: 53.671875, height: 17.46875, bottom: 17.46875, baseline: 13.53125
frag 0 from TextNode start: 0, length: 7, rect: [97.015625,32.46875 53.671875x17.46875]
"Griffin"
@ -47,14 +47,14 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
TableRowBox <tr> at (9,51.9375) content-size 166.296875x21.46875 children: not-inline
BlockContainer <(anonymous)> at (8,8) content-size 0x0 children: inline
TextNode <#text>
TableCellBox <td> at (11,53.9375) content-size 82.015625x17.46875 children: inline
TableCellBox <td> at (11,53.9375) content-size 82.015625x17.46875 [BFC] children: inline
line 0 width: 35.125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
frag 0 from TextNode start: 0, length: 4, rect: [11,53.9375 35.125x17.46875]
"Lois"
TextNode <#text>
BlockContainer <(anonymous)> at (8,8) content-size 0x0 children: inline
TextNode <#text>
TableCellBox <td> at (97.015625,53.9375) content-size 76.28125x17.46875 children: inline
TableCellBox <td> at (97.015625,53.9375) content-size 76.28125x17.46875 [BFC] children: inline
line 0 width: 53.671875, height: 17.46875, bottom: 17.46875, baseline: 13.53125
frag 0 from TextNode start: 0, length: 7, rect: [97.015625,53.9375 53.671875x17.46875]
"Griffin"
@ -66,22 +66,22 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
BlockContainer <(anonymous)> at (8,74.40625) content-size 784x0 children: inline
TextNode <#text>
TextNode <#text>
TableWrapper <(anonymous)> at (8,74.40625) content-size 164.296875x62.40625 children: not-inline
TableBox <table.table-border-black> at (8,74.40625) content-size 164.296875x62.40625 children: not-inline
TableWrapper <(anonymous)> at (8,74.40625) content-size 164.296875x62.40625 [BFC] children: not-inline
TableBox <table.table-border-black> at (8,74.40625) content-size 164.296875x62.40625 [TFC] children: not-inline
BlockContainer <(anonymous)> at (8,74.40625) content-size 0x0 children: inline
TextNode <#text>
TableRowGroupBox <tbody> at (8,74.40625) content-size 164.296875x62.40625 children: not-inline
TableRowBox <tr> at (8,74.40625) content-size 164.296875x20.46875 children: not-inline
BlockContainer <(anonymous)> at (8,74.40625) content-size 0x0 children: inline
TextNode <#text>
TableCellBox <td> at (9,75.40625) content-size 82.015625x17.46875 children: inline
TableCellBox <td> at (9,75.40625) content-size 82.015625x17.46875 [BFC] children: inline
line 0 width: 82.015625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
frag 0 from TextNode start: 0, length: 9, rect: [9,75.40625 82.015625x17.46875]
"Firstname"
TextNode <#text>
BlockContainer <(anonymous)> at (8,74.40625) content-size 0x0 children: inline
TextNode <#text>
TableCellBox <td> at (95.015625,75.40625) content-size 76.28125x17.46875 children: inline
TableCellBox <td> at (95.015625,75.40625) content-size 76.28125x17.46875 [BFC] children: inline
line 0 width: 76.28125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
frag 0 from TextNode start: 0, length: 8, rect: [95.015625,75.40625 76.28125x17.46875]
"Lastname"
@ -93,14 +93,14 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
TableRowBox <tr> at (8,94.875) content-size 164.296875x21.46875 children: not-inline
BlockContainer <(anonymous)> at (8,74.40625) content-size 0x0 children: inline
TextNode <#text>
TableCellBox <td> at (9,96.875) content-size 82.015625x17.46875 children: inline
TableCellBox <td> at (9,96.875) content-size 82.015625x17.46875 [BFC] children: inline
line 0 width: 44.65625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
frag 0 from TextNode start: 0, length: 5, rect: [9,96.875 44.65625x17.46875]
"Peter"
TextNode <#text>
BlockContainer <(anonymous)> at (8,74.40625) content-size 0x0 children: inline
TextNode <#text>
TableCellBox <td> at (95.015625,96.875) content-size 76.28125x17.46875 children: inline
TableCellBox <td> at (95.015625,96.875) content-size 76.28125x17.46875 [BFC] children: inline
line 0 width: 53.671875, height: 17.46875, bottom: 17.46875, baseline: 13.53125
frag 0 from TextNode start: 0, length: 7, rect: [95.015625,96.875 53.671875x17.46875]
"Griffin"
@ -112,14 +112,14 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
TableRowBox <tr> at (8,116.34375) content-size 164.296875x20.46875 children: not-inline
BlockContainer <(anonymous)> at (8,74.40625) content-size 0x0 children: inline
TextNode <#text>
TableCellBox <td> at (9,118.34375) content-size 82.015625x17.46875 children: inline
TableCellBox <td> at (9,118.34375) content-size 82.015625x17.46875 [BFC] children: inline
line 0 width: 35.125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
frag 0 from TextNode start: 0, length: 4, rect: [9,118.34375 35.125x17.46875]
"Lois"
TextNode <#text>
BlockContainer <(anonymous)> at (8,74.40625) content-size 0x0 children: inline
TextNode <#text>
TableCellBox <td> at (95.015625,118.34375) content-size 76.28125x17.46875 children: inline
TableCellBox <td> at (95.015625,118.34375) content-size 76.28125x17.46875 [BFC] children: inline
line 0 width: 53.671875, height: 17.46875, bottom: 17.46875, baseline: 13.53125
frag 0 from TextNode start: 0, length: 7, rect: [95.015625,118.34375 53.671875x17.46875]
"Griffin"
@ -131,21 +131,21 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
BlockContainer <(anonymous)> at (8,136.8125) content-size 784x0 children: inline
TextNode <#text>
TextNode <#text>
TableWrapper <(anonymous)> at (8,136.8125) content-size 160.296875x56.40625 children: not-inline
TableBox <div.table.border-black> at (8,136.8125) content-size 160.296875x56.40625 children: not-inline
TableWrapper <(anonymous)> at (8,136.8125) content-size 160.296875x56.40625 [BFC] children: not-inline
TableBox <div.table.border-black> at (8,136.8125) content-size 160.296875x56.40625 [TFC] children: not-inline
BlockContainer <(anonymous)> at (8,136.8125) content-size 0x0 children: inline
TextNode <#text>
TableRowBox <div.table-row.border-black> at (8,136.8125) content-size 160.296875x18.46875 children: not-inline
BlockContainer <(anonymous)> at (8,136.8125) content-size 0x0 children: inline
TextNode <#text>
TableCellBox <div.table-cell.border-black> at (8,136.8125) content-size 82.015625x17.46875 children: inline
TableCellBox <div.table-cell.border-black> at (8,136.8125) content-size 82.015625x17.46875 [BFC] children: inline
line 0 width: 82.015625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
frag 0 from TextNode start: 0, length: 9, rect: [8,136.8125 82.015625x17.46875]
"Firstname"
TextNode <#text>
BlockContainer <(anonymous)> at (8,136.8125) content-size 0x0 children: inline
TextNode <#text>
TableCellBox <div.table-cell.border-black> at (92.015625,136.8125) content-size 76.28125x17.46875 children: inline
TableCellBox <div.table-cell.border-black> at (92.015625,136.8125) content-size 76.28125x17.46875 [BFC] children: inline
line 0 width: 76.28125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
frag 0 from TextNode start: 0, length: 8, rect: [92.015625,136.8125 76.28125x17.46875]
"Lastname"
@ -157,14 +157,14 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
TableRowBox <div.table-row.border-black> at (8,155.28125) content-size 160.296875x19.46875 children: not-inline
BlockContainer <(anonymous)> at (8,136.8125) content-size 0x0 children: inline
TextNode <#text>
TableCellBox <div.table-cell.border-black> at (8,156.28125) content-size 82.015625x17.46875 children: inline
TableCellBox <div.table-cell.border-black> at (8,156.28125) content-size 82.015625x17.46875 [BFC] children: inline
line 0 width: 44.65625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
frag 0 from TextNode start: 0, length: 5, rect: [8,156.28125 44.65625x17.46875]
"Peter"
TextNode <#text>
BlockContainer <(anonymous)> at (8,136.8125) content-size 0x0 children: inline
TextNode <#text>
TableCellBox <div.table-cell.border-black> at (92.015625,156.28125) content-size 76.28125x17.46875 children: inline
TableCellBox <div.table-cell.border-black> at (92.015625,156.28125) content-size 76.28125x17.46875 [BFC] children: inline
line 0 width: 53.671875, height: 17.46875, bottom: 17.46875, baseline: 13.53125
frag 0 from TextNode start: 0, length: 7, rect: [92.015625,156.28125 53.671875x17.46875]
"Griffin"
@ -176,14 +176,14 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
TableRowBox <div.table-row.border-black> at (8,174.75) content-size 160.296875x18.46875 children: not-inline
BlockContainer <(anonymous)> at (8,136.8125) content-size 0x0 children: inline
TextNode <#text>
TableCellBox <div.table-cell.border-black> at (8,175.75) content-size 82.015625x17.46875 children: inline
TableCellBox <div.table-cell.border-black> at (8,175.75) content-size 82.015625x17.46875 [BFC] children: inline
line 0 width: 35.125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
frag 0 from TextNode start: 0, length: 4, rect: [8,175.75 35.125x17.46875]
"Lois"
TextNode <#text>
BlockContainer <(anonymous)> at (8,136.8125) content-size 0x0 children: inline
TextNode <#text>
TableCellBox <div.table-cell.border-black> at (92.015625,175.75) content-size 76.28125x17.46875 children: inline
TableCellBox <div.table-cell.border-black> at (92.015625,175.75) content-size 76.28125x17.46875 [BFC] children: inline
line 0 width: 53.671875, height: 17.46875, bottom: 17.46875, baseline: 13.53125
frag 0 from TextNode start: 0, length: 7, rect: [92.015625,175.75 53.671875x17.46875]
"Griffin"
@ -195,21 +195,21 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
BlockContainer <(anonymous)> at (8,193.21875) content-size 784x0 children: inline
TextNode <#text>
TextNode <#text>
TableWrapper <(anonymous)> at (8,193.21875) content-size 178.296875x92.40625 children: not-inline
TableBox <div.table.thick-border-black> at (8,193.21875) content-size 178.296875x92.40625 children: not-inline
TableWrapper <(anonymous)> at (8,193.21875) content-size 178.296875x92.40625 [BFC] children: not-inline
TableBox <div.table.thick-border-black> at (8,193.21875) content-size 178.296875x92.40625 [TFC] children: not-inline
BlockContainer <(anonymous)> at (8,193.21875) content-size 0x0 children: inline
TextNode <#text>
TableRowBox <div.table-row.thick-border-black> at (8,193.21875) content-size 178.296875x27.46875 children: not-inline
BlockContainer <(anonymous)> at (8,193.21875) content-size 0x0 children: inline
TextNode <#text>
TableCellBox <div.table-cell.thick-border-black> at (8,193.21875) content-size 82.015625x17.46875 children: inline
TableCellBox <div.table-cell.thick-border-black> at (8,193.21875) content-size 82.015625x17.46875 [BFC] children: inline
line 0 width: 82.015625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
frag 0 from TextNode start: 0, length: 9, rect: [8,193.21875 82.015625x17.46875]
"Firstname"
TextNode <#text>
BlockContainer <(anonymous)> at (8,193.21875) content-size 0x0 children: inline
TextNode <#text>
TableCellBox <div.table-cell.thick-border-black> at (110.015625,193.21875) content-size 76.28125x17.46875 children: inline
TableCellBox <div.table-cell.thick-border-black> at (110.015625,193.21875) content-size 76.28125x17.46875 [BFC] children: inline
line 0 width: 76.28125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
frag 0 from TextNode start: 0, length: 8, rect: [110.015625,193.21875 76.28125x17.46875]
"Lastname"
@ -221,14 +221,14 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
TableRowBox <div.table-row.thick-border-black> at (8,220.6875) content-size 178.296875x37.46875 children: not-inline
BlockContainer <(anonymous)> at (8,193.21875) content-size 0x0 children: inline
TextNode <#text>
TableCellBox <div.table-cell.thick-border-black> at (8,230.6875) content-size 82.015625x17.46875 children: inline
TableCellBox <div.table-cell.thick-border-black> at (8,230.6875) content-size 82.015625x17.46875 [BFC] children: inline
line 0 width: 44.65625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
frag 0 from TextNode start: 0, length: 5, rect: [8,230.6875 44.65625x17.46875]
"Peter"
TextNode <#text>
BlockContainer <(anonymous)> at (8,193.21875) content-size 0x0 children: inline
TextNode <#text>
TableCellBox <div.table-cell.thick-border-black> at (110.015625,230.6875) content-size 76.28125x17.46875 children: inline
TableCellBox <div.table-cell.thick-border-black> at (110.015625,230.6875) content-size 76.28125x17.46875 [BFC] children: inline
line 0 width: 53.671875, height: 17.46875, bottom: 17.46875, baseline: 13.53125
frag 0 from TextNode start: 0, length: 7, rect: [110.015625,230.6875 53.671875x17.46875]
"Griffin"
@ -240,14 +240,14 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
TableRowBox <div.table-row.thick-border-black> at (8,258.15625) content-size 178.296875x27.46875 children: not-inline
BlockContainer <(anonymous)> at (8,193.21875) content-size 0x0 children: inline
TextNode <#text>
TableCellBox <div.table-cell.thick-border-black> at (8,268.15625) content-size 82.015625x17.46875 children: inline
TableCellBox <div.table-cell.thick-border-black> at (8,268.15625) content-size 82.015625x17.46875 [BFC] children: inline
line 0 width: 35.125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
frag 0 from TextNode start: 0, length: 4, rect: [8,268.15625 35.125x17.46875]
"Lois"
TextNode <#text>
BlockContainer <(anonymous)> at (8,193.21875) content-size 0x0 children: inline
TextNode <#text>
TableCellBox <div.table-cell.thick-border-black> at (110.015625,268.15625) content-size 76.28125x17.46875 children: inline
TableCellBox <div.table-cell.thick-border-black> at (110.015625,268.15625) content-size 76.28125x17.46875 [BFC] children: inline
line 0 width: 53.671875, height: 17.46875, bottom: 17.46875, baseline: 13.53125
frag 0 from TextNode start: 0, length: 7, rect: [110.015625,268.15625 53.671875x17.46875]
"Griffin"