ソースを参照

LibWeb: Implement rounding for PixelUnits

Hendiadyoin1 1 年間 前
コミット
6c341ca985
79 ファイル変更1638 行追加1600 行削除
  1. 10 10
      Tests/LibWeb/Layout/expected/acid1.txt
  2. 2 2
      Tests/LibWeb/Layout/expected/block-and-inline/bfc-consider-all-currently-stacked-floats.txt
  3. 23 23
      Tests/LibWeb/Layout/expected/block-and-inline/block-with-min-content-width.txt
  4. 8 8
      Tests/LibWeb/Layout/expected/block-and-inline/block-with-negative-margin-and-no-intruding-floats.txt
  5. 42 42
      Tests/LibWeb/Layout/expected/block-and-inline/float-1.txt
  6. 1 1
      Tests/LibWeb/Layout/expected/block-and-inline/float-3.txt
  7. 3 3
      Tests/LibWeb/Layout/expected/block-and-inline/float-4.txt
  8. 4 4
      Tests/LibWeb/Layout/expected/block-and-inline/float-clear-by-line-break.txt
  9. 106 106
      Tests/LibWeb/Layout/expected/block-and-inline/float-left-and-right-with-justified-text-in-between.txt
  10. 36 36
      Tests/LibWeb/Layout/expected/block-and-inline/float-left-and-right-with-text-in-between.txt
  11. 1 1
      Tests/LibWeb/Layout/expected/block-and-inline/float-stress-1.txt
  12. 14 14
      Tests/LibWeb/Layout/expected/block-and-inline/inline-block-baseline-1.txt
  13. 15 15
      Tests/LibWeb/Layout/expected/block-and-inline/inline-block-baseline-2.txt
  14. 5 5
      Tests/LibWeb/Layout/expected/block-and-inline/inline-box-positioned-with-top-left.txt
  15. 4 4
      Tests/LibWeb/Layout/expected/block-and-inline/inline-box-with-vertical-margins-vertical-align-top.txt
  16. 8 8
      Tests/LibWeb/Layout/expected/block-and-inline/inline-box-with-vertical-margins.txt
  17. 12 12
      Tests/LibWeb/Layout/expected/block-and-inline/max-width-for-box-with-inline-children.txt
  18. 14 14
      Tests/LibWeb/Layout/expected/block-and-inline/narrow-bfc-width-to-avoid-overlap-with-floats.txt
  19. 3 3
      Tests/LibWeb/Layout/expected/block-and-inline/percentage-padding-on-inline-block-with-indefinite-containing-block-size.txt
  20. 11 11
      Tests/LibWeb/Layout/expected/block-and-inline/width-auto-margins-set-zero-if-containing-size-smaller.txt
  21. 11 11
      Tests/LibWeb/Layout/expected/box-sizing-border-box-for-definite-sizes-without-layout.txt
  22. 1 1
      Tests/LibWeb/Layout/expected/css-all-unset.txt
  23. 25 25
      Tests/LibWeb/Layout/expected/div_align.txt
  24. 18 18
      Tests/LibWeb/Layout/expected/div_align_nested.txt
  25. 14 14
      Tests/LibWeb/Layout/expected/flex-column-item-with-auto-height-and-max-width.txt
  26. 4 4
      Tests/LibWeb/Layout/expected/flex-column-item-with-auto-height-depending-auto-width-with-max-width-constraint.txt
  27. 14 14
      Tests/LibWeb/Layout/expected/flex-column-item-with-auto-height-depending-on-auto-width.txt
  28. 6 6
      Tests/LibWeb/Layout/expected/flex-shrink-1.txt
  29. 20 20
      Tests/LibWeb/Layout/expected/flex/cross-size-of-item-with-box-sizing-border-box-and-nonzero-padding.txt
  30. 4 4
      Tests/LibWeb/Layout/expected/flex/flex-item-min-width-fit-content.txt
  31. 12 12
      Tests/LibWeb/Layout/expected/flex/flex-item-with-calc-main-size-and-layout-dependent-containing-block-size.txt
  32. 12 12
      Tests/LibWeb/Layout/expected/flex/intrinsic-height-of-column-items-with-different-kinds-of-width.txt
  33. 6 6
      Tests/LibWeb/Layout/expected/font-with-many-normal-values.txt
  34. 1 1
      Tests/LibWeb/Layout/expected/grid/grid-item-fixed-paddings.txt
  35. 45 45
      Tests/LibWeb/Layout/expected/grid/grid-item-horizontal-margins-auto.txt
  36. 39 39
      Tests/LibWeb/Layout/expected/grid/grid-item-percentage-width-2.txt
  37. 12 12
      Tests/LibWeb/Layout/expected/grid/item-column-span-2.txt
  38. 63 63
      Tests/LibWeb/Layout/expected/grid/row-span-2-maxcontent.txt
  39. 116 116
      Tests/LibWeb/Layout/expected/grid/row-span-2-mincontent.txt
  40. 65 65
      Tests/LibWeb/Layout/expected/grid/row-span-2-with-gaps.txt
  41. 63 63
      Tests/LibWeb/Layout/expected/grid/row-span-2.txt
  42. 1 1
      Tests/LibWeb/Layout/expected/height-of-absolute-position-box-with-padding.txt
  43. 3 3
      Tests/LibWeb/Layout/expected/img-with-percentage-max-width-and-min-content-containing-block-width.txt
  44. 23 23
      Tests/LibWeb/Layout/expected/pseudo-element-with-custom-properties-2.txt
  45. 8 8
      Tests/LibWeb/Layout/expected/replaced-box-with-vertical-margins.txt
  46. 3 3
      Tests/LibWeb/Layout/expected/resolve-cyclic-percentage-against-zero-when-available-size-is-min-content.txt
  47. 15 15
      Tests/LibWeb/Layout/expected/svg-preserve-aspect-ratio.txt
  48. 6 6
      Tests/LibWeb/Layout/expected/svg-transforms-and-viewboxes.txt
  49. 3 3
      Tests/LibWeb/Layout/expected/svg/dont-stretch-fit-svg-with-indefinite-containing-block-width.txt
  50. 8 8
      Tests/LibWeb/Layout/expected/svg/svg-with-zero-intrinsic-size-and-no-viewbox.txt
  51. 24 24
      Tests/LibWeb/Layout/expected/table/align-top-and-bottom.txt
  52. 2 2
      Tests/LibWeb/Layout/expected/table/basic.txt
  53. 75 75
      Tests/LibWeb/Layout/expected/table/border-collapse-is-inherited.txt
  54. 30 30
      Tests/LibWeb/Layout/expected/table/border-conflict-resolution-with-cell.txt
  55. 32 32
      Tests/LibWeb/Layout/expected/table/border-conflict-resolution-with-col.txt
  56. 32 32
      Tests/LibWeb/Layout/expected/table/border-conflict-resolution-with-row.txt
  57. 34 34
      Tests/LibWeb/Layout/expected/table/border-conflict-resolution-with-rowgroup.txt
  58. 11 11
      Tests/LibWeb/Layout/expected/table/border-spacing-colspan.txt
  59. 11 11
      Tests/LibWeb/Layout/expected/table/border-spacing-rowspan.txt
  60. 12 12
      Tests/LibWeb/Layout/expected/table/border-spacing.txt
  61. 92 92
      Tests/LibWeb/Layout/expected/table/borders.txt
  62. 2 2
      Tests/LibWeb/Layout/expected/table/bottom-caption.txt
  63. 6 6
      Tests/LibWeb/Layout/expected/table/cell-relative-to-specified-table-width.txt
  64. 32 32
      Tests/LibWeb/Layout/expected/table/clip-spans-to-table-end.txt
  65. 5 5
      Tests/LibWeb/Layout/expected/table/colspan-percentage-width.txt
  66. 3 3
      Tests/LibWeb/Layout/expected/table/colspan-weighted-width-distribution.txt
  67. 2 2
      Tests/LibWeb/Layout/expected/table/colspan-width-distribution.txt
  68. 26 26
      Tests/LibWeb/Layout/expected/table/columns-width-distribution-1.txt
  69. 14 14
      Tests/LibWeb/Layout/expected/table/fixed-margins.txt
  70. 42 42
      Tests/LibWeb/Layout/expected/table/long-caption-increases-width.txt
  71. 17 17
      Tests/LibWeb/Layout/expected/table/multi-line-cell.txt
  72. 19 19
      Tests/LibWeb/Layout/expected/table/percentage-width-columns.txt
  73. 19 19
      Tests/LibWeb/Layout/expected/table/percentage-width-max-width-columns.txt
  74. 42 42
      Tests/LibWeb/Layout/expected/table/table-formation-with-rowspan-in-the-middle.txt
  75. 19 19
      Tests/LibWeb/Layout/expected/table/width-distribution-of-max-width-increment.txt
  76. 36 36
      Tests/LibWeb/Layout/expected/text-align-justify-with-forced-break.txt
  77. 12 12
      Tests/LibWeb/Layout/expected/text-indent.txt
  78. 36 0
      Tests/LibWeb/TestCSSPixels.cpp
  79. 8 6
      Userland/Libraries/LibWeb/PixelUnits.h

+ 10 - 10
Tests/LibWeb/Layout/expected/acid1.txt

@@ -42,17 +42,17 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
                 line 0 width: 39.484375, height: 19, bottom: 19, baseline: 12.5
                 line 0 width: 39.484375, height: 19, bottom: 19, baseline: 12.5
                   frag 0 from TextNode start: 1, length: 5, rect: [235,65 27.484375x19]
                   frag 0 from TextNode start: 1, length: 5, rect: [235,65 27.484375x19]
                     "bang "
                     "bang "
-                  frag 1 from RadioButton start: 0, length: 0, rect: [262.484375,65.5 12x12]
+                  frag 1 from RadioButton start: 0, length: 0, rect: [262,65 12x12]
                 TextNode <#text>
                 TextNode <#text>
-                RadioButton <input> at (262.484375,65.5) content-size 12x12 inline-block children: not-inline
+                RadioButton <input> at (262,65) content-size 12x12 inline-block children: not-inline
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <p> at (235,84) content-size 139.984375x19 children: inline
               BlockContainer <p> at (235,84) content-size 139.984375x19 children: inline
                 line 0 width: 57.15625, height: 19, bottom: 19, baseline: 12.5
                 line 0 width: 57.15625, height: 19, bottom: 19, baseline: 12.5
                   frag 0 from TextNode start: 1, length: 8, rect: [235,84 45.15625x19]
                   frag 0 from TextNode start: 1, length: 8, rect: [235,84 45.15625x19]
                     "whimper "
                     "whimper "
-                  frag 1 from RadioButton start: 0, length: 0, rect: [280.15625,84.5 12x12]
+                  frag 1 from RadioButton start: 0, length: 0, rect: [280,84 12x12]
                 TextNode <#text>
                 TextNode <#text>
-                RadioButton <input> at (280.15625,84.5) content-size 12x12 inline-block children: not-inline
+                RadioButton <input> at (280,84) content-size 12x12 inline-block children: not-inline
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> at (235,103) content-size 139.984375x0 children: inline
               BlockContainer <(anonymous)> at (235,103) content-size 139.984375x0 children: inline
                 TextNode <#text>
                 TextNode <#text>
@@ -110,9 +110,9 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
         line 2 width: 470.578125, height: 13, bottom: 39, baseline: 9.5
         line 2 width: 470.578125, height: 13, bottom: 39, baseline: 9.5
           frag 0 from TextNode start: 167, length: 43, rect: [20,361 207.890625x13]
           frag 0 from TextNode start: 167, length: 43, rect: [20,361 207.890625x13]
             "indistinguishably (to the pixel) from this "
             "indistinguishably (to the pixel) from this "
-          frag 1 from TextNode start: 0, length: 20, rect: [227.890625,361 103.015625x13]
+          frag 1 from TextNode start: 0, length: 20, rect: [228,361 103.015625x13]
             "reference rendering,"
             "reference rendering,"
-          frag 2 from TextNode start: 0, length: 31, rect: [330.90625,361 159.671875x13]
+          frag 2 from TextNode start: 0, length: 31, rect: [331,361 159.671875x13]
             " (except font rasterization and"
             " (except font rasterization and"
         line 3 width: 465.015625, height: 13, bottom: 52, baseline: 9.5
         line 3 width: 465.015625, height: 13, bottom: 52, baseline: 9.5
           frag 0 from TextNode start: 32, length: 89, rect: [20,374 465.015625x13]
           frag 0 from TextNode start: 32, length: 89, rect: [20,374 465.015625x13]
@@ -120,9 +120,9 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
         line 4 width: 408.15625, height: 13, bottom: 65, baseline: 9.5
         line 4 width: 408.15625, height: 13, bottom: 65, baseline: 9.5
           frag 0 from TextNode start: 122, length: 67, rect: [20,387 345.546875x13]
           frag 0 from TextNode start: 122, length: 67, rect: [20,387 345.546875x13]
             "Once you have finished evaluating this test, you can return to the "
             "Once you have finished evaluating this test, you can return to the "
-          frag 1 from TextNode start: 0, length: 11, rect: [365.546875,387 59.890625x13]
+          frag 1 from TextNode start: 0, length: 11, rect: [366,387 59.890625x13]
             "parent page"
             "parent page"
-          frag 2 from TextNode start: 0, length: 1, rect: [425.4375,387 2.71875x13]
+          frag 2 from TextNode start: 0, length: 1, rect: [425,387 2.71875x13]
             "."
             "."
         TextNode <#text>
         TextNode <#text>
         InlineNode <a>
         InlineNode <a>
@@ -155,10 +155,10 @@ PaintableWithLines (Viewport<#document>) [0,0 800x600]
                 InlinePaintable (InlineNode<FORM>)
                 InlinePaintable (InlineNode<FORM>)
               PaintableWithLines (BlockContainer<P>) [235,65 139.984375x19]
               PaintableWithLines (BlockContainer<P>) [235,65 139.984375x19]
                 TextPaintable (TextNode<#text>)
                 TextPaintable (TextNode<#text>)
-                RadioButtonPaintable (RadioButton<INPUT>) [262.484375,65.5 12x12]
+                RadioButtonPaintable (RadioButton<INPUT>) [262,65 12x12]
               PaintableWithLines (BlockContainer<P>) [235,84 139.984375x19]
               PaintableWithLines (BlockContainer<P>) [235,84 139.984375x19]
                 TextPaintable (TextNode<#text>)
                 TextPaintable (TextNode<#text>)
-                RadioButtonPaintable (RadioButton<INPUT>) [280.15625,84.5 12x12]
+                RadioButtonPaintable (RadioButton<INPUT>) [280,84 12x12]
               PaintableWithLines (BlockContainer(anonymous)) [235,103 139.984375x0]
               PaintableWithLines (BlockContainer(anonymous)) [235,103 139.984375x0]
             PaintableWithLines (BlockContainer<LI>) [394.984375,45 80x120]
             PaintableWithLines (BlockContainer<LI>) [394.984375,45 80x120]
               TextPaintable (TextNode<#text>)
               TextPaintable (TextNode<#text>)

+ 2 - 2
Tests/LibWeb/Layout/expected/block-and-inline/bfc-consider-all-currently-stacked-floats.txt

@@ -5,7 +5,7 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
     BlockContainer <body> at (8,8) content-size 784x34.9375 children: not-inline
     BlockContainer <body> at (8,8) content-size 784x34.9375 children: not-inline
       BlockContainer <(anonymous)> at (8,8) content-size 784x17.46875 children: inline
       BlockContainer <(anonymous)> at (8,8) content-size 784x17.46875 children: inline
         line 0 width: 27.640625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
         line 0 width: 27.640625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-          frag 0 from TextNode start: 1, length: 3, rect: [137.109375,8 27.640625x17.46875]
+          frag 0 from TextNode start: 1, length: 3, rect: [137,8 27.640625x17.46875]
             "bar"
             "bar"
         BlockContainer <div.big-float> at (8,8) content-size 100x100 floating [BFC] children: not-inline
         BlockContainer <div.big-float> at (8,8) content-size 100x100 floating [BFC] children: not-inline
         TextNode <#text>
         TextNode <#text>
@@ -17,7 +17,7 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
         TextNode <#text>
         TextNode <#text>
       BlockContainer <div> at (8,25.46875) content-size 784x17.46875 children: inline
       BlockContainer <div> at (8,25.46875) content-size 784x17.46875 children: inline
         line 0 width: 27.203125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
         line 0 width: 27.203125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-          frag 0 from TextNode start: 1, length: 3, rect: [129.515625,25.46875 27.203125x17.46875]
+          frag 0 from TextNode start: 1, length: 3, rect: [130,25.46875 27.203125x17.46875]
             "baz"
             "baz"
         TextNode <#text>
         TextNode <#text>
         BlockContainer <div.yyy> at (108,25.46875) content-size 21.515625x17.46875 floating [BFC] children: inline
         BlockContainer <div.yyy> at (108,25.46875) content-size 21.515625x17.46875 floating [BFC] children: inline

+ 23 - 23
Tests/LibWeb/Layout/expected/block-and-inline/block-with-min-content-width.txt

@@ -1,46 +1,46 @@
 Viewport <#document> at (0,0) content-size 800x600 children: not-inline
 Viewport <#document> at (0,0) content-size 800x600 children: not-inline
-  BlockContainer <html> at (1,1) content-size 798x128.8125 [BFC] children: not-inline
-    BlockContainer <body> at (10,10) content-size 780x110.8125 children: not-inline
-      BlockContainer <div.foo> at (11,11) content-size 93.765625x34.9375 children: inline
+  BlockContainer <html> at (1,1) content-size 798x130.21875 [BFC] children: not-inline
+    BlockContainer <body> at (10,10) content-size 780x112.21875 children: not-inline
+      BlockContainer <div.foo> at (11,11) content-size 93.765625x35.40625 children: inline
         line 0 width: 43.578125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
         line 0 width: 43.578125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
           frag 0 from TextNode start: 0, length: 6, rect: [11,11 43.578125x17.46875]
           frag 0 from TextNode start: 0, length: 6, rect: [11,11 43.578125x17.46875]
             "width:"
             "width:"
-        line 1 width: 93.765625, height: 17.46875, bottom: 34.9375, baseline: 13.53125
-          frag 0 from TextNode start: 7, length: 11, rect: [11,28.46875 93.765625x17.46875]
+        line 1 width: 93.765625, height: 17.9375, bottom: 35.40625, baseline: 13.53125
+          frag 0 from TextNode start: 7, length: 11, rect: [11,28 93.765625x17.46875]
             "min-content"
             "min-content"
         TextNode <#text>
         TextNode <#text>
-      BlockContainer <(anonymous)> at (10,46.9375) content-size 780x0 children: inline
+      BlockContainer <(anonymous)> at (10,47.40625) content-size 780x0 children: inline
         TextNode <#text>
         TextNode <#text>
-      BlockContainer <div.bar> at (11,47.9375) content-size 93.765625x34.9375 children: inline
+      BlockContainer <div.bar> at (11,48.40625) content-size 93.765625x35.40625 children: inline
         line 0 width: 81.3125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
         line 0 width: 81.3125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-          frag 0 from TextNode start: 0, length: 10, rect: [11,47.9375 81.3125x17.46875]
+          frag 0 from TextNode start: 0, length: 10, rect: [11,48.40625 81.3125x17.46875]
             "max-width:"
             "max-width:"
-        line 1 width: 93.765625, height: 17.46875, bottom: 34.9375, baseline: 13.53125
+        line 1 width: 93.765625, height: 17.9375, bottom: 35.40625, baseline: 13.53125
           frag 0 from TextNode start: 11, length: 11, rect: [11,65.40625 93.765625x17.46875]
           frag 0 from TextNode start: 11, length: 11, rect: [11,65.40625 93.765625x17.46875]
             "min-content"
             "min-content"
         TextNode <#text>
         TextNode <#text>
-      BlockContainer <(anonymous)> at (10,83.875) content-size 780x0 children: inline
+      BlockContainer <(anonymous)> at (10,84.8125) content-size 780x0 children: inline
         TextNode <#text>
         TextNode <#text>
-      BlockContainer <div.baz> at (11,84.875) content-size 93.765625x34.9375 children: inline
+      BlockContainer <div.baz> at (11,85.8125) content-size 93.765625x35.40625 children: inline
         line 0 width: 76.4375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
         line 0 width: 76.4375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-          frag 0 from TextNode start: 0, length: 10, rect: [11,84.875 76.4375x17.46875]
+          frag 0 from TextNode start: 0, length: 10, rect: [11,85.8125 76.4375x17.46875]
             "min-width:"
             "min-width:"
-        line 1 width: 93.765625, height: 17.46875, bottom: 34.9375, baseline: 13.53125
-          frag 0 from TextNode start: 11, length: 11, rect: [11,102.34375 93.765625x17.46875]
+        line 1 width: 93.765625, height: 17.9375, bottom: 35.40625, baseline: 13.53125
+          frag 0 from TextNode start: 11, length: 11, rect: [11,102.8125 93.765625x17.46875]
             "min-content"
             "min-content"
         TextNode <#text>
         TextNode <#text>
-      BlockContainer <(anonymous)> at (10,120.8125) content-size 780x0 children: inline
+      BlockContainer <(anonymous)> at (10,122.21875) content-size 780x0 children: inline
         TextNode <#text>
         TextNode <#text>
 
 
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
-  PaintableWithLines (BlockContainer<HTML>) [0,0 800x130.8125]
-    PaintableWithLines (BlockContainer<BODY>) [9,9 782x112.8125]
-      PaintableWithLines (BlockContainer<DIV>.foo) [10,10 95.765625x36.9375]
+  PaintableWithLines (BlockContainer<HTML>) [0,0 800x132.21875]
+    PaintableWithLines (BlockContainer<BODY>) [9,9 782x114.21875]
+      PaintableWithLines (BlockContainer<DIV>.foo) [10,10 95.765625x37.40625]
         TextPaintable (TextNode<#text>)
         TextPaintable (TextNode<#text>)
-      PaintableWithLines (BlockContainer(anonymous)) [10,46.9375 780x0]
-      PaintableWithLines (BlockContainer<DIV>.bar) [10,46.9375 95.765625x36.9375]
+      PaintableWithLines (BlockContainer(anonymous)) [10,47.40625 780x0]
+      PaintableWithLines (BlockContainer<DIV>.bar) [10,47.40625 95.765625x37.40625]
         TextPaintable (TextNode<#text>)
         TextPaintable (TextNode<#text>)
-      PaintableWithLines (BlockContainer(anonymous)) [10,83.875 780x0]
-      PaintableWithLines (BlockContainer<DIV>.baz) [10,83.875 95.765625x36.9375]
+      PaintableWithLines (BlockContainer(anonymous)) [10,84.8125 780x0]
+      PaintableWithLines (BlockContainer<DIV>.baz) [10,84.8125 95.765625x37.40625]
         TextPaintable (TextNode<#text>)
         TextPaintable (TextNode<#text>)
-      PaintableWithLines (BlockContainer(anonymous)) [10,120.8125 780x0]
+      PaintableWithLines (BlockContainer(anonymous)) [10,122.21875 780x0]

+ 8 - 8
Tests/LibWeb/Layout/expected/block-and-inline/block-with-negative-margin-and-no-intruding-floats.txt

@@ -1,17 +1,17 @@
 Viewport <#document> at (0,0) content-size 800x600 children: not-inline
 Viewport <#document> at (0,0) content-size 800x600 children: not-inline
-  BlockContainer <html> at (1,1) content-size 798x54.9375 [BFC] children: not-inline
-    BlockContainer <body> at (110,10) content-size 300x36.9375 positioned children: not-inline
-      BlockContainer <div> at (61,11) content-size 200x34.9375 children: inline
+  BlockContainer <html> at (1,1) content-size 798x55.40625 [BFC] children: not-inline
+    BlockContainer <body> at (110,10) content-size 300x37.40625 positioned children: not-inline
+      BlockContainer <div> at (61,11) content-size 200x35.40625 children: inline
         line 0 width: 159.859375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
         line 0 width: 159.859375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
           frag 0 from TextNode start: 0, length: 19, rect: [61,11 159.859375x17.46875]
           frag 0 from TextNode start: 0, length: 19, rect: [61,11 159.859375x17.46875]
             "there are no floats"
             "there are no floats"
-        line 1 width: 163.875, height: 17.46875, bottom: 34.9375, baseline: 13.53125
-          frag 0 from TextNode start: 20, length: 21, rect: [61,28.46875 163.875x17.46875]
+        line 1 width: 163.875, height: 17.9375, bottom: 35.40625, baseline: 13.53125
+          frag 0 from TextNode start: 20, length: 21, rect: [61,28 163.875x17.46875]
             "intruding on this div"
             "intruding on this div"
         TextNode <#text>
         TextNode <#text>
 
 
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
-  PaintableWithLines (BlockContainer<HTML>) [0,0 800x56.9375]
-    PaintableWithLines (BlockContainer<BODY>) [109,9 302x38.9375] overflow: [60,10 350x36.9375]
-      PaintableWithLines (BlockContainer<DIV>) [60,10 202x36.9375]
+  PaintableWithLines (BlockContainer<HTML>) [0,0 800x57.40625]
+    PaintableWithLines (BlockContainer<BODY>) [109,9 302x39.40625] overflow: [60,10 350x37.40625]
+      PaintableWithLines (BlockContainer<DIV>) [60,10 202x37.40625]
         TextPaintable (TextNode<#text>)
         TextPaintable (TextNode<#text>)

+ 42 - 42
Tests/LibWeb/Layout/expected/block-and-inline/float-1.txt

@@ -1,6 +1,6 @@
 Viewport <#document> at (0,0) content-size 800x600 children: not-inline
 Viewport <#document> at (0,0) content-size 800x600 children: not-inline
   BlockContainer <html> at (0,0) content-size 800x600 [BFC] children: not-inline
   BlockContainer <html> at (0,0) content-size 800x600 [BFC] children: not-inline
-    BlockContainer <body> at (8,8) content-size 784x331.90625 children: not-inline
+    BlockContainer <body> at (8,8) content-size 784x332.34375 children: not-inline
       BlockContainer <(anonymous)> at (8,8) content-size 784x0 children: inline
       BlockContainer <(anonymous)> at (8,8) content-size 784x0 children: inline
         TextNode <#text>
         TextNode <#text>
       BlockContainer <div> at (8,8) content-size 784x0 children: inline
       BlockContainer <div> at (8,8) content-size 784x0 children: inline
@@ -51,71 +51,71 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
         TextNode <#text>
         TextNode <#text>
       BlockContainer <(anonymous)> at (8,8) content-size 784x0 children: inline
       BlockContainer <(anonymous)> at (8,8) content-size 784x0 children: inline
         TextNode <#text>
         TextNode <#text>
-      BlockContainer <div> at (8,8) content-size 784x331.90625 children: inline
+      BlockContainer <div> at (8,8) content-size 784x332.34375 children: inline
         line 0 width: 414.5625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
         line 0 width: 414.5625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
           frag 0 from TextNode start: 1, length: 47, rect: [228,8 414.5625x17.46875]
           frag 0 from TextNode start: 1, length: 47, rect: [228,8 414.5625x17.46875]
             "lorem ipsum lorem ipsum lorem ipsum lorem ipsum"
             "lorem ipsum lorem ipsum lorem ipsum lorem ipsum"
-        line 1 width: 414.5625, height: 17.46875, bottom: 34.9375, baseline: 13.53125
-          frag 0 from TextNode start: 49, length: 47, rect: [228,25.46875 414.5625x17.46875]
+        line 1 width: 414.5625, height: 17.9375, bottom: 35.40625, baseline: 13.53125
+          frag 0 from TextNode start: 49, length: 47, rect: [228,25 414.5625x17.46875]
             "lorem ipsum lorem ipsum lorem ipsum lorem ipsum"
             "lorem ipsum lorem ipsum lorem ipsum lorem ipsum"
-        line 2 width: 466.90625, height: 17.46875, bottom: 52.40625, baseline: 13.53125
-          frag 0 from TextNode start: 97, length: 53, rect: [228,42.9375 466.90625x17.46875]
+        line 2 width: 466.90625, height: 18.40625, bottom: 53.34375, baseline: 13.53125
+          frag 0 from TextNode start: 97, length: 53, rect: [228,42 466.90625x17.46875]
             "lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem"
             "lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem"
-        line 3 width: 573.5, height: 17.46875, bottom: 69.875, baseline: 13.53125
-          frag 0 from TextNode start: 151, length: 65, rect: [188,60.40625 573.5x17.46875]
+        line 3 width: 573.5, height: 17.875, bottom: 70.28125, baseline: 13.53125
+          frag 0 from TextNode start: 151, length: 65, rect: [188,60 573.5x17.46875]
             "ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum"
             "ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum"
-        line 4 width: 572.546875, height: 17.46875, bottom: 87.34375, baseline: 13.53125
-          frag 0 from TextNode start: 217, length: 65, rect: [188,77.875 572.546875x17.46875]
+        line 4 width: 572.546875, height: 18.34375, bottom: 88.21875, baseline: 13.53125
+          frag 0 from TextNode start: 217, length: 65, rect: [188,77 572.546875x17.46875]
             "lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem"
             "lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem"
-        line 5 width: 679.140625, height: 17.46875, bottom: 104.8125, baseline: 13.53125
-          frag 0 from TextNode start: 283, length: 77, rect: [108,95.34375 679.140625x17.46875]
+        line 5 width: 679.140625, height: 17.8125, bottom: 105.15625, baseline: 13.53125
+          frag 0 from TextNode start: 283, length: 77, rect: [108,95 679.140625x17.46875]
             "ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum"
             "ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum"
-        line 6 width: 783.828125, height: 17.46875, bottom: 122.28125, baseline: 13.53125
-          frag 0 from TextNode start: 361, length: 89, rect: [8,112.8125 783.828125x17.46875]
+        line 6 width: 783.828125, height: 18.28125, bottom: 123.09375, baseline: 13.53125
+          frag 0 from TextNode start: 361, length: 89, rect: [8,112 783.828125x17.46875]
             "lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem"
             "lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem"
-        line 7 width: 731.484375, height: 17.46875, bottom: 139.75, baseline: 13.53125
-          frag 0 from TextNode start: 451, length: 83, rect: [8,130.28125 731.484375x17.46875]
+        line 7 width: 731.484375, height: 17.75, bottom: 140.03125, baseline: 13.53125
+          frag 0 from TextNode start: 451, length: 83, rect: [8,130 731.484375x17.46875]
             "ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem"
             "ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem"
-        line 8 width: 731.484375, height: 17.46875, bottom: 157.21875, baseline: 13.53125
-          frag 0 from TextNode start: 535, length: 83, rect: [8,147.75 731.484375x17.46875]
+        line 8 width: 731.484375, height: 18.21875, bottom: 157.96875, baseline: 13.53125
+          frag 0 from TextNode start: 535, length: 83, rect: [8,147 731.484375x17.46875]
             "ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem"
             "ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem"
-        line 9 width: 731.484375, height: 17.46875, bottom: 174.6875, baseline: 13.53125
-          frag 0 from TextNode start: 619, length: 83, rect: [8,165.21875 731.484375x17.46875]
+        line 9 width: 731.484375, height: 17.6875, bottom: 174.90625, baseline: 13.53125
+          frag 0 from TextNode start: 619, length: 83, rect: [8,165 731.484375x17.46875]
             "ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem"
             "ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem"
-        line 10 width: 731.484375, height: 17.46875, bottom: 192.15625, baseline: 13.53125
-          frag 0 from TextNode start: 703, length: 83, rect: [8,182.6875 731.484375x17.46875]
+        line 10 width: 731.484375, height: 18.15625, bottom: 192.84375, baseline: 13.53125
+          frag 0 from TextNode start: 703, length: 83, rect: [8,182 731.484375x17.46875]
             "ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem"
             "ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem"
-        line 11 width: 731.484375, height: 17.46875, bottom: 209.625, baseline: 13.53125
-          frag 0 from TextNode start: 787, length: 83, rect: [8,200.15625 731.484375x17.46875]
+        line 11 width: 731.484375, height: 17.625, bottom: 209.78125, baseline: 13.53125
+          frag 0 from TextNode start: 787, length: 83, rect: [8,200 731.484375x17.46875]
             "ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem"
             "ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem"
-        line 12 width: 731.484375, height: 17.46875, bottom: 227.09375, baseline: 13.53125
-          frag 0 from TextNode start: 871, length: 83, rect: [8,217.625 731.484375x17.46875]
+        line 12 width: 731.484375, height: 18.09375, bottom: 227.71875, baseline: 13.53125
+          frag 0 from TextNode start: 871, length: 83, rect: [8,217 731.484375x17.46875]
             "ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem"
             "ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem"
-        line 13 width: 731.484375, height: 17.46875, bottom: 244.5625, baseline: 13.53125
-          frag 0 from TextNode start: 955, length: 83, rect: [8,235.09375 731.484375x17.46875]
+        line 13 width: 731.484375, height: 17.5625, bottom: 244.65625, baseline: 13.53125
+          frag 0 from TextNode start: 955, length: 83, rect: [8,235 731.484375x17.46875]
             "ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem"
             "ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem"
-        line 14 width: 731.484375, height: 17.46875, bottom: 262.03125, baseline: 13.53125
-          frag 0 from TextNode start: 1039, length: 83, rect: [8,252.5625 731.484375x17.46875]
+        line 14 width: 731.484375, height: 18.03125, bottom: 262.59375, baseline: 13.53125
+          frag 0 from TextNode start: 1039, length: 83, rect: [8,252 731.484375x17.46875]
             "ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem"
             "ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem"
-        line 15 width: 731.484375, height: 17.46875, bottom: 279.5, baseline: 13.53125
-          frag 0 from TextNode start: 1123, length: 83, rect: [8,270.03125 731.484375x17.46875]
+        line 15 width: 731.484375, height: 17.5, bottom: 279.53125, baseline: 13.53125
+          frag 0 from TextNode start: 1123, length: 83, rect: [8,270 731.484375x17.46875]
             "ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem"
             "ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem"
-        line 16 width: 731.484375, height: 17.46875, bottom: 296.96875, baseline: 13.53125
-          frag 0 from TextNode start: 1207, length: 83, rect: [8,287.5 731.484375x17.46875]
+        line 16 width: 731.484375, height: 17.96875, bottom: 297.46875, baseline: 13.53125
+          frag 0 from TextNode start: 1207, length: 83, rect: [8,287 731.484375x17.46875]
             "ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem"
             "ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem"
-        line 17 width: 731.484375, height: 17.46875, bottom: 314.4375, baseline: 13.53125
-          frag 0 from TextNode start: 1291, length: 83, rect: [8,304.96875 731.484375x17.46875]
+        line 17 width: 731.484375, height: 18.4375, bottom: 315.40625, baseline: 13.53125
+          frag 0 from TextNode start: 1291, length: 83, rect: [8,304 731.484375x17.46875]
             "ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem"
             "ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem"
-        line 18 width: 45.296875, height: 17.46875, bottom: 331.90625, baseline: 13.53125
-          frag 0 from TextNode start: 1375, length: 5, rect: [8,322.4375 45.296875x17.46875]
+        line 18 width: 45.296875, height: 17.90625, bottom: 332.34375, baseline: 13.53125
+          frag 0 from TextNode start: 1375, length: 5, rect: [8,322 45.296875x17.46875]
             "ipsum"
             "ipsum"
         TextNode <#text>
         TextNode <#text>
-      BlockContainer <(anonymous)> at (8,339.90625) content-size 784x0 children: inline
+      BlockContainer <(anonymous)> at (8,340.34375) content-size 784x0 children: inline
         TextNode <#text>
         TextNode <#text>
 
 
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
   PaintableWithLines (BlockContainer<HTML>) [0,0 800x600]
   PaintableWithLines (BlockContainer<HTML>) [0,0 800x600]
-    PaintableWithLines (BlockContainer<BODY>) [8,8 784x331.90625]
+    PaintableWithLines (BlockContainer<BODY>) [8,8 784x332.34375]
       PaintableWithLines (BlockContainer(anonymous)) [8,8 784x0]
       PaintableWithLines (BlockContainer(anonymous)) [8,8 784x0]
       PaintableWithLines (BlockContainer<DIV>) [8,8 784x0]
       PaintableWithLines (BlockContainer<DIV>) [8,8 784x0]
         PaintableWithLines (BlockContainer<DIV>#lefty) [8,8 100x100]
         PaintableWithLines (BlockContainer<DIV>#lefty) [8,8 100x100]
@@ -135,6 +135,6 @@ PaintableWithLines (Viewport<#document>) [0,0 800x600]
         PaintableWithLines (BlockContainer<DIV>#righty3) [692,8 20x20] overflow: [692,8 22.78125x20]
         PaintableWithLines (BlockContainer<DIV>#righty3) [692,8 20x20] overflow: [692,8 22.78125x20]
           TextPaintable (TextNode<#text>)
           TextPaintable (TextNode<#text>)
       PaintableWithLines (BlockContainer(anonymous)) [8,8 784x0]
       PaintableWithLines (BlockContainer(anonymous)) [8,8 784x0]
-      PaintableWithLines (BlockContainer<DIV>) [8,8 784x331.90625]
+      PaintableWithLines (BlockContainer<DIV>) [8,8 784x332.34375]
         TextPaintable (TextNode<#text>)
         TextPaintable (TextNode<#text>)
-      PaintableWithLines (BlockContainer(anonymous)) [8,339.90625 784x0]
+      PaintableWithLines (BlockContainer(anonymous)) [8,340.34375 784x0]

+ 1 - 1
Tests/LibWeb/Layout/expected/block-and-inline/float-3.txt

@@ -17,7 +17,7 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
           TextNode <#text>
           TextNode <#text>
         BlockContainer <div#text> at (9,109) content-size 778x17.46875 children: inline
         BlockContainer <div#text> at (9,109) content-size 778x17.46875 children: inline
           line 0 width: 54.796875, height: 17.46875, bottom: 17.46875, baseline: 13.53125
           line 0 width: 54.796875, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-            frag 0 from TextNode start: 0, length: 6, rect: [370.59375,109 54.796875x17.46875]
+            frag 0 from TextNode start: 0, length: 6, rect: [371,109 54.796875x17.46875]
               "foobar"
               "foobar"
           TextNode <#text>
           TextNode <#text>
         BlockContainer <(anonymous)> at (9,126.46875) content-size 778x0 children: inline
         BlockContainer <(anonymous)> at (9,126.46875) content-size 778x0 children: inline

+ 3 - 3
Tests/LibWeb/Layout/expected/block-and-inline/float-4.txt

@@ -6,19 +6,19 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
       TextNode <#text>
       TextNode <#text>
       BlockContainer <div.left> at (9,9) content-size 50x50 floating [BFC] children: inline
       BlockContainer <div.left> at (9,9) content-size 50x50 floating [BFC] children: inline
         line 0 width: 39.21875, height: 17.46875, bottom: 17.46875, baseline: 13.53125
         line 0 width: 39.21875, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-          frag 0 from TextNode start: 0, length: 5, rect: [14.390625,9 39.21875x17.46875]
+          frag 0 from TextNode start: 0, length: 5, rect: [14,9 39.21875x17.46875]
             "Left1"
             "Left1"
         TextNode <#text>
         TextNode <#text>
       TextNode <#text>
       TextNode <#text>
       BlockContainer <div.right> at (737,9) content-size 50x50 floating [BFC] children: inline
       BlockContainer <div.right> at (737,9) content-size 50x50 floating [BFC] children: inline
         line 0 width: 48.3125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
         line 0 width: 48.3125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-          frag 0 from TextNode start: 0, length: 6, rect: [737.84375,9 48.3125x17.46875]
+          frag 0 from TextNode start: 0, length: 6, rect: [738,9 48.3125x17.46875]
             "Right1"
             "Right1"
         TextNode <#text>
         TextNode <#text>
       TextNode <#text>
       TextNode <#text>
       BlockContainer <div.left> at (61,9) content-size 50x50 floating [BFC] children: inline
       BlockContainer <div.left> at (61,9) content-size 50x50 floating [BFC] children: inline
         line 0 width: 41.6875, height: 17.46875, bottom: 17.46875, baseline: 13.53125
         line 0 width: 41.6875, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-          frag 0 from TextNode start: 0, length: 5, rect: [65.15625,9 41.6875x17.46875]
+          frag 0 from TextNode start: 0, length: 5, rect: [65,9 41.6875x17.46875]
             "Left2"
             "Left2"
         TextNode <#text>
         TextNode <#text>
       TextNode <#text>
       TextNode <#text>

+ 4 - 4
Tests/LibWeb/Layout/expected/block-and-inline/float-clear-by-line-break.txt

@@ -1,11 +1,11 @@
 Viewport <#document> at (0,0) content-size 800x600 children: not-inline
 Viewport <#document> at (0,0) content-size 800x600 children: not-inline
   BlockContainer <html> at (0,0) content-size 800x600 [BFC] children: not-inline
   BlockContainer <html> at (0,0) content-size 800x600 [BFC] children: not-inline
-    BlockContainer <body> at (8,8) content-size 784x34.9375 children: inline
+    BlockContainer <body> at (8,8) content-size 784x35.40625 children: inline
       line 0 width: 6.34375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
       line 0 width: 6.34375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
         frag 0 from TextNode start: 0, length: 1, rect: [108,8 6.34375x17.46875]
         frag 0 from TextNode start: 0, length: 1, rect: [108,8 6.34375x17.46875]
           "1"
           "1"
-      line 1 width: 8.8125, height: 17.46875, bottom: 34.9375, baseline: 13.53125
-        frag 0 from TextNode start: 0, length: 1, rect: [108,25.46875 8.8125x17.46875]
+      line 1 width: 8.8125, height: 17.9375, bottom: 35.40625, baseline: 13.53125
+        frag 0 from TextNode start: 0, length: 1, rect: [108,25 8.8125x17.46875]
           "2"
           "2"
       BlockContainer <span.a> at (8,8) content-size 100x17.46875 floating [BFC] children: inline
       BlockContainer <span.a> at (8,8) content-size 100x17.46875 floating [BFC] children: inline
         line 0 width: 14.265625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
         line 0 width: 14.265625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
@@ -27,7 +27,7 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
 
 
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
   PaintableWithLines (BlockContainer<HTML>) [0,0 800x600]
   PaintableWithLines (BlockContainer<HTML>) [0,0 800x600]
-    PaintableWithLines (BlockContainer<BODY>) [8,8 784x34.9375]
+    PaintableWithLines (BlockContainer<BODY>) [8,8 784x35.40625]
       PaintableWithLines (BlockContainer<SPAN>.a) [8,8 100x17.46875]
       PaintableWithLines (BlockContainer<SPAN>.a) [8,8 100x17.46875]
         TextPaintable (TextNode<#text>)
         TextPaintable (TextNode<#text>)
       InlinePaintable (InlineNode<SPAN>)
       InlinePaintable (InlineNode<SPAN>)

+ 106 - 106
Tests/LibWeb/Layout/expected/block-and-inline/float-left-and-right-with-justified-text-in-between.txt

@@ -1,200 +1,200 @@
 Viewport <#document> at (0,0) content-size 800x600 children: not-inline
 Viewport <#document> at (0,0) content-size 800x600 children: not-inline
   BlockContainer <html> at (1,1) content-size 798x600 [BFC] children: not-inline
   BlockContainer <html> at (1,1) content-size 798x600 [BFC] children: not-inline
-    BlockContainer <body> at (252,10) content-size 538x399.1875 children: inline
+    BlockContainer <body> at (252,10) content-size 538x399.53125 children: inline
       line 0 width: 228.34375, height: 21.84375, bottom: 21.84375, baseline: 16.921875
       line 0 width: 228.34375, height: 21.84375, bottom: 21.84375, baseline: 16.921875
         frag 0 from TextNode start: 1, length: 5, rect: [554,10 63.71875x21.84375]
         frag 0 from TextNode start: 1, length: 5, rect: [554,10 63.71875x21.84375]
           "Lorem"
           "Lorem"
-        frag 1 from TextNode start: 6, length: 1, rect: [617.71875,10 12.546875x21.84375]
+        frag 1 from TextNode start: 6, length: 1, rect: [618,10 12.546875x21.84375]
           " "
           " "
-        frag 2 from TextNode start: 7, length: 5, rect: [630.265625,10 56.625x21.84375]
+        frag 2 from TextNode start: 7, length: 5, rect: [630.546875,10 56.625x21.84375]
           "ipsum"
           "ipsum"
-        frag 3 from TextNode start: 12, length: 1, rect: [686.890625,10 12.546875x21.84375]
+        frag 3 from TextNode start: 12, length: 1, rect: [686.546875,10 12.546875x21.84375]
           " "
           " "
-        frag 4 from TextNode start: 13, length: 5, rect: [699.4375,10 52.046875x21.84375]
+        frag 4 from TextNode start: 13, length: 5, rect: [699.09375,10 52.046875x21.84375]
           "dolor"
           "dolor"
-        frag 5 from TextNode start: 18, length: 1, rect: [751.484375,10 12.546875x21.84375]
+        frag 5 from TextNode start: 18, length: 1, rect: [751.09375,10 12.546875x21.84375]
           " "
           " "
-        frag 6 from TextNode start: 19, length: 3, rect: [764.03125,10 25.953125x21.84375]
+        frag 6 from TextNode start: 19, length: 3, rect: [763.640625,10 25.953125x21.84375]
           "sit"
           "sit"
-      line 1 width: 183.78125, height: 21.84375, bottom: 43.6875, baseline: 16.921875
-        frag 0 from TextNode start: 23, length: 5, rect: [554,31.84375 52.71875x21.84375]
+      line 1 width: 183.78125, height: 22.6875, bottom: 44.53125, baseline: 16.921875
+        frag 0 from TextNode start: 23, length: 5, rect: [554,31 52.71875x21.84375]
           "amet,"
           "amet,"
-        frag 1 from TextNode start: 28, length: 1, rect: [606.71875,31.84375 62.21875x21.84375]
+        frag 1 from TextNode start: 28, length: 1, rect: [607,31 62.21875x21.84375]
           " "
           " "
-        frag 2 from TextNode start: 29, length: 11, rect: [668.9375,31.84375 121.0625x21.84375]
+        frag 2 from TextNode start: 29, length: 11, rect: [669.21875,31 121.0625x21.84375]
           "consectetur"
           "consectetur"
-      line 2 width: 140.5625, height: 21.84375, bottom: 65.53125, baseline: 16.921875
-        frag 0 from TextNode start: 41, length: 10, rect: [554,53.6875 94.65625x21.84375]
+      line 2 width: 140.5625, height: 22.53125, bottom: 66.21875, baseline: 16.921875
+        frag 0 from TextNode start: 41, length: 10, rect: [554,53 94.65625x21.84375]
           "adipiscing"
           "adipiscing"
-        frag 1 from TextNode start: 51, length: 1, rect: [648.65625,53.6875 105.4375x21.84375]
+        frag 1 from TextNode start: 51, length: 1, rect: [649,53 105.4375x21.84375]
           " "
           " "
-        frag 2 from TextNode start: 52, length: 5, rect: [754.09375,53.6875 35.90625x21.84375]
+        frag 2 from TextNode start: 52, length: 5, rect: [754.4375,53 35.90625x21.84375]
           "elit."
           "elit."
-      line 3 width: 145, height: 21.84375, bottom: 87.375, baseline: 16.921875
-        frag 0 from TextNode start: 58, length: 11, rect: [554,75.53125 123.3125x21.84375]
+      line 3 width: 145, height: 22.375, bottom: 87.90625, baseline: 16.921875
+        frag 0 from TextNode start: 58, length: 11, rect: [554,75 123.3125x21.84375]
           "Suspendisse"
           "Suspendisse"
-        frag 1 from TextNode start: 69, length: 1, rect: [677.3125,75.53125 101x21.84375]
+        frag 1 from TextNode start: 69, length: 1, rect: [677,75 101x21.84375]
           " "
           " "
-        frag 2 from TextNode start: 70, length: 1, rect: [778.3125,75.53125 11.6875x21.84375]
+        frag 2 from TextNode start: 70, length: 1, rect: [778,75 11.6875x21.84375]
           "a"
           "a"
-      line 4 width: 196.703125, height: 21.84375, bottom: 109.21875, baseline: 16.921875
-        frag 0 from TextNode start: 72, length: 8, rect: [554,97.375 82.046875x21.84375]
+      line 4 width: 196.703125, height: 22.21875, bottom: 109.59375, baseline: 16.921875
+        frag 0 from TextNode start: 72, length: 8, rect: [554,97 82.046875x21.84375]
           "placerat"
           "placerat"
-        frag 1 from TextNode start: 80, length: 1, rect: [636.046875,97.375 29.640625x21.84375]
+        frag 1 from TextNode start: 80, length: 1, rect: [636,97 29.640625x21.84375]
           " "
           " "
-        frag 2 from TextNode start: 81, length: 7, rect: [665.6875,97.375 73.875x21.84375]
+        frag 2 from TextNode start: 81, length: 7, rect: [665.640625,97 73.875x21.84375]
           "mauris,"
           "mauris,"
-        frag 3 from TextNode start: 88, length: 1, rect: [739.5625,97.375 29.640625x21.84375]
+        frag 3 from TextNode start: 88, length: 1, rect: [739.640625,97 29.640625x21.84375]
           " "
           " "
-        frag 4 from TextNode start: 89, length: 2, rect: [769.203125,97.375 20.78125x21.84375]
+        frag 4 from TextNode start: 89, length: 2, rect: [769.28125,97 20.78125x21.84375]
           "ut"
           "ut"
-      line 5 width: 234.6875, height: 21.84375, bottom: 131.0625, baseline: 16.921875
-        frag 0 from TextNode start: 92, length: 9, rect: [554,119.21875 101.28125x21.84375]
+      line 5 width: 234.6875, height: 22.0625, bottom: 131.28125, baseline: 16.921875
+        frag 0 from TextNode start: 92, length: 9, rect: [554,119 101.28125x21.84375]
           "elementum"
           "elementum"
-        frag 1 from TextNode start: 101, length: 1, rect: [655.28125,119.21875 10.4375x21.84375]
+        frag 1 from TextNode start: 101, length: 1, rect: [655,119 10.4375x21.84375]
           " "
           " "
-        frag 2 from TextNode start: 102, length: 3, rect: [665.71875,119.21875 26.390625x21.84375]
+        frag 2 from TextNode start: 102, length: 3, rect: [665.4375,119 26.390625x21.84375]
           "mi."
           "mi."
-        frag 3 from TextNode start: 105, length: 1, rect: [692.109375,119.21875 10.4375x21.84375]
+        frag 3 from TextNode start: 105, length: 1, rect: [692.4375,119 10.4375x21.84375]
           " "
           " "
-        frag 4 from TextNode start: 106, length: 5, rect: [702.546875,119.21875 56.234375x21.84375]
+        frag 4 from TextNode start: 106, length: 5, rect: [702.875,119 56.234375x21.84375]
           "Morbi"
           "Morbi"
-        frag 5 from TextNode start: 111, length: 1, rect: [758.78125,119.21875 10.4375x21.84375]
+        frag 5 from TextNode start: 111, length: 1, rect: [758.875,119 10.4375x21.84375]
           " "
           " "
-        frag 6 from TextNode start: 112, length: 2, rect: [769.21875,119.21875 20.78125x21.84375]
+        frag 6 from TextNode start: 112, length: 2, rect: [769.3125,119 20.78125x21.84375]
           "ut"
           "ut"
-      line 6 width: 201.53125, height: 21.84375, bottom: 152.90625, baseline: 16.921875
-        frag 0 from TextNode start: 115, length: 8, rect: [554,141.0625 78.765625x21.84375]
+      line 6 width: 201.53125, height: 21.90625, bottom: 152.96875, baseline: 16.921875
+        frag 0 from TextNode start: 115, length: 8, rect: [554,141 78.765625x21.84375]
           "vehicula"
           "vehicula"
-        frag 1 from TextNode start: 123, length: 1, rect: [632.765625,141.0625 27.234375x21.84375]
+        frag 1 from TextNode start: 123, length: 1, rect: [633,141 27.234375x21.84375]
           " "
           " "
-        frag 2 from TextNode start: 124, length: 6, rect: [660,141.0625 62.9375x21.84375]
+        frag 2 from TextNode start: 124, length: 6, rect: [660.234375,141 62.9375x21.84375]
           "ipsum,"
           "ipsum,"
-        frag 3 from TextNode start: 130, length: 1, rect: [722.9375,141.0625 27.234375x21.84375]
+        frag 3 from TextNode start: 130, length: 1, rect: [723.234375,141 27.234375x21.84375]
           " "
           " "
-        frag 4 from TextNode start: 131, length: 4, rect: [750.171875,141.0625 39.828125x21.84375]
+        frag 4 from TextNode start: 131, length: 4, rect: [750.46875,141 39.828125x21.84375]
           "eget"
           "eget"
-      line 7 width: 232.53125, height: 21.84375, bottom: 174.75, baseline: 16.921875
-        frag 0 from TextNode start: 136, length: 8, rect: [554,162.90625 82.046875x21.84375]
+      line 7 width: 232.53125, height: 22.75, bottom: 175.65625, baseline: 16.921875
+        frag 0 from TextNode start: 136, length: 8, rect: [554,162 82.046875x21.84375]
           "placerat"
           "placerat"
-        frag 1 from TextNode start: 144, length: 1, rect: [636.046875,162.90625 11.734375x21.84375]
+        frag 1 from TextNode start: 144, length: 1, rect: [636,162 11.734375x21.84375]
           " "
           " "
-        frag 2 from TextNode start: 145, length: 6, rect: [647.78125,162.90625 61.875x21.84375]
+        frag 2 from TextNode start: 145, length: 6, rect: [647.734375,162 61.875x21.84375]
           "augue."
           "augue."
-        frag 3 from TextNode start: 151, length: 1, rect: [709.65625,162.90625 11.734375x21.84375]
+        frag 3 from TextNode start: 151, length: 1, rect: [709.734375,162 11.734375x21.84375]
           " "
           " "
-        frag 4 from TextNode start: 152, length: 7, rect: [721.390625,162.90625 68.609375x21.84375]
+        frag 4 from TextNode start: 152, length: 7, rect: [721.46875,162 68.609375x21.84375]
           "Integer"
           "Integer"
-      line 8 width: 202.96875, height: 21.84375, bottom: 196.59375, baseline: 16.921875
-        frag 0 from TextNode start: 160, length: 6, rect: [554,184.75 70.3125x21.84375]
+      line 8 width: 202.96875, height: 22.59375, bottom: 197.34375, baseline: 16.921875
+        frag 0 from TextNode start: 160, length: 6, rect: [554,184 70.3125x21.84375]
           "rutrum"
           "rutrum"
-        frag 1 from TextNode start: 166, length: 1, rect: [624.3125,184.75 21x21.84375]
+        frag 1 from TextNode start: 166, length: 1, rect: [624,184 21x21.84375]
           " "
           " "
-        frag 2 from TextNode start: 167, length: 4, rect: [645.3125,184.75 35.09375x21.84375]
+        frag 2 from TextNode start: 167, length: 4, rect: [645,184 35.09375x21.84375]
           "nisi"
           "nisi"
-        frag 3 from TextNode start: 171, length: 1, rect: [680.40625,184.75 21x21.84375]
+        frag 3 from TextNode start: 171, length: 1, rect: [680,184 21x21.84375]
           " "
           " "
-        frag 4 from TextNode start: 172, length: 4, rect: [701.40625,184.75 39.828125x21.84375]
+        frag 4 from TextNode start: 172, length: 4, rect: [701,184 39.828125x21.84375]
           "eget"
           "eget"
-        frag 5 from TextNode start: 176, length: 1, rect: [741.234375,184.75 21x21.84375]
+        frag 5 from TextNode start: 176, length: 1, rect: [741,184 21x21.84375]
           " "
           " "
-        frag 6 from TextNode start: 177, length: 3, rect: [762.234375,184.75 27.734375x21.84375]
+        frag 6 from TextNode start: 177, length: 3, rect: [762,184 27.734375x21.84375]
           "dui"
           "dui"
       line 9 width: 0, height: 0, bottom: 0, baseline: 0
       line 9 width: 0, height: 0, bottom: 0, baseline: 0
-      line 10 width: 208.828125, height: 21.84375, bottom: 224.4375, baseline: 16.921875
-        frag 0 from TextNode start: 181, length: 7, rect: [252,212.59375 68.984375x21.84375]
+      line 10 width: 208.828125, height: 22.4375, bottom: 225.03125, baseline: 16.921875
+        frag 0 from TextNode start: 181, length: 7, rect: [252,212 68.984375x21.84375]
           "dictum,"
           "dictum,"
-        frag 1 from TextNode start: 188, length: 1, rect: [320.984375,212.59375 23.578125x21.84375]
+        frag 1 from TextNode start: 188, length: 1, rect: [321,212 23.578125x21.84375]
           " "
           " "
-        frag 2 from TextNode start: 189, length: 2, rect: [344.5625,212.59375 23.109375x21.84375]
+        frag 2 from TextNode start: 189, length: 2, rect: [344.578125,212 23.109375x21.84375]
           "eu"
           "eu"
-        frag 3 from TextNode start: 191, length: 1, rect: [367.671875,212.59375 23.578125x21.84375]
+        frag 3 from TextNode start: 191, length: 1, rect: [367.578125,212 23.578125x21.84375]
           " "
           " "
-        frag 4 from TextNode start: 192, length: 8, rect: [391.25,212.59375 96.734375x21.84375]
+        frag 4 from TextNode start: 192, length: 8, rect: [391.15625,212 96.734375x21.84375]
           "accumsan"
           "accumsan"
-      line 11 width: 180.1875, height: 21.84375, bottom: 246.28125, baseline: 16.921875
-        frag 0 from TextNode start: 201, length: 4, rect: [252,234.4375 43.875x21.84375]
+      line 11 width: 180.1875, height: 22.28125, bottom: 246.71875, baseline: 16.921875
+        frag 0 from TextNode start: 201, length: 4, rect: [252,234 43.875x21.84375]
           "enim"
           "enim"
-        frag 1 from TextNode start: 205, length: 1, rect: [295.875,234.4375 37.90625x21.84375]
+        frag 1 from TextNode start: 205, length: 1, rect: [296,234 37.90625x21.84375]
           " "
           " "
-        frag 2 from TextNode start: 206, length: 10, rect: [333.78125,234.4375 93.625x21.84375]
+        frag 2 from TextNode start: 206, length: 10, rect: [333.90625,234 93.625x21.84375]
           "tristique."
           "tristique."
-        frag 3 from TextNode start: 216, length: 1, rect: [427.40625,234.4375 37.90625x21.84375]
+        frag 3 from TextNode start: 216, length: 1, rect: [427.90625,234 37.90625x21.84375]
           " "
           " "
-        frag 4 from TextNode start: 217, length: 2, rect: [465.3125,234.4375 22.6875x21.84375]
+        frag 4 from TextNode start: 217, length: 2, rect: [465.8125,234 22.6875x21.84375]
           "Ut"
           "Ut"
-      line 12 width: 195.28125, height: 21.84375, bottom: 268.125, baseline: 16.921875
-        frag 0 from TextNode start: 220, length: 8, rect: [252,256.28125 80.015625x21.84375]
+      line 12 width: 195.28125, height: 22.125, bottom: 268.40625, baseline: 16.921875
+        frag 0 from TextNode start: 220, length: 8, rect: [252,256 80.015625x21.84375]
           "lobortis"
           "lobortis"
-        frag 1 from TextNode start: 228, length: 1, rect: [332.015625,256.28125 30.359375x21.84375]
+        frag 1 from TextNode start: 228, length: 1, rect: [332,256 30.359375x21.84375]
           " "
           " "
-        frag 2 from TextNode start: 229, length: 5, rect: [362.375,256.28125 55.4375x21.84375]
+        frag 2 from TextNode start: 229, length: 5, rect: [362.359375,256 55.4375x21.84375]
           "lorem"
           "lorem"
-        frag 3 from TextNode start: 234, length: 1, rect: [417.8125,256.28125 30.359375x21.84375]
+        frag 3 from TextNode start: 234, length: 1, rect: [417.359375,256 30.359375x21.84375]
           " "
           " "
-        frag 4 from TextNode start: 235, length: 4, rect: [448.171875,256.28125 39.828125x21.84375]
+        frag 4 from TextNode start: 235, length: 4, rect: [447.71875,256 39.828125x21.84375]
           "eget"
           "eget"
-      line 13 width: 222.921875, height: 21.84375, bottom: 289.96875, baseline: 16.921875
-        frag 0 from TextNode start: 240, length: 3, rect: [252,278.125 31.15625x21.84375]
+      line 13 width: 222.921875, height: 21.96875, bottom: 290.09375, baseline: 16.921875
+        frag 0 from TextNode start: 240, length: 3, rect: [252,278 31.15625x21.84375]
           "est"
           "est"
-        frag 1 from TextNode start: 243, length: 1, rect: [283.15625,278.125 16.53125x21.84375]
+        frag 1 from TextNode start: 243, length: 1, rect: [283,278 16.53125x21.84375]
           " "
           " "
-        frag 2 from TextNode start: 244, length: 9, rect: [299.6875,278.125 91.46875x21.84375]
+        frag 2 from TextNode start: 244, length: 9, rect: [299.53125,278 91.46875x21.84375]
           "vulputate"
           "vulputate"
-        frag 3 from TextNode start: 253, length: 1, rect: [391.15625,278.125 16.53125x21.84375]
+        frag 3 from TextNode start: 253, length: 1, rect: [391.53125,278 16.53125x21.84375]
           " "
           " "
-        frag 4 from TextNode start: 254, length: 8, rect: [407.6875,278.125 80.296875x21.84375]
+        frag 4 from TextNode start: 254, length: 8, rect: [408.0625,278 80.296875x21.84375]
           "egestas."
           "egestas."
-      line 14 width: 223.125, height: 21.84375, bottom: 311.8125, baseline: 16.921875
-        frag 0 from TextNode start: 263, length: 7, rect: [252,299.96875 68.609375x21.84375]
+      line 14 width: 223.125, height: 22.8125, bottom: 312.78125, baseline: 16.921875
+        frag 0 from TextNode start: 263, length: 7, rect: [252,299 68.609375x21.84375]
           "Integer"
           "Integer"
-        frag 1 from TextNode start: 270, length: 1, rect: [320.609375,299.96875 16.4375x21.84375]
+        frag 1 from TextNode start: 270, length: 1, rect: [321,299 16.4375x21.84375]
           " "
           " "
-        frag 2 from TextNode start: 271, length: 7, rect: [337.046875,299.96875 71.328125x21.84375]
+        frag 2 from TextNode start: 271, length: 7, rect: [337.4375,299 71.328125x21.84375]
           "laoreet"
           "laoreet"
-        frag 3 from TextNode start: 278, length: 1, rect: [408.375,299.96875 16.4375x21.84375]
+        frag 3 from TextNode start: 278, length: 1, rect: [408.4375,299 16.4375x21.84375]
           " "
           " "
-        frag 4 from TextNode start: 279, length: 7, rect: [424.8125,299.96875 63.1875x21.84375]
+        frag 4 from TextNode start: 279, length: 7, rect: [424.875,299 63.1875x21.84375]
           "lacinia"
           "lacinia"
-      line 15 width: 222.609375, height: 21.84375, bottom: 333.65625, baseline: 16.921875
-        frag 0 from TextNode start: 287, length: 4, rect: [252,321.8125 43.15625x21.84375]
+      line 15 width: 222.609375, height: 22.65625, bottom: 334.46875, baseline: 16.921875
+        frag 0 from TextNode start: 287, length: 4, rect: [252,321 43.15625x21.84375]
           "ante"
           "ante"
-        frag 1 from TextNode start: 291, length: 1, rect: [295.15625,321.8125 16.6875x21.84375]
+        frag 1 from TextNode start: 291, length: 1, rect: [295,321 16.6875x21.84375]
           " "
           " "
-        frag 2 from TextNode start: 292, length: 7, rect: [311.84375,321.8125 74x21.84375]
+        frag 2 from TextNode start: 292, length: 7, rect: [311.6875,321 74x21.84375]
           "sodales"
           "sodales"
-        frag 3 from TextNode start: 299, length: 1, rect: [385.84375,321.8125 16.6875x21.84375]
+        frag 3 from TextNode start: 299, length: 1, rect: [385.6875,321 16.6875x21.84375]
           " "
           " "
-        frag 4 from TextNode start: 300, length: 9, rect: [402.53125,321.8125 85.453125x21.84375]
+        frag 4 from TextNode start: 300, length: 9, rect: [402.375,321 85.453125x21.84375]
           "lobortis."
           "lobortis."
-      line 16 width: 178.3125, height: 21.84375, bottom: 355.5, baseline: 16.921875
-        frag 0 from TextNode start: 310, length: 5, rect: [252,343.65625 60.90625x21.84375]
+      line 16 width: 178.3125, height: 22.5, bottom: 356.15625, baseline: 16.921875
+        frag 0 from TextNode start: 310, length: 5, rect: [252,343 60.90625x21.84375]
           "Donec"
           "Donec"
-        frag 1 from TextNode start: 315, length: 1, rect: [312.90625,343.65625 38.84375x21.84375]
+        frag 1 from TextNode start: 315, length: 1, rect: [313,343 38.84375x21.84375]
           " "
           " "
-        frag 2 from TextNode start: 316, length: 1, rect: [351.75,343.65625 11.6875x21.84375]
+        frag 2 from TextNode start: 316, length: 1, rect: [351.84375,343 11.6875x21.84375]
           "a"
           "a"
-        frag 3 from TextNode start: 317, length: 1, rect: [363.4375,343.65625 38.84375x21.84375]
+        frag 3 from TextNode start: 317, length: 1, rect: [363.84375,343 38.84375x21.84375]
           " "
           " "
-        frag 4 from TextNode start: 318, length: 9, rect: [402.28125,343.65625 85.71875x21.84375]
+        frag 4 from TextNode start: 318, length: 9, rect: [402.6875,343 85.71875x21.84375]
           "tincidunt"
           "tincidunt"
-      line 17 width: 231.078125, height: 21.84375, bottom: 377.34375, baseline: 16.921875
-        frag 0 from TextNode start: 328, length: 5, rect: [252,365.5 48.59375x21.84375]
+      line 17 width: 231.078125, height: 22.34375, bottom: 377.84375, baseline: 16.921875
+        frag 0 from TextNode start: 328, length: 5, rect: [252,365 48.59375x21.84375]
           "ante."
           "ante."
-        frag 1 from TextNode start: 333, length: 1, rect: [300.59375,365.5 11.640625x21.84375]
+        frag 1 from TextNode start: 333, length: 1, rect: [301,365 11.640625x21.84375]
           " "
           " "
-        frag 2 from TextNode start: 334, length: 9, rect: [312.234375,365.5 94.765625x21.84375]
+        frag 2 from TextNode start: 334, length: 9, rect: [312.640625,365 94.765625x21.84375]
           "Phasellus"
           "Phasellus"
-        frag 3 from TextNode start: 343, length: 1, rect: [407,365.5 11.640625x21.84375]
+        frag 3 from TextNode start: 343, length: 1, rect: [406.640625,365 11.640625x21.84375]
           " "
           " "
-        frag 4 from TextNode start: 344, length: 1, rect: [418.640625,365.5 11.6875x21.84375]
+        frag 4 from TextNode start: 344, length: 1, rect: [418.28125,365 11.6875x21.84375]
           "a"
           "a"
-        frag 5 from TextNode start: 345, length: 1, rect: [430.328125,365.5 11.640625x21.84375]
+        frag 5 from TextNode start: 345, length: 1, rect: [430.28125,365 11.640625x21.84375]
           " "
           " "
-        frag 6 from TextNode start: 346, length: 4, rect: [441.96875,365.5 46.03125x21.84375]
+        frag 6 from TextNode start: 346, length: 4, rect: [441.921875,365 46.03125x21.84375]
           "arcu"
           "arcu"
-      line 18 width: 70.546875, height: 21.84375, bottom: 399.1875, baseline: 16.921875
-        frag 0 from TextNode start: 351, length: 7, rect: [252,387.34375 70.546875x21.84375]
+      line 18 width: 70.546875, height: 22.1875, bottom: 399.53125, baseline: 16.921875
+        frag 0 from TextNode start: 351, length: 7, rect: [252,387 70.546875x21.84375]
           "tortor."
           "tortor."
       BlockContainer <div.left> at (253,11) content-size 300x200 floating [BFC] children: not-inline
       BlockContainer <div.left> at (253,11) content-size 300x200 floating [BFC] children: not-inline
       TextNode <#text>
       TextNode <#text>
@@ -203,7 +203,7 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
 
 
 PaintableWithLines (Viewport<#document>) [0,0 800x600] overflow: [0,0 800x602]
 PaintableWithLines (Viewport<#document>) [0,0 800x600] overflow: [0,0 800x602]
   PaintableWithLines (BlockContainer<HTML>) [0,0 800x602]
   PaintableWithLines (BlockContainer<HTML>) [0,0 800x602]
-    PaintableWithLines (BlockContainer<BODY>) [251,9 540x401.1875]
+    PaintableWithLines (BlockContainer<BODY>) [251,9 540x401.53125] overflow: [252,10 538.34375x399.53125]
       PaintableWithLines (BlockContainer<DIV>.left) [252,10 302x202]
       PaintableWithLines (BlockContainer<DIV>.left) [252,10 302x202]
       PaintableWithLines (BlockContainer<DIV>.right) [488,212 302x202]
       PaintableWithLines (BlockContainer<DIV>.right) [488,212 302x202]
       TextPaintable (TextNode<#text>)
       TextPaintable (TextNode<#text>)

+ 36 - 36
Tests/LibWeb/Layout/expected/block-and-inline/float-left-and-right-with-text-in-between.txt

@@ -1,60 +1,60 @@
 Viewport <#document> at (0,0) content-size 800x600 children: not-inline
 Viewport <#document> at (0,0) content-size 800x600 children: not-inline
   BlockContainer <html> at (1,1) content-size 798x600 [BFC] children: not-inline
   BlockContainer <html> at (1,1) content-size 798x600 [BFC] children: not-inline
-    BlockContainer <body> at (252,10) content-size 538x399.1875 children: inline
+    BlockContainer <body> at (252,10) content-size 538x399.53125 children: inline
       line 0 width: 228.34375, height: 21.84375, bottom: 21.84375, baseline: 16.921875
       line 0 width: 228.34375, height: 21.84375, bottom: 21.84375, baseline: 16.921875
         frag 0 from TextNode start: 1, length: 21, rect: [554,10 228.34375x21.84375]
         frag 0 from TextNode start: 1, length: 21, rect: [554,10 228.34375x21.84375]
           "Lorem ipsum dolor sit"
           "Lorem ipsum dolor sit"
-      line 1 width: 183.78125, height: 21.84375, bottom: 43.6875, baseline: 16.921875
-        frag 0 from TextNode start: 23, length: 17, rect: [554,31.84375 183.78125x21.84375]
+      line 1 width: 183.78125, height: 22.6875, bottom: 44.53125, baseline: 16.921875
+        frag 0 from TextNode start: 23, length: 17, rect: [554,31 183.78125x21.84375]
           "amet, consectetur"
           "amet, consectetur"
-      line 2 width: 140.5625, height: 21.84375, bottom: 65.53125, baseline: 16.921875
-        frag 0 from TextNode start: 41, length: 16, rect: [554,53.6875 140.5625x21.84375]
+      line 2 width: 140.5625, height: 22.53125, bottom: 66.21875, baseline: 16.921875
+        frag 0 from TextNode start: 41, length: 16, rect: [554,53 140.5625x21.84375]
           "adipiscing elit."
           "adipiscing elit."
-      line 3 width: 145, height: 21.84375, bottom: 87.375, baseline: 16.921875
-        frag 0 from TextNode start: 58, length: 13, rect: [554,75.53125 145x21.84375]
+      line 3 width: 145, height: 22.375, bottom: 87.90625, baseline: 16.921875
+        frag 0 from TextNode start: 58, length: 13, rect: [554,75 145x21.84375]
           "Suspendisse a"
           "Suspendisse a"
-      line 4 width: 196.703125, height: 21.84375, bottom: 109.21875, baseline: 16.921875
-        frag 0 from TextNode start: 72, length: 19, rect: [554,97.375 196.703125x21.84375]
+      line 4 width: 196.703125, height: 22.21875, bottom: 109.59375, baseline: 16.921875
+        frag 0 from TextNode start: 72, length: 19, rect: [554,97 196.703125x21.84375]
           "placerat mauris, ut"
           "placerat mauris, ut"
-      line 5 width: 234.6875, height: 21.84375, bottom: 131.0625, baseline: 16.921875
-        frag 0 from TextNode start: 92, length: 22, rect: [554,119.21875 234.6875x21.84375]
+      line 5 width: 234.6875, height: 22.0625, bottom: 131.28125, baseline: 16.921875
+        frag 0 from TextNode start: 92, length: 22, rect: [554,119 234.6875x21.84375]
           "elementum mi. Morbi ut"
           "elementum mi. Morbi ut"
-      line 6 width: 201.53125, height: 21.84375, bottom: 152.90625, baseline: 16.921875
-        frag 0 from TextNode start: 115, length: 20, rect: [554,141.0625 201.53125x21.84375]
+      line 6 width: 201.53125, height: 21.90625, bottom: 152.96875, baseline: 16.921875
+        frag 0 from TextNode start: 115, length: 20, rect: [554,141 201.53125x21.84375]
           "vehicula ipsum, eget"
           "vehicula ipsum, eget"
-      line 7 width: 232.53125, height: 21.84375, bottom: 174.75, baseline: 16.921875
-        frag 0 from TextNode start: 136, length: 23, rect: [554,162.90625 232.53125x21.84375]
+      line 7 width: 232.53125, height: 22.75, bottom: 175.65625, baseline: 16.921875
+        frag 0 from TextNode start: 136, length: 23, rect: [554,162 232.53125x21.84375]
           "placerat augue. Integer"
           "placerat augue. Integer"
-      line 8 width: 202.96875, height: 21.84375, bottom: 196.59375, baseline: 16.921875
-        frag 0 from TextNode start: 160, length: 20, rect: [554,184.75 202.96875x21.84375]
+      line 8 width: 202.96875, height: 22.59375, bottom: 197.34375, baseline: 16.921875
+        frag 0 from TextNode start: 160, length: 20, rect: [554,184 202.96875x21.84375]
           "rutrum nisi eget dui"
           "rutrum nisi eget dui"
       line 9 width: 0, height: 0, bottom: 0, baseline: 0
       line 9 width: 0, height: 0, bottom: 0, baseline: 0
-      line 10 width: 208.828125, height: 21.84375, bottom: 224.4375, baseline: 16.921875
-        frag 0 from TextNode start: 181, length: 19, rect: [252,212.59375 208.828125x21.84375]
+      line 10 width: 208.828125, height: 22.4375, bottom: 225.03125, baseline: 16.921875
+        frag 0 from TextNode start: 181, length: 19, rect: [252,212 208.828125x21.84375]
           "dictum, eu accumsan"
           "dictum, eu accumsan"
-      line 11 width: 180.1875, height: 21.84375, bottom: 246.28125, baseline: 16.921875
-        frag 0 from TextNode start: 201, length: 18, rect: [252,234.4375 180.1875x21.84375]
+      line 11 width: 180.1875, height: 22.28125, bottom: 246.71875, baseline: 16.921875
+        frag 0 from TextNode start: 201, length: 18, rect: [252,234 180.1875x21.84375]
           "enim tristique. Ut"
           "enim tristique. Ut"
-      line 12 width: 195.28125, height: 21.84375, bottom: 268.125, baseline: 16.921875
-        frag 0 from TextNode start: 220, length: 19, rect: [252,256.28125 195.28125x21.84375]
+      line 12 width: 195.28125, height: 22.125, bottom: 268.40625, baseline: 16.921875
+        frag 0 from TextNode start: 220, length: 19, rect: [252,256 195.28125x21.84375]
           "lobortis lorem eget"
           "lobortis lorem eget"
-      line 13 width: 222.921875, height: 21.84375, bottom: 289.96875, baseline: 16.921875
-        frag 0 from TextNode start: 240, length: 22, rect: [252,278.125 222.921875x21.84375]
+      line 13 width: 222.921875, height: 21.96875, bottom: 290.09375, baseline: 16.921875
+        frag 0 from TextNode start: 240, length: 22, rect: [252,278 222.921875x21.84375]
           "est vulputate egestas."
           "est vulputate egestas."
-      line 14 width: 223.125, height: 21.84375, bottom: 311.8125, baseline: 16.921875
-        frag 0 from TextNode start: 263, length: 23, rect: [252,299.96875 223.125x21.84375]
+      line 14 width: 223.125, height: 22.8125, bottom: 312.78125, baseline: 16.921875
+        frag 0 from TextNode start: 263, length: 23, rect: [252,299 223.125x21.84375]
           "Integer laoreet lacinia"
           "Integer laoreet lacinia"
-      line 15 width: 222.609375, height: 21.84375, bottom: 333.65625, baseline: 16.921875
-        frag 0 from TextNode start: 287, length: 22, rect: [252,321.8125 222.609375x21.84375]
+      line 15 width: 222.609375, height: 22.65625, bottom: 334.46875, baseline: 16.921875
+        frag 0 from TextNode start: 287, length: 22, rect: [252,321 222.609375x21.84375]
           "ante sodales lobortis."
           "ante sodales lobortis."
-      line 16 width: 178.3125, height: 21.84375, bottom: 355.5, baseline: 16.921875
-        frag 0 from TextNode start: 310, length: 17, rect: [252,343.65625 178.3125x21.84375]
+      line 16 width: 178.3125, height: 22.5, bottom: 356.15625, baseline: 16.921875
+        frag 0 from TextNode start: 310, length: 17, rect: [252,343 178.3125x21.84375]
           "Donec a tincidunt"
           "Donec a tincidunt"
-      line 17 width: 231.078125, height: 21.84375, bottom: 377.34375, baseline: 16.921875
-        frag 0 from TextNode start: 328, length: 22, rect: [252,365.5 231.078125x21.84375]
+      line 17 width: 231.078125, height: 22.34375, bottom: 377.84375, baseline: 16.921875
+        frag 0 from TextNode start: 328, length: 22, rect: [252,365 231.078125x21.84375]
           "ante. Phasellus a arcu"
           "ante. Phasellus a arcu"
-      line 18 width: 70.546875, height: 21.84375, bottom: 399.1875, baseline: 16.921875
-        frag 0 from TextNode start: 351, length: 7, rect: [252,387.34375 70.546875x21.84375]
+      line 18 width: 70.546875, height: 22.1875, bottom: 399.53125, baseline: 16.921875
+        frag 0 from TextNode start: 351, length: 7, rect: [252,387 70.546875x21.84375]
           "tortor."
           "tortor."
       BlockContainer <div.left> at (253,11) content-size 300x200 floating [BFC] children: not-inline
       BlockContainer <div.left> at (253,11) content-size 300x200 floating [BFC] children: not-inline
       TextNode <#text>
       TextNode <#text>
@@ -63,7 +63,7 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
 
 
 PaintableWithLines (Viewport<#document>) [0,0 800x600] overflow: [0,0 800x602]
 PaintableWithLines (Viewport<#document>) [0,0 800x600] overflow: [0,0 800x602]
   PaintableWithLines (BlockContainer<HTML>) [0,0 800x602]
   PaintableWithLines (BlockContainer<HTML>) [0,0 800x602]
-    PaintableWithLines (BlockContainer<BODY>) [251,9 540x401.1875]
+    PaintableWithLines (BlockContainer<BODY>) [251,9 540x401.53125]
       PaintableWithLines (BlockContainer<DIV>.left) [252,10 302x202]
       PaintableWithLines (BlockContainer<DIV>.left) [252,10 302x202]
       PaintableWithLines (BlockContainer<DIV>.right) [488,212 302x202]
       PaintableWithLines (BlockContainer<DIV>.right) [488,212 302x202]
       TextPaintable (TextNode<#text>)
       TextPaintable (TextNode<#text>)

+ 1 - 1
Tests/LibWeb/Layout/expected/block-and-inline/float-stress-1.txt

@@ -40,7 +40,7 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
         line 11 width: 239.203125, height: 16, bottom: 180, baseline: 12.796875
         line 11 width: 239.203125, height: 16, bottom: 180, baseline: 12.796875
           frag 0 from TextNode start: 57, length: 16, rect: [61,173 141.203125x16]
           frag 0 from TextNode start: 57, length: 16, rect: [61,173 141.203125x16]
             "baz foo bar baz "
             "baz foo bar baz "
-          frag 1 from TextNode start: 1, length: 11, rect: [202.203125,173 98x16]
+          frag 1 from TextNode start: 1, length: 11, rect: [202,173 98x16]
             "foo bar baz"
             "foo bar baz"
         line 12 width: 204, height: 16, bottom: 196, baseline: 12.796875
         line 12 width: 204, height: 16, bottom: 196, baseline: 12.796875
           frag 0 from TextNode start: 13, length: 12, rect: [61,189 106x16]
           frag 0 from TextNode start: 13, length: 12, rect: [61,189 106x16]

+ 14 - 14
Tests/LibWeb/Layout/expected/block-and-inline/inline-block-baseline-1.txt

@@ -2,33 +2,33 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
   BlockContainer <html> at (1,1) content-size 798x600 [BFC] children: not-inline
   BlockContainer <html> at (1,1) content-size 798x600 [BFC] children: not-inline
     BlockContainer <body> at (10,10) content-size 780x92.9375 children: inline
     BlockContainer <body> at (10,10) content-size 780x92.9375 children: inline
       line 0 width: 307.140625, height: 92.9375, bottom: 92.9375, baseline: 35
       line 0 width: 307.140625, height: 92.9375, bottom: 92.9375, baseline: 35
-        frag 0 from TextNode start: 0, length: 13, rect: [10,31.46875 103.140625x17.46875]
+        frag 0 from TextNode start: 0, length: 13, rect: [10,31 103.140625x17.46875]
           "Hello friends"
           "Hello friends"
-        frag 1 from BlockContainer start: 0, length: 0, rect: [114.140625,11 202x90.9375]
+        frag 1 from BlockContainer start: 0, length: 0, rect: [114,11 202x90.9375]
       TextNode <#text>
       TextNode <#text>
-      BlockContainer <div.ib> at (114.140625,11) content-size 202x90.9375 inline-block [BFC] children: not-inline
-        BlockContainer <div> at (115.140625,12) content-size 200x17.46875 children: inline
+      BlockContainer <div.ib> at (114,11) content-size 202x90.9375 inline-block [BFC] children: not-inline
+        BlockContainer <div> at (115,12) content-size 200x17.46875 children: inline
           line 0 width: 22.546875, height: 17.46875, bottom: 17.46875, baseline: 13.53125
           line 0 width: 22.546875, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-            frag 0 from TextNode start: 0, length: 3, rect: [115.140625,12 22.546875x17.46875]
+            frag 0 from TextNode start: 0, length: 3, rect: [115,12 22.546875x17.46875]
               "1st"
               "1st"
           TextNode <#text>
           TextNode <#text>
-        BlockContainer <div> at (115.140625,31.46875) content-size 200x17.46875 children: inline
+        BlockContainer <div> at (115,31.46875) content-size 200x17.46875 children: inline
           line 0 width: 26.28125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
           line 0 width: 26.28125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-            frag 0 from TextNode start: 0, length: 3, rect: [115.140625,31.46875 26.28125x17.46875]
+            frag 0 from TextNode start: 0, length: 3, rect: [115,31.46875 26.28125x17.46875]
               "2nd"
               "2nd"
           TextNode <#text>
           TextNode <#text>
-        BlockContainer <div.whee> at (115.140625,50.9375) content-size 200x50 children: not-inline
-        BlockContainer <(anonymous)> at (114.140625,101.9375) content-size 202x0 children: inline
+        BlockContainer <div.whee> at (115,50.9375) content-size 200x50 children: not-inline
+        BlockContainer <(anonymous)> at (114,101.9375) content-size 202x0 children: inline
           TextNode <#text>
           TextNode <#text>
 
 
 PaintableWithLines (Viewport<#document>) [0,0 800x600] overflow: [0,0 800x602]
 PaintableWithLines (Viewport<#document>) [0,0 800x600] overflow: [0,0 800x602]
   PaintableWithLines (BlockContainer<HTML>) [0,0 800x602]
   PaintableWithLines (BlockContainer<HTML>) [0,0 800x602]
     PaintableWithLines (BlockContainer<BODY>) [9,9 782x94.9375]
     PaintableWithLines (BlockContainer<BODY>) [9,9 782x94.9375]
       TextPaintable (TextNode<#text>)
       TextPaintable (TextNode<#text>)
-      PaintableWithLines (BlockContainer<DIV>.ib) [113.140625,10 204x92.9375]
-        PaintableWithLines (BlockContainer<DIV>) [114.140625,11 202x19.46875]
+      PaintableWithLines (BlockContainer<DIV>.ib) [113,10 204x92.9375]
+        PaintableWithLines (BlockContainer<DIV>) [114,11 202x19.46875]
           TextPaintable (TextNode<#text>)
           TextPaintable (TextNode<#text>)
-        PaintableWithLines (BlockContainer<DIV>) [114.140625,30.46875 202x19.46875]
+        PaintableWithLines (BlockContainer<DIV>) [114,30.46875 202x19.46875]
           TextPaintable (TextNode<#text>)
           TextPaintable (TextNode<#text>)
-        PaintableWithLines (BlockContainer<DIV>.whee) [114.140625,49.9375 202x52]
-        PaintableWithLines (BlockContainer(anonymous)) [114.140625,101.9375 202x0]
+        PaintableWithLines (BlockContainer<DIV>.whee) [114,49.9375 202x52]
+        PaintableWithLines (BlockContainer(anonymous)) [114,101.9375 202x0]

+ 15 - 15
Tests/LibWeb/Layout/expected/block-and-inline/inline-block-baseline-2.txt

@@ -2,38 +2,38 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
   BlockContainer <html> at (1,1) content-size 798x600 [BFC] children: not-inline
   BlockContainer <html> at (1,1) content-size 798x600 [BFC] children: not-inline
     BlockContainer <body> at (10,10) content-size 780x60.40625 children: inline
     BlockContainer <body> at (10,10) content-size 780x60.40625 children: inline
       line 0 width: 144.375, height: 60.40625, bottom: 60.40625, baseline: 35
       line 0 width: 144.375, height: 60.40625, bottom: 60.40625, baseline: 35
-        frag 0 from TextNode start: 0, length: 13, rect: [10,31.46875 103.140625x17.46875]
+        frag 0 from TextNode start: 0, length: 13, rect: [10,31 103.140625x17.46875]
           "Hello friends"
           "Hello friends"
-        frag 1 from BlockContainer start: 0, length: 0, rect: [114.140625,11 39.234375x58.40625]
+        frag 1 from BlockContainer start: 0, length: 0, rect: [114,11 39.234375x58.40625]
       TextNode <#text>
       TextNode <#text>
-      BlockContainer <div.ib> at (114.140625,11) content-size 39.234375x58.40625 inline-block [BFC] children: not-inline
-        BlockContainer <div> at (115.140625,12) content-size 37.234375x17.46875 children: inline
+      BlockContainer <div.ib> at (114,11) content-size 39.234375x58.40625 inline-block [BFC] children: not-inline
+        BlockContainer <div> at (115,12) content-size 37.234375x17.46875 children: inline
           line 0 width: 22.546875, height: 17.46875, bottom: 17.46875, baseline: 13.53125
           line 0 width: 22.546875, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-            frag 0 from TextNode start: 0, length: 3, rect: [115.140625,12 22.546875x17.46875]
+            frag 0 from TextNode start: 0, length: 3, rect: [115,12 22.546875x17.46875]
               "1st"
               "1st"
           TextNode <#text>
           TextNode <#text>
-        BlockContainer <div> at (115.140625,31.46875) content-size 37.234375x17.46875 children: inline
+        BlockContainer <div> at (115,31.46875) content-size 37.234375x17.46875 children: inline
           line 0 width: 26.28125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
           line 0 width: 26.28125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-            frag 0 from TextNode start: 0, length: 3, rect: [115.140625,31.46875 26.28125x17.46875]
+            frag 0 from TextNode start: 0, length: 3, rect: [115,31.46875 26.28125x17.46875]
               "2nd"
               "2nd"
           TextNode <#text>
           TextNode <#text>
-        BlockContainer <div.float> at (115.140625,50.9375) content-size 37.234375x17.46875 floating [BFC] children: inline
+        BlockContainer <div.float> at (115,50.9375) content-size 37.234375x17.46875 floating [BFC] children: inline
           line 0 width: 37.234375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
           line 0 width: 37.234375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-            frag 0 from TextNode start: 0, length: 5, rect: [115.140625,50.9375 37.234375x17.46875]
+            frag 0 from TextNode start: 0, length: 5, rect: [115,50.9375 37.234375x17.46875]
               "float"
               "float"
           TextNode <#text>
           TextNode <#text>
-        BlockContainer <(anonymous)> at (114.140625,49.9375) content-size 39.234375x0 children: inline
+        BlockContainer <(anonymous)> at (114,49.9375) content-size 39.234375x0 children: inline
           TextNode <#text>
           TextNode <#text>
 
 
 PaintableWithLines (Viewport<#document>) [0,0 800x600] overflow: [0,0 800x602]
 PaintableWithLines (Viewport<#document>) [0,0 800x600] overflow: [0,0 800x602]
   PaintableWithLines (BlockContainer<HTML>) [0,0 800x602]
   PaintableWithLines (BlockContainer<HTML>) [0,0 800x602]
     PaintableWithLines (BlockContainer<BODY>) [9,9 782x62.40625]
     PaintableWithLines (BlockContainer<BODY>) [9,9 782x62.40625]
       TextPaintable (TextNode<#text>)
       TextPaintable (TextNode<#text>)
-      PaintableWithLines (BlockContainer<DIV>.ib) [113.140625,10 41.234375x60.40625]
-        PaintableWithLines (BlockContainer<DIV>) [114.140625,11 39.234375x19.46875]
+      PaintableWithLines (BlockContainer<DIV>.ib) [113,10 41.234375x60.40625]
+        PaintableWithLines (BlockContainer<DIV>) [114,11 39.234375x19.46875]
           TextPaintable (TextNode<#text>)
           TextPaintable (TextNode<#text>)
-        PaintableWithLines (BlockContainer<DIV>) [114.140625,30.46875 39.234375x19.46875]
+        PaintableWithLines (BlockContainer<DIV>) [114,30.46875 39.234375x19.46875]
           TextPaintable (TextNode<#text>)
           TextPaintable (TextNode<#text>)
-        PaintableWithLines (BlockContainer<DIV>.float) [114.140625,49.9375 39.234375x19.46875]
+        PaintableWithLines (BlockContainer<DIV>.float) [114,49.9375 39.234375x19.46875]
           TextPaintable (TextNode<#text>)
           TextPaintable (TextNode<#text>)
-        PaintableWithLines (BlockContainer(anonymous)) [114.140625,49.9375 39.234375x0]
+        PaintableWithLines (BlockContainer(anonymous)) [114,49.9375 39.234375x0]

+ 5 - 5
Tests/LibWeb/Layout/expected/block-and-inline/inline-box-positioned-with-top-left.txt

@@ -4,13 +4,13 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
       line 0 width: 352.34375, height: 20, bottom: 20, baseline: 13.53125
       line 0 width: 352.34375, height: 20, bottom: 20, baseline: 13.53125
         frag 0 from TextNode start: 0, length: 14, rect: [8,8 112.421875x17.46875]
         frag 0 from TextNode start: 0, length: 14, rect: [8,8 112.421875x17.46875]
           "text text text"
           "text text text"
-        frag 1 from BlockContainer start: 0, length: 0, rect: [120.421875,8 110.375x20]
-        frag 2 from TextNode start: 0, length: 16, rect: [230.796875,8 129.546875x17.46875]
+        frag 1 from BlockContainer start: 0, length: 0, rect: [120,8 110.375x20]
+        frag 2 from TextNode start: 0, length: 16, rect: [231,8 129.546875x17.46875]
           "more inline text"
           "more inline text"
       TextNode <#text>
       TextNode <#text>
-      BlockContainer <span.displaced_text> at (150.421875,48) content-size 110.375x20 positioned inline-block [BFC] children: inline
+      BlockContainer <span.displaced_text> at (150,48) content-size 110.375x20 positioned inline-block [BFC] children: inline
         line 0 width: 110.375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
         line 0 width: 110.375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-          frag 0 from TextNode start: 0, length: 14, rect: [150.421875,48 110.375x17.46875]
+          frag 0 from TextNode start: 0, length: 14, rect: [150,48 110.375x17.46875]
             "displaced text"
             "displaced text"
         TextNode <#text>
         TextNode <#text>
       TextNode <#text>
       TextNode <#text>
@@ -19,6 +19,6 @@ PaintableWithLines (Viewport<#document>) [0,0 800x600]
   PaintableWithLines (BlockContainer<HTML>) [0,0 800x600]
   PaintableWithLines (BlockContainer<HTML>) [0,0 800x600]
     PaintableWithLines (BlockContainer<BODY>) [8,8 784x20]
     PaintableWithLines (BlockContainer<BODY>) [8,8 784x20]
       TextPaintable (TextNode<#text>)
       TextPaintable (TextNode<#text>)
-      PaintableWithLines (BlockContainer<SPAN>.displaced_text) [150.421875,48 110.375x20]
+      PaintableWithLines (BlockContainer<SPAN>.displaced_text) [150,48 110.375x20]
         TextPaintable (TextNode<#text>)
         TextPaintable (TextNode<#text>)
       TextPaintable (TextNode<#text>)
       TextPaintable (TextNode<#text>)

+ 4 - 4
Tests/LibWeb/Layout/expected/block-and-inline/inline-box-with-vertical-margins-vertical-align-top.txt

@@ -4,16 +4,16 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
       line 0 width: 210.828125, height: 175, bottom: 175, baseline: 13.53125
       line 0 width: 210.828125, height: 175, bottom: 175, baseline: 13.53125
         frag 0 from TextNode start: 0, length: 6, rect: [8,8 43.125x17.46875]
         frag 0 from TextNode start: 0, length: 6, rect: [8,8 43.125x17.46875]
           "Well, "
           "Well, "
-        frag 1 from BlockContainer start: 0, length: 0, rect: [51.125,58 100x100]
-        frag 2 from TextNode start: 0, length: 9, rect: [151.125,8 67.703125x17.46875]
+        frag 1 from BlockContainer start: 0, length: 0, rect: [51,58 100x100]
+        frag 2 from TextNode start: 0, length: 9, rect: [151,8 67.703125x17.46875]
           " friends."
           " friends."
       TextNode <#text>
       TextNode <#text>
-      BlockContainer <div#inline-box> at (51.125,58) content-size 100x100 inline-block [BFC] children: not-inline
+      BlockContainer <div#inline-box> at (51,58) content-size 100x100 inline-block [BFC] children: not-inline
       TextNode <#text>
       TextNode <#text>
 
 
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
   PaintableWithLines (BlockContainer<HTML>) [0,0 800x600]
   PaintableWithLines (BlockContainer<HTML>) [0,0 800x600]
     PaintableWithLines (BlockContainer<BODY>) [8,8 784x175]
     PaintableWithLines (BlockContainer<BODY>) [8,8 784x175]
       TextPaintable (TextNode<#text>)
       TextPaintable (TextNode<#text>)
-      PaintableWithLines (BlockContainer<DIV>#inline-box) [51.125,58 100x100]
+      PaintableWithLines (BlockContainer<DIV>#inline-box) [51,58 100x100]
       TextPaintable (TextNode<#text>)
       TextPaintable (TextNode<#text>)

+ 8 - 8
Tests/LibWeb/Layout/expected/block-and-inline/inline-box-with-vertical-margins.txt

@@ -1,19 +1,19 @@
 Viewport <#document> at (0,0) content-size 800x600 children: not-inline
 Viewport <#document> at (0,0) content-size 800x600 children: not-inline
   BlockContainer <html> at (0,0) content-size 800x600 [BFC] children: not-inline
   BlockContainer <html> at (0,0) content-size 800x600 [BFC] children: not-inline
-    BlockContainer <body> at (8,8) content-size 784x178.9375 children: inline
-      line 0 width: 210.828125, height: 178.9375, bottom: 178.9375, baseline: 175
-        frag 0 from TextNode start: 0, length: 6, rect: [8,169.46875 43.125x17.46875]
+    BlockContainer <body> at (8,8) content-size 784x178.46875 children: inline
+      line 0 width: 210.828125, height: 178.46875, bottom: 178.46875, baseline: 175
+        frag 0 from TextNode start: 0, length: 6, rect: [8,169 43.125x17.46875]
           "Well, "
           "Well, "
-        frag 1 from BlockContainer start: 0, length: 0, rect: [51.125,58 100x100]
-        frag 2 from TextNode start: 0, length: 9, rect: [151.125,169.46875 67.703125x17.46875]
+        frag 1 from BlockContainer start: 0, length: 0, rect: [51,58 100x100]
+        frag 2 from TextNode start: 0, length: 9, rect: [151,169 67.703125x17.46875]
           " friends."
           " friends."
       TextNode <#text>
       TextNode <#text>
-      BlockContainer <div#inline-box> at (51.125,58) content-size 100x100 inline-block [BFC] children: not-inline
+      BlockContainer <div#inline-box> at (51,58) content-size 100x100 inline-block [BFC] children: not-inline
       TextNode <#text>
       TextNode <#text>
 
 
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
   PaintableWithLines (BlockContainer<HTML>) [0,0 800x600]
   PaintableWithLines (BlockContainer<HTML>) [0,0 800x600]
-    PaintableWithLines (BlockContainer<BODY>) [8,8 784x178.9375]
+    PaintableWithLines (BlockContainer<BODY>) [8,8 784x178.46875]
       TextPaintable (TextNode<#text>)
       TextPaintable (TextNode<#text>)
-      PaintableWithLines (BlockContainer<DIV>#inline-box) [51.125,58 100x100]
+      PaintableWithLines (BlockContainer<DIV>#inline-box) [51,58 100x100]
       TextPaintable (TextNode<#text>)
       TextPaintable (TextNode<#text>)

+ 12 - 12
Tests/LibWeb/Layout/expected/block-and-inline/max-width-for-box-with-inline-children.txt

@@ -1,22 +1,22 @@
 Viewport <#document> at (0,0) content-size 800x600 children: not-inline
 Viewport <#document> at (0,0) content-size 800x600 children: not-inline
-  BlockContainer <html> at (1,1) content-size 798x185.78125 [BFC] children: not-inline
-    BlockContainer <body> at (10,10) content-size 204x167.78125 children: not-inline
-      BlockContainer <div.outer> at (11,11) content-size 202x165.78125 children: not-inline
-        BlockContainer <div.inner> at (12,12) content-size 200x163.78125 children: inline
+  BlockContainer <html> at (1,1) content-size 798x185.96875 [BFC] children: not-inline
+    BlockContainer <body> at (10,10) content-size 204x167.96875 children: not-inline
+      BlockContainer <div.outer> at (11,11) content-size 202x165.96875 children: not-inline
+        BlockContainer <div.inner> at (12,12) content-size 200x163.96875 children: inline
           line 0 width: 88.765625, height: 54.59375, bottom: 54.59375, baseline: 42.28125
           line 0 width: 88.765625, height: 54.59375, bottom: 54.59375, baseline: 42.28125
             frag 0 from TextNode start: 0, length: 4, rect: [12,12 88.765625x54.59375]
             frag 0 from TextNode start: 0, length: 4, rect: [12,12 88.765625x54.59375]
               "well"
               "well"
-          line 1 width: 115.140625, height: 54.59375, bottom: 109.1875, baseline: 42.28125
-            frag 0 from TextNode start: 5, length: 5, rect: [12,66.59375 115.140625x54.59375]
+          line 1 width: 115.140625, height: 55.1875, bottom: 109.78125, baseline: 42.28125
+            frag 0 from TextNode start: 5, length: 5, rect: [12,66 115.140625x54.59375]
               "hello"
               "hello"
-          line 2 width: 173, height: 54.59375, bottom: 163.78125, baseline: 42.28125
-            frag 0 from TextNode start: 11, length: 7, rect: [12,121.1875 173x54.59375]
+          line 2 width: 173, height: 54.78125, bottom: 163.96875, baseline: 42.28125
+            frag 0 from TextNode start: 11, length: 7, rect: [12,121 173x54.59375]
               "friends"
               "friends"
           TextNode <#text>
           TextNode <#text>
 
 
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
-  PaintableWithLines (BlockContainer<HTML>) [0,0 800x187.78125]
-    PaintableWithLines (BlockContainer<BODY>) [9,9 206x169.78125]
-      PaintableWithLines (BlockContainer<DIV>.outer) [10,10 204x167.78125]
-        PaintableWithLines (BlockContainer<DIV>.inner) [11,11 202x165.78125]
+  PaintableWithLines (BlockContainer<HTML>) [0,0 800x187.96875]
+    PaintableWithLines (BlockContainer<BODY>) [9,9 206x169.96875]
+      PaintableWithLines (BlockContainer<DIV>.outer) [10,10 204x167.96875]
+        PaintableWithLines (BlockContainer<DIV>.inner) [11,11 202x165.96875]
           TextPaintable (TextNode<#text>)
           TextPaintable (TextNode<#text>)

+ 14 - 14
Tests/LibWeb/Layout/expected/block-and-inline/narrow-bfc-width-to-avoid-overlap-with-floats.txt

@@ -1,30 +1,30 @@
 Viewport <#document> at (0,0) content-size 800x600 children: not-inline
 Viewport <#document> at (0,0) content-size 800x600 children: not-inline
   BlockContainer <html> at (0,0) content-size 800x1008 [BFC] children: not-inline
   BlockContainer <html> at (0,0) content-size 800x1008 [BFC] children: not-inline
-    BlockContainer <body> at (8,8) content-size 784x107.34375 children: not-inline
-      BlockContainer <div.wrapper> at (8,8) content-size 784x107.34375 children: not-inline
+    BlockContainer <body> at (8,8) content-size 784x108.21875 children: not-inline
+      BlockContainer <div.wrapper> at (8,8) content-size 784x108.21875 children: not-inline
         BlockContainer <div.float> at (592,8) content-size 200x1000 floating [BFC] children: not-inline
         BlockContainer <div.float> at (592,8) content-size 200x1000 floating [BFC] children: not-inline
-        BlockContainer <div.bfc> at (18,18) content-size 564x87.34375 [BFC] children: inline
+        BlockContainer <div.bfc> at (18,18) content-size 564x88.21875 [BFC] children: inline
           line 0 width: 458.125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
           line 0 width: 458.125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
             frag 0 from TextNode start: 0, length: 56, rect: [18,18 458.125x17.46875]
             frag 0 from TextNode start: 0, length: 56, rect: [18,18 458.125x17.46875]
               "Lorem ipsum dolor sit amet, consectetur adipiscing elit."
               "Lorem ipsum dolor sit amet, consectetur adipiscing elit."
-          line 1 width: 511.796875, height: 17.46875, bottom: 34.9375, baseline: 13.53125
-            frag 0 from TextNode start: 57, length: 60, rect: [18,35.46875 511.796875x17.46875]
+          line 1 width: 511.796875, height: 17.9375, bottom: 35.40625, baseline: 13.53125
+            frag 0 from TextNode start: 57, length: 60, rect: [18,35 511.796875x17.46875]
               "Pellentesque vitae neque nunc. Nam fermentum libero a lectus"
               "Pellentesque vitae neque nunc. Nam fermentum libero a lectus"
-          line 2 width: 537.078125, height: 17.46875, bottom: 52.40625, baseline: 13.53125
-            frag 0 from TextNode start: 118, length: 67, rect: [18,52.9375 537.078125x17.46875]
+          line 2 width: 537.078125, height: 18.40625, bottom: 53.34375, baseline: 13.53125
+            frag 0 from TextNode start: 118, length: 67, rect: [18,52 537.078125x17.46875]
               "vulputate eleifend. Nam sagittis tristique augue, id sodales mauris"
               "vulputate eleifend. Nam sagittis tristique augue, id sodales mauris"
-          line 3 width: 537.34375, height: 17.46875, bottom: 69.875, baseline: 13.53125
-            frag 0 from TextNode start: 186, length: 65, rect: [18,70.40625 537.34375x17.46875]
+          line 3 width: 537.34375, height: 17.875, bottom: 70.28125, baseline: 13.53125
+            frag 0 from TextNode start: 186, length: 65, rect: [18,70 537.34375x17.46875]
               "suscipit at. Vivamus eget placerat ex. Suspendisse potenti. Morbi"
               "suscipit at. Vivamus eget placerat ex. Suspendisse potenti. Morbi"
-          line 4 width: 455.375, height: 17.46875, bottom: 87.34375, baseline: 13.53125
-            frag 0 from TextNode start: 252, length: 57, rect: [18,87.875 455.375x17.46875]
+          line 4 width: 455.375, height: 18.34375, bottom: 88.21875, baseline: 13.53125
+            frag 0 from TextNode start: 252, length: 57, rect: [18,87 455.375x17.46875]
               "pulvinar ipsum eget nulla dapibus, ac varius mi eleifend."
               "pulvinar ipsum eget nulla dapibus, ac varius mi eleifend."
           TextNode <#text>
           TextNode <#text>
 
 
 PaintableWithLines (Viewport<#document>) [0,0 800x600] overflow: [0,0 800x1008]
 PaintableWithLines (Viewport<#document>) [0,0 800x600] overflow: [0,0 800x1008]
   PaintableWithLines (BlockContainer<HTML>) [0,0 800x1008]
   PaintableWithLines (BlockContainer<HTML>) [0,0 800x1008]
-    PaintableWithLines (BlockContainer<BODY>) [8,8 784x107.34375] overflow: [8,8 784x1000]
-      PaintableWithLines (BlockContainer<DIV>.wrapper) [8,8 784x107.34375] overflow: [8,8 784x1000]
+    PaintableWithLines (BlockContainer<BODY>) [8,8 784x108.21875] overflow: [8,8 784x1000]
+      PaintableWithLines (BlockContainer<DIV>.wrapper) [8,8 784x108.21875] overflow: [8,8 784x1000]
         PaintableWithLines (BlockContainer<DIV>.float) [592,8 200x1000]
         PaintableWithLines (BlockContainer<DIV>.float) [592,8 200x1000]
-        PaintableWithLines (BlockContainer<DIV>.bfc) [8,8 584x107.34375]
+        PaintableWithLines (BlockContainer<DIV>.bfc) [8,8 584x108.21875]
           TextPaintable (TextNode<#text>)
           TextPaintable (TextNode<#text>)

+ 3 - 3
Tests/LibWeb/Layout/expected/block-and-inline/percentage-padding-on-inline-block-with-indefinite-containing-block-size.txt

@@ -2,10 +2,10 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
   BlockContainer <html> at (0,0) content-size 800x33.46875 [BFC] children: not-inline
   BlockContainer <html> at (0,0) content-size 800x33.46875 [BFC] children: not-inline
     BlockContainer <body> at (8,8) content-size 0x17.46875 children: inline
     BlockContainer <body> at (8,8) content-size 0x17.46875 children: inline
       line 0 width: 0, height: 17.46875, bottom: 17.46875, baseline: 13.53125
       line 0 width: 0, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-        frag 0 from BlockContainer start: 0, length: 0, rect: [8,21.53125 0x0]
-      BlockContainer <div> at (8,21.53125) content-size 0x0 inline-block [BFC] children: not-inline
+        frag 0 from BlockContainer start: 0, length: 0, rect: [8,21 0x0]
+      BlockContainer <div> at (8,21) content-size 0x0 inline-block [BFC] children: not-inline
 
 
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
   PaintableWithLines (BlockContainer<HTML>) [0,0 800x33.46875]
   PaintableWithLines (BlockContainer<HTML>) [0,0 800x33.46875]
     PaintableWithLines (BlockContainer<BODY>) [8,8 0x17.46875]
     PaintableWithLines (BlockContainer<BODY>) [8,8 0x17.46875]
-      PaintableWithLines (BlockContainer<DIV>) [8,21.53125 0x0]
+      PaintableWithLines (BlockContainer<DIV>) [8,21 0x0]

+ 11 - 11
Tests/LibWeb/Layout/expected/block-and-inline/width-auto-margins-set-zero-if-containing-size-smaller.txt

@@ -1,22 +1,22 @@
 Viewport <#document> at (0,0) content-size 800x600 children: not-inline
 Viewport <#document> at (0,0) content-size 800x600 children: not-inline
   BlockContainer <html> at (1,1) content-size 798x0 [BFC] children: not-inline
   BlockContainer <html> at (1,1) content-size 798x0 [BFC] children: not-inline
-    BlockContainer <body> at (10,10) content-size 102x56.40625 positioned [BFC] children: not-inline
-      BlockContainer <div#container> at (11,11) content-size 100x54.40625 children: not-inline
-        BlockContainer <div#child> at (72,12) content-size 50x52.40625 children: inline
+    BlockContainer <body> at (10,10) content-size 102x57.34375 positioned [BFC] children: not-inline
+      BlockContainer <div#container> at (11,11) content-size 100x55.34375 children: not-inline
+        BlockContainer <div#child> at (72,12) content-size 50x53.34375 children: inline
           line 0 width: 28.40625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
           line 0 width: 28.40625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
             frag 0 from TextNode start: 0, length: 4, rect: [72,12 28.40625x17.46875]
             frag 0 from TextNode start: 0, length: 4, rect: [72,12 28.40625x17.46875]
               "well"
               "well"
-          line 1 width: 36.84375, height: 17.46875, bottom: 34.9375, baseline: 13.53125
-            frag 0 from TextNode start: 5, length: 5, rect: [72,29.46875 36.84375x17.46875]
+          line 1 width: 36.84375, height: 17.9375, bottom: 35.40625, baseline: 13.53125
+            frag 0 from TextNode start: 5, length: 5, rect: [72,29 36.84375x17.46875]
               "hello"
               "hello"
-          line 2 width: 55.359375, height: 17.46875, bottom: 52.40625, baseline: 13.53125
-            frag 0 from TextNode start: 11, length: 7, rect: [72,46.9375 55.359375x17.46875]
+          line 2 width: 55.359375, height: 18.40625, bottom: 53.34375, baseline: 13.53125
+            frag 0 from TextNode start: 11, length: 7, rect: [72,46 55.359375x17.46875]
               "friends"
               "friends"
           TextNode <#text>
           TextNode <#text>
 
 
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
-  PaintableWithLines (BlockContainer<HTML>) [0,0 800x2] overflow: [9,9 174x58.40625]
-    PaintableWithLines (BlockContainer<BODY>) [9,9 104x58.40625] overflow: [10,10 173x56.40625]
-      PaintableWithLines (BlockContainer<DIV>#container) [10,10 102x56.40625] overflow: [11,11 172x54.40625]
-        PaintableWithLines (BlockContainer<DIV>#child) [11,11 172x54.40625]
+  PaintableWithLines (BlockContainer<HTML>) [0,0 800x2] overflow: [9,9 174x59.34375]
+    PaintableWithLines (BlockContainer<BODY>) [9,9 104x59.34375] overflow: [10,10 173x57.34375]
+      PaintableWithLines (BlockContainer<DIV>#container) [10,10 102x57.34375] overflow: [11,11 172x55.34375]
+        PaintableWithLines (BlockContainer<DIV>#child) [11,11 172x55.34375]
           TextPaintable (TextNode<#text>)
           TextPaintable (TextNode<#text>)

+ 11 - 11
Tests/LibWeb/Layout/expected/box-sizing-border-box-for-definite-sizes-without-layout.txt

@@ -1,18 +1,18 @@
 Viewport <#document> at (0,0) content-size 800x600 children: not-inline
 Viewport <#document> at (0,0) content-size 800x600 children: not-inline
-  BlockContainer <html> at (0,0) content-size 800x66.921875 [BFC] children: not-inline
-    BlockContainer <body> at (8,8) content-size 784x50.921875 children: inline
-      line 0 width: 89.71875, height: 50.921875, bottom: 50.921875, baseline: 16.921875
-        frag 0 from Box start: 0, length: 0, rect: [28,38.921875 49.71875x0]
-      Box <div.button> at (28,38.921875) content-size 49.71875x0 flex-container(row) [FFC] children: not-inline
-        BlockContainer <(anonymous)> at (28,28) content-size 49.71875x21.84375 flex-item [BFC] children: inline
+  BlockContainer <html> at (0,0) content-size 800x66 [BFC] children: not-inline
+    BlockContainer <body> at (8,8) content-size 784x50 children: inline
+      line 0 width: 89.71875, height: 50, bottom: 50, baseline: 16.921875
+        frag 0 from Box start: 0, length: 0, rect: [28,38 49.71875x0]
+      Box <div.button> at (28,38) content-size 49.71875x0 flex-container(row) [FFC] children: not-inline
+        BlockContainer <(anonymous)> at (28,27.078125) content-size 49.71875x21.84375 flex-item [BFC] children: inline
           line 0 width: 49.71875, height: 21.84375, bottom: 21.84375, baseline: 16.921875
           line 0 width: 49.71875, height: 21.84375, bottom: 21.84375, baseline: 16.921875
-            frag 0 from TextNode start: 0, length: 5, rect: [28,28 49.71875x21.84375]
+            frag 0 from TextNode start: 0, length: 5, rect: [28,27.078125 49.71875x21.84375]
               "Hello"
               "Hello"
           TextNode <#text>
           TextNode <#text>
 
 
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
-  PaintableWithLines (BlockContainer<HTML>) [0,0 800x66.921875]
-    PaintableWithLines (BlockContainer<BODY>) [8,8 784x50.921875]
-      PaintableBox (Box<DIV>.button) [8,18.921875 89.71875x40]
-        PaintableWithLines (BlockContainer(anonymous)) [28,28 49.71875x21.84375]
+  PaintableWithLines (BlockContainer<HTML>) [0,0 800x66]
+    PaintableWithLines (BlockContainer<BODY>) [8,8 784x50]
+      PaintableBox (Box<DIV>.button) [8,18 89.71875x40]
+        PaintableWithLines (BlockContainer(anonymous)) [28,27.078125 49.71875x21.84375]
           TextPaintable (TextNode<#text>)
           TextPaintable (TextNode<#text>)

+ 1 - 1
Tests/LibWeb/Layout/expected/css-all-unset.txt

@@ -2,7 +2,7 @@ Viewport <#document> at (0,0) content-size 800x600 children: inline
   line 0 width: 238.125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
   line 0 width: 238.125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
     frag 0 from TextNode start: 1, length: 18, rect: [0,0 134.984375x17.46875]
     frag 0 from TextNode start: 1, length: 18, rect: [0,0 134.984375x17.46875]
       "* { all: unset; } "
       "* { all: unset; } "
-    frag 1 from TextNode start: 0, length: 13, rect: [134.984375,0 103.140625x17.46875]
+    frag 1 from TextNode start: 0, length: 13, rect: [135,0 103.140625x17.46875]
       "Hello friends"
       "Hello friends"
   InlineNode <html>
   InlineNode <html>
     InlineNode <head>
     InlineNode <head>

+ 25 - 25
Tests/LibWeb/Layout/expected/div_align.txt

@@ -13,7 +13,7 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
       BlockContainer <div> at (8,165.46875) content-size 784x137.46875 children: not-inline
       BlockContainer <div> at (8,165.46875) content-size 784x137.46875 children: not-inline
         BlockContainer <(anonymous)> at (8,165.46875) content-size 784x17.46875 children: inline
         BlockContainer <(anonymous)> at (8,165.46875) content-size 784x17.46875 children: inline
           line 0 width: 418.6875, height: 17.46875, bottom: 17.46875, baseline: 13.53125
           line 0 width: 418.6875, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-            frag 0 from TextNode start: 0, length: 49, rect: [190.65625,165.46875 418.6875x17.46875]
+            frag 0 from TextNode start: 0, length: 49, rect: [191,165.46875 418.6875x17.46875]
               "This text and the green square are both centered:"
               "This text and the green square are both centered:"
           TextNode <#text>
           TextNode <#text>
         BlockContainer <div.square> at (350,202.9375) content-size 100x100 children: not-inline
         BlockContainer <div.square> at (350,202.9375) content-size 100x100 children: not-inline
@@ -22,7 +22,7 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
       BlockContainer <div> at (8,322.9375) content-size 784x137.46875 children: not-inline
       BlockContainer <div> at (8,322.9375) content-size 784x137.46875 children: not-inline
         BlockContainer <(anonymous)> at (8,322.9375) content-size 784x17.46875 children: inline
         BlockContainer <(anonymous)> at (8,322.9375) content-size 784x17.46875 children: inline
           line 0 width: 447.484375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
           line 0 width: 447.484375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-            frag 0 from TextNode start: 0, length: 54, rect: [344.515625,322.9375 447.484375x17.46875]
+            frag 0 from TextNode start: 0, length: 54, rect: [345,322.9375 447.484375x17.46875]
               "This text and the green square are both right aligned:"
               "This text and the green square are both right aligned:"
           TextNode <#text>
           TextNode <#text>
         BlockContainer <div.square> at (672,360.40625) content-size 100x100 children: not-inline
         BlockContainer <div.square> at (672,360.40625) content-size 100x100 children: not-inline
@@ -33,45 +33,45 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
           line 0 width: 512.53125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
           line 0 width: 512.53125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
             frag 0 from TextNode start: 0, length: 4, rect: [8,480.40625 35.5x17.46875]
             frag 0 from TextNode start: 0, length: 4, rect: [8,480.40625 35.5x17.46875]
               "This"
               "This"
-            frag 1 from TextNode start: 4, length: 1, rect: [43.5,480.40625 8x17.46875]
+            frag 1 from TextNode start: 4, length: 1, rect: [44,480.40625 8x17.46875]
               " "
               " "
-            frag 2 from TextNode start: 5, length: 4, rect: [51.5,480.40625 32.140625x17.46875]
+            frag 2 from TextNode start: 5, length: 4, rect: [52,480.40625 32.140625x17.46875]
               "text"
               "text"
-            frag 3 from TextNode start: 9, length: 1, rect: [83.640625,480.40625 8x17.46875]
+            frag 3 from TextNode start: 9, length: 1, rect: [84,480.40625 8x17.46875]
               " "
               " "
-            frag 4 from TextNode start: 10, length: 2, rect: [91.640625,480.40625 13.90625x17.46875]
+            frag 4 from TextNode start: 10, length: 2, rect: [92,480.40625 13.90625x17.46875]
               "is"
               "is"
-            frag 5 from TextNode start: 12, length: 1, rect: [105.546875,480.40625 8x17.46875]
+            frag 5 from TextNode start: 12, length: 1, rect: [106,480.40625 8x17.46875]
               " "
               " "
-            frag 6 from TextNode start: 13, length: 16, rect: [113.546875,480.40625 102.96875x17.46875]
+            frag 6 from TextNode start: 13, length: 16, rect: [114,480.40625 102.96875x17.46875]
               "'full-justified'"
               "'full-justified'"
-            frag 7 from TextNode start: 29, length: 1, rect: [216.515625,480.40625 8x17.46875]
+            frag 7 from TextNode start: 29, length: 1, rect: [217,480.40625 8x17.46875]
               " "
               " "
-            frag 8 from TextNode start: 30, length: 3, rect: [224.515625,480.40625 26.8125x17.46875]
+            frag 8 from TextNode start: 30, length: 3, rect: [225,480.40625 26.8125x17.46875]
               "and"
               "and"
-            frag 9 from TextNode start: 33, length: 1, rect: [251.328125,480.40625 8x17.46875]
+            frag 9 from TextNode start: 33, length: 1, rect: [251,480.40625 8x17.46875]
               " "
               " "
-            frag 10 from TextNode start: 34, length: 3, rect: [259.328125,480.40625 24.875x17.46875]
+            frag 10 from TextNode start: 34, length: 3, rect: [259,480.40625 24.875x17.46875]
               "the"
               "the"
-            frag 11 from TextNode start: 37, length: 1, rect: [284.203125,480.40625 8x17.46875]
+            frag 11 from TextNode start: 37, length: 1, rect: [284,480.40625 8x17.46875]
               " "
               " "
-            frag 12 from TextNode start: 38, length: 5, rect: [292.203125,480.40625 43.4375x17.46875]
+            frag 12 from TextNode start: 38, length: 5, rect: [292,480.40625 43.4375x17.46875]
               "green"
               "green"
-            frag 13 from TextNode start: 43, length: 1, rect: [335.640625,480.40625 8x17.46875]
+            frag 13 from TextNode start: 43, length: 1, rect: [336,480.40625 8x17.46875]
               " "
               " "
-            frag 14 from TextNode start: 44, length: 6, rect: [343.640625,480.40625 57.0625x17.46875]
+            frag 14 from TextNode start: 44, length: 6, rect: [344,480.40625 57.0625x17.46875]
               "square"
               "square"
-            frag 15 from TextNode start: 50, length: 1, rect: [400.703125,480.40625 8x17.46875]
+            frag 15 from TextNode start: 50, length: 1, rect: [401,480.40625 8x17.46875]
               " "
               " "
-            frag 16 from TextNode start: 51, length: 2, rect: [408.703125,480.40625 13.90625x17.46875]
+            frag 16 from TextNode start: 51, length: 2, rect: [409,480.40625 13.90625x17.46875]
               "is"
               "is"
-            frag 17 from TextNode start: 53, length: 1, rect: [422.609375,480.40625 8x17.46875]
+            frag 17 from TextNode start: 53, length: 1, rect: [423,480.40625 8x17.46875]
               " "
               " "
-            frag 18 from TextNode start: 54, length: 4, rect: [430.609375,480.40625 26.25x17.46875]
+            frag 18 from TextNode start: 54, length: 4, rect: [431,480.40625 26.25x17.46875]
               "left"
               "left"
-            frag 19 from TextNode start: 58, length: 1, rect: [456.859375,480.40625 8x17.46875]
+            frag 19 from TextNode start: 58, length: 1, rect: [457,480.40625 8x17.46875]
               " "
               " "
-            frag 20 from TextNode start: 59, length: 8, rect: [464.859375,480.40625 55.671875x17.46875]
+            frag 20 from TextNode start: 59, length: 8, rect: [465,480.40625 55.671875x17.46875]
               "aligned:"
               "aligned:"
           TextNode <#text>
           TextNode <#text>
         BlockContainer <div.square> at (28,517.875) content-size 100x100 children: not-inline
         BlockContainer <div.square> at (28,517.875) content-size 100x100 children: not-inline
@@ -80,7 +80,7 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
 
 
 PaintableWithLines (Viewport<#document>) [0,0 800x600] overflow: [0,0 800x637.875]
 PaintableWithLines (Viewport<#document>) [0,0 800x600] overflow: [0,0 800x637.875]
   PaintableWithLines (BlockContainer<HTML>) [0,0 800x637.875]
   PaintableWithLines (BlockContainer<HTML>) [0,0 800x637.875]
-    PaintableWithLines (BlockContainer<BODY>) [8,8 784x609.875] overflow: [8,8 784x629.875]
+    PaintableWithLines (BlockContainer<BODY>) [8,8 784x609.875] overflow: [8,8 784.484375x629.875]
       PaintableWithLines (BlockContainer<DIV>) [8,8 784x137.46875]
       PaintableWithLines (BlockContainer<DIV>) [8,8 784x137.46875]
         PaintableWithLines (BlockContainer(anonymous)) [8,8 784x17.46875]
         PaintableWithLines (BlockContainer(anonymous)) [8,8 784x17.46875]
           TextPaintable (TextNode<#text>)
           TextPaintable (TextNode<#text>)
@@ -91,8 +91,8 @@ PaintableWithLines (Viewport<#document>) [0,0 800x600] overflow: [0,0 800x637.87
           TextPaintable (TextNode<#text>)
           TextPaintable (TextNode<#text>)
         PaintableWithLines (BlockContainer<DIV>.square) [350,202.9375 100x100]
         PaintableWithLines (BlockContainer<DIV>.square) [350,202.9375 100x100]
       PaintableWithLines (BlockContainer(anonymous)) [8,322.9375 784x0]
       PaintableWithLines (BlockContainer(anonymous)) [8,322.9375 784x0]
-      PaintableWithLines (BlockContainer<DIV>) [8,322.9375 784x137.46875]
-        PaintableWithLines (BlockContainer(anonymous)) [8,322.9375 784x17.46875]
+      PaintableWithLines (BlockContainer<DIV>) [8,322.9375 784x137.46875] overflow: [8,322.9375 784.484375x137.46875]
+        PaintableWithLines (BlockContainer(anonymous)) [8,322.9375 784x17.46875] overflow: [8,322.9375 784.484375x17.46875]
           TextPaintable (TextNode<#text>)
           TextPaintable (TextNode<#text>)
         PaintableWithLines (BlockContainer<DIV>.square) [672,360.40625 100x100]
         PaintableWithLines (BlockContainer<DIV>.square) [672,360.40625 100x100]
       PaintableWithLines (BlockContainer(anonymous)) [8,480.40625 784x0]
       PaintableWithLines (BlockContainer(anonymous)) [8,480.40625 784x0]

+ 18 - 18
Tests/LibWeb/Layout/expected/div_align_nested.txt

@@ -1,42 +1,42 @@
 Viewport <#document> at (0,0) content-size 800x600 children: not-inline
 Viewport <#document> at (0,0) content-size 800x600 children: not-inline
   BlockContainer <html> at (0,0) content-size 800x600 [BFC] children: not-inline
   BlockContainer <html> at (0,0) content-size 800x600 [BFC] children: not-inline
-    BlockContainer <body> at (8,8) content-size 784x252.40625 children: not-inline
-      BlockContainer <div> at (8,8) content-size 784x252.40625 children: not-inline
+    BlockContainer <body> at (8,8) content-size 784x252.875 children: not-inline
+      BlockContainer <div> at (8,8) content-size 784x252.875 children: not-inline
         BlockContainer <(anonymous)> at (8,8) content-size 784x17.46875 children: inline
         BlockContainer <(anonymous)> at (8,8) content-size 784x17.46875 children: inline
           line 0 width: 447.484375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
           line 0 width: 447.484375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-            frag 0 from TextNode start: 0, length: 54, rect: [344.515625,8 447.484375x17.46875]
+            frag 0 from TextNode start: 0, length: 54, rect: [345,8 447.484375x17.46875]
               "This text and the green square are both right aligned:"
               "This text and the green square are both right aligned:"
           TextNode <#text>
           TextNode <#text>
         BlockContainer <div.square> at (692,25.46875) content-size 100x100 children: not-inline
         BlockContainer <div.square> at (692,25.46875) content-size 100x100 children: not-inline
         BlockContainer <(anonymous)> at (8,125.46875) content-size 784x0 children: inline
         BlockContainer <(anonymous)> at (8,125.46875) content-size 784x0 children: inline
           TextNode <#text>
           TextNode <#text>
-        BlockContainer <div> at (8,125.46875) content-size 784x134.9375 children: not-inline
-          BlockContainer <(anonymous)> at (8,125.46875) content-size 784x34.9375 children: inline
+        BlockContainer <div> at (8,125.46875) content-size 784x135.40625 children: not-inline
+          BlockContainer <(anonymous)> at (8,125.46875) content-size 784x35.40625 children: inline
             line 0 width: 711.4375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
             line 0 width: 711.4375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
               frag 0 from TextNode start: 1, length: 87, rect: [8,125.46875 711.4375x17.46875]
               frag 0 from TextNode start: 1, length: 87, rect: [8,125.46875 711.4375x17.46875]
                 "This text and the green square are both left aligned despite being nested in a div with"
                 "This text and the green square are both left aligned despite being nested in a div with"
-            line 1 width: 94.296875, height: 17.46875, bottom: 34.9375, baseline: 13.53125
-              frag 0 from TextNode start: 89, length: 14, rect: [8,142.9375 94.296875x17.46875]
+            line 1 width: 94.296875, height: 17.9375, bottom: 35.40625, baseline: 13.53125
+              frag 0 from TextNode start: 89, length: 14, rect: [8,142.46875 94.296875x17.46875]
                 "align="right":"
                 "align="right":"
             TextNode <#text>
             TextNode <#text>
-          BlockContainer <div.square> at (8,160.40625) content-size 100x100 children: inline
+          BlockContainer <div.square> at (8,160.875) content-size 100x100 children: inline
             TextNode <#text>
             TextNode <#text>
-          BlockContainer <(anonymous)> at (8,260.40625) content-size 784x0 children: inline
+          BlockContainer <(anonymous)> at (8,260.875) content-size 784x0 children: inline
             TextNode <#text>
             TextNode <#text>
-        BlockContainer <(anonymous)> at (8,260.40625) content-size 784x0 children: inline
+        BlockContainer <(anonymous)> at (8,260.875) content-size 784x0 children: inline
           TextNode <#text>
           TextNode <#text>
 
 
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
   PaintableWithLines (BlockContainer<HTML>) [0,0 800x600]
   PaintableWithLines (BlockContainer<HTML>) [0,0 800x600]
-    PaintableWithLines (BlockContainer<BODY>) [8,8 784x252.40625]
-      PaintableWithLines (BlockContainer<DIV>) [8,8 784x252.40625]
-        PaintableWithLines (BlockContainer(anonymous)) [8,8 784x17.46875]
+    PaintableWithLines (BlockContainer<BODY>) [8,8 784x252.875] overflow: [8,8 784.484375x252.875]
+      PaintableWithLines (BlockContainer<DIV>) [8,8 784x252.875] overflow: [8,8 784.484375x252.875]
+        PaintableWithLines (BlockContainer(anonymous)) [8,8 784x17.46875] overflow: [8,8 784.484375x17.46875]
           TextPaintable (TextNode<#text>)
           TextPaintable (TextNode<#text>)
         PaintableWithLines (BlockContainer<DIV>.square) [692,25.46875 100x100]
         PaintableWithLines (BlockContainer<DIV>.square) [692,25.46875 100x100]
         PaintableWithLines (BlockContainer(anonymous)) [8,125.46875 784x0]
         PaintableWithLines (BlockContainer(anonymous)) [8,125.46875 784x0]
-        PaintableWithLines (BlockContainer<DIV>) [8,125.46875 784x134.9375]
-          PaintableWithLines (BlockContainer(anonymous)) [8,125.46875 784x34.9375]
+        PaintableWithLines (BlockContainer<DIV>) [8,125.46875 784x135.40625]
+          PaintableWithLines (BlockContainer(anonymous)) [8,125.46875 784x35.40625]
             TextPaintable (TextNode<#text>)
             TextPaintable (TextNode<#text>)
-          PaintableWithLines (BlockContainer<DIV>.square) [8,160.40625 100x100]
-          PaintableWithLines (BlockContainer(anonymous)) [8,260.40625 784x0]
-        PaintableWithLines (BlockContainer(anonymous)) [8,260.40625 784x0]
+          PaintableWithLines (BlockContainer<DIV>.square) [8,160.875 100x100]
+          PaintableWithLines (BlockContainer(anonymous)) [8,260.875 784x0]
+        PaintableWithLines (BlockContainer(anonymous)) [8,260.875 784x0]

+ 14 - 14
Tests/LibWeb/Layout/expected/flex-column-item-with-auto-height-and-max-width.txt

@@ -1,26 +1,26 @@
 Viewport <#document> at (0,0) content-size 800x600 children: not-inline
 Viewport <#document> at (0,0) content-size 800x600 children: not-inline
-  BlockContainer <html> at (1,1) content-size 798x91.34375 [BFC] children: not-inline
-    Box <body> at (2,2) content-size 796x89.34375 flex-container(column) [FFC] children: not-inline
-      BlockContainer <main> at (3,3) content-size 400x87.34375 flex-item [BFC] children: inline
+  BlockContainer <html> at (1,1) content-size 798x92.21875 [BFC] children: not-inline
+    Box <body> at (2,2) content-size 796x90.21875 flex-container(column) [FFC] children: not-inline
+      BlockContainer <main> at (3,3) content-size 400x88.21875 flex-item [BFC] children: inline
         line 0 width: 346.984375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
         line 0 width: 346.984375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
           frag 0 from TextNode start: 0, length: 41, rect: [3,3 346.984375x17.46875]
           frag 0 from TextNode start: 0, length: 41, rect: [3,3 346.984375x17.46875]
             "For my day job I'm currently working as a"
             "For my day job I'm currently working as a"
-        line 1 width: 337.59375, height: 17.46875, bottom: 34.9375, baseline: 13.53125
-          frag 0 from TextNode start: 42, length: 39, rect: [3,20.46875 337.59375x17.46875]
+        line 1 width: 337.59375, height: 17.9375, bottom: 35.40625, baseline: 13.53125
+          frag 0 from TextNode start: 42, length: 39, rect: [3,20 337.59375x17.46875]
             "Software Engineer at For my day job I'm"
             "Software Engineer at For my day job I'm"
-        line 2 width: 368.203125, height: 17.46875, bottom: 52.40625, baseline: 13.53125
-          frag 0 from TextNode start: 82, length: 43, rect: [3,37.9375 368.203125x17.46875]
+        line 2 width: 368.203125, height: 18.40625, bottom: 53.34375, baseline: 13.53125
+          frag 0 from TextNode start: 82, length: 43, rect: [3,37 368.203125x17.46875]
             "currently working as a Software Engineer at"
             "currently working as a Software Engineer at"
-        line 3 width: 346.984375, height: 17.46875, bottom: 69.875, baseline: 13.53125
-          frag 0 from TextNode start: 126, length: 41, rect: [3,55.40625 346.984375x17.46875]
+        line 3 width: 346.984375, height: 17.875, bottom: 70.28125, baseline: 13.53125
+          frag 0 from TextNode start: 126, length: 41, rect: [3,55 346.984375x17.46875]
             "For my day job I'm currently working as a"
             "For my day job I'm currently working as a"
-        line 4 width: 175.40625, height: 17.46875, bottom: 87.34375, baseline: 13.53125
-          frag 0 from TextNode start: 168, length: 20, rect: [3,72.875 175.40625x17.46875]
+        line 4 width: 175.40625, height: 18.34375, bottom: 88.21875, baseline: 13.53125
+          frag 0 from TextNode start: 168, length: 20, rect: [3,72 175.40625x17.46875]
             "Software Engineer at"
             "Software Engineer at"
         TextNode <#text>
         TextNode <#text>
 
 
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
-  PaintableWithLines (BlockContainer<HTML>) [0,0 800x93.34375]
-    PaintableBox (Box<BODY>) [1,1 798x91.34375]
-      PaintableWithLines (BlockContainer<MAIN>) [2,2 402x89.34375]
+  PaintableWithLines (BlockContainer<HTML>) [0,0 800x94.21875]
+    PaintableBox (Box<BODY>) [1,1 798x92.21875]
+      PaintableWithLines (BlockContainer<MAIN>) [2,2 402x90.21875]
         TextPaintable (TextNode<#text>)
         TextPaintable (TextNode<#text>)

+ 4 - 4
Tests/LibWeb/Layout/expected/flex-column-item-with-auto-height-depending-auto-width-with-max-width-constraint.txt

@@ -5,14 +5,14 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
         line 0 width: 340.484375, height: 65.5, bottom: 65.5, baseline: 50.734375
         line 0 width: 340.484375, height: 65.5, bottom: 65.5, baseline: 50.734375
           frag 0 from TextNode start: 0, length: 11, rect: [102,3 340.484375x65.5]
           frag 0 from TextNode start: 0, length: 11, rect: [102,3 340.484375x65.5]
             "This entire"
             "This entire"
-        line 1 width: 341.25, height: 65.5, bottom: 131, baseline: 50.734375
-          frag 0 from TextNode start: 12, length: 11, rect: [102,68.5 341.25x65.5]
+        line 1 width: 341.25, height: 66, bottom: 131.5, baseline: 50.734375
+          frag 0 from TextNode start: 12, length: 11, rect: [102,68 341.25x65.5]
             "text should"
             "text should"
         line 2 width: 274.15625, height: 65.5, bottom: 196.5, baseline: 50.734375
         line 2 width: 274.15625, height: 65.5, bottom: 196.5, baseline: 50.734375
           frag 0 from TextNode start: 24, length: 8, rect: [102,134 274.15625x65.5]
           frag 0 from TextNode start: 24, length: 8, rect: [102,134 274.15625x65.5]
             "be on an"
             "be on an"
-        line 3 width: 204.078125, height: 65.5, bottom: 262, baseline: 50.734375
-          frag 0 from TextNode start: 33, length: 6, rect: [102,199.5 204.078125x65.5]
+        line 3 width: 204.078125, height: 66, bottom: 262.5, baseline: 50.734375
+          frag 0 from TextNode start: 33, length: 6, rect: [102,199 204.078125x65.5]
             "orange"
             "orange"
         line 4 width: 351.5625, height: 65.5, bottom: 327.5, baseline: 50.734375
         line 4 width: 351.5625, height: 65.5, bottom: 327.5, baseline: 50.734375
           frag 0 from TextNode start: 40, length: 11, rect: [102,265 351.5625x65.5]
           frag 0 from TextNode start: 40, length: 11, rect: [102,265 351.5625x65.5]

+ 14 - 14
Tests/LibWeb/Layout/expected/flex-column-item-with-auto-height-depending-on-auto-width.txt

@@ -1,28 +1,28 @@
 Viewport <#document> at (0,0) content-size 800x600 children: not-inline
 Viewport <#document> at (0,0) content-size 800x600 children: not-inline
-  BlockContainer <html> at (1,1) content-size 798x456.71875 [BFC] children: not-inline
-    Box <body.hero> at (10,10) content-size 500x438.71875 flex-container(column) [FFC] children: not-inline
-      BlockContainer <div.upper> at (10,11) content-size 500x436.71875 flex-item [BFC] children: inline
+  BlockContainer <html> at (1,1) content-size 798x457.09375 [BFC] children: not-inline
+    Box <body.hero> at (10,10) content-size 500x439.09375 flex-container(column) [FFC] children: not-inline
+      BlockContainer <div.upper> at (10,11) content-size 500x437.09375 flex-item [BFC] children: inline
         line 0 width: 453.984375, height: 87.34375, bottom: 87.34375, baseline: 67.65625
         line 0 width: 453.984375, height: 87.34375, bottom: 87.34375, baseline: 67.65625
           frag 0 from TextNode start: 0, length: 11, rect: [10,11 453.984375x87.34375]
           frag 0 from TextNode start: 0, length: 11, rect: [10,11 453.984375x87.34375]
             "This entire"
             "This entire"
-        line 1 width: 455, height: 87.34375, bottom: 174.6875, baseline: 67.65625
-          frag 0 from TextNode start: 12, length: 11, rect: [10,98.34375 455x87.34375]
+        line 1 width: 455, height: 87.6875, bottom: 175.03125, baseline: 67.65625
+          frag 0 from TextNode start: 12, length: 11, rect: [10,98 455x87.34375]
             "text should"
             "text should"
-        line 2 width: 230.78125, height: 87.34375, bottom: 262.03125, baseline: 67.65625
-          frag 0 from TextNode start: 24, length: 5, rect: [10,185.6875 230.78125x87.34375]
+        line 2 width: 230.78125, height: 88.03125, bottom: 262.71875, baseline: 67.65625
+          frag 0 from TextNode start: 24, length: 5, rect: [10,185 230.78125x87.34375]
             "be on"
             "be on"
-        line 3 width: 272.109375, height: 87.34375, bottom: 349.375, baseline: 67.65625
-          frag 0 from TextNode start: 30, length: 6, rect: [10,273.03125 272.109375x87.34375]
+        line 3 width: 272.109375, height: 87.375, bottom: 349.40625, baseline: 67.65625
+          frag 0 from TextNode start: 30, length: 6, rect: [10,273 272.109375x87.34375]
             "orange"
             "orange"
-        line 4 width: 468.75, height: 87.34375, bottom: 436.71875, baseline: 67.65625
-          frag 0 from TextNode start: 37, length: 11, rect: [10,360.375 468.75x87.34375]
+        line 4 width: 468.75, height: 87.71875, bottom: 437.09375, baseline: 67.65625
+          frag 0 from TextNode start: 37, length: 11, rect: [10,360 468.75x87.34375]
             "background."
             "background."
         TextNode <#text>
         TextNode <#text>
       BlockContainer <(anonymous)> (not painted) [BFC] children: inline
       BlockContainer <(anonymous)> (not painted) [BFC] children: inline
         TextNode <#text>
         TextNode <#text>
 
 
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
-  PaintableWithLines (BlockContainer<HTML>) [0,0 800x458.71875]
-    PaintableBox (Box<BODY>.hero) [9,9 502x440.71875] overflow: [9,10 502x438.71875]
-      PaintableWithLines (BlockContainer<DIV>.upper) [9,10 502x438.71875]
+  PaintableWithLines (BlockContainer<HTML>) [0,0 800x459.09375]
+    PaintableBox (Box<BODY>.hero) [9,9 502x441.09375] overflow: [9,10 502x439.09375]
+      PaintableWithLines (BlockContainer<DIV>.upper) [9,10 502x439.09375]
         TextPaintable (TextNode<#text>)
         TextPaintable (TextNode<#text>)

+ 6 - 6
Tests/LibWeb/Layout/expected/flex-shrink-1.txt

@@ -8,14 +8,14 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
           line 0 width: 18.9375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
           line 0 width: 18.9375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
             frag 0 from TextNode start: 0, length: 3, rect: [10,10 18.9375x17.46875]
             frag 0 from TextNode start: 0, length: 3, rect: [10,10 18.9375x17.46875]
               "1 I"
               "1 I"
-          line 1 width: 49.359375, height: 17.46875, bottom: 34.9375, baseline: 13.53125
-            frag 0 from TextNode start: 4, length: 6, rect: [10,27.46875 49.359375x17.46875]
+          line 1 width: 49.359375, height: 17.9375, bottom: 35.40625, baseline: 13.53125
+            frag 0 from TextNode start: 4, length: 6, rect: [10,27 49.359375x17.46875]
               "shrink"
               "shrink"
-          line 2 width: 24.875, height: 17.46875, bottom: 52.40625, baseline: 13.53125
-            frag 0 from TextNode start: 11, length: 3, rect: [10,44.9375 24.875x17.46875]
+          line 2 width: 24.875, height: 18.40625, bottom: 53.34375, baseline: 13.53125
+            frag 0 from TextNode start: 11, length: 3, rect: [10,44 24.875x17.46875]
               "the"
               "the"
-          line 3 width: 38.765625, height: 17.46875, bottom: 69.875, baseline: 13.53125
-            frag 0 from TextNode start: 15, length: 4, rect: [10,62.40625 38.765625x17.46875]
+          line 3 width: 38.765625, height: 17.875, bottom: 70.28125, baseline: 13.53125
+            frag 0 from TextNode start: 15, length: 4, rect: [10,62 38.765625x17.46875]
               "most"
               "most"
           TextNode <#text>
           TextNode <#text>
         BlockContainer <(anonymous)> (not painted) [BFC] children: inline
         BlockContainer <(anonymous)> (not painted) [BFC] children: inline

+ 20 - 20
Tests/LibWeb/Layout/expected/flex/cross-size-of-item-with-box-sizing-border-box-and-nonzero-padding.txt

@@ -1,34 +1,34 @@
 Viewport <#document> at (0,0) content-size 800x600 children: not-inline
 Viewport <#document> at (0,0) content-size 800x600 children: not-inline
-  BlockContainer <html> at (1,1) content-size 798x244.28125 [BFC] children: not-inline
-    BlockContainer <body> at (10,10) content-size 780x226.28125 children: not-inline
-      Box <div.outer.flex.flex-wrap> at (11,11) content-size 778x224.28125 flex-container(row) [FFC] children: not-inline
-        BlockContainer <div.inner> at (12,62) content-size 776x122.28125 flex-item [BFC] children: inline
+  BlockContainer <html> at (1,1) content-size 798x245.09375 [BFC] children: not-inline
+    BlockContainer <body> at (10,10) content-size 780x227.09375 children: not-inline
+      Box <div.outer.flex.flex-wrap> at (11,11) content-size 778x225.09375 flex-container(row) [FFC] children: not-inline
+        BlockContainer <div.inner> at (12,62) content-size 776x123.09375 flex-item [BFC] children: inline
           line 0 width: 741.640625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
           line 0 width: 741.640625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
             frag 0 from TextNode start: 0, length: 90, rect: [12,62 741.640625x17.46875]
             frag 0 from TextNode start: 0, length: 90, rect: [12,62 741.640625x17.46875]
               "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus interdum libero et urna"
               "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus interdum libero et urna"
-          line 1 width: 765.03125, height: 17.46875, bottom: 34.9375, baseline: 13.53125
-            frag 0 from TextNode start: 91, length: 95, rect: [12,79.46875 765.03125x17.46875]
+          line 1 width: 765.03125, height: 17.9375, bottom: 35.40625, baseline: 13.53125
+            frag 0 from TextNode start: 91, length: 95, rect: [12,79 765.03125x17.46875]
               "sodales auctor. Nullam sodales bibendum turpis quis blandit. Ut fringilla erat et erat laoreet,"
               "sodales auctor. Nullam sodales bibendum turpis quis blandit. Ut fringilla erat et erat laoreet,"
-          line 2 width: 747.5625, height: 17.46875, bottom: 52.40625, baseline: 13.53125
-            frag 0 from TextNode start: 187, length: 90, rect: [12,96.9375 747.5625x17.46875]
+          line 2 width: 747.5625, height: 18.40625, bottom: 53.34375, baseline: 13.53125
+            frag 0 from TextNode start: 187, length: 90, rect: [12,96 747.5625x17.46875]
               "faucibus rhoncus orci hendrerit. Etiam at sagittis diam. Etiam nec neque non dolor iaculis"
               "faucibus rhoncus orci hendrerit. Etiam at sagittis diam. Etiam nec neque non dolor iaculis"
-          line 3 width: 732.109375, height: 17.46875, bottom: 69.875, baseline: 13.53125
-            frag 0 from TextNode start: 278, length: 90, rect: [12,114.40625 732.109375x17.46875]
+          line 3 width: 732.109375, height: 17.875, bottom: 70.28125, baseline: 13.53125
+            frag 0 from TextNode start: 278, length: 90, rect: [12,114 732.109375x17.46875]
               "finibus euismod eget erat. Pellentesque vitae purus vitae nisi vehicula vestibulum quis ut"
               "finibus euismod eget erat. Pellentesque vitae purus vitae nisi vehicula vestibulum quis ut"
-          line 4 width: 759.453125, height: 17.46875, bottom: 87.34375, baseline: 13.53125
-            frag 0 from TextNode start: 369, length: 95, rect: [12,131.875 759.453125x17.46875]
+          line 4 width: 759.453125, height: 18.34375, bottom: 88.21875, baseline: 13.53125
+            frag 0 from TextNode start: 369, length: 95, rect: [12,131 759.453125x17.46875]
               "diam. Integer convallis, justo ullamcorper sollicitudin varius, enim enim pellentesque erat, eu"
               "diam. Integer convallis, justo ullamcorper sollicitudin varius, enim enim pellentesque erat, eu"
-          line 5 width: 767.1875, height: 17.46875, bottom: 104.8125, baseline: 13.53125
-            frag 0 from TextNode start: 465, length: 94, rect: [12,149.34375 767.1875x17.46875]
+          line 5 width: 767.1875, height: 17.8125, bottom: 105.15625, baseline: 13.53125
+            frag 0 from TextNode start: 465, length: 94, rect: [12,149 767.1875x17.46875]
               "pellentesque sem arcu eu purus. Phasellus id erat sed felis luctus mollis eget sit amet dolor."
               "pellentesque sem arcu eu purus. Phasellus id erat sed felis luctus mollis eget sit amet dolor."
-          line 6 width: 765.578125, height: 17.46875, bottom: 122.28125, baseline: 13.53125
-            frag 0 from TextNode start: 560, length: 95, rect: [12,166.8125 765.578125x17.46875]
+          line 6 width: 765.578125, height: 18.28125, bottom: 123.09375, baseline: 13.53125
+            frag 0 from TextNode start: 560, length: 95, rect: [12,166 765.578125x17.46875]
               "Pellentesque eget justo nulla. Duis consectetur imperdiet nisi, ac tincidunt urna blandit quis."
               "Pellentesque eget justo nulla. Duis consectetur imperdiet nisi, ac tincidunt urna blandit quis."
           TextNode <#text>
           TextNode <#text>
 
 
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
-  PaintableWithLines (BlockContainer<HTML>) [0,0 800x246.28125]
-    PaintableWithLines (BlockContainer<BODY>) [9,9 782x228.28125]
-      PaintableBox (Box<DIV>.outer.flex.flex-wrap) [10,10 780x226.28125]
-        PaintableWithLines (BlockContainer<DIV>.inner) [11,11 778x224.28125]
+  PaintableWithLines (BlockContainer<HTML>) [0,0 800x247.09375]
+    PaintableWithLines (BlockContainer<BODY>) [9,9 782x229.09375]
+      PaintableBox (Box<DIV>.outer.flex.flex-wrap) [10,10 780x227.09375]
+        PaintableWithLines (BlockContainer<DIV>.inner) [11,11 778x225.09375]
           TextPaintable (TextNode<#text>)
           TextPaintable (TextNode<#text>)

+ 4 - 4
Tests/LibWeb/Layout/expected/flex/flex-item-min-width-fit-content.txt

@@ -9,15 +9,15 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
       BlockContainer <div.buttons> at (394.625,11) content-size 114.375x50 flex-item [BFC] children: inline
       BlockContainer <div.buttons> at (394.625,11) content-size 114.375x50 flex-item [BFC] children: inline
         line 0 width: 114.375, height: 19.46875, bottom: 19.46875, baseline: 14.53125
         line 0 width: 114.375, height: 19.46875, bottom: 19.46875, baseline: 14.53125
           frag 0 from BlockContainer start: 0, length: 0, rect: [395.625,12 57.046875x17.46875]
           frag 0 from BlockContainer start: 0, length: 0, rect: [395.625,12 57.046875x17.46875]
-          frag 1 from BlockContainer start: 0, length: 0, rect: [454.671875,12 53.328125x17.46875]
+          frag 1 from BlockContainer start: 0, length: 0, rect: [454.625,12 53.328125x17.46875]
         BlockContainer <div.button> at (395.625,12) content-size 57.046875x17.46875 inline-block [BFC] children: inline
         BlockContainer <div.button> at (395.625,12) content-size 57.046875x17.46875 inline-block [BFC] children: inline
           line 0 width: 57.046875, height: 17.46875, bottom: 17.46875, baseline: 13.53125
           line 0 width: 57.046875, height: 17.46875, bottom: 17.46875, baseline: 13.53125
             frag 0 from TextNode start: 0, length: 6, rect: [395.625,12 57.046875x17.46875]
             frag 0 from TextNode start: 0, length: 6, rect: [395.625,12 57.046875x17.46875]
               "Accept"
               "Accept"
           TextNode <#text>
           TextNode <#text>
-        BlockContainer <div.button> at (454.671875,12) content-size 53.328125x17.46875 inline-block [BFC] children: inline
+        BlockContainer <div.button> at (454.625,12) content-size 53.328125x17.46875 inline-block [BFC] children: inline
           line 0 width: 53.328125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
           line 0 width: 53.328125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-            frag 0 from TextNode start: 0, length: 6, rect: [454.671875,12 53.328125x17.46875]
+            frag 0 from TextNode start: 0, length: 6, rect: [454.625,12 53.328125x17.46875]
               "Reject"
               "Reject"
           TextNode <#text>
           TextNode <#text>
 
 
@@ -28,5 +28,5 @@ PaintableWithLines (Viewport<#document>) [0,0 800x600]
       PaintableWithLines (BlockContainer<DIV>.buttons) [393.625,10 116.375x52]
       PaintableWithLines (BlockContainer<DIV>.buttons) [393.625,10 116.375x52]
         PaintableWithLines (BlockContainer<DIV>.button) [394.625,11 59.046875x19.46875]
         PaintableWithLines (BlockContainer<DIV>.button) [394.625,11 59.046875x19.46875]
           TextPaintable (TextNode<#text>)
           TextPaintable (TextNode<#text>)
-        PaintableWithLines (BlockContainer<DIV>.button) [453.671875,11 55.328125x19.46875]
+        PaintableWithLines (BlockContainer<DIV>.button) [453.625,11 55.328125x19.46875]
           TextPaintable (TextNode<#text>)
           TextPaintable (TextNode<#text>)

+ 12 - 12
Tests/LibWeb/Layout/expected/flex/flex-item-with-calc-main-size-and-layout-dependent-containing-block-size.txt

@@ -1,22 +1,22 @@
 Viewport <#document> at (0,0) content-size 800x600 children: not-inline
 Viewport <#document> at (0,0) content-size 800x600 children: not-inline
-  BlockContainer <html> at (0,0) content-size 800x68.40625 [BFC] children: not-inline
-    Box <body.pink> at (8,8) content-size 784x52.40625 flex-container(row) [FFC] children: not-inline
-      Box <div.orange> at (8,8) content-size 194.71875x52.40625 flex-container(row) flex-item [FFC] children: not-inline
-        BlockContainer <div.lime> at (8,8) content-size 87.359375x52.40625 flex-item [BFC] children: inline
+  BlockContainer <html> at (0,0) content-size 800x69.34375 [BFC] children: not-inline
+    Box <body.pink> at (8,8) content-size 784x53.34375 flex-container(row) [FFC] children: not-inline
+      Box <div.orange> at (8,8) content-size 194.71875x53.34375 flex-container(row) flex-item [FFC] children: not-inline
+        BlockContainer <div.lime> at (8,8) content-size 87.359375x53.34375 flex-item [BFC] children: inline
           line 0 width: 74.75, height: 17.46875, bottom: 17.46875, baseline: 13.53125
           line 0 width: 74.75, height: 17.46875, bottom: 17.46875, baseline: 13.53125
             frag 0 from TextNode start: 0, length: 9, rect: [8,8 74.75x17.46875]
             frag 0 from TextNode start: 0, length: 9, rect: [8,8 74.75x17.46875]
               "This is a"
               "This is a"
-          line 1 width: 71.828125, height: 17.46875, bottom: 34.9375, baseline: 13.53125
-            frag 0 from TextNode start: 10, length: 8, rect: [8,25.46875 71.828125x17.46875]
+          line 1 width: 71.828125, height: 17.9375, bottom: 35.40625, baseline: 13.53125
+            frag 0 from TextNode start: 10, length: 8, rect: [8,25 71.828125x17.46875]
               "bunch of"
               "bunch of"
-          line 2 width: 32.140625, height: 17.46875, bottom: 52.40625, baseline: 13.53125
-            frag 0 from TextNode start: 19, length: 4, rect: [8,42.9375 32.140625x17.46875]
+          line 2 width: 32.140625, height: 18.40625, bottom: 53.34375, baseline: 13.53125
+            frag 0 from TextNode start: 19, length: 4, rect: [8,42 32.140625x17.46875]
               "text"
               "text"
           TextNode <#text>
           TextNode <#text>
 
 
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
-  PaintableWithLines (BlockContainer<HTML>) [0,0 800x68.40625]
-    PaintableBox (Box<BODY>.pink) [8,8 784x52.40625]
-      PaintableBox (Box<DIV>.orange) [8,8 194.71875x52.40625]
-        PaintableWithLines (BlockContainer<DIV>.lime) [8,8 87.359375x52.40625]
+  PaintableWithLines (BlockContainer<HTML>) [0,0 800x69.34375]
+    PaintableBox (Box<BODY>.pink) [8,8 784x53.34375]
+      PaintableBox (Box<DIV>.orange) [8,8 194.71875x53.34375]
+        PaintableWithLines (BlockContainer<DIV>.lime) [8,8 87.359375x53.34375]
           TextPaintable (TextNode<#text>)
           TextPaintable (TextNode<#text>)

+ 12 - 12
Tests/LibWeb/Layout/expected/flex/intrinsic-height-of-column-items-with-different-kinds-of-width.txt

@@ -1,6 +1,6 @@
 Viewport <#document> at (0,0) content-size 800x600 children: not-inline
 Viewport <#document> at (0,0) content-size 800x600 children: not-inline
-  BlockContainer <html> at (1,1) content-size 798x142.8125 [BFC] children: not-inline
-    Box <body> at (10,10) content-size 780x124.8125 flex-container(column) [FFC] children: not-inline
+  BlockContainer <html> at (1,1) content-size 798x143.28125 [BFC] children: not-inline
+    Box <body> at (10,10) content-size 780x125.28125 flex-container(column) [FFC] children: not-inline
       BlockContainer <(anonymous)> (not painted) [BFC] children: inline
       BlockContainer <(anonymous)> (not painted) [BFC] children: inline
         TextNode <#text>
         TextNode <#text>
       BlockContainer <div.px> at (11,11) content-size 200x19.46875 flex-item [BFC] children: not-inline
       BlockContainer <div.px> at (11,11) content-size 200x19.46875 flex-item [BFC] children: not-inline
@@ -39,22 +39,22 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
             TextNode <#text>
             TextNode <#text>
       BlockContainer <(anonymous)> (not painted) [BFC] children: inline
       BlockContainer <(anonymous)> (not painted) [BFC] children: inline
         TextNode <#text>
         TextNode <#text>
-      BlockContainer <div.min-content> at (11,96.875) content-size 62.90625x36.9375 flex-item [BFC] children: not-inline
-        Box <div.inner> at (12,97.875) content-size 60.90625x34.9375 flex-container(row) [FFC] children: not-inline
-          BlockContainer <(anonymous)> at (12,97.875) content-size 60.90625x34.9375 flex-item [BFC] children: inline
+      BlockContainer <div.min-content> at (11,96.875) content-size 62.90625x37.40625 flex-item [BFC] children: not-inline
+        Box <div.inner> at (12,97.875) content-size 60.90625x35.40625 flex-container(row) [FFC] children: not-inline
+          BlockContainer <(anonymous)> at (12,97.875) content-size 60.90625x35.40625 flex-item [BFC] children: inline
             line 0 width: 26.375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
             line 0 width: 26.375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
               frag 0 from TextNode start: 0, length: 3, rect: [12,97.875 26.375x17.46875]
               frag 0 from TextNode start: 0, length: 3, rect: [12,97.875 26.375x17.46875]
                 "min"
                 "min"
-            line 1 width: 60.90625, height: 17.46875, bottom: 34.9375, baseline: 13.53125
-              frag 0 from TextNode start: 4, length: 7, rect: [12,115.34375 60.90625x17.46875]
+            line 1 width: 60.90625, height: 17.9375, bottom: 35.40625, baseline: 13.53125
+              frag 0 from TextNode start: 4, length: 7, rect: [12,114.875 60.90625x17.46875]
                 "content"
                 "content"
             TextNode <#text>
             TextNode <#text>
       BlockContainer <(anonymous)> (not painted) [BFC] children: inline
       BlockContainer <(anonymous)> (not painted) [BFC] children: inline
         TextNode <#text>
         TextNode <#text>
 
 
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
-  PaintableWithLines (BlockContainer<HTML>) [0,0 800x144.8125]
-    PaintableBox (Box<BODY>) [9,9 782x126.8125]
+  PaintableWithLines (BlockContainer<HTML>) [0,0 800x145.28125]
+    PaintableBox (Box<BODY>) [9,9 782x127.28125]
       PaintableWithLines (BlockContainer<DIV>.px) [10,10 202x21.46875]
       PaintableWithLines (BlockContainer<DIV>.px) [10,10 202x21.46875]
         PaintableBox (Box<DIV>.inner) [11,11 200x19.46875]
         PaintableBox (Box<DIV>.inner) [11,11 200x19.46875]
           PaintableWithLines (BlockContainer(anonymous)) [12,12 19.125x17.46875]
           PaintableWithLines (BlockContainer(anonymous)) [12,12 19.125x17.46875]
@@ -71,7 +71,7 @@ PaintableWithLines (Viewport<#document>) [0,0 800x600]
         PaintableBox (Box<DIV>.inner) [11,75.40625 102.15625x19.46875]
         PaintableBox (Box<DIV>.inner) [11,75.40625 102.15625x19.46875]
           PaintableWithLines (BlockContainer(anonymous)) [12,76.40625 100.15625x17.46875]
           PaintableWithLines (BlockContainer(anonymous)) [12,76.40625 100.15625x17.46875]
             TextPaintable (TextNode<#text>)
             TextPaintable (TextNode<#text>)
-      PaintableWithLines (BlockContainer<DIV>.min-content) [10,95.875 64.90625x38.9375]
-        PaintableBox (Box<DIV>.inner) [11,96.875 62.90625x36.9375]
-          PaintableWithLines (BlockContainer(anonymous)) [12,97.875 60.90625x34.9375]
+      PaintableWithLines (BlockContainer<DIV>.min-content) [10,95.875 64.90625x39.40625]
+        PaintableBox (Box<DIV>.inner) [11,96.875 62.90625x37.40625]
+          PaintableWithLines (BlockContainer(anonymous)) [12,97.875 60.90625x35.40625]
             TextPaintable (TextNode<#text>)
             TextPaintable (TextNode<#text>)

+ 6 - 6
Tests/LibWeb/Layout/expected/font-with-many-normal-values.txt

@@ -4,17 +4,17 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
       line 0 width: 424, height: 200, bottom: 200, baseline: 159.96875
       line 0 width: 424, height: 200, bottom: 200, baseline: 159.96875
         frag 0 from TextNode start: 0, length: 1, rect: [8,8 79.296875x200]
         frag 0 from TextNode start: 0, length: 1, rect: [8,8 79.296875x200]
           "1"
           "1"
-        frag 1 from TextNode start: 0, length: 1, rect: [87.296875,154.4375 8x17.46875]
+        frag 1 from TextNode start: 0, length: 1, rect: [87,154 8x17.46875]
           " "
           " "
-        frag 2 from TextNode start: 0, length: 1, rect: [95.296875,8 110.15625x200]
+        frag 2 from TextNode start: 0, length: 1, rect: [95,8 110.15625x200]
           "2"
           "2"
-        frag 3 from TextNode start: 0, length: 1, rect: [205.453125,154.4375 8x17.46875]
+        frag 3 from TextNode start: 0, length: 1, rect: [205,154 8x17.46875]
           " "
           " "
-        frag 4 from TextNode start: 0, length: 1, rect: [213.453125,8 113.671875x200]
+        frag 4 from TextNode start: 0, length: 1, rect: [213,8 113.671875x200]
           "3"
           "3"
-        frag 5 from TextNode start: 0, length: 1, rect: [327.125,154.4375 8x17.46875]
+        frag 5 from TextNode start: 0, length: 1, rect: [327,154 8x17.46875]
           " "
           " "
-        frag 6 from TextNode start: 0, length: 1, rect: [335.125,8 96.875x200]
+        frag 6 from TextNode start: 0, length: 1, rect: [335,8 96.875x200]
           "4"
           "4"
       InlineNode <span.one>
       InlineNode <span.one>
         TextNode <#text>
         TextNode <#text>

+ 1 - 1
Tests/LibWeb/Layout/expected/grid/grid-item-fixed-paddings.txt

@@ -6,7 +6,7 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
           TextNode <#text>
           TextNode <#text>
         BlockContainer <div.grid-item> at (68,68) content-size 17.046875x32.75 [BFC] children: inline
         BlockContainer <div.grid-item> at (68,68) content-size 17.046875x32.75 [BFC] children: inline
           line 0 width: 11.890625, height: 32.75, bottom: 32.75, baseline: 25.375
           line 0 width: 11.890625, height: 32.75, bottom: 32.75, baseline: 25.375
-            frag 0 from TextNode start: 0, length: 1, rect: [70.578125,68 11.890625x32.75]
+            frag 0 from TextNode start: 0, length: 1, rect: [71,68 11.890625x32.75]
               "1"
               "1"
           TextNode <#text>
           TextNode <#text>
         BlockContainer <(anonymous)> (not painted) [BFC] children: inline
         BlockContainer <(anonymous)> (not painted) [BFC] children: inline

+ 45 - 45
Tests/LibWeb/Layout/expected/grid/grid-item-horizontal-margins-auto.txt

@@ -1,7 +1,7 @@
 Viewport <#document> at (0,0) content-size 800x600 children: not-inline
 Viewport <#document> at (0,0) content-size 800x600 children: not-inline
-  BlockContainer <html> at (1,1) content-size 798x457.25 [BFC] children: not-inline
-    BlockContainer <body> at (10,10) content-size 780x439.25 children: not-inline
-      Box <div.grid> at (11,11) content-size 500x437.25 [GFC] children: not-inline
+  BlockContainer <html> at (1,1) content-size 798x458.28125 [BFC] children: not-inline
+    BlockContainer <body> at (10,10) content-size 780x440.28125 children: not-inline
+      Box <div.grid> at (11,11) content-size 500x438.28125 [GFC] children: not-inline
         BlockContainer <(anonymous)> (not painted) [BFC] children: inline
         BlockContainer <(anonymous)> (not painted) [BFC] children: inline
           TextNode <#text>
           TextNode <#text>
         BlockContainer <div.left-margin-auto.right-margin-auto> at (99.71875,12) content-size 322.5625x17.46875 [BFC] children: inline
         BlockContainer <div.left-margin-auto.right-margin-auto> at (99.71875,12) content-size 322.5625x17.46875 [BFC] children: inline
@@ -46,79 +46,79 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
           TextNode <#text>
           TextNode <#text>
         BlockContainer <(anonymous)> (not painted) [BFC] children: inline
         BlockContainer <(anonymous)> (not painted) [BFC] children: inline
           TextNode <#text>
           TextNode <#text>
-        BlockContainer <div.left-margin-auto.right-margin-auto.fixed-width> at (236,128.8125) content-size 50x104.8125 [BFC] children: inline
+        BlockContainer <div.left-margin-auto.right-margin-auto.fixed-width> at (236,128.8125) content-size 50x105.15625 [BFC] children: inline
           line 0 width: 36.328125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
           line 0 width: 36.328125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
             frag 0 from TextNode start: 0, length: 4, rect: [236,128.8125 36.328125x17.46875]
             frag 0 from TextNode start: 0, length: 4, rect: [236,128.8125 36.328125x17.46875]
               "auto"
               "auto"
-          line 1 width: 81.84375, height: 17.46875, bottom: 34.9375, baseline: 13.53125
-            frag 0 from TextNode start: 5, length: 10, rect: [236,146.28125 81.84375x17.46875]
+          line 1 width: 81.84375, height: 17.9375, bottom: 35.40625, baseline: 13.53125
+            frag 0 from TextNode start: 5, length: 10, rect: [236,145.8125 81.84375x17.46875]
               "horizontal"
               "horizontal"
-          line 2 width: 61.453125, height: 17.46875, bottom: 52.40625, baseline: 13.53125
-            frag 0 from TextNode start: 16, length: 7, rect: [236,163.75 61.453125x17.46875]
+          line 2 width: 61.453125, height: 18.40625, bottom: 53.34375, baseline: 13.53125
+            frag 0 from TextNode start: 16, length: 7, rect: [236,162.8125 61.453125x17.46875]
               "margins"
               "margins"
-          line 3 width: 26.8125, height: 17.46875, bottom: 69.875, baseline: 13.53125
-            frag 0 from TextNode start: 24, length: 3, rect: [236,181.21875 26.8125x17.46875]
+          line 3 width: 26.8125, height: 17.875, bottom: 70.28125, baseline: 13.53125
+            frag 0 from TextNode start: 24, length: 3, rect: [236,180.8125 26.8125x17.46875]
               "and"
               "and"
-          line 4 width: 37.28125, height: 17.46875, bottom: 87.34375, baseline: 13.53125
-            frag 0 from TextNode start: 28, length: 5, rect: [236,198.6875 37.28125x17.46875]
+          line 4 width: 37.28125, height: 18.34375, bottom: 88.21875, baseline: 13.53125
+            frag 0 from TextNode start: 28, length: 5, rect: [236,197.8125 37.28125x17.46875]
               "fixed"
               "fixed"
-          line 5 width: 39.796875, height: 17.46875, bottom: 104.8125, baseline: 13.53125
-            frag 0 from TextNode start: 34, length: 5, rect: [236,216.15625 39.796875x17.46875]
+          line 5 width: 39.796875, height: 17.8125, bottom: 105.15625, baseline: 13.53125
+            frag 0 from TextNode start: 34, length: 5, rect: [236,215.8125 39.796875x17.46875]
               "width"
               "width"
           TextNode <#text>
           TextNode <#text>
         BlockContainer <(anonymous)> (not painted) [BFC] children: inline
         BlockContainer <(anonymous)> (not painted) [BFC] children: inline
           TextNode <#text>
           TextNode <#text>
-        BlockContainer <div.left-margin-auto.fixed-width> at (460,235.625) content-size 50x104.8125 [BFC] children: inline
+        BlockContainer <div.left-margin-auto.fixed-width> at (460,235.96875) content-size 50x105.15625 [BFC] children: inline
           line 0 width: 36.328125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
           line 0 width: 36.328125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-            frag 0 from TextNode start: 0, length: 4, rect: [460,235.625 36.328125x17.46875]
+            frag 0 from TextNode start: 0, length: 4, rect: [460,235.96875 36.328125x17.46875]
               "auto"
               "auto"
-          line 1 width: 26.25, height: 17.46875, bottom: 34.9375, baseline: 13.53125
-            frag 0 from TextNode start: 5, length: 4, rect: [460,253.09375 26.25x17.46875]
+          line 1 width: 26.25, height: 17.9375, bottom: 35.40625, baseline: 13.53125
+            frag 0 from TextNode start: 5, length: 4, rect: [460,252.96875 26.25x17.46875]
               "left"
               "left"
-          line 2 width: 52.109375, height: 17.46875, bottom: 52.40625, baseline: 13.53125
-            frag 0 from TextNode start: 10, length: 6, rect: [460,270.5625 52.109375x17.46875]
+          line 2 width: 52.109375, height: 18.40625, bottom: 53.34375, baseline: 13.53125
+            frag 0 from TextNode start: 10, length: 6, rect: [460,269.96875 52.109375x17.46875]
               "margin"
               "margin"
-          line 3 width: 26.8125, height: 17.46875, bottom: 69.875, baseline: 13.53125
-            frag 0 from TextNode start: 17, length: 3, rect: [460,288.03125 26.8125x17.46875]
+          line 3 width: 26.8125, height: 17.875, bottom: 70.28125, baseline: 13.53125
+            frag 0 from TextNode start: 17, length: 3, rect: [460,287.96875 26.8125x17.46875]
               "and"
               "and"
-          line 4 width: 37.28125, height: 17.46875, bottom: 87.34375, baseline: 13.53125
-            frag 0 from TextNode start: 21, length: 5, rect: [460,305.5 37.28125x17.46875]
+          line 4 width: 37.28125, height: 18.34375, bottom: 88.21875, baseline: 13.53125
+            frag 0 from TextNode start: 21, length: 5, rect: [460,304.96875 37.28125x17.46875]
               "fixed"
               "fixed"
-          line 5 width: 39.796875, height: 17.46875, bottom: 104.8125, baseline: 13.53125
+          line 5 width: 39.796875, height: 17.8125, bottom: 105.15625, baseline: 13.53125
             frag 0 from TextNode start: 27, length: 5, rect: [460,322.96875 39.796875x17.46875]
             frag 0 from TextNode start: 27, length: 5, rect: [460,322.96875 39.796875x17.46875]
               "width"
               "width"
           TextNode <#text>
           TextNode <#text>
         BlockContainer <(anonymous)> (not painted) [BFC] children: inline
         BlockContainer <(anonymous)> (not painted) [BFC] children: inline
           TextNode <#text>
           TextNode <#text>
-        BlockContainer <div.right-margin-auto.fixed-width> at (12,342.4375) content-size 50x104.8125 [BFC] children: inline
+        BlockContainer <div.right-margin-auto.fixed-width> at (12,343.125) content-size 50x105.15625 [BFC] children: inline
           line 0 width: 36.328125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
           line 0 width: 36.328125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-            frag 0 from TextNode start: 0, length: 4, rect: [12,342.4375 36.328125x17.46875]
+            frag 0 from TextNode start: 0, length: 4, rect: [12,343.125 36.328125x17.46875]
               "auto"
               "auto"
-          line 1 width: 37.109375, height: 17.46875, bottom: 34.9375, baseline: 13.53125
-            frag 0 from TextNode start: 5, length: 5, rect: [12,359.90625 37.109375x17.46875]
+          line 1 width: 37.109375, height: 17.9375, bottom: 35.40625, baseline: 13.53125
+            frag 0 from TextNode start: 5, length: 5, rect: [12,360.125 37.109375x17.46875]
               "right"
               "right"
-          line 2 width: 52.109375, height: 17.46875, bottom: 52.40625, baseline: 13.53125
-            frag 0 from TextNode start: 11, length: 6, rect: [12,377.375 52.109375x17.46875]
+          line 2 width: 52.109375, height: 18.40625, bottom: 53.34375, baseline: 13.53125
+            frag 0 from TextNode start: 11, length: 6, rect: [12,377.125 52.109375x17.46875]
               "margin"
               "margin"
-          line 3 width: 26.8125, height: 17.46875, bottom: 69.875, baseline: 13.53125
-            frag 0 from TextNode start: 18, length: 3, rect: [12,394.84375 26.8125x17.46875]
+          line 3 width: 26.8125, height: 17.875, bottom: 70.28125, baseline: 13.53125
+            frag 0 from TextNode start: 18, length: 3, rect: [12,395.125 26.8125x17.46875]
               "and"
               "and"
-          line 4 width: 37.28125, height: 17.46875, bottom: 87.34375, baseline: 13.53125
-            frag 0 from TextNode start: 22, length: 5, rect: [12,412.3125 37.28125x17.46875]
+          line 4 width: 37.28125, height: 18.34375, bottom: 88.21875, baseline: 13.53125
+            frag 0 from TextNode start: 22, length: 5, rect: [12,412.125 37.28125x17.46875]
               "fixed"
               "fixed"
-          line 5 width: 39.796875, height: 17.46875, bottom: 104.8125, baseline: 13.53125
-            frag 0 from TextNode start: 28, length: 5, rect: [12,429.78125 39.796875x17.46875]
+          line 5 width: 39.796875, height: 17.8125, bottom: 105.15625, baseline: 13.53125
+            frag 0 from TextNode start: 28, length: 5, rect: [12,430.125 39.796875x17.46875]
               "width"
               "width"
           TextNode <#text>
           TextNode <#text>
         BlockContainer <(anonymous)> (not painted) [BFC] children: inline
         BlockContainer <(anonymous)> (not painted) [BFC] children: inline
           TextNode <#text>
           TextNode <#text>
-      BlockContainer <(anonymous)> at (10,449.25) content-size 780x0 children: inline
+      BlockContainer <(anonymous)> at (10,450.28125) content-size 780x0 children: inline
         TextNode <#text>
         TextNode <#text>
 
 
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
-  PaintableWithLines (BlockContainer<HTML>) [0,0 800x459.25]
-    PaintableWithLines (BlockContainer<BODY>) [9,9 782x441.25]
-      PaintableBox (Box<DIV>.grid) [10,10 502x439.25] overflow: [11,11 501.109375x437.25]
+  PaintableWithLines (BlockContainer<HTML>) [0,0 800x460.28125]
+    PaintableWithLines (BlockContainer<BODY>) [9,9 782x442.28125]
+      PaintableBox (Box<DIV>.grid) [10,10 502x440.28125] overflow: [11,11 501.109375x438.28125]
         PaintableWithLines (BlockContainer<DIV>.left-margin-auto.right-margin-auto) [98.71875,11 324.5625x19.46875]
         PaintableWithLines (BlockContainer<DIV>.left-margin-auto.right-margin-auto) [98.71875,11 324.5625x19.46875]
           TextPaintable (TextNode<#text>)
           TextPaintable (TextNode<#text>)
         PaintableWithLines (BlockContainer<DIV>.left-margin-auto) [251.375,30.46875 259.625x19.46875]
         PaintableWithLines (BlockContainer<DIV>.left-margin-auto) [251.375,30.46875 259.625x19.46875]
@@ -131,10 +131,10 @@ PaintableWithLines (Viewport<#document>) [0,0 800x600]
           TextPaintable (TextNode<#text>)
           TextPaintable (TextNode<#text>)
         PaintableWithLines (BlockContainer<DIV>.right-margin-auto.fit-content-width) [11,108.34375 319.40625x19.46875]
         PaintableWithLines (BlockContainer<DIV>.right-margin-auto.fit-content-width) [11,108.34375 319.40625x19.46875]
           TextPaintable (TextNode<#text>)
           TextPaintable (TextNode<#text>)
-        PaintableWithLines (BlockContainer<DIV>.left-margin-auto.right-margin-auto.fixed-width) [235,127.8125 52x106.8125] overflow: [236,128.8125 81.84375x104.8125]
+        PaintableWithLines (BlockContainer<DIV>.left-margin-auto.right-margin-auto.fixed-width) [235,127.8125 52x107.15625] overflow: [236,128.8125 81.84375x105.15625]
           TextPaintable (TextNode<#text>)
           TextPaintable (TextNode<#text>)
-        PaintableWithLines (BlockContainer<DIV>.left-margin-auto.fixed-width) [459,234.625 52x106.8125] overflow: [460,235.625 52.109375x104.8125]
+        PaintableWithLines (BlockContainer<DIV>.left-margin-auto.fixed-width) [459,234.96875 52x107.15625] overflow: [460,235.96875 52.109375x105.15625]
           TextPaintable (TextNode<#text>)
           TextPaintable (TextNode<#text>)
-        PaintableWithLines (BlockContainer<DIV>.right-margin-auto.fixed-width) [11,341.4375 52x106.8125] overflow: [12,342.4375 52.109375x104.8125]
+        PaintableWithLines (BlockContainer<DIV>.right-margin-auto.fixed-width) [11,342.125 52x107.15625] overflow: [12,343.125 52.109375x105.15625]
           TextPaintable (TextNode<#text>)
           TextPaintable (TextNode<#text>)
-      PaintableWithLines (BlockContainer(anonymous)) [10,449.25 780x0]
+      PaintableWithLines (BlockContainer(anonymous)) [10,450.28125 780x0]

+ 39 - 39
Tests/LibWeb/Layout/expected/grid/grid-item-percentage-width-2.txt

@@ -1,67 +1,67 @@
 Viewport <#document> at (0,0) content-size 800x600 children: not-inline
 Viewport <#document> at (0,0) content-size 800x600 children: not-inline
   BlockContainer <html> at (0,0) content-size 800x600 [BFC] children: not-inline
   BlockContainer <html> at (0,0) content-size 800x600 [BFC] children: not-inline
     BlockContainer <body> at (8,8) content-size 784x0 children: not-inline
     BlockContainer <body> at (8,8) content-size 784x0 children: not-inline
-      Box <div.container> at (8,8) content-size 200x314.4375 floating [GFC] children: not-inline
-        BlockContainer <div.item> at (8,8) content-size 100x314.4375 [BFC] children: inline
+      Box <div.container> at (8,8) content-size 200x315.40625 floating [GFC] children: not-inline
+        BlockContainer <div.item> at (8,8) content-size 100x315.40625 [BFC] children: inline
           line 0 width: 50.96875, height: 17.46875, bottom: 17.46875, baseline: 13.53125
           line 0 width: 50.96875, height: 17.46875, bottom: 17.46875, baseline: 13.53125
             frag 0 from TextNode start: 1, length: 5, rect: [8,8 50.96875x17.46875]
             frag 0 from TextNode start: 1, length: 5, rect: [8,8 50.96875x17.46875]
               "Lorem"
               "Lorem"
-          line 1 width: 94.9375, height: 17.46875, bottom: 34.9375, baseline: 13.53125
-            frag 0 from TextNode start: 7, length: 11, rect: [8,25.46875 94.9375x17.46875]
+          line 1 width: 94.9375, height: 17.9375, bottom: 35.40625, baseline: 13.53125
+            frag 0 from TextNode start: 7, length: 11, rect: [8,25 94.9375x17.46875]
               "ipsum dolor"
               "ipsum dolor"
-          line 2 width: 70.9375, height: 17.46875, bottom: 52.40625, baseline: 13.53125
-            frag 0 from TextNode start: 19, length: 9, rect: [8,42.9375 70.9375x17.46875]
+          line 2 width: 70.9375, height: 18.40625, bottom: 53.34375, baseline: 13.53125
+            frag 0 from TextNode start: 19, length: 9, rect: [8,42 70.9375x17.46875]
               "sit amet,"
               "sit amet,"
-          line 3 width: 96.84375, height: 17.46875, bottom: 69.875, baseline: 13.53125
-            frag 0 from TextNode start: 29, length: 11, rect: [8,60.40625 96.84375x17.46875]
+          line 3 width: 96.84375, height: 17.875, bottom: 70.28125, baseline: 13.53125
+            frag 0 from TextNode start: 29, length: 11, rect: [8,60 96.84375x17.46875]
               "consectetur"
               "consectetur"
-          line 4 width: 75.71875, height: 17.46875, bottom: 87.34375, baseline: 13.53125
-            frag 0 from TextNode start: 41, length: 10, rect: [8,77.875 75.71875x17.46875]
+          line 4 width: 75.71875, height: 18.34375, bottom: 88.21875, baseline: 13.53125
+            frag 0 from TextNode start: 41, length: 10, rect: [8,77 75.71875x17.46875]
               "adipiscing"
               "adipiscing"
-          line 5 width: 28.71875, height: 17.46875, bottom: 104.8125, baseline: 13.53125
-            frag 0 from TextNode start: 52, length: 5, rect: [8,95.34375 28.71875x17.46875]
+          line 5 width: 28.71875, height: 17.8125, bottom: 105.15625, baseline: 13.53125
+            frag 0 from TextNode start: 52, length: 5, rect: [8,95 28.71875x17.46875]
               "elit."
               "elit."
-          line 6 width: 65.40625, height: 17.46875, bottom: 122.28125, baseline: 13.53125
-            frag 0 from TextNode start: 58, length: 7, rect: [8,112.8125 65.40625x17.46875]
+          line 6 width: 65.40625, height: 18.28125, bottom: 123.09375, baseline: 13.53125
+            frag 0 from TextNode start: 58, length: 7, rect: [8,112 65.40625x17.46875]
               "Vivamus"
               "Vivamus"
-          line 7 width: 88.640625, height: 17.46875, bottom: 139.75, baseline: 13.53125
-            frag 0 from TextNode start: 66, length: 11, rect: [8,130.28125 88.640625x17.46875]
+          line 7 width: 88.640625, height: 17.75, bottom: 140.03125, baseline: 13.53125
+            frag 0 from TextNode start: 66, length: 11, rect: [8,130 88.640625x17.46875]
               "eget turpis"
               "eget turpis"
-          line 8 width: 77.40625, height: 17.46875, bottom: 157.21875, baseline: 13.53125
-            frag 0 from TextNode start: 78, length: 9, rect: [8,147.75 77.40625x17.46875]
+          line 8 width: 77.40625, height: 18.21875, bottom: 157.96875, baseline: 13.53125
+            frag 0 from TextNode start: 78, length: 9, rect: [8,147 77.40625x17.46875]
               "eget urna"
               "eget urna"
-          line 9 width: 53.25, height: 17.46875, bottom: 174.6875, baseline: 13.53125
-            frag 0 from TextNode start: 88, length: 7, rect: [8,165.21875 53.25x17.46875]
+          line 9 width: 53.25, height: 17.6875, bottom: 174.90625, baseline: 13.53125
+            frag 0 from TextNode start: 88, length: 7, rect: [8,165 53.25x17.46875]
               "feugiat"
               "feugiat"
-          line 10 width: 84.984375, height: 17.46875, bottom: 192.15625, baseline: 13.53125
-            frag 0 from TextNode start: 96, length: 10, rect: [8,182.6875 84.984375x17.46875]
+          line 10 width: 84.984375, height: 18.15625, bottom: 192.84375, baseline: 13.53125
+            frag 0 from TextNode start: 96, length: 10, rect: [8,182 84.984375x17.46875]
               "pretium ut"
               "pretium ut"
-          line 11 width: 65.359375, height: 17.46875, bottom: 209.625, baseline: 13.53125
-            frag 0 from TextNode start: 107, length: 8, rect: [8,200.15625 65.359375x17.46875]
+          line 11 width: 65.359375, height: 17.625, bottom: 209.78125, baseline: 13.53125
+            frag 0 from TextNode start: 107, length: 8, rect: [8,200 65.359375x17.46875]
               "eu ante."
               "eu ante."
-          line 12 width: 72.46875, height: 17.46875, bottom: 227.09375, baseline: 13.53125
-            frag 0 from TextNode start: 116, length: 8, rect: [8,217.625 72.46875x17.46875]
+          line 12 width: 72.46875, height: 18.09375, bottom: 227.71875, baseline: 13.53125
+            frag 0 from TextNode start: 116, length: 8, rect: [8,217 72.46875x17.46875]
               "Nunc sed"
               "Nunc sed"
-          line 13 width: 70.640625, height: 17.46875, bottom: 244.5625, baseline: 13.53125
-            frag 0 from TextNode start: 125, length: 8, rect: [8,235.09375 70.640625x17.46875]
+          line 13 width: 70.640625, height: 17.5625, bottom: 244.65625, baseline: 13.53125
+            frag 0 from TextNode start: 125, length: 8, rect: [8,235 70.640625x17.46875]
               "pharetra"
               "pharetra"
-          line 14 width: 39.015625, height: 17.46875, bottom: 262.03125, baseline: 13.53125
-            frag 0 from TextNode start: 134, length: 5, rect: [8,252.5625 39.015625x17.46875]
+          line 14 width: 39.015625, height: 18.03125, bottom: 262.59375, baseline: 13.53125
+            frag 0 from TextNode start: 134, length: 5, rect: [8,252 39.015625x17.46875]
               "diam,"
               "diam,"
-          line 15 width: 56.25, height: 17.46875, bottom: 279.5, baseline: 13.53125
-            frag 0 from TextNode start: 140, length: 6, rect: [8,270.03125 56.25x17.46875]
+          line 15 width: 56.25, height: 17.5, bottom: 279.53125, baseline: 13.53125
+            frag 0 from TextNode start: 140, length: 6, rect: [8,270 56.25x17.46875]
               "rutrum"
               "rutrum"
-          line 16 width: 50.546875, height: 17.46875, bottom: 296.96875, baseline: 13.53125
-            frag 0 from TextNode start: 147, length: 7, rect: [8,287.5 50.546875x17.46875]
+          line 16 width: 50.546875, height: 17.96875, bottom: 297.46875, baseline: 13.53125
+            frag 0 from TextNode start: 147, length: 7, rect: [8,287 50.546875x17.46875]
               "lacinia"
               "lacinia"
-          line 17 width: 47.5, height: 17.46875, bottom: 314.4375, baseline: 13.53125
-            frag 0 from TextNode start: 155, length: 7, rect: [8,304.96875 47.5x17.46875]
+          line 17 width: 47.5, height: 18.4375, bottom: 315.40625, baseline: 13.53125
+            frag 0 from TextNode start: 155, length: 7, rect: [8,304 47.5x17.46875]
               "tellus."
               "tellus."
           TextNode <#text>
           TextNode <#text>
 
 
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
   PaintableWithLines (BlockContainer<HTML>) [0,0 800x600]
   PaintableWithLines (BlockContainer<HTML>) [0,0 800x600]
-    PaintableWithLines (BlockContainer<BODY>) [8,8 784x0] overflow: [8,8 200x314.4375]
-      PaintableBox (Box<DIV>.container) [8,8 200x314.4375]
-        PaintableWithLines (BlockContainer<DIV>.item) [8,8 100x314.4375]
+    PaintableWithLines (BlockContainer<BODY>) [8,8 784x0] overflow: [8,8 200x315.40625]
+      PaintableBox (Box<DIV>.container) [8,8 200x315.40625]
+        PaintableWithLines (BlockContainer<DIV>.item) [8,8 100x315.40625]
           TextPaintable (TextNode<#text>)
           TextPaintable (TextNode<#text>)

+ 12 - 12
Tests/LibWeb/Layout/expected/grid/item-column-span-2.txt

@@ -1,30 +1,30 @@
 Viewport <#document> at (0,0) content-size 800x600 children: not-inline
 Viewport <#document> at (0,0) content-size 800x600 children: not-inline
   BlockContainer <html> at (0,0) content-size 800x600 [BFC] children: not-inline
   BlockContainer <html> at (0,0) content-size 800x600 [BFC] children: not-inline
-    BlockContainer <body> at (8,8) content-size 784x34.9375 children: not-inline
-      Box <div.container> at (8,8) content-size 784x34.9375 [GFC] children: not-inline
+    BlockContainer <body> at (8,8) content-size 784x35.40625 children: not-inline
+      Box <div.container> at (8,8) content-size 784x35.40625 [GFC] children: not-inline
         BlockContainer <(anonymous)> (not painted) [BFC] children: inline
         BlockContainer <(anonymous)> (not painted) [BFC] children: inline
           TextNode <#text>
           TextNode <#text>
-        BlockContainer <div.item-left> at (8,8) content-size 100x34.9375 [BFC] children: not-inline
+        BlockContainer <div.item-left> at (8,8) content-size 100x35.40625 [BFC] children: not-inline
         BlockContainer <(anonymous)> (not painted) [BFC] children: inline
         BlockContainer <(anonymous)> (not painted) [BFC] children: inline
           TextNode <#text>
           TextNode <#text>
-        BlockContainer <div.item-right> at (108.03125,8) content-size 683.96875x34.9375 [BFC] children: inline
+        BlockContainer <div.item-right> at (108.03125,8) content-size 683.96875x35.40625 [BFC] children: inline
           line 0 width: 625.953125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
           line 0 width: 625.953125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
             frag 0 from TextNode start: 0, length: 77, rect: [108.03125,8 625.953125x17.46875]
             frag 0 from TextNode start: 0, length: 77, rect: [108.03125,8 625.953125x17.46875]
               "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut iaculis venenatis"
               "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut iaculis venenatis"
-          line 1 width: 304.0625, height: 17.46875, bottom: 34.9375, baseline: 13.53125
-            frag 0 from TextNode start: 78, length: 39, rect: [108.03125,25.46875 304.0625x17.46875]
+          line 1 width: 304.0625, height: 17.9375, bottom: 35.40625, baseline: 13.53125
+            frag 0 from TextNode start: 78, length: 39, rect: [108.03125,25 304.0625x17.46875]
               "purus, eget blandit velit venenatis at."
               "purus, eget blandit velit venenatis at."
           TextNode <#text>
           TextNode <#text>
         BlockContainer <(anonymous)> (not painted) [BFC] children: inline
         BlockContainer <(anonymous)> (not painted) [BFC] children: inline
           TextNode <#text>
           TextNode <#text>
-      BlockContainer <(anonymous)> at (8,42.9375) content-size 784x0 children: inline
+      BlockContainer <(anonymous)> at (8,43.40625) content-size 784x0 children: inline
         TextNode <#text>
         TextNode <#text>
 
 
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
   PaintableWithLines (BlockContainer<HTML>) [0,0 800x600]
   PaintableWithLines (BlockContainer<HTML>) [0,0 800x600]
-    PaintableWithLines (BlockContainer<BODY>) [8,8 784x34.9375]
-      PaintableBox (Box<DIV>.container) [8,8 784x34.9375]
-        PaintableWithLines (BlockContainer<DIV>.item-left) [8,8 100x34.9375]
-        PaintableWithLines (BlockContainer<DIV>.item-right) [108.03125,8 683.96875x34.9375]
+    PaintableWithLines (BlockContainer<BODY>) [8,8 784x35.40625]
+      PaintableBox (Box<DIV>.container) [8,8 784x35.40625]
+        PaintableWithLines (BlockContainer<DIV>.item-left) [8,8 100x35.40625]
+        PaintableWithLines (BlockContainer<DIV>.item-right) [108.03125,8 683.96875x35.40625]
           TextPaintable (TextNode<#text>)
           TextPaintable (TextNode<#text>)
-      PaintableWithLines (BlockContainer(anonymous)) [8,42.9375 784x0]
+      PaintableWithLines (BlockContainer(anonymous)) [8,43.40625 784x0]

+ 63 - 63
Tests/LibWeb/Layout/expected/grid/row-span-2-maxcontent.txt

@@ -1,104 +1,104 @@
 Viewport <#document> at (0,0) content-size 800x600 children: not-inline
 Viewport <#document> at (0,0) content-size 800x600 children: not-inline
   BlockContainer <html> at (0,0) content-size 800x600 [BFC] children: not-inline
   BlockContainer <html> at (0,0) content-size 800x600 [BFC] children: not-inline
-    BlockContainer <body> at (8,8) content-size 784x314.4375 children: not-inline
-      Box <div.grid-container> at (8,8) content-size 784x314.4375 [GFC] children: not-inline
+    BlockContainer <body> at (8,8) content-size 784x315.40625 children: not-inline
+      Box <div.grid-container> at (8,8) content-size 784x315.40625 [GFC] children: not-inline
         BlockContainer <(anonymous)> (not painted) [BFC] children: inline
         BlockContainer <(anonymous)> (not painted) [BFC] children: inline
           TextNode <#text>
           TextNode <#text>
-        BlockContainer <div.grid-item.item-span-one-one> at (401.46875,8) content-size 392x131.015625 [BFC] children: inline
+        BlockContainer <div.grid-item.item-span-one-one> at (401.46875,8) content-size 392x131.296875 [BFC] children: inline
           line 0 width: 319.171875, height: 17.46875, bottom: 17.46875, baseline: 13.53125
           line 0 width: 319.171875, height: 17.46875, bottom: 17.46875, baseline: 13.53125
             frag 0 from TextNode start: 1, length: 40, rect: [401.46875,8 319.171875x17.46875]
             frag 0 from TextNode start: 1, length: 40, rect: [401.46875,8 319.171875x17.46875]
               "In a sollicitudin augue. Sed ante augue,"
               "In a sollicitudin augue. Sed ante augue,"
-          line 1 width: 335.125, height: 17.46875, bottom: 34.9375, baseline: 13.53125
-            frag 0 from TextNode start: 42, length: 42, rect: [401.46875,25.46875 335.125x17.46875]
+          line 1 width: 335.125, height: 17.9375, bottom: 35.40625, baseline: 13.53125
+            frag 0 from TextNode start: 42, length: 42, rect: [401.46875,25 335.125x17.46875]
               "rhoncus nec porttitor id, lacinia et nibh."
               "rhoncus nec porttitor id, lacinia et nibh."
-          line 2 width: 378.625, height: 17.46875, bottom: 52.40625, baseline: 13.53125
-            frag 0 from TextNode start: 85, length: 48, rect: [401.46875,42.9375 378.625x17.46875]
+          line 2 width: 378.625, height: 18.40625, bottom: 53.34375, baseline: 13.53125
+            frag 0 from TextNode start: 85, length: 48, rect: [401.46875,42 378.625x17.46875]
               "Pellentesque diam libero, ultrices eget eleifend"
               "Pellentesque diam libero, ultrices eget eleifend"
-          line 3 width: 182.8125, height: 17.46875, bottom: 69.875, baseline: 13.53125
-            frag 0 from TextNode start: 134, length: 22, rect: [401.46875,60.40625 182.8125x17.46875]
+          line 3 width: 182.8125, height: 17.875, bottom: 70.28125, baseline: 13.53125
+            frag 0 from TextNode start: 134, length: 22, rect: [401.46875,60 182.8125x17.46875]
               "at, consequat ut orci."
               "at, consequat ut orci."
           TextNode <#text>
           TextNode <#text>
         BlockContainer <(anonymous)> (not painted) [BFC] children: inline
         BlockContainer <(anonymous)> (not painted) [BFC] children: inline
           TextNode <#text>
           TextNode <#text>
-        BlockContainer <div.grid-item.item-span-one-two> at (401.46875,139.015625) content-size 392x183.421875 [BFC] children: inline
+        BlockContainer <div.grid-item.item-span-one-two> at (401.46875,139.296875) content-size 392x184.109375 [BFC] children: inline
           line 0 width: 359.15625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
           line 0 width: 359.15625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-            frag 0 from TextNode start: 1, length: 43, rect: [401.46875,139.015625 359.15625x17.46875]
+            frag 0 from TextNode start: 1, length: 43, rect: [401.46875,139.296875 359.15625x17.46875]
               "Suspendisse potenti. Pellentesque at varius"
               "Suspendisse potenti. Pellentesque at varius"
-          line 1 width: 318.5625, height: 17.46875, bottom: 34.9375, baseline: 13.53125
-            frag 0 from TextNode start: 45, length: 41, rect: [401.46875,156.484375 318.5625x17.46875]
+          line 1 width: 318.5625, height: 17.9375, bottom: 35.40625, baseline: 13.53125
+            frag 0 from TextNode start: 45, length: 41, rect: [401.46875,156.296875 318.5625x17.46875]
               "lacus, sed sollicitudin leo. Pellentesque"
               "lacus, sed sollicitudin leo. Pellentesque"
-          line 2 width: 377.640625, height: 17.46875, bottom: 52.40625, baseline: 13.53125
-            frag 0 from TextNode start: 87, length: 44, rect: [401.46875,173.953125 377.640625x17.46875]
+          line 2 width: 377.640625, height: 18.40625, bottom: 53.34375, baseline: 13.53125
+            frag 0 from TextNode start: 87, length: 44, rect: [401.46875,173.296875 377.640625x17.46875]
               "malesuada mi eget pellentesque tempor. Donec"
               "malesuada mi eget pellentesque tempor. Donec"
-          line 3 width: 378.03125, height: 17.46875, bottom: 69.875, baseline: 13.53125
-            frag 0 from TextNode start: 132, length: 47, rect: [401.46875,191.421875 378.03125x17.46875]
+          line 3 width: 378.03125, height: 17.875, bottom: 70.28125, baseline: 13.53125
+            frag 0 from TextNode start: 132, length: 47, rect: [401.46875,191.296875 378.03125x17.46875]
               "egestas mauris est, ut lobortis nisi luctus at."
               "egestas mauris est, ut lobortis nisi luctus at."
-          line 4 width: 345.953125, height: 17.46875, bottom: 87.34375, baseline: 13.53125
-            frag 0 from TextNode start: 180, length: 41, rect: [401.46875,208.890625 345.953125x17.46875]
+          line 4 width: 345.953125, height: 18.34375, bottom: 88.21875, baseline: 13.53125
+            frag 0 from TextNode start: 180, length: 41, rect: [401.46875,208.296875 345.953125x17.46875]
               "Vivamus eleifend, lorem vulputate maximus"
               "Vivamus eleifend, lorem vulputate maximus"
-          line 5 width: 312.765625, height: 17.46875, bottom: 104.8125, baseline: 13.53125
-            frag 0 from TextNode start: 222, length: 37, rect: [401.46875,226.359375 312.765625x17.46875]
+          line 5 width: 312.765625, height: 17.8125, bottom: 105.15625, baseline: 13.53125
+            frag 0 from TextNode start: 222, length: 37, rect: [401.46875,226.296875 312.765625x17.46875]
               "porta, nunc metus porttitor nibh, nec"
               "porta, nunc metus porttitor nibh, nec"
-          line 6 width: 242.921875, height: 17.46875, bottom: 122.28125, baseline: 13.53125
-            frag 0 from TextNode start: 260, length: 31, rect: [401.46875,243.828125 242.921875x17.46875]
+          line 6 width: 242.921875, height: 18.28125, bottom: 123.09375, baseline: 13.53125
+            frag 0 from TextNode start: 260, length: 31, rect: [401.46875,243.296875 242.921875x17.46875]
               "bibendum nulla lectus ut felis."
               "bibendum nulla lectus ut felis."
           TextNode <#text>
           TextNode <#text>
         BlockContainer <(anonymous)> (not painted) [BFC] children: inline
         BlockContainer <(anonymous)> (not painted) [BFC] children: inline
           TextNode <#text>
           TextNode <#text>
-        BlockContainer <div.grid-item.item-span-two> at (8,8) content-size 393.46875x314.4375 [BFC] children: inline
+        BlockContainer <div.grid-item.item-span-two> at (8,8) content-size 393.46875x315.40625 [BFC] children: inline
           line 0 width: 337.6875, height: 17.46875, bottom: 17.46875, baseline: 13.53125
           line 0 width: 337.6875, height: 17.46875, bottom: 17.46875, baseline: 13.53125
             frag 0 from TextNode start: 1, length: 39, rect: [8,8 337.6875x17.46875]
             frag 0 from TextNode start: 1, length: 39, rect: [8,8 337.6875x17.46875]
               "Lorem ipsum dolor sit amet, consectetur"
               "Lorem ipsum dolor sit amet, consectetur"
-          line 1 width: 376.34375, height: 17.46875, bottom: 34.9375, baseline: 13.53125
-            frag 0 from TextNode start: 41, length: 47, rect: [8,25.46875 376.34375x17.46875]
+          line 1 width: 376.34375, height: 17.9375, bottom: 35.40625, baseline: 13.53125
+            frag 0 from TextNode start: 41, length: 47, rect: [8,25 376.34375x17.46875]
               "adipiscing elit. Sed vitae condimentum erat, ac"
               "adipiscing elit. Sed vitae condimentum erat, ac"
-          line 2 width: 365.84375, height: 17.46875, bottom: 52.40625, baseline: 13.53125
-            frag 0 from TextNode start: 89, length: 45, rect: [8,42.9375 365.84375x17.46875]
+          line 2 width: 365.84375, height: 18.40625, bottom: 53.34375, baseline: 13.53125
+            frag 0 from TextNode start: 89, length: 45, rect: [8,42 365.84375x17.46875]
               "posuere arcu. Aenean tincidunt mi ligula, vel"
               "posuere arcu. Aenean tincidunt mi ligula, vel"
-          line 3 width: 381.96875, height: 17.46875, bottom: 69.875, baseline: 13.53125
-            frag 0 from TextNode start: 135, length: 46, rect: [8,60.40625 381.96875x17.46875]
+          line 3 width: 381.96875, height: 17.875, bottom: 70.28125, baseline: 13.53125
+            frag 0 from TextNode start: 135, length: 46, rect: [8,60 381.96875x17.46875]
               "semper dolor aliquet at. Phasellus scelerisque"
               "semper dolor aliquet at. Phasellus scelerisque"
-          line 4 width: 377.203125, height: 17.46875, bottom: 87.34375, baseline: 13.53125
-            frag 0 from TextNode start: 182, length: 45, rect: [8,77.875 377.203125x17.46875]
+          line 4 width: 377.203125, height: 18.34375, bottom: 88.21875, baseline: 13.53125
+            frag 0 from TextNode start: 182, length: 45, rect: [8,77 377.203125x17.46875]
               "dapibus diam sed rhoncus. Proin sed orci leo."
               "dapibus diam sed rhoncus. Proin sed orci leo."
-          line 5 width: 375.390625, height: 17.46875, bottom: 104.8125, baseline: 13.53125
-            frag 0 from TextNode start: 228, length: 45, rect: [8,95.34375 375.390625x17.46875]
+          line 5 width: 375.390625, height: 17.8125, bottom: 105.15625, baseline: 13.53125
+            frag 0 from TextNode start: 228, length: 45, rect: [8,95 375.390625x17.46875]
               "Praesent pellentesque mi eu nunc gravida, vel"
               "Praesent pellentesque mi eu nunc gravida, vel"
-          line 6 width: 383.53125, height: 17.46875, bottom: 122.28125, baseline: 13.53125
-            frag 0 from TextNode start: 274, length: 46, rect: [8,112.8125 383.53125x17.46875]
+          line 6 width: 383.53125, height: 18.28125, bottom: 123.09375, baseline: 13.53125
+            frag 0 from TextNode start: 274, length: 46, rect: [8,112 383.53125x17.46875]
               "consectetur nulla malesuada. Sed pellentesque,"
               "consectetur nulla malesuada. Sed pellentesque,"
-          line 7 width: 344.8125, height: 17.46875, bottom: 139.75, baseline: 13.53125
-            frag 0 from TextNode start: 321, length: 47, rect: [8,130.28125 344.8125x17.46875]
+          line 7 width: 344.8125, height: 17.75, bottom: 140.03125, baseline: 13.53125
+            frag 0 from TextNode start: 321, length: 47, rect: [8,130 344.8125x17.46875]
               "elit sit amet sollicitudin sollicitudin, lectus"
               "elit sit amet sollicitudin sollicitudin, lectus"
-          line 8 width: 374.703125, height: 17.46875, bottom: 157.21875, baseline: 13.53125
-            frag 0 from TextNode start: 369, length: 46, rect: [8,147.75 374.703125x17.46875]
+          line 8 width: 374.703125, height: 18.21875, bottom: 157.96875, baseline: 13.53125
+            frag 0 from TextNode start: 369, length: 46, rect: [8,147 374.703125x17.46875]
               "justo facilisis lacus, ac vehicula metus neque"
               "justo facilisis lacus, ac vehicula metus neque"
-          line 9 width: 384.125, height: 17.46875, bottom: 174.6875, baseline: 13.53125
-            frag 0 from TextNode start: 416, length: 45, rect: [8,165.21875 384.125x17.46875]
+          line 9 width: 384.125, height: 17.6875, bottom: 174.90625, baseline: 13.53125
+            frag 0 from TextNode start: 416, length: 45, rect: [8,165 384.125x17.46875]
               "ac mi. In in augue et massa maximus venenatis"
               "ac mi. In in augue et massa maximus venenatis"
-          line 10 width: 373.25, height: 17.46875, bottom: 192.15625, baseline: 13.53125
-            frag 0 from TextNode start: 462, length: 44, rect: [8,182.6875 373.25x17.46875]
+          line 10 width: 373.25, height: 18.15625, bottom: 192.84375, baseline: 13.53125
+            frag 0 from TextNode start: 462, length: 44, rect: [8,182 373.25x17.46875]
               "auctor fermentum dui. Aliquam dictum finibus"
               "auctor fermentum dui. Aliquam dictum finibus"
-          line 11 width: 288.203125, height: 17.46875, bottom: 209.625, baseline: 13.53125
-            frag 0 from TextNode start: 507, length: 35, rect: [8,200.15625 288.203125x17.46875]
+          line 11 width: 288.203125, height: 17.625, bottom: 209.78125, baseline: 13.53125
+            frag 0 from TextNode start: 507, length: 35, rect: [8,200 288.203125x17.46875]
               "urna, quis lacinia massa laoreet a."
               "urna, quis lacinia massa laoreet a."
-          line 12 width: 316.296875, height: 17.46875, bottom: 227.09375, baseline: 13.53125
-            frag 0 from TextNode start: 543, length: 36, rect: [8,217.625 316.296875x17.46875]
+          line 12 width: 316.296875, height: 18.09375, bottom: 227.71875, baseline: 13.53125
+            frag 0 from TextNode start: 543, length: 36, rect: [8,217 316.296875x17.46875]
               "Suspendisse elementum non lectus nec"
               "Suspendisse elementum non lectus nec"
-          line 13 width: 388.78125, height: 17.46875, bottom: 244.5625, baseline: 13.53125
-            frag 0 from TextNode start: 580, length: 48, rect: [8,235.09375 388.78125x17.46875]
+          line 13 width: 388.78125, height: 17.5625, bottom: 244.65625, baseline: 13.53125
+            frag 0 from TextNode start: 580, length: 48, rect: [8,235 388.78125x17.46875]
               "elementum. Quisque ultricies suscipit porttitor."
               "elementum. Quisque ultricies suscipit porttitor."
-          line 14 width: 373.828125, height: 17.46875, bottom: 262.03125, baseline: 13.53125
-            frag 0 from TextNode start: 629, length: 45, rect: [8,252.5625 373.828125x17.46875]
+          line 14 width: 373.828125, height: 18.03125, bottom: 262.59375, baseline: 13.53125
+            frag 0 from TextNode start: 629, length: 45, rect: [8,252 373.828125x17.46875]
               "Sed non urna rutrum, mattis nulla at, feugiat"
               "Sed non urna rutrum, mattis nulla at, feugiat"
-          line 15 width: 368.75, height: 17.46875, bottom: 279.5, baseline: 13.53125
-            frag 0 from TextNode start: 675, length: 48, rect: [8,270.03125 368.75x17.46875]
+          line 15 width: 368.75, height: 17.5, bottom: 279.53125, baseline: 13.53125
+            frag 0 from TextNode start: 675, length: 48, rect: [8,270 368.75x17.46875]
               "erat. Duis orci elit, vehicula sed blandit eget,"
               "erat. Duis orci elit, vehicula sed blandit eget,"
-          line 16 width: 390.625, height: 17.46875, bottom: 296.96875, baseline: 13.53125
-            frag 0 from TextNode start: 724, length: 46, rect: [8,287.5 390.625x17.46875]
+          line 16 width: 390.625, height: 17.96875, bottom: 297.46875, baseline: 13.53125
+            frag 0 from TextNode start: 724, length: 46, rect: [8,287 390.625x17.46875]
               "auctor in arcu. Ut cursus magna sit amet nulla"
               "auctor in arcu. Ut cursus magna sit amet nulla"
-          line 17 width: 294.90625, height: 17.46875, bottom: 314.4375, baseline: 13.53125
-            frag 0 from TextNode start: 771, length: 36, rect: [8,304.96875 294.90625x17.46875]
+          line 17 width: 294.90625, height: 18.4375, bottom: 315.40625, baseline: 13.53125
+            frag 0 from TextNode start: 771, length: 36, rect: [8,304 294.90625x17.46875]
               "cursus, vitae gravida mauris dictum."
               "cursus, vitae gravida mauris dictum."
           TextNode <#text>
           TextNode <#text>
         BlockContainer <(anonymous)> (not painted) [BFC] children: inline
         BlockContainer <(anonymous)> (not painted) [BFC] children: inline
@@ -106,11 +106,11 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
 
 
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
   PaintableWithLines (BlockContainer<HTML>) [0,0 800x600]
   PaintableWithLines (BlockContainer<HTML>) [0,0 800x600]
-    PaintableWithLines (BlockContainer<BODY>) [8,8 784x314.4375] overflow: [8,8 785.46875x314.4375]
-      PaintableBox (Box<DIV>.grid-container) [8,8 784x314.4375] overflow: [8,8 785.46875x314.4375]
-        PaintableWithLines (BlockContainer<DIV>.grid-item.item-span-one-one) [401.46875,8 392x131.015625]
+    PaintableWithLines (BlockContainer<BODY>) [8,8 784x315.40625] overflow: [8,8 785.46875x315.40625]
+      PaintableBox (Box<DIV>.grid-container) [8,8 784x315.40625] overflow: [8,8 785.46875x315.40625]
+        PaintableWithLines (BlockContainer<DIV>.grid-item.item-span-one-one) [401.46875,8 392x131.296875]
           TextPaintable (TextNode<#text>)
           TextPaintable (TextNode<#text>)
-        PaintableWithLines (BlockContainer<DIV>.grid-item.item-span-one-two) [401.46875,139.015625 392x183.421875]
+        PaintableWithLines (BlockContainer<DIV>.grid-item.item-span-one-two) [401.46875,139.296875 392x184.109375]
           TextPaintable (TextNode<#text>)
           TextPaintable (TextNode<#text>)
-        PaintableWithLines (BlockContainer<DIV>.grid-item.item-span-two) [8,8 393.46875x314.4375]
+        PaintableWithLines (BlockContainer<DIV>.grid-item.item-span-two) [8,8 393.46875x315.40625]
           TextPaintable (TextNode<#text>)
           TextPaintable (TextNode<#text>)

+ 116 - 116
Tests/LibWeb/Layout/expected/grid/row-span-2-mincontent.txt

@@ -1,185 +1,185 @@
 Viewport <#document> at (0,0) content-size 800x600 children: not-inline
 Viewport <#document> at (0,0) content-size 800x600 children: not-inline
   BlockContainer <html> at (0,0) content-size 800x600 [BFC] children: not-inline
   BlockContainer <html> at (0,0) content-size 800x600 [BFC] children: not-inline
-    BlockContainer <body> at (8,8) content-size 784x559 children: not-inline
-      Box <div.grid-container> at (8,8) content-size 784x559 [GFC] children: not-inline
+    BlockContainer <body> at (8,8) content-size 784x560.0625 children: not-inline
+      Box <div.grid-container> at (8,8) content-size 784x560.0625 [GFC] children: not-inline
         BlockContainer <(anonymous)> (not painted) [BFC] children: inline
         BlockContainer <(anonymous)> (not painted) [BFC] children: inline
           TextNode <#text>
           TextNode <#text>
-        BlockContainer <div.grid-item.item-span-one-one> at (108.640625,8) content-size 101.515625x244.5625 [BFC] children: inline
+        BlockContainer <div.grid-item.item-span-one-one> at (108.640625,8) content-size 101.515625x244.65625 [BFC] children: inline
           line 0 width: 31.546875, height: 17.46875, bottom: 17.46875, baseline: 13.53125
           line 0 width: 31.546875, height: 17.46875, bottom: 17.46875, baseline: 13.53125
             frag 0 from TextNode start: 1, length: 4, rect: [108.640625,8 31.546875x17.46875]
             frag 0 from TextNode start: 1, length: 4, rect: [108.640625,8 31.546875x17.46875]
               "In a"
               "In a"
-          line 1 width: 84.84375, height: 17.46875, bottom: 34.9375, baseline: 13.53125
-            frag 0 from TextNode start: 6, length: 12, rect: [108.640625,25.46875 84.84375x17.46875]
+          line 1 width: 84.84375, height: 17.9375, bottom: 35.40625, baseline: 13.53125
+            frag 0 from TextNode start: 6, length: 12, rect: [108.640625,25 84.84375x17.46875]
               "sollicitudin"
               "sollicitudin"
-          line 2 width: 86.046875, height: 17.46875, bottom: 52.40625, baseline: 13.53125
-            frag 0 from TextNode start: 19, length: 10, rect: [108.640625,42.9375 86.046875x17.46875]
+          line 2 width: 86.046875, height: 18.40625, bottom: 53.34375, baseline: 13.53125
+            frag 0 from TextNode start: 19, length: 10, rect: [108.640625,42 86.046875x17.46875]
               "augue. Sed"
               "augue. Sed"
-          line 3 width: 92.734375, height: 17.46875, bottom: 69.875, baseline: 13.53125
-            frag 0 from TextNode start: 30, length: 11, rect: [108.640625,60.40625 92.734375x17.46875]
+          line 3 width: 92.734375, height: 17.875, bottom: 70.28125, baseline: 13.53125
+            frag 0 from TextNode start: 30, length: 11, rect: [108.640625,60 92.734375x17.46875]
               "ante augue,"
               "ante augue,"
-          line 4 width: 101.3125, height: 17.46875, bottom: 87.34375, baseline: 13.53125
-            frag 0 from TextNode start: 42, length: 11, rect: [108.640625,77.875 101.3125x17.46875]
+          line 4 width: 101.3125, height: 18.34375, bottom: 88.21875, baseline: 13.53125
+            frag 0 from TextNode start: 42, length: 11, rect: [108.640625,77 101.3125x17.46875]
               "rhoncus nec"
               "rhoncus nec"
-          line 5 width: 98.40625, height: 17.46875, bottom: 104.8125, baseline: 13.53125
-            frag 0 from TextNode start: 54, length: 13, rect: [108.640625,95.34375 98.40625x17.46875]
+          line 5 width: 98.40625, height: 17.8125, bottom: 105.15625, baseline: 13.53125
+            frag 0 from TextNode start: 54, length: 13, rect: [108.640625,95 98.40625x17.46875]
               "porttitor id,"
               "porttitor id,"
-          line 6 width: 74.125, height: 17.46875, bottom: 122.28125, baseline: 13.53125
-            frag 0 from TextNode start: 68, length: 10, rect: [108.640625,112.8125 74.125x17.46875]
+          line 6 width: 74.125, height: 18.28125, bottom: 123.09375, baseline: 13.53125
+            frag 0 from TextNode start: 68, length: 10, rect: [108.640625,112 74.125x17.46875]
               "lacinia et"
               "lacinia et"
-          line 7 width: 37.28125, height: 17.46875, bottom: 139.75, baseline: 13.53125
-            frag 0 from TextNode start: 79, length: 5, rect: [108.640625,130.28125 37.28125x17.46875]
+          line 7 width: 37.28125, height: 17.75, bottom: 140.03125, baseline: 13.53125
+            frag 0 from TextNode start: 79, length: 5, rect: [108.640625,130 37.28125x17.46875]
               "nibh."
               "nibh."
-          line 8 width: 101.515625, height: 17.46875, bottom: 157.21875, baseline: 13.53125
-            frag 0 from TextNode start: 85, length: 12, rect: [108.640625,147.75 101.515625x17.46875]
+          line 8 width: 101.515625, height: 18.21875, bottom: 157.96875, baseline: 13.53125
+            frag 0 from TextNode start: 85, length: 12, rect: [108.640625,147 101.515625x17.46875]
               "Pellentesque"
               "Pellentesque"
-          line 9 width: 93.1875, height: 17.46875, bottom: 174.6875, baseline: 13.53125
-            frag 0 from TextNode start: 98, length: 12, rect: [108.640625,165.21875 93.1875x17.46875]
+          line 9 width: 93.1875, height: 17.6875, bottom: 174.90625, baseline: 13.53125
+            frag 0 from TextNode start: 98, length: 12, rect: [108.640625,165 93.1875x17.46875]
               "diam libero,"
               "diam libero,"
-          line 10 width: 101.0625, height: 17.46875, bottom: 192.15625, baseline: 13.53125
-            frag 0 from TextNode start: 111, length: 13, rect: [108.640625,182.6875 101.0625x17.46875]
+          line 10 width: 101.0625, height: 18.15625, bottom: 192.84375, baseline: 13.53125
+            frag 0 from TextNode start: 111, length: 13, rect: [108.640625,182 101.0625x17.46875]
               "ultrices eget"
               "ultrices eget"
-          line 11 width: 88.109375, height: 17.46875, bottom: 209.625, baseline: 13.53125
-            frag 0 from TextNode start: 125, length: 12, rect: [108.640625,200.15625 88.109375x17.46875]
+          line 11 width: 88.109375, height: 17.625, bottom: 209.78125, baseline: 13.53125
+            frag 0 from TextNode start: 125, length: 12, rect: [108.640625,200 88.109375x17.46875]
               "eleifend at,"
               "eleifend at,"
-          line 12 width: 83.953125, height: 17.46875, bottom: 227.09375, baseline: 13.53125
-            frag 0 from TextNode start: 138, length: 9, rect: [108.640625,217.625 83.953125x17.46875]
+          line 12 width: 83.953125, height: 18.09375, bottom: 227.71875, baseline: 13.53125
+            frag 0 from TextNode start: 138, length: 9, rect: [108.640625,217 83.953125x17.46875]
               "consequat"
               "consequat"
-          line 13 width: 61.609375, height: 17.46875, bottom: 244.5625, baseline: 13.53125
-            frag 0 from TextNode start: 148, length: 8, rect: [108.640625,235.09375 61.609375x17.46875]
+          line 13 width: 61.609375, height: 17.5625, bottom: 244.65625, baseline: 13.53125
+            frag 0 from TextNode start: 148, length: 8, rect: [108.640625,235 61.609375x17.46875]
               "ut orci."
               "ut orci."
           TextNode <#text>
           TextNode <#text>
         BlockContainer <(anonymous)> (not painted) [BFC] children: inline
         BlockContainer <(anonymous)> (not painted) [BFC] children: inline
           TextNode <#text>
           TextNode <#text>
-        BlockContainer <div.grid-item.item-span-one-two> at (108.640625,252.5625) content-size 101.515625x314.4375 [BFC] children: inline
+        BlockContainer <div.grid-item.item-span-one-two> at (108.640625,252.65625) content-size 101.515625x315.40625 [BFC] children: inline
           line 0 width: 98.65625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
           line 0 width: 98.65625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-            frag 0 from TextNode start: 1, length: 11, rect: [108.640625,252.5625 98.65625x17.46875]
+            frag 0 from TextNode start: 1, length: 11, rect: [108.640625,252.65625 98.65625x17.46875]
               "Suspendisse"
               "Suspendisse"
-          line 1 width: 60.734375, height: 17.46875, bottom: 34.9375, baseline: 13.53125
-            frag 0 from TextNode start: 13, length: 8, rect: [108.640625,270.03125 60.734375x17.46875]
+          line 1 width: 60.734375, height: 17.9375, bottom: 35.40625, baseline: 13.53125
+            frag 0 from TextNode start: 13, length: 8, rect: [108.640625,269.65625 60.734375x17.46875]
               "potenti."
               "potenti."
-          line 2 width: 101.515625, height: 17.46875, bottom: 52.40625, baseline: 13.53125
-            frag 0 from TextNode start: 22, length: 12, rect: [108.640625,287.5 101.515625x17.46875]
+          line 2 width: 101.515625, height: 18.40625, bottom: 53.34375, baseline: 13.53125
+            frag 0 from TextNode start: 22, length: 12, rect: [108.640625,286.65625 101.515625x17.46875]
               "Pellentesque"
               "Pellentesque"
-          line 3 width: 74.25, height: 17.46875, bottom: 69.875, baseline: 13.53125
-            frag 0 from TextNode start: 35, length: 9, rect: [108.640625,304.96875 74.25x17.46875]
+          line 3 width: 74.25, height: 17.875, bottom: 70.28125, baseline: 13.53125
+            frag 0 from TextNode start: 35, length: 9, rect: [108.640625,304.65625 74.25x17.46875]
               "at varius"
               "at varius"
-          line 4 width: 80.546875, height: 17.46875, bottom: 87.34375, baseline: 13.53125
-            frag 0 from TextNode start: 45, length: 10, rect: [108.640625,322.4375 80.546875x17.46875]
+          line 4 width: 80.546875, height: 18.34375, bottom: 88.21875, baseline: 13.53125
+            frag 0 from TextNode start: 45, length: 10, rect: [108.640625,321.65625 80.546875x17.46875]
               "lacus, sed"
               "lacus, sed"
-          line 5 width: 84.84375, height: 17.46875, bottom: 104.8125, baseline: 13.53125
-            frag 0 from TextNode start: 56, length: 12, rect: [108.640625,339.90625 84.84375x17.46875]
+          line 5 width: 84.84375, height: 17.8125, bottom: 105.15625, baseline: 13.53125
+            frag 0 from TextNode start: 56, length: 12, rect: [108.640625,339.65625 84.84375x17.46875]
               "sollicitudin"
               "sollicitudin"
-          line 6 width: 27.65625, height: 17.46875, bottom: 122.28125, baseline: 13.53125
-            frag 0 from TextNode start: 69, length: 4, rect: [108.640625,357.375 27.65625x17.46875]
+          line 6 width: 27.65625, height: 18.28125, bottom: 123.09375, baseline: 13.53125
+            frag 0 from TextNode start: 69, length: 4, rect: [108.640625,356.65625 27.65625x17.46875]
               "leo."
               "leo."
-          line 7 width: 101.515625, height: 17.46875, bottom: 139.75, baseline: 13.53125
-            frag 0 from TextNode start: 74, length: 12, rect: [108.640625,374.84375 101.515625x17.46875]
+          line 7 width: 101.515625, height: 17.75, bottom: 140.03125, baseline: 13.53125
+            frag 0 from TextNode start: 74, length: 12, rect: [108.640625,374.65625 101.515625x17.46875]
               "Pellentesque"
               "Pellentesque"
-          line 8 width: 80.15625, height: 17.46875, bottom: 157.21875, baseline: 13.53125
-            frag 0 from TextNode start: 87, length: 9, rect: [108.640625,392.3125 80.15625x17.46875]
+          line 8 width: 80.15625, height: 18.21875, bottom: 157.96875, baseline: 13.53125
+            frag 0 from TextNode start: 87, length: 9, rect: [108.640625,391.65625 80.15625x17.46875]
               "malesuada"
               "malesuada"
-          line 9 width: 56.625, height: 17.46875, bottom: 174.6875, baseline: 13.53125
-            frag 0 from TextNode start: 97, length: 7, rect: [108.640625,409.78125 56.625x17.46875]
+          line 9 width: 56.625, height: 17.6875, bottom: 174.90625, baseline: 13.53125
+            frag 0 from TextNode start: 97, length: 7, rect: [108.640625,409.65625 56.625x17.46875]
               "mi eget"
               "mi eget"
-          line 10 width: 99.40625, height: 17.46875, bottom: 192.15625, baseline: 13.53125
-            frag 0 from TextNode start: 105, length: 12, rect: [108.640625,427.25 99.40625x17.46875]
+          line 10 width: 99.40625, height: 18.15625, bottom: 192.84375, baseline: 13.53125
+            frag 0 from TextNode start: 105, length: 12, rect: [108.640625,426.65625 99.40625x17.46875]
               "pellentesque"
               "pellentesque"
-          line 11 width: 60.734375, height: 17.46875, bottom: 209.625, baseline: 13.53125
-            frag 0 from TextNode start: 118, length: 7, rect: [108.640625,444.71875 60.734375x17.46875]
+          line 11 width: 60.734375, height: 17.625, bottom: 209.78125, baseline: 13.53125
+            frag 0 from TextNode start: 118, length: 7, rect: [108.640625,444.65625 60.734375x17.46875]
               "tempor."
               "tempor."
-          line 12 width: 48.71875, height: 17.46875, bottom: 227.09375, baseline: 13.53125
-            frag 0 from TextNode start: 126, length: 5, rect: [108.640625,462.1875 48.71875x17.46875]
+          line 12 width: 48.71875, height: 18.09375, bottom: 227.71875, baseline: 13.53125
+            frag 0 from TextNode start: 126, length: 5, rect: [108.640625,461.65625 48.71875x17.46875]
               "Donec"
               "Donec"
-          line 13 width: 59.890625, height: 17.46875, bottom: 244.5625, baseline: 13.53125
+          line 13 width: 59.890625, height: 17.5625, bottom: 244.65625, baseline: 13.53125
             frag 0 from TextNode start: 132, length: 7, rect: [108.640625,479.65625 59.890625x17.46875]
             frag 0 from TextNode start: 132, length: 7, rect: [108.640625,479.65625 59.890625x17.46875]
               "egestas"
               "egestas"
-          line 14 width: 92.015625, height: 17.46875, bottom: 262.03125, baseline: 13.53125
-            frag 0 from TextNode start: 140, length: 11, rect: [108.640625,497.125 92.015625x17.46875]
+          line 14 width: 92.015625, height: 18.03125, bottom: 262.59375, baseline: 13.53125
+            frag 0 from TextNode start: 140, length: 11, rect: [108.640625,496.65625 92.015625x17.46875]
               "mauris est,"
               "mauris est,"
-          line 15 width: 88.640625, height: 17.46875, bottom: 279.5, baseline: 13.53125
-            frag 0 from TextNode start: 152, length: 11, rect: [108.640625,514.59375 88.640625x17.46875]
+          line 15 width: 88.640625, height: 17.5, bottom: 279.53125, baseline: 13.53125
+            frag 0 from TextNode start: 152, length: 11, rect: [108.640625,514.65625 88.640625x17.46875]
               "ut lobortis"
               "ut lobortis"
-          line 16 width: 84.9375, height: 17.46875, bottom: 296.96875, baseline: 13.53125
-            frag 0 from TextNode start: 164, length: 11, rect: [108.640625,532.0625 84.9375x17.46875]
+          line 16 width: 84.9375, height: 17.96875, bottom: 297.46875, baseline: 13.53125
+            frag 0 from TextNode start: 164, length: 11, rect: [108.640625,531.65625 84.9375x17.46875]
               "nisi luctus"
               "nisi luctus"
-          line 17 width: 20.546875, height: 17.46875, bottom: 314.4375, baseline: 13.53125
-            frag 0 from TextNode start: 176, length: 3, rect: [108.640625,549.53125 20.546875x17.46875]
+          line 17 width: 20.546875, height: 18.4375, bottom: 315.40625, baseline: 13.53125
+            frag 0 from TextNode start: 176, length: 3, rect: [108.640625,548.65625 20.546875x17.46875]
               "at."
               "at."
           TextNode <#text>
           TextNode <#text>
         BlockContainer <(anonymous)> (not painted) [BFC] children: inline
         BlockContainer <(anonymous)> (not painted) [BFC] children: inline
           TextNode <#text>
           TextNode <#text>
-        BlockContainer <div.grid-item.item-span-two> at (8,8) content-size 100.640625x559 [BFC] children: inline
+        BlockContainer <div.grid-item.item-span-two> at (8,8) content-size 100.640625x560.0625 [BFC] children: inline
           line 0 width: 50.96875, height: 17.46875, bottom: 17.46875, baseline: 13.53125
           line 0 width: 50.96875, height: 17.46875, bottom: 17.46875, baseline: 13.53125
             frag 0 from TextNode start: 1, length: 5, rect: [8,8 50.96875x17.46875]
             frag 0 from TextNode start: 1, length: 5, rect: [8,8 50.96875x17.46875]
               "Lorem"
               "Lorem"
-          line 1 width: 94.9375, height: 17.46875, bottom: 34.9375, baseline: 13.53125
-            frag 0 from TextNode start: 7, length: 11, rect: [8,25.46875 94.9375x17.46875]
+          line 1 width: 94.9375, height: 17.9375, bottom: 35.40625, baseline: 13.53125
+            frag 0 from TextNode start: 7, length: 11, rect: [8,25 94.9375x17.46875]
               "ipsum dolor"
               "ipsum dolor"
-          line 2 width: 70.9375, height: 17.46875, bottom: 52.40625, baseline: 13.53125
-            frag 0 from TextNode start: 19, length: 9, rect: [8,42.9375 70.9375x17.46875]
+          line 2 width: 70.9375, height: 18.40625, bottom: 53.34375, baseline: 13.53125
+            frag 0 from TextNode start: 19, length: 9, rect: [8,42 70.9375x17.46875]
               "sit amet,"
               "sit amet,"
-          line 3 width: 96.84375, height: 17.46875, bottom: 69.875, baseline: 13.53125
-            frag 0 from TextNode start: 29, length: 11, rect: [8,60.40625 96.84375x17.46875]
+          line 3 width: 96.84375, height: 17.875, bottom: 70.28125, baseline: 13.53125
+            frag 0 from TextNode start: 29, length: 11, rect: [8,60 96.84375x17.46875]
               "consectetur"
               "consectetur"
-          line 4 width: 75.71875, height: 17.46875, bottom: 87.34375, baseline: 13.53125
-            frag 0 from TextNode start: 41, length: 10, rect: [8,77.875 75.71875x17.46875]
+          line 4 width: 75.71875, height: 18.34375, bottom: 88.21875, baseline: 13.53125
+            frag 0 from TextNode start: 41, length: 10, rect: [8,77 75.71875x17.46875]
               "adipiscing"
               "adipiscing"
-          line 5 width: 65.265625, height: 17.46875, bottom: 104.8125, baseline: 13.53125
-            frag 0 from TextNode start: 52, length: 9, rect: [8,95.34375 65.265625x17.46875]
+          line 5 width: 65.265625, height: 17.8125, bottom: 105.15625, baseline: 13.53125
+            frag 0 from TextNode start: 52, length: 9, rect: [8,95 65.265625x17.46875]
               "elit. Sed"
               "elit. Sed"
-          line 6 width: 37.6875, height: 17.46875, bottom: 122.28125, baseline: 13.53125
-            frag 0 from TextNode start: 62, length: 5, rect: [8,112.8125 37.6875x17.46875]
+          line 6 width: 37.6875, height: 18.28125, bottom: 123.09375, baseline: 13.53125
+            frag 0 from TextNode start: 62, length: 5, rect: [8,112 37.6875x17.46875]
               "vitae"
               "vitae"
-          line 7 width: 100.640625, height: 17.46875, bottom: 139.75, baseline: 13.53125
-            frag 0 from TextNode start: 68, length: 11, rect: [8,130.28125 100.640625x17.46875]
+          line 7 width: 100.640625, height: 17.75, bottom: 140.03125, baseline: 13.53125
+            frag 0 from TextNode start: 68, length: 11, rect: [8,130 100.640625x17.46875]
               "condimentum"
               "condimentum"
-          line 8 width: 65.03125, height: 17.46875, bottom: 157.21875, baseline: 13.53125
-            frag 0 from TextNode start: 80, length: 8, rect: [8,147.75 65.03125x17.46875]
+          line 8 width: 65.03125, height: 18.21875, bottom: 157.96875, baseline: 13.53125
+            frag 0 from TextNode start: 80, length: 8, rect: [8,147 65.03125x17.46875]
               "erat, ac"
               "erat, ac"
-          line 9 width: 65.15625, height: 17.46875, bottom: 174.6875, baseline: 13.53125
-            frag 0 from TextNode start: 89, length: 7, rect: [8,165.21875 65.15625x17.46875]
+          line 9 width: 65.15625, height: 17.6875, bottom: 174.90625, baseline: 13.53125
+            frag 0 from TextNode start: 89, length: 7, rect: [8,165 65.15625x17.46875]
               "posuere"
               "posuere"
-          line 10 width: 41.171875, height: 17.46875, bottom: 192.15625, baseline: 13.53125
-            frag 0 from TextNode start: 97, length: 5, rect: [8,182.6875 41.171875x17.46875]
+          line 10 width: 41.171875, height: 18.15625, bottom: 192.84375, baseline: 13.53125
+            frag 0 from TextNode start: 97, length: 5, rect: [8,182 41.171875x17.46875]
               "arcu."
               "arcu."
-          line 11 width: 60.265625, height: 17.46875, bottom: 209.625, baseline: 13.53125
-            frag 0 from TextNode start: 103, length: 6, rect: [8,200.15625 60.265625x17.46875]
+          line 11 width: 60.265625, height: 17.625, bottom: 209.78125, baseline: 13.53125
+            frag 0 from TextNode start: 103, length: 6, rect: [8,200 60.265625x17.46875]
               "Aenean"
               "Aenean"
-          line 12 width: 93.34375, height: 17.46875, bottom: 227.09375, baseline: 13.53125
-            frag 0 from TextNode start: 110, length: 12, rect: [8,217.625 93.34375x17.46875]
+          line 12 width: 93.34375, height: 18.09375, bottom: 227.71875, baseline: 13.53125
+            frag 0 from TextNode start: 110, length: 12, rect: [8,217 93.34375x17.46875]
               "tincidunt mi"
               "tincidunt mi"
-          line 13 width: 73.90625, height: 17.46875, bottom: 244.5625, baseline: 13.53125
-            frag 0 from TextNode start: 123, length: 11, rect: [8,235.09375 73.90625x17.46875]
+          line 13 width: 73.90625, height: 17.5625, bottom: 244.65625, baseline: 13.53125
+            frag 0 from TextNode start: 123, length: 11, rect: [8,235 73.90625x17.46875]
               "ligula, vel"
               "ligula, vel"
-          line 14 width: 57.234375, height: 17.46875, bottom: 262.03125, baseline: 13.53125
-            frag 0 from TextNode start: 135, length: 6, rect: [8,252.5625 57.234375x17.46875]
+          line 14 width: 57.234375, height: 18.03125, bottom: 262.59375, baseline: 13.53125
+            frag 0 from TextNode start: 135, length: 6, rect: [8,252 57.234375x17.46875]
               "semper"
               "semper"
-          line 15 width: 41.640625, height: 17.46875, bottom: 279.5, baseline: 13.53125
-            frag 0 from TextNode start: 142, length: 5, rect: [8,270.03125 41.640625x17.46875]
+          line 15 width: 41.640625, height: 17.5, bottom: 279.53125, baseline: 13.53125
+            frag 0 from TextNode start: 142, length: 5, rect: [8,270 41.640625x17.46875]
               "dolor"
               "dolor"
-          line 16 width: 83.09375, height: 17.46875, bottom: 296.96875, baseline: 13.53125
-            frag 0 from TextNode start: 148, length: 11, rect: [8,287.5 83.09375x17.46875]
+          line 16 width: 83.09375, height: 17.96875, bottom: 297.46875, baseline: 13.53125
+            frag 0 from TextNode start: 148, length: 11, rect: [8,287 83.09375x17.46875]
               "aliquet at."
               "aliquet at."
-          line 17 width: 75.8125, height: 17.46875, bottom: 314.4375, baseline: 13.53125
-            frag 0 from TextNode start: 160, length: 9, rect: [8,304.96875 75.8125x17.46875]
+          line 17 width: 75.8125, height: 18.4375, bottom: 315.40625, baseline: 13.53125
+            frag 0 from TextNode start: 160, length: 9, rect: [8,304 75.8125x17.46875]
               "Phasellus"
               "Phasellus"
-          line 18 width: 92.1875, height: 17.46875, bottom: 331.90625, baseline: 13.53125
-            frag 0 from TextNode start: 170, length: 11, rect: [8,322.4375 92.1875x17.46875]
+          line 18 width: 92.1875, height: 17.90625, bottom: 332.34375, baseline: 13.53125
+            frag 0 from TextNode start: 170, length: 11, rect: [8,322 92.1875x17.46875]
               "scelerisque"
               "scelerisque"
-          line 19 width: 59.765625, height: 17.46875, bottom: 349.375, baseline: 13.53125
-            frag 0 from TextNode start: 182, length: 7, rect: [8,339.90625 59.765625x17.46875]
+          line 19 width: 59.765625, height: 18.375, bottom: 350.28125, baseline: 13.53125
+            frag 0 from TextNode start: 182, length: 7, rect: [8,339 59.765625x17.46875]
               "dapibus"
               "dapibus"
-          line 20 width: 67.890625, height: 17.46875, bottom: 366.84375, baseline: 13.53125
-            frag 0 from TextNode start: 190, length: 8, rect: [8,357.375 67.890625x17.46875]
+          line 20 width: 67.890625, height: 17.84375, bottom: 367.21875, baseline: 13.53125
+            frag 0 from TextNode start: 190, length: 8, rect: [8,357 67.890625x17.46875]
               "diam sed"
               "diam sed"
-          line 21 width: 70.4375, height: 17.46875, bottom: 384.3125, baseline: 13.53125
-            frag 0 from TextNode start: 199, length: 8, rect: [8,374.84375 70.4375x17.46875]
+          line 21 width: 70.4375, height: 18.3125, bottom: 385.15625, baseline: 13.53125
+            frag 0 from TextNode start: 199, length: 8, rect: [8,374 70.4375x17.46875]
               "rhoncus."
               "rhoncus."
-          line 22 width: 78.8125, height: 17.46875, bottom: 401.78125, baseline: 13.53125
-            frag 0 from TextNode start: 208, length: 9, rect: [8,392.3125 78.8125x17.46875]
+          line 22 width: 78.8125, height: 17.78125, bottom: 402.09375, baseline: 13.53125
+            frag 0 from TextNode start: 208, length: 9, rect: [8,392 78.8125x17.46875]
               "Proin sed"
               "Proin sed"
-          line 23 width: 68.296875, height: 17.46875, bottom: 419.25, baseline: 13.53125
-            frag 0 from TextNode start: 218, length: 9, rect: [8,409.78125 68.296875x17.46875]
+          line 23 width: 68.296875, height: 18.25, bottom: 420.03125, baseline: 13.53125
+            frag 0 from TextNode start: 218, length: 9, rect: [8,409 68.296875x17.46875]
               "orci leo."
               "orci leo."
           TextNode <#text>
           TextNode <#text>
         BlockContainer <(anonymous)> (not painted) [BFC] children: inline
         BlockContainer <(anonymous)> (not painted) [BFC] children: inline
@@ -187,11 +187,11 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
 
 
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
   PaintableWithLines (BlockContainer<HTML>) [0,0 800x600]
   PaintableWithLines (BlockContainer<HTML>) [0,0 800x600]
-    PaintableWithLines (BlockContainer<BODY>) [8,8 784x559]
-      PaintableBox (Box<DIV>.grid-container) [8,8 784x559]
-        PaintableWithLines (BlockContainer<DIV>.grid-item.item-span-one-one) [108.640625,8 101.515625x244.5625]
+    PaintableWithLines (BlockContainer<BODY>) [8,8 784x560.0625]
+      PaintableBox (Box<DIV>.grid-container) [8,8 784x560.0625]
+        PaintableWithLines (BlockContainer<DIV>.grid-item.item-span-one-one) [108.640625,8 101.515625x244.65625]
           TextPaintable (TextNode<#text>)
           TextPaintable (TextNode<#text>)
-        PaintableWithLines (BlockContainer<DIV>.grid-item.item-span-one-two) [108.640625,252.5625 101.515625x314.4375]
+        PaintableWithLines (BlockContainer<DIV>.grid-item.item-span-one-two) [108.640625,252.65625 101.515625x315.40625]
           TextPaintable (TextNode<#text>)
           TextPaintable (TextNode<#text>)
-        PaintableWithLines (BlockContainer<DIV>.grid-item.item-span-two) [8,8 100.640625x559]
+        PaintableWithLines (BlockContainer<DIV>.grid-item.item-span-two) [8,8 100.640625x560.0625]
           TextPaintable (TextNode<#text>)
           TextPaintable (TextNode<#text>)

+ 65 - 65
Tests/LibWeb/Layout/expected/grid/row-span-2-with-gaps.txt

@@ -1,107 +1,107 @@
 Viewport <#document> at (0,0) content-size 800x600 children: not-inline
 Viewport <#document> at (0,0) content-size 800x600 children: not-inline
   BlockContainer <html> at (0,0) content-size 800x600 [BFC] children: not-inline
   BlockContainer <html> at (0,0) content-size 800x600 [BFC] children: not-inline
-    BlockContainer <body> at (8,8) content-size 784x351.90625 children: not-inline
-      Box <div.grid-container> at (8,8) content-size 784x351.90625 [GFC] children: not-inline
+    BlockContainer <body> at (8,8) content-size 784x352.34375 children: not-inline
+      Box <div.grid-container> at (8,8) content-size 784x352.34375 [GFC] children: not-inline
         BlockContainer <(anonymous)> (not painted) [BFC] children: inline
         BlockContainer <(anonymous)> (not painted) [BFC] children: inline
           TextNode <#text>
           TextNode <#text>
-        BlockContainer <div.grid-item.item-span-one-one> at (411.46875,8) content-size 382x139.75 [BFC] children: inline
+        BlockContainer <div.grid-item.item-span-one-one> at (411.46875,8) content-size 382x139.765625 [BFC] children: inline
           line 0 width: 319.171875, height: 17.46875, bottom: 17.46875, baseline: 13.53125
           line 0 width: 319.171875, height: 17.46875, bottom: 17.46875, baseline: 13.53125
             frag 0 from TextNode start: 1, length: 40, rect: [411.46875,8 319.171875x17.46875]
             frag 0 from TextNode start: 1, length: 40, rect: [411.46875,8 319.171875x17.46875]
               "In a sollicitudin augue. Sed ante augue,"
               "In a sollicitudin augue. Sed ante augue,"
-          line 1 width: 335.125, height: 17.46875, bottom: 34.9375, baseline: 13.53125
-            frag 0 from TextNode start: 42, length: 42, rect: [411.46875,25.46875 335.125x17.46875]
+          line 1 width: 335.125, height: 17.9375, bottom: 35.40625, baseline: 13.53125
+            frag 0 from TextNode start: 42, length: 42, rect: [411.46875,25 335.125x17.46875]
               "rhoncus nec porttitor id, lacinia et nibh."
               "rhoncus nec porttitor id, lacinia et nibh."
-          line 2 width: 378.625, height: 17.46875, bottom: 52.40625, baseline: 13.53125
-            frag 0 from TextNode start: 85, length: 48, rect: [411.46875,42.9375 378.625x17.46875]
+          line 2 width: 378.625, height: 18.40625, bottom: 53.34375, baseline: 13.53125
+            frag 0 from TextNode start: 85, length: 48, rect: [411.46875,42 378.625x17.46875]
               "Pellentesque diam libero, ultrices eget eleifend"
               "Pellentesque diam libero, ultrices eget eleifend"
-          line 3 width: 182.8125, height: 17.46875, bottom: 69.875, baseline: 13.53125
-            frag 0 from TextNode start: 134, length: 22, rect: [411.46875,60.40625 182.8125x17.46875]
+          line 3 width: 182.8125, height: 17.875, bottom: 70.28125, baseline: 13.53125
+            frag 0 from TextNode start: 134, length: 22, rect: [411.46875,60 182.8125x17.46875]
               "at, consequat ut orci."
               "at, consequat ut orci."
           TextNode <#text>
           TextNode <#text>
         BlockContainer <(anonymous)> (not painted) [BFC] children: inline
         BlockContainer <(anonymous)> (not painted) [BFC] children: inline
           TextNode <#text>
           TextNode <#text>
-        BlockContainer <div.grid-item.item-span-one-two> at (411.46875,167.75) content-size 382x192.15625 [BFC] children: inline
+        BlockContainer <div.grid-item.item-span-one-two> at (411.46875,167.765625) content-size 382x192.578125 [BFC] children: inline
           line 0 width: 359.15625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
           line 0 width: 359.15625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-            frag 0 from TextNode start: 1, length: 43, rect: [411.46875,167.75 359.15625x17.46875]
+            frag 0 from TextNode start: 1, length: 43, rect: [411.46875,167.765625 359.15625x17.46875]
               "Suspendisse potenti. Pellentesque at varius"
               "Suspendisse potenti. Pellentesque at varius"
-          line 1 width: 318.5625, height: 17.46875, bottom: 34.9375, baseline: 13.53125
-            frag 0 from TextNode start: 45, length: 41, rect: [411.46875,185.21875 318.5625x17.46875]
+          line 1 width: 318.5625, height: 17.9375, bottom: 35.40625, baseline: 13.53125
+            frag 0 from TextNode start: 45, length: 41, rect: [411.46875,184.765625 318.5625x17.46875]
               "lacus, sed sollicitudin leo. Pellentesque"
               "lacus, sed sollicitudin leo. Pellentesque"
-          line 2 width: 377.640625, height: 17.46875, bottom: 52.40625, baseline: 13.53125
-            frag 0 from TextNode start: 87, length: 44, rect: [411.46875,202.6875 377.640625x17.46875]
+          line 2 width: 377.640625, height: 18.40625, bottom: 53.34375, baseline: 13.53125
+            frag 0 from TextNode start: 87, length: 44, rect: [411.46875,201.765625 377.640625x17.46875]
               "malesuada mi eget pellentesque tempor. Donec"
               "malesuada mi eget pellentesque tempor. Donec"
-          line 3 width: 378.03125, height: 17.46875, bottom: 69.875, baseline: 13.53125
-            frag 0 from TextNode start: 132, length: 47, rect: [411.46875,220.15625 378.03125x17.46875]
+          line 3 width: 378.03125, height: 17.875, bottom: 70.28125, baseline: 13.53125
+            frag 0 from TextNode start: 132, length: 47, rect: [411.46875,219.765625 378.03125x17.46875]
               "egestas mauris est, ut lobortis nisi luctus at."
               "egestas mauris est, ut lobortis nisi luctus at."
-          line 4 width: 345.953125, height: 17.46875, bottom: 87.34375, baseline: 13.53125
-            frag 0 from TextNode start: 180, length: 41, rect: [411.46875,237.625 345.953125x17.46875]
+          line 4 width: 345.953125, height: 18.34375, bottom: 88.21875, baseline: 13.53125
+            frag 0 from TextNode start: 180, length: 41, rect: [411.46875,236.765625 345.953125x17.46875]
               "Vivamus eleifend, lorem vulputate maximus"
               "Vivamus eleifend, lorem vulputate maximus"
-          line 5 width: 312.765625, height: 17.46875, bottom: 104.8125, baseline: 13.53125
-            frag 0 from TextNode start: 222, length: 37, rect: [411.46875,255.09375 312.765625x17.46875]
+          line 5 width: 312.765625, height: 17.8125, bottom: 105.15625, baseline: 13.53125
+            frag 0 from TextNode start: 222, length: 37, rect: [411.46875,254.765625 312.765625x17.46875]
               "porta, nunc metus porttitor nibh, nec"
               "porta, nunc metus porttitor nibh, nec"
-          line 6 width: 242.921875, height: 17.46875, bottom: 122.28125, baseline: 13.53125
-            frag 0 from TextNode start: 260, length: 31, rect: [411.46875,272.5625 242.921875x17.46875]
+          line 6 width: 242.921875, height: 18.28125, bottom: 123.09375, baseline: 13.53125
+            frag 0 from TextNode start: 260, length: 31, rect: [411.46875,271.765625 242.921875x17.46875]
               "bibendum nulla lectus ut felis."
               "bibendum nulla lectus ut felis."
           TextNode <#text>
           TextNode <#text>
         BlockContainer <(anonymous)> (not painted) [BFC] children: inline
         BlockContainer <(anonymous)> (not painted) [BFC] children: inline
           TextNode <#text>
           TextNode <#text>
-        BlockContainer <div.grid-item.item-span-two> at (8,8) content-size 383.46875x351.90625 [BFC] children: inline
+        BlockContainer <div.grid-item.item-span-two> at (8,8) content-size 383.46875x352.34375 [BFC] children: inline
           line 0 width: 337.6875, height: 17.46875, bottom: 17.46875, baseline: 13.53125
           line 0 width: 337.6875, height: 17.46875, bottom: 17.46875, baseline: 13.53125
             frag 0 from TextNode start: 1, length: 39, rect: [8,8 337.6875x17.46875]
             frag 0 from TextNode start: 1, length: 39, rect: [8,8 337.6875x17.46875]
               "Lorem ipsum dolor sit amet, consectetur"
               "Lorem ipsum dolor sit amet, consectetur"
-          line 1 width: 376.34375, height: 17.46875, bottom: 34.9375, baseline: 13.53125
-            frag 0 from TextNode start: 41, length: 47, rect: [8,25.46875 376.34375x17.46875]
+          line 1 width: 376.34375, height: 17.9375, bottom: 35.40625, baseline: 13.53125
+            frag 0 from TextNode start: 41, length: 47, rect: [8,25 376.34375x17.46875]
               "adipiscing elit. Sed vitae condimentum erat, ac"
               "adipiscing elit. Sed vitae condimentum erat, ac"
-          line 2 width: 365.84375, height: 17.46875, bottom: 52.40625, baseline: 13.53125
-            frag 0 from TextNode start: 89, length: 45, rect: [8,42.9375 365.84375x17.46875]
+          line 2 width: 365.84375, height: 18.40625, bottom: 53.34375, baseline: 13.53125
+            frag 0 from TextNode start: 89, length: 45, rect: [8,42 365.84375x17.46875]
               "posuere arcu. Aenean tincidunt mi ligula, vel"
               "posuere arcu. Aenean tincidunt mi ligula, vel"
-          line 3 width: 381.96875, height: 17.46875, bottom: 69.875, baseline: 13.53125
-            frag 0 from TextNode start: 135, length: 46, rect: [8,60.40625 381.96875x17.46875]
+          line 3 width: 381.96875, height: 17.875, bottom: 70.28125, baseline: 13.53125
+            frag 0 from TextNode start: 135, length: 46, rect: [8,60 381.96875x17.46875]
               "semper dolor aliquet at. Phasellus scelerisque"
               "semper dolor aliquet at. Phasellus scelerisque"
-          line 4 width: 377.203125, height: 17.46875, bottom: 87.34375, baseline: 13.53125
-            frag 0 from TextNode start: 182, length: 45, rect: [8,77.875 377.203125x17.46875]
+          line 4 width: 377.203125, height: 18.34375, bottom: 88.21875, baseline: 13.53125
+            frag 0 from TextNode start: 182, length: 45, rect: [8,77 377.203125x17.46875]
               "dapibus diam sed rhoncus. Proin sed orci leo."
               "dapibus diam sed rhoncus. Proin sed orci leo."
-          line 5 width: 375.390625, height: 17.46875, bottom: 104.8125, baseline: 13.53125
-            frag 0 from TextNode start: 228, length: 45, rect: [8,95.34375 375.390625x17.46875]
+          line 5 width: 375.390625, height: 17.8125, bottom: 105.15625, baseline: 13.53125
+            frag 0 from TextNode start: 228, length: 45, rect: [8,95 375.390625x17.46875]
               "Praesent pellentesque mi eu nunc gravida, vel"
               "Praesent pellentesque mi eu nunc gravida, vel"
-          line 6 width: 271.078125, height: 17.46875, bottom: 122.28125, baseline: 13.53125
-            frag 0 from TextNode start: 274, length: 32, rect: [8,112.8125 271.078125x17.46875]
+          line 6 width: 271.078125, height: 18.28125, bottom: 123.09375, baseline: 13.53125
+            frag 0 from TextNode start: 274, length: 32, rect: [8,112 271.078125x17.46875]
               "consectetur nulla malesuada. Sed"
               "consectetur nulla malesuada. Sed"
-          line 7 width: 303.5625, height: 17.46875, bottom: 139.75, baseline: 13.53125
-            frag 0 from TextNode start: 307, length: 40, rect: [8,130.28125 303.5625x17.46875]
+          line 7 width: 303.5625, height: 17.75, bottom: 140.03125, baseline: 13.53125
+            frag 0 from TextNode start: 307, length: 40, rect: [8,130 303.5625x17.46875]
               "pellentesque, elit sit amet sollicitudin"
               "pellentesque, elit sit amet sollicitudin"
-          line 8 width: 346.625, height: 17.46875, bottom: 157.21875, baseline: 13.53125
-            frag 0 from TextNode start: 348, length: 46, rect: [8,147.75 346.625x17.46875]
+          line 8 width: 346.625, height: 18.21875, bottom: 157.96875, baseline: 13.53125
+            frag 0 from TextNode start: 348, length: 46, rect: [8,147 346.625x17.46875]
               "sollicitudin, lectus justo facilisis lacus, ac"
               "sollicitudin, lectus justo facilisis lacus, ac"
-          line 9 width: 350.234375, height: 17.46875, bottom: 174.6875, baseline: 13.53125
-            frag 0 from TextNode start: 395, length: 42, rect: [8,165.21875 350.234375x17.46875]
+          line 9 width: 350.234375, height: 17.6875, bottom: 174.90625, baseline: 13.53125
+            frag 0 from TextNode start: 395, length: 42, rect: [8,165 350.234375x17.46875]
               "vehicula metus neque ac mi. In in augue et"
               "vehicula metus neque ac mi. In in augue et"
-          line 10 width: 361.0625, height: 17.46875, bottom: 192.15625, baseline: 13.53125
-            frag 0 from TextNode start: 438, length: 40, rect: [8,182.6875 361.0625x17.46875]
+          line 10 width: 361.0625, height: 18.15625, bottom: 192.84375, baseline: 13.53125
+            frag 0 from TextNode start: 438, length: 40, rect: [8,182 361.0625x17.46875]
               "massa maximus venenatis auctor fermentum"
               "massa maximus venenatis auctor fermentum"
-          line 11 width: 371.734375, height: 17.46875, bottom: 209.625, baseline: 13.53125
-            frag 0 from TextNode start: 479, length: 46, rect: [8,200.15625 371.734375x17.46875]
+          line 11 width: 371.734375, height: 17.625, bottom: 209.78125, baseline: 13.53125
+            frag 0 from TextNode start: 479, length: 46, rect: [8,200 371.734375x17.46875]
               "dui. Aliquam dictum finibus urna, quis lacinia"
               "dui. Aliquam dictum finibus urna, quis lacinia"
-          line 12 width: 369.59375, height: 17.46875, bottom: 227.09375, baseline: 13.53125
-            frag 0 from TextNode start: 526, length: 42, rect: [8,217.625 369.59375x17.46875]
+          line 12 width: 369.59375, height: 18.09375, bottom: 227.71875, baseline: 13.53125
+            frag 0 from TextNode start: 526, length: 42, rect: [8,217 369.59375x17.46875]
               "massa laoreet a. Suspendisse elementum non"
               "massa laoreet a. Suspendisse elementum non"
-          line 13 width: 323.78125, height: 17.46875, bottom: 244.5625, baseline: 13.53125
-            frag 0 from TextNode start: 569, length: 39, rect: [8,235.09375 323.78125x17.46875]
+          line 13 width: 323.78125, height: 17.5625, bottom: 244.65625, baseline: 13.53125
+            frag 0 from TextNode start: 569, length: 39, rect: [8,235 323.78125x17.46875]
               "lectus nec elementum. Quisque ultricies"
               "lectus nec elementum. Quisque ultricies"
-          line 14 width: 337, height: 17.46875, bottom: 262.03125, baseline: 13.53125
-            frag 0 from TextNode start: 609, length: 40, rect: [8,252.5625 337x17.46875]
+          line 14 width: 337, height: 18.03125, bottom: 262.59375, baseline: 13.53125
+            frag 0 from TextNode start: 609, length: 40, rect: [8,252 337x17.46875]
               "suscipit porttitor. Sed non urna rutrum,"
               "suscipit porttitor. Sed non urna rutrum,"
-          line 15 width: 351.828125, height: 17.46875, bottom: 279.5, baseline: 13.53125
-            frag 0 from TextNode start: 650, length: 46, rect: [8,270.03125 351.828125x17.46875]
+          line 15 width: 351.828125, height: 17.5, bottom: 279.53125, baseline: 13.53125
+            frag 0 from TextNode start: 650, length: 46, rect: [8,270 351.828125x17.46875]
               "mattis nulla at, feugiat erat. Duis orci elit,"
               "mattis nulla at, feugiat erat. Duis orci elit,"
-          line 16 width: 361.328125, height: 17.46875, bottom: 296.96875, baseline: 13.53125
-            frag 0 from TextNode start: 697, length: 45, rect: [8,287.5 361.328125x17.46875]
+          line 16 width: 361.328125, height: 17.96875, bottom: 297.46875, baseline: 13.53125
+            frag 0 from TextNode start: 697, length: 45, rect: [8,287 361.328125x17.46875]
               "vehicula sed blandit eget, auctor in arcu. Ut"
               "vehicula sed blandit eget, auctor in arcu. Ut"
-          line 17 width: 345.75, height: 17.46875, bottom: 314.4375, baseline: 13.53125
-            frag 0 from TextNode start: 743, length: 41, rect: [8,304.96875 345.75x17.46875]
+          line 17 width: 345.75, height: 18.4375, bottom: 315.40625, baseline: 13.53125
+            frag 0 from TextNode start: 743, length: 41, rect: [8,304 345.75x17.46875]
               "cursus magna sit amet nulla cursus, vitae"
               "cursus magna sit amet nulla cursus, vitae"
-          line 18 width: 180.234375, height: 17.46875, bottom: 331.90625, baseline: 13.53125
-            frag 0 from TextNode start: 785, length: 22, rect: [8,322.4375 180.234375x17.46875]
+          line 18 width: 180.234375, height: 17.90625, bottom: 332.34375, baseline: 13.53125
+            frag 0 from TextNode start: 785, length: 22, rect: [8,322 180.234375x17.46875]
               "gravida mauris dictum."
               "gravida mauris dictum."
           TextNode <#text>
           TextNode <#text>
         BlockContainer <(anonymous)> (not painted) [BFC] children: inline
         BlockContainer <(anonymous)> (not painted) [BFC] children: inline
@@ -109,11 +109,11 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
 
 
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
   PaintableWithLines (BlockContainer<HTML>) [0,0 800x600]
   PaintableWithLines (BlockContainer<HTML>) [0,0 800x600]
-    PaintableWithLines (BlockContainer<BODY>) [8,8 784x351.90625] overflow: [8,8 785.46875x351.90625]
-      PaintableBox (Box<DIV>.grid-container) [8,8 784x351.90625] overflow: [8,8 785.46875x351.90625]
-        PaintableWithLines (BlockContainer<DIV>.grid-item.item-span-one-one) [411.46875,8 382x139.75]
+    PaintableWithLines (BlockContainer<BODY>) [8,8 784x352.34375] overflow: [8,8 785.46875x352.34375]
+      PaintableBox (Box<DIV>.grid-container) [8,8 784x352.34375] overflow: [8,8 785.46875x352.34375]
+        PaintableWithLines (BlockContainer<DIV>.grid-item.item-span-one-one) [411.46875,8 382x139.765625]
           TextPaintable (TextNode<#text>)
           TextPaintable (TextNode<#text>)
-        PaintableWithLines (BlockContainer<DIV>.grid-item.item-span-one-two) [411.46875,167.75 382x192.15625]
+        PaintableWithLines (BlockContainer<DIV>.grid-item.item-span-one-two) [411.46875,167.765625 382x192.578125]
           TextPaintable (TextNode<#text>)
           TextPaintable (TextNode<#text>)
-        PaintableWithLines (BlockContainer<DIV>.grid-item.item-span-two) [8,8 383.46875x351.90625]
+        PaintableWithLines (BlockContainer<DIV>.grid-item.item-span-two) [8,8 383.46875x352.34375]
           TextPaintable (TextNode<#text>)
           TextPaintable (TextNode<#text>)

+ 63 - 63
Tests/LibWeb/Layout/expected/grid/row-span-2.txt

@@ -1,104 +1,104 @@
 Viewport <#document> at (0,0) content-size 800x600 children: not-inline
 Viewport <#document> at (0,0) content-size 800x600 children: not-inline
   BlockContainer <html> at (0,0) content-size 800x600 [BFC] children: not-inline
   BlockContainer <html> at (0,0) content-size 800x600 [BFC] children: not-inline
-    BlockContainer <body> at (8,8) content-size 784x314.4375 children: not-inline
-      Box <div.grid-container> at (8,8) content-size 784x314.4375 [GFC] children: not-inline
+    BlockContainer <body> at (8,8) content-size 784x315.40625 children: not-inline
+      Box <div.grid-container> at (8,8) content-size 784x315.40625 [GFC] children: not-inline
         BlockContainer <(anonymous)> (not painted) [BFC] children: inline
         BlockContainer <(anonymous)> (not painted) [BFC] children: inline
           TextNode <#text>
           TextNode <#text>
-        BlockContainer <div.grid-item.item-span-one-one> at (401.46875,8) content-size 392x131.015625 [BFC] children: inline
+        BlockContainer <div.grid-item.item-span-one-one> at (401.46875,8) content-size 392x131.296875 [BFC] children: inline
           line 0 width: 319.171875, height: 17.46875, bottom: 17.46875, baseline: 13.53125
           line 0 width: 319.171875, height: 17.46875, bottom: 17.46875, baseline: 13.53125
             frag 0 from TextNode start: 1, length: 40, rect: [401.46875,8 319.171875x17.46875]
             frag 0 from TextNode start: 1, length: 40, rect: [401.46875,8 319.171875x17.46875]
               "In a sollicitudin augue. Sed ante augue,"
               "In a sollicitudin augue. Sed ante augue,"
-          line 1 width: 335.125, height: 17.46875, bottom: 34.9375, baseline: 13.53125
-            frag 0 from TextNode start: 42, length: 42, rect: [401.46875,25.46875 335.125x17.46875]
+          line 1 width: 335.125, height: 17.9375, bottom: 35.40625, baseline: 13.53125
+            frag 0 from TextNode start: 42, length: 42, rect: [401.46875,25 335.125x17.46875]
               "rhoncus nec porttitor id, lacinia et nibh."
               "rhoncus nec porttitor id, lacinia et nibh."
-          line 2 width: 378.625, height: 17.46875, bottom: 52.40625, baseline: 13.53125
-            frag 0 from TextNode start: 85, length: 48, rect: [401.46875,42.9375 378.625x17.46875]
+          line 2 width: 378.625, height: 18.40625, bottom: 53.34375, baseline: 13.53125
+            frag 0 from TextNode start: 85, length: 48, rect: [401.46875,42 378.625x17.46875]
               "Pellentesque diam libero, ultrices eget eleifend"
               "Pellentesque diam libero, ultrices eget eleifend"
-          line 3 width: 182.8125, height: 17.46875, bottom: 69.875, baseline: 13.53125
-            frag 0 from TextNode start: 134, length: 22, rect: [401.46875,60.40625 182.8125x17.46875]
+          line 3 width: 182.8125, height: 17.875, bottom: 70.28125, baseline: 13.53125
+            frag 0 from TextNode start: 134, length: 22, rect: [401.46875,60 182.8125x17.46875]
               "at, consequat ut orci."
               "at, consequat ut orci."
           TextNode <#text>
           TextNode <#text>
         BlockContainer <(anonymous)> (not painted) [BFC] children: inline
         BlockContainer <(anonymous)> (not painted) [BFC] children: inline
           TextNode <#text>
           TextNode <#text>
-        BlockContainer <div.grid-item.item-span-one-two> at (401.46875,139.015625) content-size 392x183.421875 [BFC] children: inline
+        BlockContainer <div.grid-item.item-span-one-two> at (401.46875,139.296875) content-size 392x184.109375 [BFC] children: inline
           line 0 width: 359.15625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
           line 0 width: 359.15625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-            frag 0 from TextNode start: 1, length: 43, rect: [401.46875,139.015625 359.15625x17.46875]
+            frag 0 from TextNode start: 1, length: 43, rect: [401.46875,139.296875 359.15625x17.46875]
               "Suspendisse potenti. Pellentesque at varius"
               "Suspendisse potenti. Pellentesque at varius"
-          line 1 width: 318.5625, height: 17.46875, bottom: 34.9375, baseline: 13.53125
-            frag 0 from TextNode start: 45, length: 41, rect: [401.46875,156.484375 318.5625x17.46875]
+          line 1 width: 318.5625, height: 17.9375, bottom: 35.40625, baseline: 13.53125
+            frag 0 from TextNode start: 45, length: 41, rect: [401.46875,156.296875 318.5625x17.46875]
               "lacus, sed sollicitudin leo. Pellentesque"
               "lacus, sed sollicitudin leo. Pellentesque"
-          line 2 width: 377.640625, height: 17.46875, bottom: 52.40625, baseline: 13.53125
-            frag 0 from TextNode start: 87, length: 44, rect: [401.46875,173.953125 377.640625x17.46875]
+          line 2 width: 377.640625, height: 18.40625, bottom: 53.34375, baseline: 13.53125
+            frag 0 from TextNode start: 87, length: 44, rect: [401.46875,173.296875 377.640625x17.46875]
               "malesuada mi eget pellentesque tempor. Donec"
               "malesuada mi eget pellentesque tempor. Donec"
-          line 3 width: 378.03125, height: 17.46875, bottom: 69.875, baseline: 13.53125
-            frag 0 from TextNode start: 132, length: 47, rect: [401.46875,191.421875 378.03125x17.46875]
+          line 3 width: 378.03125, height: 17.875, bottom: 70.28125, baseline: 13.53125
+            frag 0 from TextNode start: 132, length: 47, rect: [401.46875,191.296875 378.03125x17.46875]
               "egestas mauris est, ut lobortis nisi luctus at."
               "egestas mauris est, ut lobortis nisi luctus at."
-          line 4 width: 345.953125, height: 17.46875, bottom: 87.34375, baseline: 13.53125
-            frag 0 from TextNode start: 180, length: 41, rect: [401.46875,208.890625 345.953125x17.46875]
+          line 4 width: 345.953125, height: 18.34375, bottom: 88.21875, baseline: 13.53125
+            frag 0 from TextNode start: 180, length: 41, rect: [401.46875,208.296875 345.953125x17.46875]
               "Vivamus eleifend, lorem vulputate maximus"
               "Vivamus eleifend, lorem vulputate maximus"
-          line 5 width: 312.765625, height: 17.46875, bottom: 104.8125, baseline: 13.53125
-            frag 0 from TextNode start: 222, length: 37, rect: [401.46875,226.359375 312.765625x17.46875]
+          line 5 width: 312.765625, height: 17.8125, bottom: 105.15625, baseline: 13.53125
+            frag 0 from TextNode start: 222, length: 37, rect: [401.46875,226.296875 312.765625x17.46875]
               "porta, nunc metus porttitor nibh, nec"
               "porta, nunc metus porttitor nibh, nec"
-          line 6 width: 242.921875, height: 17.46875, bottom: 122.28125, baseline: 13.53125
-            frag 0 from TextNode start: 260, length: 31, rect: [401.46875,243.828125 242.921875x17.46875]
+          line 6 width: 242.921875, height: 18.28125, bottom: 123.09375, baseline: 13.53125
+            frag 0 from TextNode start: 260, length: 31, rect: [401.46875,243.296875 242.921875x17.46875]
               "bibendum nulla lectus ut felis."
               "bibendum nulla lectus ut felis."
           TextNode <#text>
           TextNode <#text>
         BlockContainer <(anonymous)> (not painted) [BFC] children: inline
         BlockContainer <(anonymous)> (not painted) [BFC] children: inline
           TextNode <#text>
           TextNode <#text>
-        BlockContainer <div.grid-item.item-span-two> at (8,8) content-size 393.46875x314.4375 [BFC] children: inline
+        BlockContainer <div.grid-item.item-span-two> at (8,8) content-size 393.46875x315.40625 [BFC] children: inline
           line 0 width: 337.6875, height: 17.46875, bottom: 17.46875, baseline: 13.53125
           line 0 width: 337.6875, height: 17.46875, bottom: 17.46875, baseline: 13.53125
             frag 0 from TextNode start: 1, length: 39, rect: [8,8 337.6875x17.46875]
             frag 0 from TextNode start: 1, length: 39, rect: [8,8 337.6875x17.46875]
               "Lorem ipsum dolor sit amet, consectetur"
               "Lorem ipsum dolor sit amet, consectetur"
-          line 1 width: 376.34375, height: 17.46875, bottom: 34.9375, baseline: 13.53125
-            frag 0 from TextNode start: 41, length: 47, rect: [8,25.46875 376.34375x17.46875]
+          line 1 width: 376.34375, height: 17.9375, bottom: 35.40625, baseline: 13.53125
+            frag 0 from TextNode start: 41, length: 47, rect: [8,25 376.34375x17.46875]
               "adipiscing elit. Sed vitae condimentum erat, ac"
               "adipiscing elit. Sed vitae condimentum erat, ac"
-          line 2 width: 365.84375, height: 17.46875, bottom: 52.40625, baseline: 13.53125
-            frag 0 from TextNode start: 89, length: 45, rect: [8,42.9375 365.84375x17.46875]
+          line 2 width: 365.84375, height: 18.40625, bottom: 53.34375, baseline: 13.53125
+            frag 0 from TextNode start: 89, length: 45, rect: [8,42 365.84375x17.46875]
               "posuere arcu. Aenean tincidunt mi ligula, vel"
               "posuere arcu. Aenean tincidunt mi ligula, vel"
-          line 3 width: 381.96875, height: 17.46875, bottom: 69.875, baseline: 13.53125
-            frag 0 from TextNode start: 135, length: 46, rect: [8,60.40625 381.96875x17.46875]
+          line 3 width: 381.96875, height: 17.875, bottom: 70.28125, baseline: 13.53125
+            frag 0 from TextNode start: 135, length: 46, rect: [8,60 381.96875x17.46875]
               "semper dolor aliquet at. Phasellus scelerisque"
               "semper dolor aliquet at. Phasellus scelerisque"
-          line 4 width: 377.203125, height: 17.46875, bottom: 87.34375, baseline: 13.53125
-            frag 0 from TextNode start: 182, length: 45, rect: [8,77.875 377.203125x17.46875]
+          line 4 width: 377.203125, height: 18.34375, bottom: 88.21875, baseline: 13.53125
+            frag 0 from TextNode start: 182, length: 45, rect: [8,77 377.203125x17.46875]
               "dapibus diam sed rhoncus. Proin sed orci leo."
               "dapibus diam sed rhoncus. Proin sed orci leo."
-          line 5 width: 375.390625, height: 17.46875, bottom: 104.8125, baseline: 13.53125
-            frag 0 from TextNode start: 228, length: 45, rect: [8,95.34375 375.390625x17.46875]
+          line 5 width: 375.390625, height: 17.8125, bottom: 105.15625, baseline: 13.53125
+            frag 0 from TextNode start: 228, length: 45, rect: [8,95 375.390625x17.46875]
               "Praesent pellentesque mi eu nunc gravida, vel"
               "Praesent pellentesque mi eu nunc gravida, vel"
-          line 6 width: 383.53125, height: 17.46875, bottom: 122.28125, baseline: 13.53125
-            frag 0 from TextNode start: 274, length: 46, rect: [8,112.8125 383.53125x17.46875]
+          line 6 width: 383.53125, height: 18.28125, bottom: 123.09375, baseline: 13.53125
+            frag 0 from TextNode start: 274, length: 46, rect: [8,112 383.53125x17.46875]
               "consectetur nulla malesuada. Sed pellentesque,"
               "consectetur nulla malesuada. Sed pellentesque,"
-          line 7 width: 344.8125, height: 17.46875, bottom: 139.75, baseline: 13.53125
-            frag 0 from TextNode start: 321, length: 47, rect: [8,130.28125 344.8125x17.46875]
+          line 7 width: 344.8125, height: 17.75, bottom: 140.03125, baseline: 13.53125
+            frag 0 from TextNode start: 321, length: 47, rect: [8,130 344.8125x17.46875]
               "elit sit amet sollicitudin sollicitudin, lectus"
               "elit sit amet sollicitudin sollicitudin, lectus"
-          line 8 width: 374.703125, height: 17.46875, bottom: 157.21875, baseline: 13.53125
-            frag 0 from TextNode start: 369, length: 46, rect: [8,147.75 374.703125x17.46875]
+          line 8 width: 374.703125, height: 18.21875, bottom: 157.96875, baseline: 13.53125
+            frag 0 from TextNode start: 369, length: 46, rect: [8,147 374.703125x17.46875]
               "justo facilisis lacus, ac vehicula metus neque"
               "justo facilisis lacus, ac vehicula metus neque"
-          line 9 width: 384.125, height: 17.46875, bottom: 174.6875, baseline: 13.53125
-            frag 0 from TextNode start: 416, length: 45, rect: [8,165.21875 384.125x17.46875]
+          line 9 width: 384.125, height: 17.6875, bottom: 174.90625, baseline: 13.53125
+            frag 0 from TextNode start: 416, length: 45, rect: [8,165 384.125x17.46875]
               "ac mi. In in augue et massa maximus venenatis"
               "ac mi. In in augue et massa maximus venenatis"
-          line 10 width: 373.25, height: 17.46875, bottom: 192.15625, baseline: 13.53125
-            frag 0 from TextNode start: 462, length: 44, rect: [8,182.6875 373.25x17.46875]
+          line 10 width: 373.25, height: 18.15625, bottom: 192.84375, baseline: 13.53125
+            frag 0 from TextNode start: 462, length: 44, rect: [8,182 373.25x17.46875]
               "auctor fermentum dui. Aliquam dictum finibus"
               "auctor fermentum dui. Aliquam dictum finibus"
-          line 11 width: 288.203125, height: 17.46875, bottom: 209.625, baseline: 13.53125
-            frag 0 from TextNode start: 507, length: 35, rect: [8,200.15625 288.203125x17.46875]
+          line 11 width: 288.203125, height: 17.625, bottom: 209.78125, baseline: 13.53125
+            frag 0 from TextNode start: 507, length: 35, rect: [8,200 288.203125x17.46875]
               "urna, quis lacinia massa laoreet a."
               "urna, quis lacinia massa laoreet a."
-          line 12 width: 316.296875, height: 17.46875, bottom: 227.09375, baseline: 13.53125
-            frag 0 from TextNode start: 543, length: 36, rect: [8,217.625 316.296875x17.46875]
+          line 12 width: 316.296875, height: 18.09375, bottom: 227.71875, baseline: 13.53125
+            frag 0 from TextNode start: 543, length: 36, rect: [8,217 316.296875x17.46875]
               "Suspendisse elementum non lectus nec"
               "Suspendisse elementum non lectus nec"
-          line 13 width: 388.78125, height: 17.46875, bottom: 244.5625, baseline: 13.53125
-            frag 0 from TextNode start: 580, length: 48, rect: [8,235.09375 388.78125x17.46875]
+          line 13 width: 388.78125, height: 17.5625, bottom: 244.65625, baseline: 13.53125
+            frag 0 from TextNode start: 580, length: 48, rect: [8,235 388.78125x17.46875]
               "elementum. Quisque ultricies suscipit porttitor."
               "elementum. Quisque ultricies suscipit porttitor."
-          line 14 width: 373.828125, height: 17.46875, bottom: 262.03125, baseline: 13.53125
-            frag 0 from TextNode start: 629, length: 45, rect: [8,252.5625 373.828125x17.46875]
+          line 14 width: 373.828125, height: 18.03125, bottom: 262.59375, baseline: 13.53125
+            frag 0 from TextNode start: 629, length: 45, rect: [8,252 373.828125x17.46875]
               "Sed non urna rutrum, mattis nulla at, feugiat"
               "Sed non urna rutrum, mattis nulla at, feugiat"
-          line 15 width: 368.75, height: 17.46875, bottom: 279.5, baseline: 13.53125
-            frag 0 from TextNode start: 675, length: 48, rect: [8,270.03125 368.75x17.46875]
+          line 15 width: 368.75, height: 17.5, bottom: 279.53125, baseline: 13.53125
+            frag 0 from TextNode start: 675, length: 48, rect: [8,270 368.75x17.46875]
               "erat. Duis orci elit, vehicula sed blandit eget,"
               "erat. Duis orci elit, vehicula sed blandit eget,"
-          line 16 width: 390.625, height: 17.46875, bottom: 296.96875, baseline: 13.53125
-            frag 0 from TextNode start: 724, length: 46, rect: [8,287.5 390.625x17.46875]
+          line 16 width: 390.625, height: 17.96875, bottom: 297.46875, baseline: 13.53125
+            frag 0 from TextNode start: 724, length: 46, rect: [8,287 390.625x17.46875]
               "auctor in arcu. Ut cursus magna sit amet nulla"
               "auctor in arcu. Ut cursus magna sit amet nulla"
-          line 17 width: 294.90625, height: 17.46875, bottom: 314.4375, baseline: 13.53125
-            frag 0 from TextNode start: 771, length: 36, rect: [8,304.96875 294.90625x17.46875]
+          line 17 width: 294.90625, height: 18.4375, bottom: 315.40625, baseline: 13.53125
+            frag 0 from TextNode start: 771, length: 36, rect: [8,304 294.90625x17.46875]
               "cursus, vitae gravida mauris dictum."
               "cursus, vitae gravida mauris dictum."
           TextNode <#text>
           TextNode <#text>
         BlockContainer <(anonymous)> (not painted) [BFC] children: inline
         BlockContainer <(anonymous)> (not painted) [BFC] children: inline
@@ -106,11 +106,11 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
 
 
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
   PaintableWithLines (BlockContainer<HTML>) [0,0 800x600]
   PaintableWithLines (BlockContainer<HTML>) [0,0 800x600]
-    PaintableWithLines (BlockContainer<BODY>) [8,8 784x314.4375] overflow: [8,8 785.46875x314.4375]
-      PaintableBox (Box<DIV>.grid-container) [8,8 784x314.4375] overflow: [8,8 785.46875x314.4375]
-        PaintableWithLines (BlockContainer<DIV>.grid-item.item-span-one-one) [401.46875,8 392x131.015625]
+    PaintableWithLines (BlockContainer<BODY>) [8,8 784x315.40625] overflow: [8,8 785.46875x315.40625]
+      PaintableBox (Box<DIV>.grid-container) [8,8 784x315.40625] overflow: [8,8 785.46875x315.40625]
+        PaintableWithLines (BlockContainer<DIV>.grid-item.item-span-one-one) [401.46875,8 392x131.296875]
           TextPaintable (TextNode<#text>)
           TextPaintable (TextNode<#text>)
-        PaintableWithLines (BlockContainer<DIV>.grid-item.item-span-one-two) [401.46875,139.015625 392x183.421875]
+        PaintableWithLines (BlockContainer<DIV>.grid-item.item-span-one-two) [401.46875,139.296875 392x184.109375]
           TextPaintable (TextNode<#text>)
           TextPaintable (TextNode<#text>)
-        PaintableWithLines (BlockContainer<DIV>.grid-item.item-span-two) [8,8 393.46875x314.4375]
+        PaintableWithLines (BlockContainer<DIV>.grid-item.item-span-two) [8,8 393.46875x315.40625]
           TextPaintable (TextNode<#text>)
           TextPaintable (TextNode<#text>)

+ 1 - 1
Tests/LibWeb/Layout/expected/height-of-absolute-position-box-with-padding.txt

@@ -6,7 +6,7 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
       TextNode <#text>
       TextNode <#text>
       BlockContainer <h1> at (76.59375,103.765625) content-size 126x38 positioned [BFC] children: inline
       BlockContainer <h1> at (76.59375,103.765625) content-size 126x38 positioned [BFC] children: inline
         line 0 width: 46.53125, height: 21.84375, bottom: 21.84375, baseline: 16.921875
         line 0 width: 46.53125, height: 21.84375, bottom: 21.84375, baseline: 16.921875
-          frag 0 from TextNode start: 0, length: 4, rect: [116.328125,103.765625 46.53125x21.84375]
+          frag 0 from TextNode start: 0, length: 4, rect: [116.59375,103.765625 46.53125x21.84375]
             "Test"
             "Test"
         TextNode <#text>
         TextNode <#text>
       TextNode <#text>
       TextNode <#text>

+ 3 - 3
Tests/LibWeb/Layout/expected/img-with-percentage-max-width-and-min-content-containing-block-width.txt

@@ -2,10 +2,10 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
   BlockContainer <html> at (0,0) content-size 800x33.46875 [BFC] children: not-inline
   BlockContainer <html> at (0,0) content-size 800x33.46875 [BFC] children: not-inline
     BlockContainer <body> at (8,8) content-size 0x17.46875 children: inline
     BlockContainer <body> at (8,8) content-size 0x17.46875 children: inline
       line 0 width: 0, height: 17.46875, bottom: 17.46875, baseline: 13.53125
       line 0 width: 0, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-        frag 0 from ImageBox start: 0, length: 0, rect: [8,21.53125 0x0]
-      ImageBox <img> at (8,21.53125) content-size 0x0 children: not-inline
+        frag 0 from ImageBox start: 0, length: 0, rect: [8,21 0x0]
+      ImageBox <img> at (8,21) content-size 0x0 children: not-inline
 
 
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
   PaintableWithLines (BlockContainer<HTML>) [0,0 800x33.46875]
   PaintableWithLines (BlockContainer<HTML>) [0,0 800x33.46875]
     PaintableWithLines (BlockContainer<BODY>) [8,8 0x17.46875]
     PaintableWithLines (BlockContainer<BODY>) [8,8 0x17.46875]
-      ImagePaintable (ImageBox<IMG>) [8,21.53125 0x0]
+      ImagePaintable (ImageBox<IMG>) [8,21 0x0]

+ 23 - 23
Tests/LibWeb/Layout/expected/pseudo-element-with-custom-properties-2.txt

@@ -1,6 +1,6 @@
 Viewport <#document> at (0,0) content-size 800x600 children: not-inline
 Viewport <#document> at (0,0) content-size 800x600 children: not-inline
-  BlockContainer <html> at (0,0) content-size 800x468.90625 [BFC] children: not-inline
-    BlockContainer <body> at (8,8) content-size 784x452.90625 children: not-inline
+  BlockContainer <html> at (0,0) content-size 800x470.28125 [BFC] children: not-inline
+    BlockContainer <body> at (8,8) content-size 784x454.28125 children: not-inline
       BlockContainer <(anonymous)> at (8,8) content-size 784x21.84375 children: inline
       BlockContainer <(anonymous)> at (8,8) content-size 784x21.84375 children: inline
         line 0 width: 391.65625, height: 21.84375, bottom: 21.84375, baseline: 16.921875
         line 0 width: 391.65625, height: 21.84375, bottom: 21.84375, baseline: 16.921875
           frag 0 from TextNode start: 0, length: 40, rect: [8,8 391.65625x21.84375]
           frag 0 from TextNode start: 0, length: 40, rect: [8,8 391.65625x21.84375]
@@ -13,11 +13,11 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
           frag 0 from BlockContainer start: 0, length: 0, rect: [8,29.84375 200x100]
           frag 0 from BlockContainer start: 0, length: 0, rect: [8,29.84375 200x100]
         BlockContainer <(anonymous)> at (8,29.84375) content-size 200x100 inline-block [BFC] children: inline
         BlockContainer <(anonymous)> at (8,29.84375) content-size 200x100 inline-block [BFC] children: inline
           TextNode <#text>
           TextNode <#text>
-      BlockContainer <(anonymous)> at (8,129.84375) content-size 784x65.53125 children: inline
+      BlockContainer <(anonymous)> at (8,129.84375) content-size 784x66.21875 children: inline
         line 0 width: 0, height: 21.84375, bottom: 21.84375, baseline: 16.921875
         line 0 width: 0, height: 21.84375, bottom: 21.84375, baseline: 16.921875
         line 1 width: 0, height: 21.84375, bottom: 43.6875, baseline: 16.921875
         line 1 width: 0, height: 21.84375, bottom: 43.6875, baseline: 16.921875
-        line 2 width: 441.28125, height: 21.84375, bottom: 65.53125, baseline: 16.921875
-          frag 0 from TextNode start: 1, length: 42, rect: [8,173.53125 441.28125x21.84375]
+        line 2 width: 441.28125, height: 22.53125, bottom: 66.21875, baseline: 16.921875
+          frag 0 from TextNode start: 1, length: 42, rect: [8,172.84375 441.28125x21.84375]
             "Variable set by CSS rule matching element:"
             "Variable set by CSS rule matching element:"
         TextNode <#text>
         TextNode <#text>
         BreakNode <br>
         BreakNode <br>
@@ -25,15 +25,15 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
         TextNode <#text>
         TextNode <#text>
         BreakNode <br>
         BreakNode <br>
         TextNode <#text>
         TextNode <#text>
-      BlockContainer <div.b> at (8,195.375) content-size 784x100 children: inline
+      BlockContainer <div.b> at (8,196.0625) content-size 784x100 children: inline
         line 0 width: 200, height: 100, bottom: 100, baseline: 100
         line 0 width: 200, height: 100, bottom: 100, baseline: 100
-          frag 0 from BlockContainer start: 0, length: 0, rect: [8,195.375 200x100]
-        BlockContainer <(anonymous)> at (8,195.375) content-size 200x100 inline-block [BFC] children: inline
+          frag 0 from BlockContainer start: 0, length: 0, rect: [8,196.0625 200x100]
+        BlockContainer <(anonymous)> at (8,196.0625) content-size 200x100 inline-block [BFC] children: inline
           TextNode <#text>
           TextNode <#text>
-      BlockContainer <(anonymous)> at (8,295.375) content-size 784x65.53125 children: inline
+      BlockContainer <(anonymous)> at (8,296.0625) content-size 784x66.21875 children: inline
         line 0 width: 0, height: 21.84375, bottom: 21.84375, baseline: 16.921875
         line 0 width: 0, height: 21.84375, bottom: 21.84375, baseline: 16.921875
         line 1 width: 0, height: 21.84375, bottom: 43.6875, baseline: 16.921875
         line 1 width: 0, height: 21.84375, bottom: 43.6875, baseline: 16.921875
-        line 2 width: 520.625, height: 21.84375, bottom: 65.53125, baseline: 16.921875
+        line 2 width: 520.625, height: 22.53125, bottom: 66.21875, baseline: 16.921875
           frag 0 from TextNode start: 1, length: 49, rect: [8,339.0625 520.625x21.84375]
           frag 0 from TextNode start: 1, length: 49, rect: [8,339.0625 520.625x21.84375]
             "Variable set by CSS rule matching pseudo element:"
             "Variable set by CSS rule matching pseudo element:"
         TextNode <#text>
         TextNode <#text>
@@ -42,27 +42,27 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
         TextNode <#text>
         TextNode <#text>
         BreakNode <br>
         BreakNode <br>
         TextNode <#text>
         TextNode <#text>
-      BlockContainer <div.c> at (8,360.90625) content-size 784x100 children: inline
+      BlockContainer <div.c> at (8,362.28125) content-size 784x100 children: inline
         line 0 width: 200, height: 100, bottom: 100, baseline: 100
         line 0 width: 200, height: 100, bottom: 100, baseline: 100
-          frag 0 from BlockContainer start: 0, length: 0, rect: [8,360.90625 200x100]
-        BlockContainer <(anonymous)> at (8,360.90625) content-size 200x100 inline-block [BFC] children: inline
+          frag 0 from BlockContainer start: 0, length: 0, rect: [8,362.28125 200x100]
+        BlockContainer <(anonymous)> at (8,362.28125) content-size 200x100 inline-block [BFC] children: inline
           TextNode <#text>
           TextNode <#text>
-      BlockContainer <(anonymous)> at (8,460.90625) content-size 784x0 children: inline
+      BlockContainer <(anonymous)> at (8,462.28125) content-size 784x0 children: inline
         TextNode <#text>
         TextNode <#text>
 
 
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
-  PaintableWithLines (BlockContainer<HTML>) [0,0 800x468.90625]
-    PaintableWithLines (BlockContainer<BODY>) [8,8 784x452.90625]
+  PaintableWithLines (BlockContainer<HTML>) [0,0 800x470.28125]
+    PaintableWithLines (BlockContainer<BODY>) [8,8 784x454.28125]
       PaintableWithLines (BlockContainer(anonymous)) [8,8 784x21.84375]
       PaintableWithLines (BlockContainer(anonymous)) [8,8 784x21.84375]
         TextPaintable (TextNode<#text>)
         TextPaintable (TextNode<#text>)
       PaintableWithLines (BlockContainer<DIV>.a) [8,29.84375 784x100]
       PaintableWithLines (BlockContainer<DIV>.a) [8,29.84375 784x100]
         PaintableWithLines (BlockContainer(anonymous)) [8,29.84375 200x100]
         PaintableWithLines (BlockContainer(anonymous)) [8,29.84375 200x100]
-      PaintableWithLines (BlockContainer(anonymous)) [8,129.84375 784x65.53125]
+      PaintableWithLines (BlockContainer(anonymous)) [8,129.84375 784x66.21875]
         TextPaintable (TextNode<#text>)
         TextPaintable (TextNode<#text>)
-      PaintableWithLines (BlockContainer<DIV>.b) [8,195.375 784x100]
-        PaintableWithLines (BlockContainer(anonymous)) [8,195.375 200x100]
-      PaintableWithLines (BlockContainer(anonymous)) [8,295.375 784x65.53125]
+      PaintableWithLines (BlockContainer<DIV>.b) [8,196.0625 784x100]
+        PaintableWithLines (BlockContainer(anonymous)) [8,196.0625 200x100]
+      PaintableWithLines (BlockContainer(anonymous)) [8,296.0625 784x66.21875]
         TextPaintable (TextNode<#text>)
         TextPaintable (TextNode<#text>)
-      PaintableWithLines (BlockContainer<DIV>.c) [8,360.90625 784x100]
-        PaintableWithLines (BlockContainer(anonymous)) [8,360.90625 200x100]
-      PaintableWithLines (BlockContainer(anonymous)) [8,460.90625 784x0]
+      PaintableWithLines (BlockContainer<DIV>.c) [8,362.28125 784x100]
+        PaintableWithLines (BlockContainer(anonymous)) [8,362.28125 200x100]
+      PaintableWithLines (BlockContainer(anonymous)) [8,462.28125 784x0]

+ 8 - 8
Tests/LibWeb/Layout/expected/replaced-box-with-vertical-margins.txt

@@ -1,19 +1,19 @@
 Viewport <#document> at (0,0) content-size 800x600 children: not-inline
 Viewport <#document> at (0,0) content-size 800x600 children: not-inline
   BlockContainer <html> at (0,0) content-size 800x600 [BFC] children: not-inline
   BlockContainer <html> at (0,0) content-size 800x600 [BFC] children: not-inline
-    BlockContainer <body> at (8,8) content-size 784x216.9375 children: inline
-      line 0 width: 174.828125, height: 216.9375, bottom: 216.9375, baseline: 213
-        frag 0 from TextNode start: 0, length: 6, rect: [8,207.46875 43.125x17.46875]
+    BlockContainer <body> at (8,8) content-size 784x216.46875 children: inline
+      line 0 width: 174.828125, height: 216.46875, bottom: 216.46875, baseline: 213
+        frag 0 from TextNode start: 0, length: 6, rect: [8,207 43.125x17.46875]
           "Well, "
           "Well, "
-        frag 1 from ImageBox start: 0, length: 0, rect: [51.125,33 64x138]
-        frag 2 from TextNode start: 0, length: 9, rect: [115.125,207.46875 67.703125x17.46875]
+        frag 1 from ImageBox start: 0, length: 0, rect: [51,33 64x138]
+        frag 2 from TextNode start: 0, length: 9, rect: [115,207 67.703125x17.46875]
           " friends."
           " friends."
       TextNode <#text>
       TextNode <#text>
-      ImageBox <img#image> at (51.125,33) content-size 64x138 children: not-inline
+      ImageBox <img#image> at (51,33) content-size 64x138 children: not-inline
       TextNode <#text>
       TextNode <#text>
 
 
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
   PaintableWithLines (BlockContainer<HTML>) [0,0 800x600]
   PaintableWithLines (BlockContainer<HTML>) [0,0 800x600]
-    PaintableWithLines (BlockContainer<BODY>) [8,8 784x216.9375]
+    PaintableWithLines (BlockContainer<BODY>) [8,8 784x216.46875]
       TextPaintable (TextNode<#text>)
       TextPaintable (TextNode<#text>)
-      ImagePaintable (ImageBox<IMG>#image) [51.125,33 64x138]
+      ImagePaintable (ImageBox<IMG>#image) [51,33 64x138]
       TextPaintable (TextNode<#text>)
       TextPaintable (TextNode<#text>)

+ 3 - 3
Tests/LibWeb/Layout/expected/resolve-cyclic-percentage-against-zero-when-available-size-is-min-content.txt

@@ -3,8 +3,8 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
     BlockContainer <body> at (10,10) content-size 780x1233.46875 children: not-inline
     BlockContainer <body> at (10,10) content-size 780x1233.46875 children: not-inline
       BlockContainer <div.w.min> at (11,11) content-size 2x17.46875 children: inline
       BlockContainer <div.w.min> at (11,11) content-size 2x17.46875 children: inline
         line 0 width: 4, height: 17.46875, bottom: 17.46875, baseline: 13.53125
         line 0 width: 4, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-          frag 0 from ImageBox start: 0, length: 0, rect: [12,21.53125 2x2]
-        ImageBox <img> at (12,21.53125) content-size 2x2 children: not-inline
+          frag 0 from ImageBox start: 0, length: 0, rect: [12,21 2x2]
+        ImageBox <img> at (12,21) content-size 2x2 children: not-inline
       BlockContainer <(anonymous)> at (10,29.46875) content-size 780x0 children: inline
       BlockContainer <(anonymous)> at (10,29.46875) content-size 780x0 children: inline
         TextNode <#text>
         TextNode <#text>
       BlockContainer <div.w.max> at (11,30.46875) content-size 402x404 children: inline
       BlockContainer <div.w.max> at (11,30.46875) content-size 402x404 children: inline
@@ -30,7 +30,7 @@ PaintableWithLines (Viewport<#document>) [0,0 800x600] overflow: [0,0 800x1253.4
   PaintableWithLines (BlockContainer<HTML>) [0,0 800x1253.46875]
   PaintableWithLines (BlockContainer<HTML>) [0,0 800x1253.46875]
     PaintableWithLines (BlockContainer<BODY>) [9,9 782x1235.46875]
     PaintableWithLines (BlockContainer<BODY>) [9,9 782x1235.46875]
       PaintableWithLines (BlockContainer<DIV>.w.min) [10,10 4x19.46875] overflow: [11,11 3x17.46875]
       PaintableWithLines (BlockContainer<DIV>.w.min) [10,10 4x19.46875] overflow: [11,11 3x17.46875]
-        ImagePaintable (ImageBox<IMG>) [11,20.53125 4x4]
+        ImagePaintable (ImageBox<IMG>) [11,20 4x4]
       PaintableWithLines (BlockContainer(anonymous)) [10,29.46875 780x0]
       PaintableWithLines (BlockContainer(anonymous)) [10,29.46875 780x0]
       PaintableWithLines (BlockContainer<DIV>.w.max) [10,29.46875 404x406] overflow: [11,30.46875 403x404]
       PaintableWithLines (BlockContainer<DIV>.w.max) [10,29.46875 404x406] overflow: [11,30.46875 403x404]
         ImagePaintable (ImageBox<IMG>) [11,30.46875 404x404]
         ImagePaintable (ImageBox<IMG>) [11,30.46875 404x404]

+ 15 - 15
Tests/LibWeb/Layout/expected/svg-preserve-aspect-ratio.txt

@@ -1,41 +1,41 @@
 Viewport <#document> at (0,0) content-size 800x600 children: not-inline
 Viewport <#document> at (0,0) content-size 800x600 children: not-inline
   BlockContainer <html> at (0,0) content-size 800x600 [BFC] children: not-inline
   BlockContainer <html> at (0,0) content-size 800x600 [BFC] children: not-inline
-    BlockContainer <body> at (8,8) content-size 784x257.9375 children: inline
-      line 0 width: 772, height: 130.9375, bottom: 130.9375, baseline: 127
+    BlockContainer <body> at (8,8) content-size 784x257.46875 children: inline
+      line 0 width: 772, height: 130.46875, bottom: 130.46875, baseline: 127
         frag 0 from SVGSVGBox start: 0, length: 0, rect: [9,84 100x50]
         frag 0 from SVGSVGBox start: 0, length: 0, rect: [9,84 100x50]
-        frag 1 from TextNode start: 0, length: 1, rect: [110,121.46875 8x17.46875]
+        frag 1 from TextNode start: 0, length: 1, rect: [110,121 8x17.46875]
           " "
           " "
         frag 2 from SVGSVGBox start: 0, length: 0, rect: [119,84 100x50]
         frag 2 from SVGSVGBox start: 0, length: 0, rect: [119,84 100x50]
-        frag 3 from TextNode start: 0, length: 1, rect: [220,121.46875 8x17.46875]
+        frag 3 from TextNode start: 0, length: 1, rect: [220,121 8x17.46875]
           " "
           " "
         frag 4 from SVGSVGBox start: 0, length: 0, rect: [229,84 100x50]
         frag 4 from SVGSVGBox start: 0, length: 0, rect: [229,84 100x50]
-        frag 5 from TextNode start: 0, length: 1, rect: [330,121.46875 8x17.46875]
+        frag 5 from TextNode start: 0, length: 1, rect: [330,121 8x17.46875]
           " "
           " "
         frag 6 from SVGSVGBox start: 0, length: 0, rect: [339,84 100x50]
         frag 6 from SVGSVGBox start: 0, length: 0, rect: [339,84 100x50]
-        frag 7 from TextNode start: 0, length: 1, rect: [440,121.46875 8x17.46875]
+        frag 7 from TextNode start: 0, length: 1, rect: [440,121 8x17.46875]
           " "
           " "
         frag 8 from SVGSVGBox start: 0, length: 0, rect: [449,84 100x50]
         frag 8 from SVGSVGBox start: 0, length: 0, rect: [449,84 100x50]
-        frag 9 from TextNode start: 0, length: 1, rect: [550,121.46875 8x17.46875]
+        frag 9 from TextNode start: 0, length: 1, rect: [550,121 8x17.46875]
           " "
           " "
         frag 10 from SVGSVGBox start: 0, length: 0, rect: [559,84 100x50]
         frag 10 from SVGSVGBox start: 0, length: 0, rect: [559,84 100x50]
-        frag 11 from TextNode start: 0, length: 1, rect: [660,121.46875 8x17.46875]
+        frag 11 from TextNode start: 0, length: 1, rect: [660,121 8x17.46875]
           " "
           " "
         frag 12 from SVGSVGBox start: 0, length: 0, rect: [669,9 50x125]
         frag 12 from SVGSVGBox start: 0, length: 0, rect: [669,9 50x125]
-        frag 13 from TextNode start: 0, length: 1, rect: [720,121.46875 8x17.46875]
+        frag 13 from TextNode start: 0, length: 1, rect: [720,121 8x17.46875]
           " "
           " "
         frag 14 from SVGSVGBox start: 0, length: 0, rect: [729,9 50x125]
         frag 14 from SVGSVGBox start: 0, length: 0, rect: [729,9 50x125]
-      line 1 width: 402, height: 130.9375, bottom: 257.9375, baseline: 127
+      line 1 width: 402, height: 130.46875, bottom: 257.46875, baseline: 127
         frag 0 from SVGSVGBox start: 0, length: 0, rect: [9,136 50x125]
         frag 0 from SVGSVGBox start: 0, length: 0, rect: [9,136 50x125]
-        frag 1 from TextNode start: 0, length: 1, rect: [60,248.46875 8x17.46875]
+        frag 1 from TextNode start: 0, length: 1, rect: [60,248 8x17.46875]
           " "
           " "
         frag 2 from SVGSVGBox start: 0, length: 0, rect: [69,136 50x125]
         frag 2 from SVGSVGBox start: 0, length: 0, rect: [69,136 50x125]
-        frag 3 from TextNode start: 0, length: 1, rect: [120,248.46875 8x17.46875]
+        frag 3 from TextNode start: 0, length: 1, rect: [120,248 8x17.46875]
           " "
           " "
         frag 4 from SVGSVGBox start: 0, length: 0, rect: [129,136 50x125]
         frag 4 from SVGSVGBox start: 0, length: 0, rect: [129,136 50x125]
-        frag 5 from TextNode start: 0, length: 1, rect: [180,248.46875 8x17.46875]
+        frag 5 from TextNode start: 0, length: 1, rect: [180,248 8x17.46875]
           " "
           " "
         frag 6 from SVGSVGBox start: 0, length: 0, rect: [189,136 50x125]
         frag 6 from SVGSVGBox start: 0, length: 0, rect: [189,136 50x125]
-        frag 7 from TextNode start: 0, length: 1, rect: [240,248.46875 8x17.46875]
+        frag 7 from TextNode start: 0, length: 1, rect: [240,248 8x17.46875]
           " "
           " "
         frag 8 from SVGSVGBox start: 0, length: 0, rect: [249,201 160x60]
         frag 8 from SVGSVGBox start: 0, length: 0, rect: [249,201 160x60]
       SVGSVGBox <svg> at (9,84) content-size 100x50 [SVG] children: inline
       SVGSVGBox <svg> at (9,84) content-size 100x50 [SVG] children: inline
@@ -106,7 +106,7 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
 
 
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
   PaintableWithLines (BlockContainer<HTML>) [0,0 800x600]
   PaintableWithLines (BlockContainer<HTML>) [0,0 800x600]
-    PaintableWithLines (BlockContainer<BODY>) [8,8 784x257.9375]
+    PaintableWithLines (BlockContainer<BODY>) [8,8 784x257.46875]
       SVGSVGPaintable (SVGSVGBox<svg>) [8,83 102x52]
       SVGSVGPaintable (SVGSVGBox<svg>) [8,83 102x52]
         SVGGeometryPaintable (SVGGeometryBox<circle>) [34,84 50x50]
         SVGGeometryPaintable (SVGGeometryBox<circle>) [34,84 50x50]
       TextPaintable (TextNode<#text>)
       TextPaintable (TextNode<#text>)

+ 6 - 6
Tests/LibWeb/Layout/expected/svg-transforms-and-viewboxes.txt

@@ -1,20 +1,20 @@
 Viewport <#document> at (0,0) content-size 800x600 children: not-inline
 Viewport <#document> at (0,0) content-size 800x600 children: not-inline
   BlockContainer <html> at (0,0) content-size 800x700 [BFC] children: not-inline
   BlockContainer <html> at (0,0) content-size 800x700 [BFC] children: not-inline
     BlockContainer <body> at (50,50) content-size 700x600 children: inline
     BlockContainer <body> at (50,50) content-size 700x600 children: inline
-      line 0 width: 616, height: 203.9375, bottom: 203.9375, baseline: 200
+      line 0 width: 616, height: 203.46875, bottom: 203.46875, baseline: 200
         frag 0 from SVGSVGBox start: 0, length: 0, rect: [50,150 200x100]
         frag 0 from SVGSVGBox start: 0, length: 0, rect: [50,150 200x100]
-        frag 1 from TextNode start: 0, length: 1, rect: [250,236.46875 8x17.46875]
+        frag 1 from TextNode start: 0, length: 1, rect: [250,236 8x17.46875]
           " "
           " "
         frag 2 from SVGSVGBox start: 0, length: 0, rect: [258,50 200x200]
         frag 2 from SVGSVGBox start: 0, length: 0, rect: [258,50 200x200]
-        frag 3 from TextNode start: 0, length: 1, rect: [458,236.46875 8x17.46875]
+        frag 3 from TextNode start: 0, length: 1, rect: [458,236 8x17.46875]
           " "
           " "
         frag 4 from SVGSVGBox start: 0, length: 0, rect: [466,50 200x200]
         frag 4 from SVGSVGBox start: 0, length: 0, rect: [466,50 200x200]
-      line 1 width: 616, height: 203.9375, bottom: 403.9375, baseline: 200
+      line 1 width: 616, height: 203.46875, bottom: 403.46875, baseline: 200
         frag 0 from SVGSVGBox start: 0, length: 0, rect: [50,250 200x200]
         frag 0 from SVGSVGBox start: 0, length: 0, rect: [50,250 200x200]
-        frag 1 from TextNode start: 0, length: 1, rect: [250,436.46875 8x17.46875]
+        frag 1 from TextNode start: 0, length: 1, rect: [250,436 8x17.46875]
           " "
           " "
         frag 2 from SVGSVGBox start: 0, length: 0, rect: [258,250 200x200]
         frag 2 from SVGSVGBox start: 0, length: 0, rect: [258,250 200x200]
-        frag 3 from TextNode start: 0, length: 1, rect: [458,436.46875 8x17.46875]
+        frag 3 from TextNode start: 0, length: 1, rect: [458,436 8x17.46875]
           " "
           " "
         frag 4 from SVGSVGBox start: 0, length: 0, rect: [466,250 200x200]
         frag 4 from SVGSVGBox start: 0, length: 0, rect: [466,250 200x200]
       line 2 width: 200, height: 200, bottom: 600, baseline: 200
       line 2 width: 200, height: 200, bottom: 600, baseline: 200

+ 3 - 3
Tests/LibWeb/Layout/expected/svg/dont-stretch-fit-svg-with-indefinite-containing-block-width.txt

@@ -2,10 +2,10 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
   BlockContainer <html> at (0,0) content-size 800x33.46875 [BFC] children: not-inline
   BlockContainer <html> at (0,0) content-size 800x33.46875 [BFC] children: not-inline
     BlockContainer <body> at (8,8) content-size 0x17.46875 children: inline
     BlockContainer <body> at (8,8) content-size 0x17.46875 children: inline
       line 0 width: 0, height: 17.46875, bottom: 17.46875, baseline: 13.53125
       line 0 width: 0, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-        frag 0 from SVGSVGBox start: 0, length: 0, rect: [8,21.53125 0x0]
-      SVGSVGBox <svg> at (8,21.53125) content-size 0x0 [SVG] children: not-inline
+        frag 0 from SVGSVGBox start: 0, length: 0, rect: [8,21 0x0]
+      SVGSVGBox <svg> at (8,21) content-size 0x0 [SVG] children: not-inline
 
 
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
   PaintableWithLines (BlockContainer<HTML>) [0,0 800x33.46875]
   PaintableWithLines (BlockContainer<HTML>) [0,0 800x33.46875]
     PaintableWithLines (BlockContainer<BODY>) [8,8 0x17.46875]
     PaintableWithLines (BlockContainer<BODY>) [8,8 0x17.46875]
-      SVGSVGPaintable (SVGSVGBox<svg>) [8,21.53125 0x0]
+      SVGSVGPaintable (SVGSVGBox<svg>) [8,21 0x0]

+ 8 - 8
Tests/LibWeb/Layout/expected/svg/svg-with-zero-intrinsic-size-and-no-viewbox.txt

@@ -2,11 +2,11 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
   BlockContainer <html> at (0,0) content-size 800x600 [BFC] children: not-inline
   BlockContainer <html> at (0,0) content-size 800x600 [BFC] children: not-inline
     BlockContainer <body> at (8,8) content-size 784x17.46875 children: inline
     BlockContainer <body> at (8,8) content-size 784x17.46875 children: inline
       line 0 width: 8, height: 17.46875, bottom: 17.46875, baseline: 13.53125
       line 0 width: 8, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-        frag 0 from ImageBox start: 0, length: 0, rect: [8,21.53125 0x0]
+        frag 0 from ImageBox start: 0, length: 0, rect: [8,21 0x0]
         frag 1 from TextNode start: 0, length: 1, rect: [8,8 8x17.46875]
         frag 1 from TextNode start: 0, length: 1, rect: [8,8 8x17.46875]
           " "
           " "
-        frag 2 from SVGSVGBox start: 0, length: 0, rect: [16,21.53125 0x0]
-      ImageBox <img> at (8,21.53125) content-size 0x0 children: not-inline
+        frag 2 from SVGSVGBox start: 0, length: 0, rect: [16,21 0x0]
+      ImageBox <img> at (8,21) content-size 0x0 children: not-inline
         (SVG-as-image isolated context)
         (SVG-as-image isolated context)
         Viewport <#document> at (0,0) content-size 0x0 children: inline
         Viewport <#document> at (0,0) content-size 0x0 children: inline
           SVGSVGBox <svg> at (0,0) content-size 0x0 [SVG] children: inline
           SVGSVGBox <svg> at (0,0) content-size 0x0 [SVG] children: inline
@@ -14,16 +14,16 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
             SVGGeometryBox <rect> at (0,0) content-size 1x1 children: not-inline
             SVGGeometryBox <rect> at (0,0) content-size 1x1 children: not-inline
             TextNode <#text>
             TextNode <#text>
       TextNode <#text>
       TextNode <#text>
-      SVGSVGBox <svg> at (16,21.53125) content-size 0x0 [SVG] children: inline
+      SVGSVGBox <svg> at (16,21) content-size 0x0 [SVG] children: inline
         TextNode <#text>
         TextNode <#text>
-        SVGGeometryBox <rect> at (16,21.53125) content-size 1x1 children: not-inline
+        SVGGeometryBox <rect> at (16,21) content-size 1x1 children: not-inline
         TextNode <#text>
         TextNode <#text>
       TextNode <#text>
       TextNode <#text>
 
 
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
   PaintableWithLines (BlockContainer<HTML>) [0,0 800x600]
   PaintableWithLines (BlockContainer<HTML>) [0,0 800x600]
     PaintableWithLines (BlockContainer<BODY>) [8,8 784x17.46875]
     PaintableWithLines (BlockContainer<BODY>) [8,8 784x17.46875]
-      ImagePaintable (ImageBox<IMG>) [8,21.53125 0x0]
+      ImagePaintable (ImageBox<IMG>) [8,21 0x0]
       TextPaintable (TextNode<#text>)
       TextPaintable (TextNode<#text>)
-      SVGSVGPaintable (SVGSVGBox<svg>) [16,21.53125 0x0]
-        SVGGeometryPaintable (SVGGeometryBox<rect>) [16,21.53125 1x1]
+      SVGSVGPaintable (SVGSVGBox<svg>) [16,21 0x0]
+        SVGGeometryPaintable (SVGGeometryBox<rect>) [16,21 1x1]

+ 24 - 24
Tests/LibWeb/Layout/expected/table/align-top-and-bottom.txt

@@ -1,43 +1,43 @@
 Viewport <#document> at (0,0) content-size 800x600 children: not-inline
 Viewport <#document> at (0,0) content-size 800x600 children: not-inline
   BlockContainer <html> at (0,0) content-size 800x600 [BFC] children: not-inline
   BlockContainer <html> at (0,0) content-size 800x600 [BFC] children: not-inline
-    BlockContainer <body> at (8,8) content-size 784x98.9375 children: not-inline
-      TableWrapper <(anonymous)> at (8,8) content-size 197.328125x98.9375 [BFC] children: not-inline
-        Box <table> at (9,9) content-size 195.328125x96.9375 table-box [TFC] children: not-inline
+    BlockContainer <body> at (8,8) content-size 784x100.9375 children: not-inline
+      TableWrapper <(anonymous)> at (8,8) content-size 200.328125x100.9375 [BFC] children: not-inline
+        Box <table> at (9,9) content-size 198.328125x98.9375 table-box [TFC] children: not-inline
           BlockContainer <(anonymous)> (not painted) children: inline
           BlockContainer <(anonymous)> (not painted) children: inline
             TextNode <#text>
             TextNode <#text>
-          Box <tbody> at (9,9) content-size 195.328125x96.9375 table-row-group children: not-inline
-            Box <tr> at (9,9) content-size 195.328125x48.46875 table-row children: not-inline
+          Box <tbody> at (9,9) content-size 198.328125x98.9375 table-row-group children: not-inline
+            Box <tr> at (9,9) content-size 198.328125x49.46875 table-row children: not-inline
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
-              BlockContainer <td> at (24.5,24.5) content-size 32.078125x17.46875 table-cell [BFC] children: inline
+              BlockContainer <td> at (25,25) content-size 32.078125x17.46875 table-cell [BFC] children: inline
                 line 0 width: 32.078125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 32.078125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 3, rect: [24.5,24.5 32.078125x17.46875]
+                  frag 0 from TextNode start: 0, length: 3, rect: [25,25 32.078125x17.46875]
                     "Top"
                     "Top"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
-              BlockContainer <td> at (87.578125,72.96875) content-size 55.984375x17.46875 table-cell [BFC] children: inline
+              BlockContainer <td> at (89.078125,74.46875) content-size 55.984375x17.46875 table-cell [BFC] children: inline
                 line 0 width: 55.984375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 55.984375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 6, rect: [87.578125,72.96875 55.984375x17.46875]
+                  frag 0 from TextNode start: 0, length: 6, rect: [89.078125,74.46875 55.984375x17.46875]
                     "Bottom"
                     "Bottom"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
-              BlockContainer <td> at (174.5625,24.5) content-size 14.265625x17.46875 table-cell [BFC] children: inline
+              BlockContainer <td> at (177.0625,25) content-size 14.265625x17.46875 table-cell [BFC] children: inline
                 line 0 width: 14.265625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 14.265625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 1, rect: [174.5625,24.5 14.265625x17.46875]
+                  frag 0 from TextNode start: 0, length: 1, rect: [177.0625,25 14.265625x17.46875]
                     "A"
                     "A"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
             BlockContainer <(anonymous)> (not painted) children: inline
             BlockContainer <(anonymous)> (not painted) children: inline
               TextNode <#text>
               TextNode <#text>
-            Box <tr> at (9,57.46875) content-size 195.328125x48.46875 table-row children: not-inline
+            Box <tr> at (9,58.46875) content-size 198.328125x49.46875 table-row children: not-inline
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
-              BlockContainer <td> at (174.5625,72.96875) content-size 14.265625x17.46875 table-cell [BFC] children: inline
+              BlockContainer <td> at (177.0625,74.46875) content-size 14.265625x17.46875 table-cell [BFC] children: inline
                 line 0 width: 9.34375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 9.34375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 1, rect: [174.5625,72.96875 9.34375x17.46875]
+                  frag 0 from TextNode start: 0, length: 1, rect: [177.0625,74.46875 9.34375x17.46875]
                     "B"
                     "B"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
@@ -47,17 +47,17 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
 
 
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
   PaintableWithLines (BlockContainer<HTML>) [0,0 800x600]
   PaintableWithLines (BlockContainer<HTML>) [0,0 800x600]
-    PaintableWithLines (BlockContainer<BODY>) [8,8 784x98.9375]
-      PaintableWithLines (TableWrapper(anonymous)) [8,8 197.328125x98.9375]
-        PaintableBox (Box<TABLE>) [8,8 197.328125x98.9375]
-          PaintableBox (Box<TBODY>) [9,9 195.328125x96.9375]
-            PaintableBox (Box<TR>) [9,9 195.328125x48.46875] overflow: [9,9 195.328125x96.9375]
-              PaintableWithLines (BlockContainer<TD>) [9,9 63.078125x96.9375]
+    PaintableWithLines (BlockContainer<BODY>) [8,8 784x100.9375]
+      PaintableWithLines (TableWrapper(anonymous)) [8,8 200.328125x100.9375]
+        PaintableBox (Box<TABLE>) [8,8 200.328125x100.9375]
+          PaintableBox (Box<TBODY>) [9,9 198.328125x98.9375]
+            PaintableBox (Box<TR>) [9,9 198.328125x49.46875] overflow: [9,9 198.328125x98.9375]
+              PaintableWithLines (BlockContainer<TD>) [9,9 64.078125x98.9375]
                 TextPaintable (TextNode<#text>)
                 TextPaintable (TextNode<#text>)
-              PaintableWithLines (BlockContainer<TD>) [72.078125,9 86.984375x96.9375]
+              PaintableWithLines (BlockContainer<TD>) [73.078125,9 87.984375x98.9375]
                 TextPaintable (TextNode<#text>)
                 TextPaintable (TextNode<#text>)
-              PaintableWithLines (BlockContainer<TD>) [159.0625,9 45.265625x48.46875]
+              PaintableWithLines (BlockContainer<TD>) [161.0625,9 46.265625x49.46875]
                 TextPaintable (TextNode<#text>)
                 TextPaintable (TextNode<#text>)
-            PaintableBox (Box<TR>) [9,57.46875 195.328125x48.46875]
-              PaintableWithLines (BlockContainer<TD>) [159.0625,57.46875 45.265625x48.46875]
+            PaintableBox (Box<TR>) [9,58.46875 198.328125x49.46875]
+              PaintableWithLines (BlockContainer<TD>) [161.0625,58.46875 46.265625x49.46875]
                 TextPaintable (TextNode<#text>)
                 TextPaintable (TextNode<#text>)

+ 2 - 2
Tests/LibWeb/Layout/expected/table/basic.txt

@@ -12,7 +12,7 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
             TextNode <#text>
             TextNode <#text>
           BlockContainer <caption> at (8,10) content-size 82.734375x17.46875 [BFC] children: inline
           BlockContainer <caption> at (8,10) content-size 82.734375x17.46875 [BFC] children: inline
             line 0 width: 82.734375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
             line 0 width: 82.734375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-              frag 0 from TextNode start: 1, length: 9, rect: [16.21875,10 82.734375x17.46875]
+              frag 0 from TextNode start: 1, length: 9, rect: [16,10 82.734375x17.46875]
                 "A Caption"
                 "A Caption"
             TextNode <#text>
             TextNode <#text>
           BlockContainer <(anonymous)> (not painted) children: inline
           BlockContainer <(anonymous)> (not painted) children: inline
@@ -79,7 +79,7 @@ PaintableWithLines (Viewport<#document>) [0,0 800x600]
       PaintableWithLines (BlockContainer(anonymous)) [8,10 784x0]
       PaintableWithLines (BlockContainer(anonymous)) [8,10 784x0]
       PaintableWithLines (TableWrapper(anonymous)) [8,10 99.171875x83.875]
       PaintableWithLines (TableWrapper(anonymous)) [8,10 99.171875x83.875]
         PaintableBox (Box<TABLE>#full-table) [8,27.46875 99.171875x66.40625] overflow: [8,10 99.171875x83.875]
         PaintableBox (Box<TABLE>#full-table) [8,27.46875 99.171875x66.40625] overflow: [8,10 99.171875x83.875]
-          PaintableWithLines (BlockContainer<CAPTION>) [8,10 82.734375x17.46875] overflow: [8,10 90.953125x17.46875]
+          PaintableWithLines (BlockContainer<CAPTION>) [8,10 82.734375x17.46875] overflow: [8,10 90.734375x17.46875]
             TextPaintable (TextNode<#text>)
             TextPaintable (TextNode<#text>)
           PaintableBox (Box<THEAD>) [8,10 95.171875x19.46875] overflow: [8,10 97.171875x38.9375]
           PaintableBox (Box<THEAD>) [8,10 95.171875x19.46875] overflow: [8,10 97.171875x38.9375]
             PaintableBox (Box<TR>) [10,29.46875 95.171875x19.46875]
             PaintableBox (Box<TR>) [10,29.46875 95.171875x19.46875]

+ 75 - 75
Tests/LibWeb/Layout/expected/table/border-collapse-is-inherited.txt

@@ -1,146 +1,146 @@
 Viewport <#document> at (0,0) content-size 800x600 children: not-inline
 Viewport <#document> at (0,0) content-size 800x600 children: not-inline
-  BlockContainer <html> at (0,0) content-size 800x210.34375 [BFC] children: not-inline
+  BlockContainer <html> at (0,0) content-size 800x215.34375 [BFC] children: not-inline
     BlockContainer <(anonymous)> at (0,0) content-size 800x0 children: inline
     BlockContainer <(anonymous)> at (0,0) content-size 800x0 children: inline
       TextNode <#text>
       TextNode <#text>
-    BlockContainer <body> at (8,8) content-size 784x194.34375 children: not-inline
+    BlockContainer <body> at (8,8) content-size 784x199.34375 children: not-inline
       BlockContainer <(anonymous)> at (8,8) content-size 784x0 children: inline
       BlockContainer <(anonymous)> at (8,8) content-size 784x0 children: inline
         TextNode <#text>
         TextNode <#text>
-      BlockContainer <div.horizontal> at (8,8) content-size 784x194.34375 children: inline
-        line 0 width: 160.90625, height: 194.34375, bottom: 194.34375, baseline: 194.34375
-          frag 0 from BlockContainer start: 0, length: 0, rect: [9,9 158.90625x192.34375]
+      BlockContainer <div.horizontal> at (8,8) content-size 784x199.34375 children: inline
+        line 0 width: 163.90625, height: 199.34375, bottom: 199.34375, baseline: 199.34375
+          frag 0 from BlockContainer start: 0, length: 0, rect: [9,9 161.90625x197.34375]
         TextNode <#text>
         TextNode <#text>
-        BlockContainer <table> at (9,9) content-size 158.90625x192.34375 inline-block [BFC] children: not-inline
-          BlockContainer <(anonymous)> at (9,9) content-size 158.90625x0 children: inline
+        BlockContainer <table> at (9,9) content-size 161.90625x197.34375 inline-block [BFC] children: not-inline
+          BlockContainer <(anonymous)> at (9,9) content-size 161.90625x0 children: inline
             TextNode <#text>
             TextNode <#text>
-          TableWrapper <(anonymous)> at (9,9) content-size 158.90625x192.34375 inline-block [BFC] children: not-inline
-            Box <(anonymous)> at (9,9) content-size 158.90625x192.34375 inline-table table-box [TFC] children: not-inline
-              Box <tbody> at (9,9) content-size 158.90625x192.34375 table-row-group children: not-inline
+          TableWrapper <(anonymous)> at (9,9) content-size 161.90625x197.34375 inline-block [BFC] children: not-inline
+            Box <(anonymous)> at (9,9) content-size 161.90625x197.34375 inline-table table-box [TFC] children: not-inline
+              Box <tbody> at (9,9) content-size 161.90625x197.34375 table-row-group children: not-inline
                 BlockContainer <(anonymous)> (not painted) children: inline
                 BlockContainer <(anonymous)> (not painted) children: inline
                   TextNode <#text>
                   TextNode <#text>
-                Box <tr> at (9,9) content-size 158.90625x38.46875 table-row children: not-inline
+                Box <tr> at (9,9) content-size 161.90625x39.46875 table-row children: not-inline
                   BlockContainer <(anonymous)> (not painted) children: inline
                   BlockContainer <(anonymous)> (not painted) children: inline
                     TextNode <#text>
                     TextNode <#text>
-                  BlockContainer <td> at (29.5,19.5) content-size 14.265625x17.46875 table-cell [BFC] children: inline
+                  BlockContainer <td> at (30,20) content-size 14.265625x17.46875 table-cell [BFC] children: inline
                     line 0 width: 14.265625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                     line 0 width: 14.265625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                      frag 0 from TextNode start: 0, length: 1, rect: [29.5,19.5 14.265625x17.46875]
+                      frag 0 from TextNode start: 0, length: 1, rect: [30,20 14.265625x17.46875]
                         "A"
                         "A"
                     TextNode <#text>
                     TextNode <#text>
                   BlockContainer <(anonymous)> (not painted) children: inline
                   BlockContainer <(anonymous)> (not painted) children: inline
                     TextNode <#text>
                     TextNode <#text>
-                  BlockContainer <td> at (84.765625,19.5) content-size 12.546875x17.46875 table-cell [BFC] children: inline
+                  BlockContainer <td> at (86.265625,20) content-size 12.546875x17.46875 table-cell [BFC] children: inline
                     line 0 width: 9.34375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                     line 0 width: 9.34375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                      frag 0 from TextNode start: 0, length: 1, rect: [86.359375,19.5 9.34375x17.46875]
+                      frag 0 from TextNode start: 0, length: 1, rect: [88.265625,20 9.34375x17.46875]
                         "B"
                         "B"
                     TextNode <#text>
                     TextNode <#text>
                   BlockContainer <(anonymous)> (not painted) children: inline
                   BlockContainer <(anonymous)> (not painted) children: inline
                     TextNode <#text>
                     TextNode <#text>
-                  BlockContainer <td> at (138.3125,19.5) content-size 9.09375x17.46875 table-cell [BFC] children: inline
+                  BlockContainer <td> at (140.8125,20) content-size 9.09375x17.46875 table-cell [BFC] children: inline
                     line 0 width: 6.34375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                     line 0 width: 6.34375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                      frag 0 from TextNode start: 0, length: 1, rect: [139.6875,19.5 6.34375x17.46875]
+                      frag 0 from TextNode start: 0, length: 1, rect: [141.8125,20 6.34375x17.46875]
                         "1"
                         "1"
                     TextNode <#text>
                     TextNode <#text>
                   BlockContainer <(anonymous)> (not painted) children: inline
                   BlockContainer <(anonymous)> (not painted) children: inline
                     TextNode <#text>
                     TextNode <#text>
                 BlockContainer <(anonymous)> (not painted) children: inline
                 BlockContainer <(anonymous)> (not painted) children: inline
                   TextNode <#text>
                   TextNode <#text>
-                Box <tr> at (9,47.46875) content-size 158.90625x38.46875 table-row children: not-inline
+                Box <tr> at (9,48.46875) content-size 161.90625x39.46875 table-row children: not-inline
                   BlockContainer <(anonymous)> (not painted) children: inline
                   BlockContainer <(anonymous)> (not painted) children: inline
                     TextNode <#text>
                     TextNode <#text>
-                  BlockContainer <td> at (29.5,57.96875) content-size 14.265625x17.46875 table-cell [BFC] children: inline
+                  BlockContainer <td> at (30,59.46875) content-size 14.265625x17.46875 table-cell [BFC] children: inline
                     line 0 width: 10.3125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                     line 0 width: 10.3125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                      frag 0 from TextNode start: 0, length: 1, rect: [31.46875,57.96875 10.3125x17.46875]
+                      frag 0 from TextNode start: 0, length: 1, rect: [32,59.46875 10.3125x17.46875]
                         "C"
                         "C"
                     TextNode <#text>
                     TextNode <#text>
                   BlockContainer <(anonymous)> (not painted) children: inline
                   BlockContainer <(anonymous)> (not painted) children: inline
                     TextNode <#text>
                     TextNode <#text>
-                  BlockContainer <td> at (84.765625,57.96875) content-size 12.546875x17.46875 table-cell [BFC] children: inline
+                  BlockContainer <td> at (86.265625,59.46875) content-size 12.546875x17.46875 table-cell [BFC] children: inline
                     line 0 width: 11.140625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                     line 0 width: 11.140625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                      frag 0 from TextNode start: 0, length: 1, rect: [85.46875,57.96875 11.140625x17.46875]
+                      frag 0 from TextNode start: 0, length: 1, rect: [87.265625,59.46875 11.140625x17.46875]
                         "D"
                         "D"
                     TextNode <#text>
                     TextNode <#text>
                   BlockContainer <(anonymous)> (not painted) children: inline
                   BlockContainer <(anonymous)> (not painted) children: inline
                     TextNode <#text>
                     TextNode <#text>
-                  BlockContainer <td> at (138.3125,57.96875) content-size 9.09375x17.46875 table-cell [BFC] children: inline
+                  BlockContainer <td> at (140.8125,59.46875) content-size 9.09375x17.46875 table-cell [BFC] children: inline
                     line 0 width: 8.8125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                     line 0 width: 8.8125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                      frag 0 from TextNode start: 0, length: 1, rect: [138.453125,57.96875 8.8125x17.46875]
+                      frag 0 from TextNode start: 0, length: 1, rect: [140.8125,59.46875 8.8125x17.46875]
                         "2"
                         "2"
                     TextNode <#text>
                     TextNode <#text>
                   BlockContainer <(anonymous)> (not painted) children: inline
                   BlockContainer <(anonymous)> (not painted) children: inline
                     TextNode <#text>
                     TextNode <#text>
                 BlockContainer <(anonymous)> (not painted) children: inline
                 BlockContainer <(anonymous)> (not painted) children: inline
                   TextNode <#text>
                   TextNode <#text>
-                Box <tr> at (9,85.9375) content-size 158.90625x38.46875 table-row children: not-inline
+                Box <tr> at (9,87.9375) content-size 161.90625x39.46875 table-row children: not-inline
                   BlockContainer <(anonymous)> (not painted) children: inline
                   BlockContainer <(anonymous)> (not painted) children: inline
                     TextNode <#text>
                     TextNode <#text>
-                  BlockContainer <td> at (29.5,96.4375) content-size 14.265625x17.46875 table-cell [BFC] children: inline
+                  BlockContainer <td> at (30,98.9375) content-size 14.265625x17.46875 table-cell [BFC] children: inline
                     line 0 width: 11.859375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                     line 0 width: 11.859375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                      frag 0 from TextNode start: 0, length: 1, rect: [30.703125,96.4375 11.859375x17.46875]
+                      frag 0 from TextNode start: 0, length: 1, rect: [31,98.9375 11.859375x17.46875]
                         "E"
                         "E"
                     TextNode <#text>
                     TextNode <#text>
                   BlockContainer <(anonymous)> (not painted) children: inline
                   BlockContainer <(anonymous)> (not painted) children: inline
                     TextNode <#text>
                     TextNode <#text>
-                  BlockContainer <td> at (84.765625,96.4375) content-size 12.546875x17.46875 table-cell [BFC] children: inline
+                  BlockContainer <td> at (86.265625,98.9375) content-size 12.546875x17.46875 table-cell [BFC] children: inline
                     line 0 width: 12.546875, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                     line 0 width: 12.546875, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                      frag 0 from TextNode start: 0, length: 1, rect: [84.765625,96.4375 12.546875x17.46875]
+                      frag 0 from TextNode start: 0, length: 1, rect: [86.265625,98.9375 12.546875x17.46875]
                         "F"
                         "F"
                     TextNode <#text>
                     TextNode <#text>
                   BlockContainer <(anonymous)> (not painted) children: inline
                   BlockContainer <(anonymous)> (not painted) children: inline
                     TextNode <#text>
                     TextNode <#text>
-                  BlockContainer <td> at (138.3125,96.4375) content-size 9.09375x17.46875 table-cell [BFC] children: inline
+                  BlockContainer <td> at (140.8125,98.9375) content-size 9.09375x17.46875 table-cell [BFC] children: inline
                     line 0 width: 9.09375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                     line 0 width: 9.09375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                      frag 0 from TextNode start: 0, length: 1, rect: [138.3125,96.4375 9.09375x17.46875]
+                      frag 0 from TextNode start: 0, length: 1, rect: [140.8125,98.9375 9.09375x17.46875]
                         "3"
                         "3"
                     TextNode <#text>
                     TextNode <#text>
                   BlockContainer <(anonymous)> (not painted) children: inline
                   BlockContainer <(anonymous)> (not painted) children: inline
                     TextNode <#text>
                     TextNode <#text>
                 BlockContainer <(anonymous)> (not painted) children: inline
                 BlockContainer <(anonymous)> (not painted) children: inline
                   TextNode <#text>
                   TextNode <#text>
-                Box <tr> at (9,124.40625) content-size 158.90625x38.46875 table-row children: not-inline
+                Box <tr> at (9,127.40625) content-size 161.90625x39.46875 table-row children: not-inline
                   BlockContainer <(anonymous)> (not painted) children: inline
                   BlockContainer <(anonymous)> (not painted) children: inline
                     TextNode <#text>
                     TextNode <#text>
-                  BlockContainer <td> at (29.5,134.90625) content-size 14.265625x17.46875 table-cell [BFC] children: inline
+                  BlockContainer <td> at (30,138.40625) content-size 14.265625x17.46875 table-cell [BFC] children: inline
                     line 0 width: 13.234375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                     line 0 width: 13.234375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                      frag 0 from TextNode start: 0, length: 1, rect: [30.015625,134.90625 13.234375x17.46875]
+                      frag 0 from TextNode start: 0, length: 1, rect: [31,138.40625 13.234375x17.46875]
                         "G"
                         "G"
                     TextNode <#text>
                     TextNode <#text>
                   BlockContainer <(anonymous)> (not painted) children: inline
                   BlockContainer <(anonymous)> (not painted) children: inline
                     TextNode <#text>
                     TextNode <#text>
-                  BlockContainer <td> at (84.765625,134.90625) content-size 12.546875x17.46875 table-cell [BFC] children: inline
+                  BlockContainer <td> at (86.265625,138.40625) content-size 12.546875x17.46875 table-cell [BFC] children: inline
                     line 0 width: 12.234375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                     line 0 width: 12.234375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                      frag 0 from TextNode start: 0, length: 1, rect: [84.921875,134.90625 12.234375x17.46875]
+                      frag 0 from TextNode start: 0, length: 1, rect: [86.265625,138.40625 12.234375x17.46875]
                         "H"
                         "H"
                     TextNode <#text>
                     TextNode <#text>
                   BlockContainer <(anonymous)> (not painted) children: inline
                   BlockContainer <(anonymous)> (not painted) children: inline
                     TextNode <#text>
                     TextNode <#text>
-                  BlockContainer <td> at (138.3125,134.90625) content-size 9.09375x17.46875 table-cell [BFC] children: inline
+                  BlockContainer <td> at (140.8125,138.40625) content-size 9.09375x17.46875 table-cell [BFC] children: inline
                     line 0 width: 7.75, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                     line 0 width: 7.75, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                      frag 0 from TextNode start: 0, length: 1, rect: [138.984375,134.90625 7.75x17.46875]
+                      frag 0 from TextNode start: 0, length: 1, rect: [141.8125,138.40625 7.75x17.46875]
                         "4"
                         "4"
                     TextNode <#text>
                     TextNode <#text>
                   BlockContainer <(anonymous)> (not painted) children: inline
                   BlockContainer <(anonymous)> (not painted) children: inline
                     TextNode <#text>
                     TextNode <#text>
                 BlockContainer <(anonymous)> (not painted) children: inline
                 BlockContainer <(anonymous)> (not painted) children: inline
                   TextNode <#text>
                   TextNode <#text>
-                Box <tr> at (9,162.875) content-size 158.90625x38.46875 table-row children: not-inline
+                Box <tr> at (9,166.875) content-size 161.90625x39.46875 table-row children: not-inline
                   BlockContainer <(anonymous)> (not painted) children: inline
                   BlockContainer <(anonymous)> (not painted) children: inline
                     TextNode <#text>
                     TextNode <#text>
-                  BlockContainer <td> at (29.5,173.375) content-size 14.265625x17.46875 table-cell [BFC] children: inline
+                  BlockContainer <td> at (30,177.875) content-size 14.265625x17.46875 table-cell [BFC] children: inline
                     line 0 width: 4.59375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                     line 0 width: 4.59375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                      frag 0 from TextNode start: 0, length: 1, rect: [34.328125,173.375 4.59375x17.46875]
+                      frag 0 from TextNode start: 0, length: 1, rect: [35,177.875 4.59375x17.46875]
                         "I"
                         "I"
                     TextNode <#text>
                     TextNode <#text>
                   BlockContainer <(anonymous)> (not painted) children: inline
                   BlockContainer <(anonymous)> (not painted) children: inline
                     TextNode <#text>
                     TextNode <#text>
-                  BlockContainer <td> at (84.765625,173.375) content-size 12.546875x17.46875 table-cell [BFC] children: inline
+                  BlockContainer <td> at (86.265625,177.875) content-size 12.546875x17.46875 table-cell [BFC] children: inline
                     line 0 width: 8.90625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                     line 0 width: 8.90625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                      frag 0 from TextNode start: 0, length: 1, rect: [86.578125,173.375 8.90625x17.46875]
+                      frag 0 from TextNode start: 0, length: 1, rect: [88.265625,177.875 8.90625x17.46875]
                         "J"
                         "J"
                     TextNode <#text>
                     TextNode <#text>
                   BlockContainer <(anonymous)> (not painted) children: inline
                   BlockContainer <(anonymous)> (not painted) children: inline
                     TextNode <#text>
                     TextNode <#text>
-                  BlockContainer <td> at (138.3125,173.375) content-size 9.09375x17.46875 table-cell [BFC] children: inline
+                  BlockContainer <td> at (140.8125,177.875) content-size 9.09375x17.46875 table-cell [BFC] children: inline
                     line 0 width: 8.453125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                     line 0 width: 8.453125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                      frag 0 from TextNode start: 0, length: 1, rect: [138.625,173.375 8.453125x17.46875]
+                      frag 0 from TextNode start: 0, length: 1, rect: [140.8125,177.875 8.453125x17.46875]
                         "5"
                         "5"
                     TextNode <#text>
                     TextNode <#text>
                   BlockContainer <(anonymous)> (not painted) children: inline
                   BlockContainer <(anonymous)> (not painted) children: inline
@@ -150,53 +150,53 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
         TextNode <#text>
         TextNode <#text>
-      BlockContainer <(anonymous)> at (8,202.34375) content-size 784x0 children: inline
+      BlockContainer <(anonymous)> at (8,207.34375) content-size 784x0 children: inline
         TextNode <#text>
         TextNode <#text>
 
 
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
-  PaintableWithLines (BlockContainer<HTML>) [0,0 800x210.34375]
+  PaintableWithLines (BlockContainer<HTML>) [0,0 800x215.34375]
     PaintableWithLines (BlockContainer(anonymous)) [0,0 800x0]
     PaintableWithLines (BlockContainer(anonymous)) [0,0 800x0]
-    PaintableWithLines (BlockContainer<BODY>) [8,8 784x194.34375]
+    PaintableWithLines (BlockContainer<BODY>) [8,8 784x199.34375]
       PaintableWithLines (BlockContainer(anonymous)) [8,8 784x0]
       PaintableWithLines (BlockContainer(anonymous)) [8,8 784x0]
-      PaintableWithLines (BlockContainer<DIV>.horizontal) [8,8 784x194.34375]
-        PaintableWithLines (BlockContainer<TABLE>) [8,8 160.90625x194.34375]
-          PaintableWithLines (BlockContainer(anonymous)) [9,9 158.90625x0]
-          PaintableWithLines (TableWrapper(anonymous)) [9,9 158.90625x192.34375]
-            PaintableBox (Box(anonymous)) [9,9 158.90625x192.34375]
-              PaintableBox (Box<TBODY>) [9,9 158.90625x192.34375]
-                PaintableBox (Box<TR>) [9,9 158.90625x38.46875]
-                  PaintableWithLines (BlockContainer<TD>) [9,9 55.265625x38.46875]
+      PaintableWithLines (BlockContainer<DIV>.horizontal) [8,8 784x199.34375]
+        PaintableWithLines (BlockContainer<TABLE>) [8,8 163.90625x199.34375]
+          PaintableWithLines (BlockContainer(anonymous)) [9,9 161.90625x0]
+          PaintableWithLines (TableWrapper(anonymous)) [9,9 161.90625x197.34375]
+            PaintableBox (Box(anonymous)) [9,9 161.90625x197.34375]
+              PaintableBox (Box<TBODY>) [9,9 161.90625x197.34375]
+                PaintableBox (Box<TR>) [9,9 161.90625x39.46875]
+                  PaintableWithLines (BlockContainer<TD>) [9,9 56.265625x39.46875]
                     TextPaintable (TextNode<#text>)
                     TextPaintable (TextNode<#text>)
-                  PaintableWithLines (BlockContainer<TD>) [64.265625,9 53.546875x38.46875]
+                  PaintableWithLines (BlockContainer<TD>) [65.265625,9 54.546875x39.46875]
                     TextPaintable (TextNode<#text>)
                     TextPaintable (TextNode<#text>)
-                  PaintableWithLines (BlockContainer<TD>) [117.8125,9 50.09375x38.46875]
+                  PaintableWithLines (BlockContainer<TD>) [119.8125,9 51.09375x39.46875]
                     TextPaintable (TextNode<#text>)
                     TextPaintable (TextNode<#text>)
-                PaintableBox (Box<TR>) [9,47.46875 158.90625x38.46875]
-                  PaintableWithLines (BlockContainer<TD>) [9,47.46875 55.265625x38.46875]
+                PaintableBox (Box<TR>) [9,48.46875 161.90625x39.46875]
+                  PaintableWithLines (BlockContainer<TD>) [9,48.46875 56.265625x39.46875]
                     TextPaintable (TextNode<#text>)
                     TextPaintable (TextNode<#text>)
-                  PaintableWithLines (BlockContainer<TD>) [64.265625,47.46875 53.546875x38.46875]
+                  PaintableWithLines (BlockContainer<TD>) [65.265625,48.46875 54.546875x39.46875]
                     TextPaintable (TextNode<#text>)
                     TextPaintable (TextNode<#text>)
-                  PaintableWithLines (BlockContainer<TD>) [117.8125,47.46875 50.09375x38.46875]
+                  PaintableWithLines (BlockContainer<TD>) [119.8125,48.46875 51.09375x39.46875]
                     TextPaintable (TextNode<#text>)
                     TextPaintable (TextNode<#text>)
-                PaintableBox (Box<TR>) [9,85.9375 158.90625x38.46875]
-                  PaintableWithLines (BlockContainer<TD>) [9,85.9375 55.265625x38.46875]
+                PaintableBox (Box<TR>) [9,87.9375 161.90625x39.46875]
+                  PaintableWithLines (BlockContainer<TD>) [9,87.9375 56.265625x39.46875]
                     TextPaintable (TextNode<#text>)
                     TextPaintable (TextNode<#text>)
-                  PaintableWithLines (BlockContainer<TD>) [64.265625,85.9375 53.546875x38.46875]
+                  PaintableWithLines (BlockContainer<TD>) [65.265625,87.9375 54.546875x39.46875]
                     TextPaintable (TextNode<#text>)
                     TextPaintable (TextNode<#text>)
-                  PaintableWithLines (BlockContainer<TD>) [117.8125,85.9375 50.09375x38.46875]
+                  PaintableWithLines (BlockContainer<TD>) [119.8125,87.9375 51.09375x39.46875]
                     TextPaintable (TextNode<#text>)
                     TextPaintable (TextNode<#text>)
-                PaintableBox (Box<TR>) [9,124.40625 158.90625x38.46875]
-                  PaintableWithLines (BlockContainer<TD>) [9,124.40625 55.265625x38.46875]
+                PaintableBox (Box<TR>) [9,127.40625 161.90625x39.46875]
+                  PaintableWithLines (BlockContainer<TD>) [9,127.40625 56.265625x39.46875]
                     TextPaintable (TextNode<#text>)
                     TextPaintable (TextNode<#text>)
-                  PaintableWithLines (BlockContainer<TD>) [64.265625,124.40625 53.546875x38.46875]
+                  PaintableWithLines (BlockContainer<TD>) [65.265625,127.40625 54.546875x39.46875]
                     TextPaintable (TextNode<#text>)
                     TextPaintable (TextNode<#text>)
-                  PaintableWithLines (BlockContainer<TD>) [117.8125,124.40625 50.09375x38.46875]
+                  PaintableWithLines (BlockContainer<TD>) [119.8125,127.40625 51.09375x39.46875]
                     TextPaintable (TextNode<#text>)
                     TextPaintable (TextNode<#text>)
-                PaintableBox (Box<TR>) [9,162.875 158.90625x38.46875]
-                  PaintableWithLines (BlockContainer<TD>) [9,162.875 55.265625x38.46875]
+                PaintableBox (Box<TR>) [9,166.875 161.90625x39.46875]
+                  PaintableWithLines (BlockContainer<TD>) [9,166.875 56.265625x39.46875]
                     TextPaintable (TextNode<#text>)
                     TextPaintable (TextNode<#text>)
-                  PaintableWithLines (BlockContainer<TD>) [64.265625,162.875 53.546875x38.46875]
+                  PaintableWithLines (BlockContainer<TD>) [65.265625,166.875 54.546875x39.46875]
                     TextPaintable (TextNode<#text>)
                     TextPaintable (TextNode<#text>)
-                  PaintableWithLines (BlockContainer<TD>) [117.8125,162.875 50.09375x38.46875]
+                  PaintableWithLines (BlockContainer<TD>) [119.8125,166.875 51.09375x39.46875]
                     TextPaintable (TextNode<#text>)
                     TextPaintable (TextNode<#text>)
-      PaintableWithLines (BlockContainer(anonymous)) [8,202.34375 784x0]
+      PaintableWithLines (BlockContainer(anonymous)) [8,207.34375 784x0]

+ 30 - 30
Tests/LibWeb/Layout/expected/table/border-conflict-resolution-with-cell.txt

@@ -1,59 +1,59 @@
 Viewport <#document> at (0,0) content-size 800x600 children: not-inline
 Viewport <#document> at (0,0) content-size 800x600 children: not-inline
   BlockContainer <html> at (0,0) content-size 800x600 [BFC] children: not-inline
   BlockContainer <html> at (0,0) content-size 800x600 [BFC] children: not-inline
-    BlockContainer <body> at (8,8) content-size 784x84.9375 children: not-inline
-      TableWrapper <(anonymous)> at (8,8) content-size 169.671875x84.9375 [BFC] children: not-inline
-        Box <table> at (8,8) content-size 169.671875x84.9375 table-box [TFC] children: not-inline
+    BlockContainer <body> at (8,8) content-size 784x86.9375 children: not-inline
+      TableWrapper <(anonymous)> at (8,8) content-size 172.671875x86.9375 [BFC] children: not-inline
+        Box <table> at (8,8) content-size 172.671875x86.9375 table-box [TFC] children: not-inline
           BlockContainer <(anonymous)> (not painted) children: inline
           BlockContainer <(anonymous)> (not painted) children: inline
             TextNode <#text>
             TextNode <#text>
-          Box <tbody> at (8,8) content-size 169.671875x84.9375 table-row-group children: not-inline
+          Box <tbody> at (8,8) content-size 172.671875x86.9375 table-row-group children: not-inline
             BlockContainer <(anonymous)> (not painted) children: inline
             BlockContainer <(anonymous)> (not painted) children: inline
               TextNode <#text>
               TextNode <#text>
-            Box <tr> at (8,8) content-size 169.671875x42.46875 table-row children: not-inline
+            Box <tr> at (8,8) content-size 172.671875x43.46875 table-row children: not-inline
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
-              BlockContainer <td> at (28.5,20.5) content-size 14.265625x17.46875 table-cell [BFC] children: inline
+              BlockContainer <td> at (29,21) content-size 14.265625x17.46875 table-cell [BFC] children: inline
                 line 0 width: 14.265625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 14.265625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 1, rect: [28.5,20.5 14.265625x17.46875]
+                  frag 0 from TextNode start: 0, length: 1, rect: [29,21 14.265625x17.46875]
                     "A"
                     "A"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
-              BlockContainer <td.td-thick-border> at (87.765625,20.5) content-size 9.859375x17.46875 table-cell [BFC] children: inline
+              BlockContainer <td.td-thick-border> at (89.265625,21) content-size 9.859375x17.46875 table-cell [BFC] children: inline
                 line 0 width: 9.34375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 9.34375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 1, rect: [87.765625,20.5 9.34375x17.46875]
+                  frag 0 from TextNode start: 0, length: 1, rect: [89.265625,21 9.34375x17.46875]
                     "B"
                     "B"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
-              BlockContainer <td> at (142.625,19.5) content-size 14.546875x17.46875 table-cell [BFC] children: inline
+              BlockContainer <td> at (145.125,20) content-size 14.546875x17.46875 table-cell [BFC] children: inline
                 line 0 width: 10.3125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 10.3125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 1, rect: [142.625,19.5 10.3125x17.46875]
+                  frag 0 from TextNode start: 0, length: 1, rect: [145.125,20 10.3125x17.46875]
                     "C"
                     "C"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
             BlockContainer <(anonymous)> (not painted) children: inline
             BlockContainer <(anonymous)> (not painted) children: inline
               TextNode <#text>
               TextNode <#text>
-            Box <tr> at (8,50.46875) content-size 169.671875x42.46875 table-row children: not-inline
+            Box <tr> at (8,51.46875) content-size 172.671875x43.46875 table-row children: not-inline
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
-              BlockContainer <td> at (28.5,62.96875) content-size 16.265625x17.46875 table-cell [BFC] children: inline
+              BlockContainer <td> at (29,64.46875) content-size 16.265625x17.46875 table-cell [BFC] children: inline
                 line 0 width: 11.140625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 11.140625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 1, rect: [28.5,62.96875 11.140625x17.46875]
+                  frag 0 from TextNode start: 0, length: 1, rect: [29,64.46875 11.140625x17.46875]
                     "D"
                     "D"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
-              BlockContainer <td> at (85.765625,63.96875) content-size 11.859375x17.46875 table-cell [BFC] children: inline
+              BlockContainer <td> at (87.265625,65.46875) content-size 11.859375x17.46875 table-cell [BFC] children: inline
                 line 0 width: 11.859375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 11.859375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 1, rect: [85.765625,63.96875 11.859375x17.46875]
+                  frag 0 from TextNode start: 0, length: 1, rect: [87.265625,65.46875 11.859375x17.46875]
                     "E"
                     "E"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
-              BlockContainer <td.td-thick-border> at (142.625,62.96875) content-size 12.546875x17.46875 table-cell [BFC] children: inline
+              BlockContainer <td.td-thick-border> at (145.125,64.46875) content-size 12.546875x17.46875 table-cell [BFC] children: inline
                 line 0 width: 12.546875, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 12.546875, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 1, rect: [142.625,62.96875 12.546875x17.46875]
+                  frag 0 from TextNode start: 0, length: 1, rect: [145.125,64.46875 12.546875x17.46875]
                     "F"
                     "F"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
@@ -65,21 +65,21 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
 
 
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
   PaintableWithLines (BlockContainer<HTML>) [0,0 800x600]
   PaintableWithLines (BlockContainer<HTML>) [0,0 800x600]
-    PaintableWithLines (BlockContainer<BODY>) [8,8 784x84.9375]
-      PaintableWithLines (TableWrapper(anonymous)) [8,8 169.671875x84.9375]
-        PaintableBox (Box<TABLE>) [8,8 169.671875x84.9375]
-          PaintableBox (Box<TBODY>) [8,8 169.671875x84.9375]
-            PaintableBox (Box<TR>) [8,8 169.671875x42.46875]
-              PaintableWithLines (BlockContainer<TD>) [8,8 57.265625x42.46875]
+    PaintableWithLines (BlockContainer<BODY>) [8,8 784x86.9375]
+      PaintableWithLines (TableWrapper(anonymous)) [8,8 172.671875x86.9375]
+        PaintableBox (Box<TABLE>) [8,8 172.671875x86.9375]
+          PaintableBox (Box<TBODY>) [8,8 172.671875x86.9375]
+            PaintableBox (Box<TR>) [8,8 172.671875x43.46875]
+              PaintableWithLines (BlockContainer<TD>) [8,8 58.265625x43.46875]
                 TextPaintable (TextNode<#text>)
                 TextPaintable (TextNode<#text>)
-              PaintableWithLines (BlockContainer<TD>.td-thick-border) [65.265625,8 54.859375x42.46875]
+              PaintableWithLines (BlockContainer<TD>.td-thick-border) [66.265625,8 55.859375x43.46875]
                 TextPaintable (TextNode<#text>)
                 TextPaintable (TextNode<#text>)
-              PaintableWithLines (BlockContainer<TD>) [120.125,8 57.546875x42.46875]
+              PaintableWithLines (BlockContainer<TD>) [122.125,8 58.546875x43.46875]
                 TextPaintable (TextNode<#text>)
                 TextPaintable (TextNode<#text>)
-            PaintableBox (Box<TR>) [8,50.46875 169.671875x42.46875]
-              PaintableWithLines (BlockContainer<TD>) [8,50.46875 57.265625x42.46875]
+            PaintableBox (Box<TR>) [8,51.46875 172.671875x43.46875]
+              PaintableWithLines (BlockContainer<TD>) [8,51.46875 58.265625x43.46875]
                 TextPaintable (TextNode<#text>)
                 TextPaintable (TextNode<#text>)
-              PaintableWithLines (BlockContainer<TD>) [65.265625,50.46875 54.859375x42.46875]
+              PaintableWithLines (BlockContainer<TD>) [66.265625,51.46875 55.859375x43.46875]
                 TextPaintable (TextNode<#text>)
                 TextPaintable (TextNode<#text>)
-              PaintableWithLines (BlockContainer<TD>.td-thick-border) [120.125,50.46875 57.546875x42.46875]
+              PaintableWithLines (BlockContainer<TD>.td-thick-border) [122.125,51.46875 58.546875x43.46875]
                 TextPaintable (TextNode<#text>)
                 TextPaintable (TextNode<#text>)

+ 32 - 32
Tests/LibWeb/Layout/expected/table/border-conflict-resolution-with-col.txt

@@ -1,63 +1,63 @@
 Viewport <#document> at (0,0) content-size 800x600 children: not-inline
 Viewport <#document> at (0,0) content-size 800x600 children: not-inline
-  BlockContainer <html> at (0,0) content-size 800x173.875 [BFC] children: not-inline
+  BlockContainer <html> at (0,0) content-size 800x177.875 [BFC] children: not-inline
     BlockContainer <(anonymous)> at (0,0) content-size 800x0 children: inline
     BlockContainer <(anonymous)> at (0,0) content-size 800x0 children: inline
       TextNode <#text>
       TextNode <#text>
-    BlockContainer <body> at (8,8) content-size 784x157.875 children: not-inline
+    BlockContainer <body> at (8,8) content-size 784x161.875 children: not-inline
       BlockContainer <(anonymous)> at (8,8) content-size 784x0 children: inline
       BlockContainer <(anonymous)> at (8,8) content-size 784x0 children: inline
         TextNode <#text>
         TextNode <#text>
-      TableWrapper <(anonymous)> at (8,8) content-size 59.265625x157.875 [BFC] children: not-inline
-        Box <table> at (8,8) content-size 59.265625x157.875 table-box [TFC] children: not-inline
+      TableWrapper <(anonymous)> at (8,8) content-size 60.265625x161.875 [BFC] children: not-inline
+        Box <table> at (8,8) content-size 60.265625x161.875 table-box [TFC] children: not-inline
           BlockContainer <(anonymous)> (not painted) children: inline
           BlockContainer <(anonymous)> (not painted) children: inline
             TextNode <#text>
             TextNode <#text>
           BlockContainer <colgroup> (not painted) table-column-group children: not-inline
           BlockContainer <colgroup> (not painted) table-column-group children: not-inline
             BlockContainer <col> (not painted) children: not-inline
             BlockContainer <col> (not painted) children: not-inline
           BlockContainer <(anonymous)> (not painted) children: inline
           BlockContainer <(anonymous)> (not painted) children: inline
             TextNode <#text>
             TextNode <#text>
-          Box <tbody> at (8,8) content-size 59.265625x157.875 table-row-group children: not-inline
+          Box <tbody> at (8,8) content-size 60.265625x161.875 table-row-group children: not-inline
             BlockContainer <(anonymous)> (not painted) children: inline
             BlockContainer <(anonymous)> (not painted) children: inline
               TextNode <#text>
               TextNode <#text>
-            Box <tr> at (8,8) content-size 59.265625x40.46875 table-row children: not-inline
+            Box <tr> at (8,8) content-size 60.265625x41.46875 table-row children: not-inline
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
-              BlockContainer <td> at (30.5,20.5) content-size 14.265625x17.46875 table-cell [BFC] children: inline
+              BlockContainer <td> at (31,21) content-size 14.265625x17.46875 table-cell [BFC] children: inline
                 line 0 width: 14.265625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 14.265625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 1, rect: [30.5,20.5 14.265625x17.46875]
+                  frag 0 from TextNode start: 0, length: 1, rect: [31,21 14.265625x17.46875]
                     "A"
                     "A"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
             BlockContainer <(anonymous)> (not painted) children: inline
             BlockContainer <(anonymous)> (not painted) children: inline
               TextNode <#text>
               TextNode <#text>
-            Box <tr> at (8,48.46875) content-size 59.265625x38.46875 table-row children: not-inline
+            Box <tr> at (8,49.46875) content-size 60.265625x39.46875 table-row children: not-inline
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
-              BlockContainer <td> at (30.5,58.96875) content-size 14.265625x17.46875 table-cell [BFC] children: inline
+              BlockContainer <td> at (31,60.46875) content-size 14.265625x17.46875 table-cell [BFC] children: inline
                 line 0 width: 9.34375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 9.34375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 1, rect: [30.5,58.96875 9.34375x17.46875]
+                  frag 0 from TextNode start: 0, length: 1, rect: [31,60.46875 9.34375x17.46875]
                     "B"
                     "B"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
             BlockContainer <(anonymous)> (not painted) children: inline
             BlockContainer <(anonymous)> (not painted) children: inline
               TextNode <#text>
               TextNode <#text>
-            Box <tr> at (8,86.9375) content-size 59.265625x38.46875 table-row children: not-inline
+            Box <tr> at (8,88.9375) content-size 60.265625x39.46875 table-row children: not-inline
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
-              BlockContainer <td> at (30.5,97.4375) content-size 14.265625x17.46875 table-cell [BFC] children: inline
+              BlockContainer <td> at (31,99.9375) content-size 14.265625x17.46875 table-cell [BFC] children: inline
                 line 0 width: 10.3125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 10.3125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 1, rect: [30.5,97.4375 10.3125x17.46875]
+                  frag 0 from TextNode start: 0, length: 1, rect: [31,99.9375 10.3125x17.46875]
                     "C"
                     "C"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
             BlockContainer <(anonymous)> (not painted) children: inline
             BlockContainer <(anonymous)> (not painted) children: inline
               TextNode <#text>
               TextNode <#text>
-            Box <tr> at (8,125.40625) content-size 59.265625x40.46875 table-row children: not-inline
+            Box <tr> at (8,128.40625) content-size 60.265625x41.46875 table-row children: not-inline
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
-              BlockContainer <td> at (30.5,135.90625) content-size 14.265625x17.46875 table-cell [BFC] children: inline
+              BlockContainer <td> at (31,139.40625) content-size 14.265625x17.46875 table-cell [BFC] children: inline
                 line 0 width: 11.140625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 11.140625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 1, rect: [30.5,135.90625 11.140625x17.46875]
+                  frag 0 from TextNode start: 0, length: 1, rect: [31,139.40625 11.140625x17.46875]
                     "D"
                     "D"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
@@ -66,27 +66,27 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
               TextNode <#text>
               TextNode <#text>
           BlockContainer <(anonymous)> (not painted) children: inline
           BlockContainer <(anonymous)> (not painted) children: inline
             TextNode <#text>
             TextNode <#text>
-      BlockContainer <(anonymous)> at (8,165.875) content-size 784x0 children: inline
+      BlockContainer <(anonymous)> at (8,169.875) content-size 784x0 children: inline
         TextNode <#text>
         TextNode <#text>
 
 
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
-  PaintableWithLines (BlockContainer<HTML>) [0,0 800x173.875]
+  PaintableWithLines (BlockContainer<HTML>) [0,0 800x177.875]
     PaintableWithLines (BlockContainer(anonymous)) [0,0 800x0]
     PaintableWithLines (BlockContainer(anonymous)) [0,0 800x0]
-    PaintableWithLines (BlockContainer<BODY>) [8,8 784x157.875]
+    PaintableWithLines (BlockContainer<BODY>) [8,8 784x161.875]
       PaintableWithLines (BlockContainer(anonymous)) [8,8 784x0]
       PaintableWithLines (BlockContainer(anonymous)) [8,8 784x0]
-      PaintableWithLines (TableWrapper(anonymous)) [8,8 59.265625x157.875]
-        PaintableBox (Box<TABLE>) [8,8 59.265625x157.875]
-          PaintableBox (Box<TBODY>) [8,8 59.265625x157.875]
-            PaintableBox (Box<TR>) [8,8 59.265625x40.46875]
-              PaintableWithLines (BlockContainer<TD>) [8,8 59.265625x40.46875]
+      PaintableWithLines (TableWrapper(anonymous)) [8,8 60.265625x161.875]
+        PaintableBox (Box<TABLE>) [8,8 60.265625x161.875]
+          PaintableBox (Box<TBODY>) [8,8 60.265625x161.875]
+            PaintableBox (Box<TR>) [8,8 60.265625x41.46875]
+              PaintableWithLines (BlockContainer<TD>) [8,8 60.265625x41.46875]
                 TextPaintable (TextNode<#text>)
                 TextPaintable (TextNode<#text>)
-            PaintableBox (Box<TR>) [8,48.46875 59.265625x38.46875]
-              PaintableWithLines (BlockContainer<TD>) [8,48.46875 59.265625x38.46875]
+            PaintableBox (Box<TR>) [8,49.46875 60.265625x39.46875]
+              PaintableWithLines (BlockContainer<TD>) [8,49.46875 60.265625x39.46875]
                 TextPaintable (TextNode<#text>)
                 TextPaintable (TextNode<#text>)
-            PaintableBox (Box<TR>) [8,86.9375 59.265625x38.46875]
-              PaintableWithLines (BlockContainer<TD>) [8,86.9375 59.265625x38.46875]
+            PaintableBox (Box<TR>) [8,88.9375 60.265625x39.46875]
+              PaintableWithLines (BlockContainer<TD>) [8,88.9375 60.265625x39.46875]
                 TextPaintable (TextNode<#text>)
                 TextPaintable (TextNode<#text>)
-            PaintableBox (Box<TR>) [8,125.40625 59.265625x40.46875]
-              PaintableWithLines (BlockContainer<TD>) [8,125.40625 59.265625x40.46875]
+            PaintableBox (Box<TR>) [8,128.40625 60.265625x41.46875]
+              PaintableWithLines (BlockContainer<TD>) [8,128.40625 60.265625x41.46875]
                 TextPaintable (TextNode<#text>)
                 TextPaintable (TextNode<#text>)
-      PaintableWithLines (BlockContainer(anonymous)) [8,165.875 784x0]
+      PaintableWithLines (BlockContainer(anonymous)) [8,169.875 784x0]

+ 32 - 32
Tests/LibWeb/Layout/expected/table/border-conflict-resolution-with-row.txt

@@ -1,64 +1,64 @@
 Viewport <#document> at (0,0) content-size 800x600 children: not-inline
 Viewport <#document> at (0,0) content-size 800x600 children: not-inline
   BlockContainer <html> at (0,0) content-size 800x600 [BFC] children: not-inline
   BlockContainer <html> at (0,0) content-size 800x600 [BFC] children: not-inline
-    BlockContainer <body> at (8,8) content-size 784x127.40625 children: not-inline
-      TableWrapper <(anonymous)> at (8,8) content-size 112.8125x127.40625 [BFC] children: not-inline
-        Box <table> at (8,8) content-size 112.8125x127.40625 table-box [TFC] children: not-inline
+    BlockContainer <body> at (8,8) content-size 784x130.40625 children: not-inline
+      TableWrapper <(anonymous)> at (8,8) content-size 114.8125x130.40625 [BFC] children: not-inline
+        Box <table> at (8,8) content-size 114.8125x130.40625 table-box [TFC] children: not-inline
           BlockContainer <(anonymous)> (not painted) children: inline
           BlockContainer <(anonymous)> (not painted) children: inline
             TextNode <#text>
             TextNode <#text>
-          Box <tbody> at (8,8) content-size 112.8125x127.40625 table-row-group children: not-inline
+          Box <tbody> at (8,8) content-size 114.8125x130.40625 table-row-group children: not-inline
             BlockContainer <(anonymous)> (not painted) children: inline
             BlockContainer <(anonymous)> (not painted) children: inline
               TextNode <#text>
               TextNode <#text>
-            Box <tr.td-thick-border> at (8,8) content-size 112.8125x42.46875 table-row children: not-inline
+            Box <tr.td-thick-border> at (8,8) content-size 114.8125x43.46875 table-row children: not-inline
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
-              BlockContainer <td> at (30.5,20.5) content-size 14.265625x17.46875 table-cell [BFC] children: inline
+              BlockContainer <td> at (31,21) content-size 14.265625x17.46875 table-cell [BFC] children: inline
                 line 0 width: 14.265625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 14.265625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 1, rect: [30.5,20.5 14.265625x17.46875]
+                  frag 0 from TextNode start: 0, length: 1, rect: [31,21 14.265625x17.46875]
                     "A"
                     "A"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
-              BlockContainer <td> at (85.765625,20.5) content-size 12.546875x17.46875 table-cell [BFC] children: inline
+              BlockContainer <td> at (87.265625,21) content-size 12.546875x17.46875 table-cell [BFC] children: inline
                 line 0 width: 9.34375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 9.34375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 1, rect: [85.765625,20.5 9.34375x17.46875]
+                  frag 0 from TextNode start: 0, length: 1, rect: [87.265625,21 9.34375x17.46875]
                     "B"
                     "B"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
             BlockContainer <(anonymous)> (not painted) children: inline
             BlockContainer <(anonymous)> (not painted) children: inline
               TextNode <#text>
               TextNode <#text>
-            Box <tr> at (8,50.46875) content-size 112.8125x42.46875 table-row children: not-inline
+            Box <tr> at (8,51.46875) content-size 114.8125x43.46875 table-row children: not-inline
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
-              BlockContainer <td> at (28.5,62.96875) content-size 16.265625x17.46875 table-cell [BFC] children: inline
+              BlockContainer <td> at (29,64.46875) content-size 16.265625x17.46875 table-cell [BFC] children: inline
                 line 0 width: 10.3125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 10.3125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 1, rect: [28.5,62.96875 10.3125x17.46875]
+                  frag 0 from TextNode start: 0, length: 1, rect: [29,64.46875 10.3125x17.46875]
                     "C"
                     "C"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
-              BlockContainer <td> at (85.765625,62.96875) content-size 14.546875x17.46875 table-cell [BFC] children: inline
+              BlockContainer <td> at (87.265625,64.46875) content-size 14.546875x17.46875 table-cell [BFC] children: inline
                 line 0 width: 11.140625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 11.140625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 1, rect: [85.765625,62.96875 11.140625x17.46875]
+                  frag 0 from TextNode start: 0, length: 1, rect: [87.265625,64.46875 11.140625x17.46875]
                     "D"
                     "D"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
             BlockContainer <(anonymous)> (not painted) children: inline
             BlockContainer <(anonymous)> (not painted) children: inline
               TextNode <#text>
               TextNode <#text>
-            Box <tr.td-thick-border> at (8,92.9375) content-size 112.8125x42.46875 table-row children: not-inline
+            Box <tr.td-thick-border> at (8,94.9375) content-size 114.8125x43.46875 table-row children: not-inline
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
-              BlockContainer <td> at (30.5,105.4375) content-size 14.265625x17.46875 table-cell [BFC] children: inline
+              BlockContainer <td> at (31,107.9375) content-size 14.265625x17.46875 table-cell [BFC] children: inline
                 line 0 width: 11.859375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 11.859375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 1, rect: [30.5,105.4375 11.859375x17.46875]
+                  frag 0 from TextNode start: 0, length: 1, rect: [31,107.9375 11.859375x17.46875]
                     "E"
                     "E"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
-              BlockContainer <td> at (85.765625,105.4375) content-size 12.546875x17.46875 table-cell [BFC] children: inline
+              BlockContainer <td> at (87.265625,107.9375) content-size 12.546875x17.46875 table-cell [BFC] children: inline
                 line 0 width: 12.546875, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 12.546875, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 1, rect: [85.765625,105.4375 12.546875x17.46875]
+                  frag 0 from TextNode start: 0, length: 1, rect: [87.265625,107.9375 12.546875x17.46875]
                     "F"
                     "F"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
@@ -70,22 +70,22 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
 
 
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
   PaintableWithLines (BlockContainer<HTML>) [0,0 800x600]
   PaintableWithLines (BlockContainer<HTML>) [0,0 800x600]
-    PaintableWithLines (BlockContainer<BODY>) [8,8 784x127.40625]
-      PaintableWithLines (TableWrapper(anonymous)) [8,8 112.8125x127.40625]
-        PaintableBox (Box<TABLE>) [8,8 112.8125x127.40625]
-          PaintableBox (Box<TBODY>) [8,8 112.8125x127.40625]
-            PaintableBox (Box<TR>.td-thick-border) [8,8 112.8125x42.46875]
-              PaintableWithLines (BlockContainer<TD>) [8,8 57.265625x42.46875]
+    PaintableWithLines (BlockContainer<BODY>) [8,8 784x130.40625]
+      PaintableWithLines (TableWrapper(anonymous)) [8,8 114.8125x130.40625]
+        PaintableBox (Box<TABLE>) [8,8 114.8125x130.40625]
+          PaintableBox (Box<TBODY>) [8,8 114.8125x130.40625]
+            PaintableBox (Box<TR>.td-thick-border) [8,8 114.8125x43.46875]
+              PaintableWithLines (BlockContainer<TD>) [8,8 58.265625x43.46875]
                 TextPaintable (TextNode<#text>)
                 TextPaintable (TextNode<#text>)
-              PaintableWithLines (BlockContainer<TD>) [65.265625,8 55.546875x42.46875]
+              PaintableWithLines (BlockContainer<TD>) [66.265625,8 56.546875x43.46875]
                 TextPaintable (TextNode<#text>)
                 TextPaintable (TextNode<#text>)
-            PaintableBox (Box<TR>) [8,50.46875 112.8125x42.46875]
-              PaintableWithLines (BlockContainer<TD>) [8,50.46875 57.265625x42.46875]
+            PaintableBox (Box<TR>) [8,51.46875 114.8125x43.46875]
+              PaintableWithLines (BlockContainer<TD>) [8,51.46875 58.265625x43.46875]
                 TextPaintable (TextNode<#text>)
                 TextPaintable (TextNode<#text>)
-              PaintableWithLines (BlockContainer<TD>) [65.265625,50.46875 55.546875x42.46875]
+              PaintableWithLines (BlockContainer<TD>) [66.265625,51.46875 56.546875x43.46875]
                 TextPaintable (TextNode<#text>)
                 TextPaintable (TextNode<#text>)
-            PaintableBox (Box<TR>.td-thick-border) [8,92.9375 112.8125x42.46875]
-              PaintableWithLines (BlockContainer<TD>) [8,92.9375 57.265625x42.46875]
+            PaintableBox (Box<TR>.td-thick-border) [8,94.9375 114.8125x43.46875]
+              PaintableWithLines (BlockContainer<TD>) [8,94.9375 58.265625x43.46875]
                 TextPaintable (TextNode<#text>)
                 TextPaintable (TextNode<#text>)
-              PaintableWithLines (BlockContainer<TD>) [65.265625,92.9375 55.546875x42.46875]
+              PaintableWithLines (BlockContainer<TD>) [66.265625,94.9375 56.546875x43.46875]
                 TextPaintable (TextNode<#text>)
                 TextPaintable (TextNode<#text>)

+ 34 - 34
Tests/LibWeb/Layout/expected/table/border-conflict-resolution-with-rowgroup.txt

@@ -1,65 +1,65 @@
 Viewport <#document> at (0,0) content-size 800x600 children: not-inline
 Viewport <#document> at (0,0) content-size 800x600 children: not-inline
   BlockContainer <html> at (0,0) content-size 800x600 [BFC] children: not-inline
   BlockContainer <html> at (0,0) content-size 800x600 [BFC] children: not-inline
-    BlockContainer <body> at (8,8) content-size 784x121.40625 children: not-inline
-      TableWrapper <(anonymous)> at (8,8) content-size 111.40625x121.40625 [BFC] children: not-inline
-        Box <table> at (8,8) content-size 111.40625x121.40625 table-box [TFC] children: not-inline
+    BlockContainer <body> at (8,8) content-size 784x124.40625 children: not-inline
+      TableWrapper <(anonymous)> at (8,8) content-size 113.40625x124.40625 [BFC] children: not-inline
+        Box <table> at (8,8) content-size 113.40625x124.40625 table-box [TFC] children: not-inline
           BlockContainer <(anonymous)> (not painted) children: inline
           BlockContainer <(anonymous)> (not painted) children: inline
             TextNode <#text>
             TextNode <#text>
-          Box <thead> at (8,8) content-size 111.40625x40.46875 table-header-group children: not-inline
+          Box <thead> at (8,8) content-size 113.40625x41.46875 table-header-group children: not-inline
             BlockContainer <(anonymous)> (not painted) children: inline
             BlockContainer <(anonymous)> (not painted) children: inline
               TextNode <#text>
               TextNode <#text>
-            Box <tr> at (8,8) content-size 111.40625x40.46875 table-row children: not-inline
-              BlockContainer <td> at (28.5,18.5) content-size 16.265625x17.46875 table-cell [BFC] children: inline
+            Box <tr> at (8,8) content-size 113.40625x41.46875 table-row children: not-inline
+              BlockContainer <td> at (29,19) content-size 16.265625x17.46875 table-cell [BFC] children: inline
                 line 0 width: 9.59375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 9.59375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 1, rect: [28.5,18.5 9.59375x17.46875]
+                  frag 0 from TextNode start: 0, length: 1, rect: [29,19 9.59375x17.46875]
                     "0"
                     "0"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
-              BlockContainer <td> at (85.765625,18.5) content-size 13.140625x17.46875 table-cell [BFC] children: inline
+              BlockContainer <td> at (87.265625,19) content-size 13.140625x17.46875 table-cell [BFC] children: inline
                 line 0 width: 6.34375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 6.34375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 1, rect: [85.765625,18.5 6.34375x17.46875]
+                  frag 0 from TextNode start: 0, length: 1, rect: [87.265625,19 6.34375x17.46875]
                     "1"
                     "1"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
           BlockContainer <(anonymous)> (not painted) children: inline
           BlockContainer <(anonymous)> (not painted) children: inline
             TextNode <#text>
             TextNode <#text>
-          Box <tbody.thick-border> at (8,48.46875) content-size 111.40625x80.9375 table-row-group children: not-inline
+          Box <tbody.thick-border> at (8,49.46875) content-size 113.40625x82.9375 table-row-group children: not-inline
             BlockContainer <(anonymous)> (not painted) children: inline
             BlockContainer <(anonymous)> (not painted) children: inline
               TextNode <#text>
               TextNode <#text>
-            Box <tr> at (8,48.46875) content-size 111.40625x40.46875 table-row children: not-inline
+            Box <tr> at (8,49.46875) content-size 113.40625x41.46875 table-row children: not-inline
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
-              BlockContainer <td> at (30.5,60.96875) content-size 14.265625x17.46875 table-cell [BFC] children: inline
+              BlockContainer <td> at (31,62.46875) content-size 14.265625x17.46875 table-cell [BFC] children: inline
                 line 0 width: 14.265625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 14.265625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 1, rect: [30.5,60.96875 14.265625x17.46875]
+                  frag 0 from TextNode start: 0, length: 1, rect: [31,62.46875 14.265625x17.46875]
                     "A"
                     "A"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
-              BlockContainer <td> at (85.765625,60.96875) content-size 11.140625x17.46875 table-cell [BFC] children: inline
+              BlockContainer <td> at (87.265625,62.46875) content-size 11.140625x17.46875 table-cell [BFC] children: inline
                 line 0 width: 9.34375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 9.34375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 1, rect: [85.765625,60.96875 9.34375x17.46875]
+                  frag 0 from TextNode start: 0, length: 1, rect: [87.265625,62.46875 9.34375x17.46875]
                     "B"
                     "B"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
             BlockContainer <(anonymous)> (not painted) children: inline
             BlockContainer <(anonymous)> (not painted) children: inline
               TextNode <#text>
               TextNode <#text>
-            Box <tr> at (8,88.9375) content-size 111.40625x40.46875 table-row children: not-inline
+            Box <tr> at (8,90.9375) content-size 113.40625x41.46875 table-row children: not-inline
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
-              BlockContainer <td> at (30.5,99.4375) content-size 14.265625x17.46875 table-cell [BFC] children: inline
+              BlockContainer <td> at (31,101.9375) content-size 14.265625x17.46875 table-cell [BFC] children: inline
                 line 0 width: 10.3125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 10.3125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 1, rect: [30.5,99.4375 10.3125x17.46875]
+                  frag 0 from TextNode start: 0, length: 1, rect: [31,101.9375 10.3125x17.46875]
                     "C"
                     "C"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
-              BlockContainer <td> at (85.765625,99.4375) content-size 11.140625x17.46875 table-cell [BFC] children: inline
+              BlockContainer <td> at (87.265625,101.9375) content-size 11.140625x17.46875 table-cell [BFC] children: inline
                 line 0 width: 11.140625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 11.140625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 1, rect: [85.765625,99.4375 11.140625x17.46875]
+                  frag 0 from TextNode start: 0, length: 1, rect: [87.265625,101.9375 11.140625x17.46875]
                     "D"
                     "D"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
@@ -71,23 +71,23 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
 
 
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
   PaintableWithLines (BlockContainer<HTML>) [0,0 800x600]
   PaintableWithLines (BlockContainer<HTML>) [0,0 800x600]
-    PaintableWithLines (BlockContainer<BODY>) [8,8 784x121.40625]
-      PaintableWithLines (TableWrapper(anonymous)) [8,8 111.40625x121.40625]
-        PaintableBox (Box<TABLE>) [8,8 111.40625x121.40625]
-          PaintableBox (Box<THEAD>) [8,8 111.40625x40.46875]
-            PaintableBox (Box<TR>) [8,8 111.40625x40.46875]
-              PaintableWithLines (BlockContainer<TD>) [8,8 57.265625x40.46875]
+    PaintableWithLines (BlockContainer<BODY>) [8,8 784x124.40625]
+      PaintableWithLines (TableWrapper(anonymous)) [8,8 113.40625x124.40625]
+        PaintableBox (Box<TABLE>) [8,8 113.40625x124.40625]
+          PaintableBox (Box<THEAD>) [8,8 113.40625x41.46875]
+            PaintableBox (Box<TR>) [8,8 113.40625x41.46875]
+              PaintableWithLines (BlockContainer<TD>) [8,8 58.265625x41.46875]
                 TextPaintable (TextNode<#text>)
                 TextPaintable (TextNode<#text>)
-              PaintableWithLines (BlockContainer<TD>) [65.265625,8 54.140625x40.46875]
+              PaintableWithLines (BlockContainer<TD>) [66.265625,8 55.140625x41.46875]
                 TextPaintable (TextNode<#text>)
                 TextPaintable (TextNode<#text>)
-          PaintableBox (Box<TBODY>.thick-border) [8,48.46875 111.40625x80.9375]
-            PaintableBox (Box<TR>) [8,48.46875 111.40625x40.46875]
-              PaintableWithLines (BlockContainer<TD>) [8,48.46875 57.265625x40.46875]
+          PaintableBox (Box<TBODY>.thick-border) [8,49.46875 113.40625x82.9375]
+            PaintableBox (Box<TR>) [8,49.46875 113.40625x41.46875]
+              PaintableWithLines (BlockContainer<TD>) [8,49.46875 58.265625x41.46875]
                 TextPaintable (TextNode<#text>)
                 TextPaintable (TextNode<#text>)
-              PaintableWithLines (BlockContainer<TD>) [65.265625,48.46875 54.140625x40.46875]
+              PaintableWithLines (BlockContainer<TD>) [66.265625,49.46875 55.140625x41.46875]
                 TextPaintable (TextNode<#text>)
                 TextPaintable (TextNode<#text>)
-            PaintableBox (Box<TR>) [8,88.9375 111.40625x40.46875]
-              PaintableWithLines (BlockContainer<TD>) [8,88.9375 57.265625x40.46875]
+            PaintableBox (Box<TR>) [8,90.9375 113.40625x41.46875]
+              PaintableWithLines (BlockContainer<TD>) [8,90.9375 58.265625x41.46875]
                 TextPaintable (TextNode<#text>)
                 TextPaintable (TextNode<#text>)
-              PaintableWithLines (BlockContainer<TD>) [65.265625,88.9375 54.140625x40.46875]
+              PaintableWithLines (BlockContainer<TD>) [66.265625,90.9375 55.140625x41.46875]
                 TextPaintable (TextNode<#text>)
                 TextPaintable (TextNode<#text>)

+ 11 - 11
Tests/LibWeb/Layout/expected/table/border-spacing-colspan.txt

@@ -24,14 +24,14 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <td> at (126.265625,30) content-size 12.546875x17.46875 table-cell [BFC] children: inline
               BlockContainer <td> at (126.265625,30) content-size 12.546875x17.46875 table-cell [BFC] children: inline
                 line 0 width: 9.34375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 9.34375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 1, rect: [127.859375,30 9.34375x17.46875]
+                  frag 0 from TextNode start: 0, length: 1, rect: [128.265625,30 9.34375x17.46875]
                     "B"
                     "B"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <td> at (200.8125,30) content-size 9.09375x17.46875 table-cell [BFC] children: inline
               BlockContainer <td> at (200.8125,30) content-size 9.09375x17.46875 table-cell [BFC] children: inline
                 line 0 width: 6.34375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 6.34375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 1, rect: [202.1875,30 6.34375x17.46875]
+                  frag 0 from TextNode start: 0, length: 1, rect: [201.8125,30 6.34375x17.46875]
                     "1"
                     "1"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
@@ -43,14 +43,14 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <td> at (50,79.46875) content-size 88.8125x17.46875 table-cell [BFC] children: inline
               BlockContainer <td> at (50,79.46875) content-size 88.8125x17.46875 table-cell [BFC] children: inline
                 line 0 width: 10.3125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 10.3125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 1, rect: [89.25,79.46875 10.3125x17.46875]
+                  frag 0 from TextNode start: 0, length: 1, rect: [89,79.46875 10.3125x17.46875]
                     "C"
                     "C"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <td> at (200.8125,79.46875) content-size 9.09375x17.46875 table-cell [BFC] children: inline
               BlockContainer <td> at (200.8125,79.46875) content-size 9.09375x17.46875 table-cell [BFC] children: inline
                 line 0 width: 8.8125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 8.8125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 1, rect: [200.953125,79.46875 8.8125x17.46875]
+                  frag 0 from TextNode start: 0, length: 1, rect: [200.8125,79.46875 8.8125x17.46875]
                     "2"
                     "2"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
@@ -62,7 +62,7 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <td> at (50,128.9375) content-size 14.265625x17.46875 table-cell [BFC] children: inline
               BlockContainer <td> at (50,128.9375) content-size 14.265625x17.46875 table-cell [BFC] children: inline
                 line 0 width: 11.859375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 11.859375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 1, rect: [51.203125,128.9375 11.859375x17.46875]
+                  frag 0 from TextNode start: 0, length: 1, rect: [51,128.9375 11.859375x17.46875]
                     "E"
                     "E"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
@@ -88,21 +88,21 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <td> at (50,178.40625) content-size 14.265625x17.46875 table-cell [BFC] children: inline
               BlockContainer <td> at (50,178.40625) content-size 14.265625x17.46875 table-cell [BFC] children: inline
                 line 0 width: 13.234375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 13.234375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 1, rect: [50.515625,178.40625 13.234375x17.46875]
+                  frag 0 from TextNode start: 0, length: 1, rect: [51,178.40625 13.234375x17.46875]
                     "G"
                     "G"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <td> at (126.265625,178.40625) content-size 12.546875x17.46875 table-cell [BFC] children: inline
               BlockContainer <td> at (126.265625,178.40625) content-size 12.546875x17.46875 table-cell [BFC] children: inline
                 line 0 width: 12.234375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 12.234375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 1, rect: [126.421875,178.40625 12.234375x17.46875]
+                  frag 0 from TextNode start: 0, length: 1, rect: [126.265625,178.40625 12.234375x17.46875]
                     "H"
                     "H"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <td> at (200.8125,178.40625) content-size 9.09375x17.46875 table-cell [BFC] children: inline
               BlockContainer <td> at (200.8125,178.40625) content-size 9.09375x17.46875 table-cell [BFC] children: inline
                 line 0 width: 7.75, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 7.75, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 1, rect: [201.484375,178.40625 7.75x17.46875]
+                  frag 0 from TextNode start: 0, length: 1, rect: [201.8125,178.40625 7.75x17.46875]
                     "4"
                     "4"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
@@ -114,21 +114,21 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <td> at (50,227.875) content-size 14.265625x17.46875 table-cell [BFC] children: inline
               BlockContainer <td> at (50,227.875) content-size 14.265625x17.46875 table-cell [BFC] children: inline
                 line 0 width: 4.59375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 4.59375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 1, rect: [54.828125,227.875 4.59375x17.46875]
+                  frag 0 from TextNode start: 0, length: 1, rect: [55,227.875 4.59375x17.46875]
                     "I"
                     "I"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <td> at (126.265625,227.875) content-size 12.546875x17.46875 table-cell [BFC] children: inline
               BlockContainer <td> at (126.265625,227.875) content-size 12.546875x17.46875 table-cell [BFC] children: inline
                 line 0 width: 8.90625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 8.90625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 1, rect: [128.078125,227.875 8.90625x17.46875]
+                  frag 0 from TextNode start: 0, length: 1, rect: [128.265625,227.875 8.90625x17.46875]
                     "J"
                     "J"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <td> at (200.8125,227.875) content-size 9.09375x17.46875 table-cell [BFC] children: inline
               BlockContainer <td> at (200.8125,227.875) content-size 9.09375x17.46875 table-cell [BFC] children: inline
                 line 0 width: 8.453125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 8.453125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 1, rect: [201.125,227.875 8.453125x17.46875]
+                  frag 0 from TextNode start: 0, length: 1, rect: [200.8125,227.875 8.453125x17.46875]
                     "5"
                     "5"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline

+ 11 - 11
Tests/LibWeb/Layout/expected/table/border-spacing-rowspan.txt

@@ -24,14 +24,14 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <td> at (126.265625,30) content-size 12.546875x17.46875 table-cell [BFC] children: inline
               BlockContainer <td> at (126.265625,30) content-size 12.546875x17.46875 table-cell [BFC] children: inline
                 line 0 width: 9.34375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 9.34375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 1, rect: [127.859375,30 9.34375x17.46875]
+                  frag 0 from TextNode start: 0, length: 1, rect: [128.265625,30 9.34375x17.46875]
                     "B"
                     "B"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <td> at (200.8125,30) content-size 9.09375x17.46875 table-cell [BFC] children: inline
               BlockContainer <td> at (200.8125,30) content-size 9.09375x17.46875 table-cell [BFC] children: inline
                 line 0 width: 6.34375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 6.34375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 1, rect: [202.1875,30 6.34375x17.46875]
+                  frag 0 from TextNode start: 0, length: 1, rect: [201.8125,30 6.34375x17.46875]
                     "1"
                     "1"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
@@ -43,14 +43,14 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <td> at (126.265625,79.46875) content-size 12.546875x17.46875 table-cell [BFC] children: inline
               BlockContainer <td> at (126.265625,79.46875) content-size 12.546875x17.46875 table-cell [BFC] children: inline
                 line 0 width: 11.140625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 11.140625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 1, rect: [126.96875,79.46875 11.140625x17.46875]
+                  frag 0 from TextNode start: 0, length: 1, rect: [127.265625,79.46875 11.140625x17.46875]
                     "D"
                     "D"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <td> at (200.8125,79.46875) content-size 9.09375x17.46875 table-cell [BFC] children: inline
               BlockContainer <td> at (200.8125,79.46875) content-size 9.09375x17.46875 table-cell [BFC] children: inline
                 line 0 width: 8.8125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 8.8125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 1, rect: [200.953125,79.46875 8.8125x17.46875]
+                  frag 0 from TextNode start: 0, length: 1, rect: [200.8125,79.46875 8.8125x17.46875]
                     "2"
                     "2"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
@@ -62,7 +62,7 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <td> at (50,128.9375) content-size 14.265625x17.46875 table-cell [BFC] children: inline
               BlockContainer <td> at (50,128.9375) content-size 14.265625x17.46875 table-cell [BFC] children: inline
                 line 0 width: 11.859375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 11.859375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 1, rect: [51.203125,128.9375 11.859375x17.46875]
+                  frag 0 from TextNode start: 0, length: 1, rect: [51,128.9375 11.859375x17.46875]
                     "E"
                     "E"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
@@ -88,21 +88,21 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <td> at (50,178.40625) content-size 14.265625x17.46875 table-cell [BFC] children: inline
               BlockContainer <td> at (50,178.40625) content-size 14.265625x17.46875 table-cell [BFC] children: inline
                 line 0 width: 13.234375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 13.234375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 1, rect: [50.515625,178.40625 13.234375x17.46875]
+                  frag 0 from TextNode start: 0, length: 1, rect: [51,178.40625 13.234375x17.46875]
                     "G"
                     "G"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <td> at (126.265625,178.40625) content-size 12.546875x17.46875 table-cell [BFC] children: inline
               BlockContainer <td> at (126.265625,178.40625) content-size 12.546875x17.46875 table-cell [BFC] children: inline
                 line 0 width: 12.234375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 12.234375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 1, rect: [126.421875,178.40625 12.234375x17.46875]
+                  frag 0 from TextNode start: 0, length: 1, rect: [126.265625,178.40625 12.234375x17.46875]
                     "H"
                     "H"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <td> at (200.8125,178.40625) content-size 9.09375x17.46875 table-cell [BFC] children: inline
               BlockContainer <td> at (200.8125,178.40625) content-size 9.09375x17.46875 table-cell [BFC] children: inline
                 line 0 width: 7.75, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 7.75, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 1, rect: [201.484375,178.40625 7.75x17.46875]
+                  frag 0 from TextNode start: 0, length: 1, rect: [201.8125,178.40625 7.75x17.46875]
                     "4"
                     "4"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
@@ -114,21 +114,21 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <td> at (50,227.875) content-size 14.265625x17.46875 table-cell [BFC] children: inline
               BlockContainer <td> at (50,227.875) content-size 14.265625x17.46875 table-cell [BFC] children: inline
                 line 0 width: 4.59375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 4.59375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 1, rect: [54.828125,227.875 4.59375x17.46875]
+                  frag 0 from TextNode start: 0, length: 1, rect: [55,227.875 4.59375x17.46875]
                     "I"
                     "I"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <td> at (126.265625,227.875) content-size 12.546875x17.46875 table-cell [BFC] children: inline
               BlockContainer <td> at (126.265625,227.875) content-size 12.546875x17.46875 table-cell [BFC] children: inline
                 line 0 width: 8.90625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 8.90625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 1, rect: [128.078125,227.875 8.90625x17.46875]
+                  frag 0 from TextNode start: 0, length: 1, rect: [128.265625,227.875 8.90625x17.46875]
                     "J"
                     "J"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <td> at (200.8125,227.875) content-size 9.09375x17.46875 table-cell [BFC] children: inline
               BlockContainer <td> at (200.8125,227.875) content-size 9.09375x17.46875 table-cell [BFC] children: inline
                 line 0 width: 8.453125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 8.453125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 1, rect: [201.125,227.875 8.453125x17.46875]
+                  frag 0 from TextNode start: 0, length: 1, rect: [200.8125,227.875 8.453125x17.46875]
                     "5"
                     "5"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline

+ 12 - 12
Tests/LibWeb/Layout/expected/table/border-spacing.txt

@@ -24,14 +24,14 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <td> at (126.265625,30) content-size 12.546875x17.46875 table-cell [BFC] children: inline
               BlockContainer <td> at (126.265625,30) content-size 12.546875x17.46875 table-cell [BFC] children: inline
                 line 0 width: 9.34375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 9.34375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 1, rect: [127.859375,30 9.34375x17.46875]
+                  frag 0 from TextNode start: 0, length: 1, rect: [128.265625,30 9.34375x17.46875]
                     "B"
                     "B"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <td> at (200.8125,30) content-size 9.09375x17.46875 table-cell [BFC] children: inline
               BlockContainer <td> at (200.8125,30) content-size 9.09375x17.46875 table-cell [BFC] children: inline
                 line 0 width: 6.34375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 6.34375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 1, rect: [202.1875,30 6.34375x17.46875]
+                  frag 0 from TextNode start: 0, length: 1, rect: [201.8125,30 6.34375x17.46875]
                     "1"
                     "1"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
@@ -43,21 +43,21 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <td> at (50,79.46875) content-size 14.265625x17.46875 table-cell [BFC] children: inline
               BlockContainer <td> at (50,79.46875) content-size 14.265625x17.46875 table-cell [BFC] children: inline
                 line 0 width: 10.3125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 10.3125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 1, rect: [51.96875,79.46875 10.3125x17.46875]
+                  frag 0 from TextNode start: 0, length: 1, rect: [52,79.46875 10.3125x17.46875]
                     "C"
                     "C"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <td> at (126.265625,79.46875) content-size 12.546875x17.46875 table-cell [BFC] children: inline
               BlockContainer <td> at (126.265625,79.46875) content-size 12.546875x17.46875 table-cell [BFC] children: inline
                 line 0 width: 11.140625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 11.140625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 1, rect: [126.96875,79.46875 11.140625x17.46875]
+                  frag 0 from TextNode start: 0, length: 1, rect: [127.265625,79.46875 11.140625x17.46875]
                     "D"
                     "D"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <td> at (200.8125,79.46875) content-size 9.09375x17.46875 table-cell [BFC] children: inline
               BlockContainer <td> at (200.8125,79.46875) content-size 9.09375x17.46875 table-cell [BFC] children: inline
                 line 0 width: 8.8125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 8.8125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 1, rect: [200.953125,79.46875 8.8125x17.46875]
+                  frag 0 from TextNode start: 0, length: 1, rect: [200.8125,79.46875 8.8125x17.46875]
                     "2"
                     "2"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
@@ -69,7 +69,7 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <td> at (50,128.9375) content-size 14.265625x17.46875 table-cell [BFC] children: inline
               BlockContainer <td> at (50,128.9375) content-size 14.265625x17.46875 table-cell [BFC] children: inline
                 line 0 width: 11.859375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 11.859375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 1, rect: [51.203125,128.9375 11.859375x17.46875]
+                  frag 0 from TextNode start: 0, length: 1, rect: [51,128.9375 11.859375x17.46875]
                     "E"
                     "E"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
@@ -95,21 +95,21 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <td> at (50,178.40625) content-size 14.265625x17.46875 table-cell [BFC] children: inline
               BlockContainer <td> at (50,178.40625) content-size 14.265625x17.46875 table-cell [BFC] children: inline
                 line 0 width: 13.234375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 13.234375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 1, rect: [50.515625,178.40625 13.234375x17.46875]
+                  frag 0 from TextNode start: 0, length: 1, rect: [51,178.40625 13.234375x17.46875]
                     "G"
                     "G"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <td> at (126.265625,178.40625) content-size 12.546875x17.46875 table-cell [BFC] children: inline
               BlockContainer <td> at (126.265625,178.40625) content-size 12.546875x17.46875 table-cell [BFC] children: inline
                 line 0 width: 12.234375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 12.234375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 1, rect: [126.421875,178.40625 12.234375x17.46875]
+                  frag 0 from TextNode start: 0, length: 1, rect: [126.265625,178.40625 12.234375x17.46875]
                     "H"
                     "H"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <td> at (200.8125,178.40625) content-size 9.09375x17.46875 table-cell [BFC] children: inline
               BlockContainer <td> at (200.8125,178.40625) content-size 9.09375x17.46875 table-cell [BFC] children: inline
                 line 0 width: 7.75, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 7.75, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 1, rect: [201.484375,178.40625 7.75x17.46875]
+                  frag 0 from TextNode start: 0, length: 1, rect: [201.8125,178.40625 7.75x17.46875]
                     "4"
                     "4"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
@@ -121,21 +121,21 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <td> at (50,227.875) content-size 14.265625x17.46875 table-cell [BFC] children: inline
               BlockContainer <td> at (50,227.875) content-size 14.265625x17.46875 table-cell [BFC] children: inline
                 line 0 width: 4.59375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 4.59375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 1, rect: [54.828125,227.875 4.59375x17.46875]
+                  frag 0 from TextNode start: 0, length: 1, rect: [55,227.875 4.59375x17.46875]
                     "I"
                     "I"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <td> at (126.265625,227.875) content-size 12.546875x17.46875 table-cell [BFC] children: inline
               BlockContainer <td> at (126.265625,227.875) content-size 12.546875x17.46875 table-cell [BFC] children: inline
                 line 0 width: 8.90625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 8.90625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 1, rect: [128.078125,227.875 8.90625x17.46875]
+                  frag 0 from TextNode start: 0, length: 1, rect: [128.265625,227.875 8.90625x17.46875]
                     "J"
                     "J"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <td> at (200.8125,227.875) content-size 9.09375x17.46875 table-cell [BFC] children: inline
               BlockContainer <td> at (200.8125,227.875) content-size 9.09375x17.46875 table-cell [BFC] children: inline
                 line 0 width: 8.453125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 8.453125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 1, rect: [201.125,227.875 8.453125x17.46875]
+                  frag 0 from TextNode start: 0, length: 1, rect: [200.8125,227.875 8.453125x17.46875]
                     "5"
                     "5"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline

+ 92 - 92
Tests/LibWeb/Layout/expected/table/borders.txt

@@ -1,6 +1,6 @@
 Viewport <#document> at (0,0) content-size 800x600 children: not-inline
 Viewport <#document> at (0,0) content-size 800x600 children: not-inline
   BlockContainer <html> at (0,0) content-size 800x600 [BFC] children: not-inline
   BlockContainer <html> at (0,0) content-size 800x600 [BFC] children: not-inline
-    BlockContainer <body> at (8,8) content-size 784x261.625 children: not-inline
+    BlockContainer <body> at (8,8) content-size 784x265.625 children: not-inline
       TableWrapper <(anonymous)> at (8,8) content-size 174.296875x74.40625 [BFC] children: not-inline
       TableWrapper <(anonymous)> at (8,8) content-size 174.296875x74.40625 [BFC] children: not-inline
         Box <table.table-border-black> at (9,9) content-size 172.296875x72.40625 table-box [TFC] children: not-inline
         Box <table.table-border-black> at (9,9) content-size 172.296875x72.40625 table-box [TFC] children: not-inline
           BlockContainer <(anonymous)> (not painted) children: inline
           BlockContainer <(anonymous)> (not painted) children: inline
@@ -66,12 +66,12 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
       BlockContainer <(anonymous)> at (8,82.40625) content-size 784x0 children: inline
       BlockContainer <(anonymous)> at (8,82.40625) content-size 784x0 children: inline
         TextNode <#text>
         TextNode <#text>
         TextNode <#text>
         TextNode <#text>
-      TableWrapper <(anonymous)> at (8,82.40625) content-size 163.296875x60.40625 [BFC] children: not-inline
-        Box <table.table-border-black> at (8,82.40625) content-size 163.296875x60.40625 table-box [TFC] children: not-inline
+      TableWrapper <(anonymous)> at (8,82.40625) content-size 164.296875x62.40625 [BFC] children: not-inline
+        Box <table.table-border-black> at (8,82.40625) content-size 164.296875x62.40625 table-box [TFC] children: not-inline
           BlockContainer <(anonymous)> (not painted) children: inline
           BlockContainer <(anonymous)> (not painted) children: inline
             TextNode <#text>
             TextNode <#text>
-          Box <tbody> at (8,82.40625) content-size 163.296875x60.40625 table-row-group children: not-inline
-            Box <tr> at (8,82.40625) content-size 163.296875x19.96875 table-row children: not-inline
+          Box <tbody> at (8,82.40625) content-size 164.296875x62.40625 table-row-group children: not-inline
+            Box <tr> at (8,82.40625) content-size 164.296875x20.46875 table-row children: not-inline
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <td> at (9,83.40625) content-size 82.015625x17.46875 table-cell [BFC] children: inline
               BlockContainer <td> at (9,83.40625) content-size 82.015625x17.46875 table-cell [BFC] children: inline
@@ -81,187 +81,187 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
-              BlockContainer <td> at (94.015625,83.40625) content-size 76.28125x17.46875 table-cell [BFC] children: inline
+              BlockContainer <td> at (95.015625,83.40625) content-size 76.28125x17.46875 table-cell [BFC] children: inline
                 line 0 width: 76.28125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 76.28125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 8, rect: [94.015625,83.40625 76.28125x17.46875]
+                  frag 0 from TextNode start: 0, length: 8, rect: [95.015625,83.40625 76.28125x17.46875]
                     "Lastname"
                     "Lastname"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
             BlockContainer <(anonymous)> (not painted) children: inline
             BlockContainer <(anonymous)> (not painted) children: inline
               TextNode <#text>
               TextNode <#text>
-            Box <tr> at (8,102.375) content-size 163.296875x20.46875 table-row children: not-inline
+            Box <tr> at (8,102.875) content-size 164.296875x21.46875 table-row children: not-inline
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
-              BlockContainer <td> at (9,103.875) content-size 82.015625x17.46875 table-cell [BFC] children: inline
+              BlockContainer <td> at (9,104.875) content-size 82.015625x17.46875 table-cell [BFC] children: inline
                 line 0 width: 44.65625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 44.65625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 5, rect: [9,103.875 44.65625x17.46875]
+                  frag 0 from TextNode start: 0, length: 5, rect: [9,104.875 44.65625x17.46875]
                     "Peter"
                     "Peter"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
-              BlockContainer <td> at (94.015625,103.875) content-size 76.28125x17.46875 table-cell [BFC] children: inline
+              BlockContainer <td> at (95.015625,104.875) content-size 76.28125x17.46875 table-cell [BFC] children: inline
                 line 0 width: 53.671875, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 53.671875, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 7, rect: [94.015625,103.875 53.671875x17.46875]
+                  frag 0 from TextNode start: 0, length: 7, rect: [95.015625,104.875 53.671875x17.46875]
                     "Griffin"
                     "Griffin"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
             BlockContainer <(anonymous)> (not painted) children: inline
             BlockContainer <(anonymous)> (not painted) children: inline
               TextNode <#text>
               TextNode <#text>
-            Box <tr> at (8,122.84375) content-size 163.296875x19.96875 table-row children: not-inline
+            Box <tr> at (8,124.34375) content-size 164.296875x20.46875 table-row children: not-inline
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
-              BlockContainer <td> at (9,124.34375) content-size 82.015625x17.46875 table-cell [BFC] children: inline
+              BlockContainer <td> at (9,126.34375) content-size 82.015625x17.46875 table-cell [BFC] children: inline
                 line 0 width: 35.125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 35.125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 4, rect: [9,124.34375 35.125x17.46875]
+                  frag 0 from TextNode start: 0, length: 4, rect: [9,126.34375 35.125x17.46875]
                     "Lois"
                     "Lois"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
-              BlockContainer <td> at (94.015625,124.34375) content-size 76.28125x17.46875 table-cell [BFC] children: inline
+              BlockContainer <td> at (95.015625,126.34375) content-size 76.28125x17.46875 table-cell [BFC] children: inline
                 line 0 width: 53.671875, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 53.671875, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 7, rect: [94.015625,124.34375 53.671875x17.46875]
+                  frag 0 from TextNode start: 0, length: 7, rect: [95.015625,126.34375 53.671875x17.46875]
                     "Griffin"
                     "Griffin"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
             BlockContainer <(anonymous)> (not painted) children: inline
             BlockContainer <(anonymous)> (not painted) children: inline
               TextNode <#text>
               TextNode <#text>
-      BlockContainer <(anonymous)> at (8,142.8125) content-size 784x0 children: inline
+      BlockContainer <(anonymous)> at (8,144.8125) content-size 784x0 children: inline
         TextNode <#text>
         TextNode <#text>
         TextNode <#text>
         TextNode <#text>
-      TableWrapper <(anonymous)> at (8,142.8125) content-size 159.296875x54.40625 [BFC] children: not-inline
-        Box <div.table.border-black> at (8,142.8125) content-size 159.296875x54.40625 table-box [TFC] children: not-inline
+      TableWrapper <(anonymous)> at (8,144.8125) content-size 160.296875x56.40625 [BFC] children: not-inline
+        Box <div.table.border-black> at (8,144.8125) content-size 160.296875x56.40625 table-box [TFC] children: not-inline
           BlockContainer <(anonymous)> (not painted) children: inline
           BlockContainer <(anonymous)> (not painted) children: inline
             TextNode <#text>
             TextNode <#text>
-          Box <div.table-row.border-black> at (8,142.8125) content-size 159.296875x17.96875 table-row children: not-inline
+          Box <div.table-row.border-black> at (8,144.8125) content-size 160.296875x18.46875 table-row children: not-inline
             BlockContainer <(anonymous)> (not painted) children: inline
             BlockContainer <(anonymous)> (not painted) children: inline
               TextNode <#text>
               TextNode <#text>
-            BlockContainer <div.table-cell.border-black> at (8,142.8125) content-size 82.015625x17.46875 table-cell [BFC] children: inline
+            BlockContainer <div.table-cell.border-black> at (8,144.8125) content-size 82.015625x17.46875 table-cell [BFC] children: inline
               line 0 width: 82.015625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
               line 0 width: 82.015625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                frag 0 from TextNode start: 0, length: 9, rect: [8,142.8125 82.015625x17.46875]
+                frag 0 from TextNode start: 0, length: 9, rect: [8,144.8125 82.015625x17.46875]
                   "Firstname"
                   "Firstname"
               TextNode <#text>
               TextNode <#text>
             BlockContainer <(anonymous)> (not painted) children: inline
             BlockContainer <(anonymous)> (not painted) children: inline
               TextNode <#text>
               TextNode <#text>
-            BlockContainer <div.table-cell.border-black> at (91.015625,142.8125) content-size 76.28125x17.46875 table-cell [BFC] children: inline
+            BlockContainer <div.table-cell.border-black> at (92.015625,144.8125) content-size 76.28125x17.46875 table-cell [BFC] children: inline
               line 0 width: 76.28125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
               line 0 width: 76.28125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                frag 0 from TextNode start: 0, length: 8, rect: [91.015625,142.8125 76.28125x17.46875]
+                frag 0 from TextNode start: 0, length: 8, rect: [92.015625,144.8125 76.28125x17.46875]
                   "Lastname"
                   "Lastname"
               TextNode <#text>
               TextNode <#text>
             BlockContainer <(anonymous)> (not painted) children: inline
             BlockContainer <(anonymous)> (not painted) children: inline
               TextNode <#text>
               TextNode <#text>
           BlockContainer <(anonymous)> (not painted) children: inline
           BlockContainer <(anonymous)> (not painted) children: inline
             TextNode <#text>
             TextNode <#text>
-          Box <div.table-row.border-black> at (8,160.78125) content-size 159.296875x18.46875 table-row children: not-inline
+          Box <div.table-row.border-black> at (8,163.28125) content-size 160.296875x19.46875 table-row children: not-inline
             BlockContainer <(anonymous)> (not painted) children: inline
             BlockContainer <(anonymous)> (not painted) children: inline
               TextNode <#text>
               TextNode <#text>
-            BlockContainer <div.table-cell.border-black> at (8,161.28125) content-size 82.015625x17.46875 table-cell [BFC] children: inline
+            BlockContainer <div.table-cell.border-black> at (8,164.28125) content-size 82.015625x17.46875 table-cell [BFC] children: inline
               line 0 width: 44.65625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
               line 0 width: 44.65625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                frag 0 from TextNode start: 0, length: 5, rect: [8,161.28125 44.65625x17.46875]
+                frag 0 from TextNode start: 0, length: 5, rect: [8,164.28125 44.65625x17.46875]
                   "Peter"
                   "Peter"
               TextNode <#text>
               TextNode <#text>
             BlockContainer <(anonymous)> (not painted) children: inline
             BlockContainer <(anonymous)> (not painted) children: inline
               TextNode <#text>
               TextNode <#text>
-            BlockContainer <div.table-cell.border-black> at (91.015625,161.28125) content-size 76.28125x17.46875 table-cell [BFC] children: inline
+            BlockContainer <div.table-cell.border-black> at (92.015625,164.28125) content-size 76.28125x17.46875 table-cell [BFC] children: inline
               line 0 width: 53.671875, height: 17.46875, bottom: 17.46875, baseline: 13.53125
               line 0 width: 53.671875, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                frag 0 from TextNode start: 0, length: 7, rect: [91.015625,161.28125 53.671875x17.46875]
+                frag 0 from TextNode start: 0, length: 7, rect: [92.015625,164.28125 53.671875x17.46875]
                   "Griffin"
                   "Griffin"
               TextNode <#text>
               TextNode <#text>
             BlockContainer <(anonymous)> (not painted) children: inline
             BlockContainer <(anonymous)> (not painted) children: inline
               TextNode <#text>
               TextNode <#text>
           BlockContainer <(anonymous)> (not painted) children: inline
           BlockContainer <(anonymous)> (not painted) children: inline
             TextNode <#text>
             TextNode <#text>
-          Box <div.table-row.border-black> at (8,179.25) content-size 159.296875x17.96875 table-row children: not-inline
+          Box <div.table-row.border-black> at (8,182.75) content-size 160.296875x18.46875 table-row children: not-inline
             BlockContainer <(anonymous)> (not painted) children: inline
             BlockContainer <(anonymous)> (not painted) children: inline
               TextNode <#text>
               TextNode <#text>
-            BlockContainer <div.table-cell.border-black> at (8,179.75) content-size 82.015625x17.46875 table-cell [BFC] children: inline
+            BlockContainer <div.table-cell.border-black> at (8,183.75) content-size 82.015625x17.46875 table-cell [BFC] children: inline
               line 0 width: 35.125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
               line 0 width: 35.125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                frag 0 from TextNode start: 0, length: 4, rect: [8,179.75 35.125x17.46875]
+                frag 0 from TextNode start: 0, length: 4, rect: [8,183.75 35.125x17.46875]
                   "Lois"
                   "Lois"
               TextNode <#text>
               TextNode <#text>
             BlockContainer <(anonymous)> (not painted) children: inline
             BlockContainer <(anonymous)> (not painted) children: inline
               TextNode <#text>
               TextNode <#text>
-            BlockContainer <div.table-cell.border-black> at (91.015625,179.75) content-size 76.28125x17.46875 table-cell [BFC] children: inline
+            BlockContainer <div.table-cell.border-black> at (92.015625,183.75) content-size 76.28125x17.46875 table-cell [BFC] children: inline
               line 0 width: 53.671875, height: 17.46875, bottom: 17.46875, baseline: 13.53125
               line 0 width: 53.671875, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                frag 0 from TextNode start: 0, length: 7, rect: [91.015625,179.75 53.671875x17.46875]
+                frag 0 from TextNode start: 0, length: 7, rect: [92.015625,183.75 53.671875x17.46875]
                   "Griffin"
                   "Griffin"
               TextNode <#text>
               TextNode <#text>
             BlockContainer <(anonymous)> (not painted) children: inline
             BlockContainer <(anonymous)> (not painted) children: inline
               TextNode <#text>
               TextNode <#text>
           BlockContainer <(anonymous)> (not painted) children: inline
           BlockContainer <(anonymous)> (not painted) children: inline
             TextNode <#text>
             TextNode <#text>
-      BlockContainer <(anonymous)> at (8,197.21875) content-size 784x0 children: inline
+      BlockContainer <(anonymous)> at (8,201.21875) content-size 784x0 children: inline
         TextNode <#text>
         TextNode <#text>
         TextNode <#text>
         TextNode <#text>
-      TableWrapper <(anonymous)> at (8,197.21875) content-size 168.296875x72.40625 [BFC] children: not-inline
-        Box <div.table.thick-border-black> at (8,197.21875) content-size 168.296875x72.40625 table-box [TFC] children: not-inline
+      TableWrapper <(anonymous)> at (8,201.21875) content-size 168.296875x72.40625 [BFC] children: not-inline
+        Box <div.table.thick-border-black> at (8,201.21875) content-size 168.296875x72.40625 table-box [TFC] children: not-inline
           BlockContainer <(anonymous)> (not painted) children: inline
           BlockContainer <(anonymous)> (not painted) children: inline
             TextNode <#text>
             TextNode <#text>
-          Box <div.table-row.thick-border-black> at (8,197.21875) content-size 168.296875x22.46875 table-row children: not-inline
+          Box <div.table-row.thick-border-black> at (8,201.21875) content-size 168.296875x22.46875 table-row children: not-inline
             BlockContainer <(anonymous)> (not painted) children: inline
             BlockContainer <(anonymous)> (not painted) children: inline
               TextNode <#text>
               TextNode <#text>
-            BlockContainer <div.table-cell.thick-border-black> at (8,197.21875) content-size 82.015625x17.46875 table-cell [BFC] children: inline
+            BlockContainer <div.table-cell.thick-border-black> at (8,201.21875) content-size 82.015625x17.46875 table-cell [BFC] children: inline
               line 0 width: 82.015625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
               line 0 width: 82.015625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                frag 0 from TextNode start: 0, length: 9, rect: [8,197.21875 82.015625x17.46875]
+                frag 0 from TextNode start: 0, length: 9, rect: [8,201.21875 82.015625x17.46875]
                   "Firstname"
                   "Firstname"
               TextNode <#text>
               TextNode <#text>
             BlockContainer <(anonymous)> (not painted) children: inline
             BlockContainer <(anonymous)> (not painted) children: inline
               TextNode <#text>
               TextNode <#text>
-            BlockContainer <div.table-cell.thick-border-black> at (100.015625,197.21875) content-size 76.28125x17.46875 table-cell [BFC] children: inline
+            BlockContainer <div.table-cell.thick-border-black> at (100.015625,201.21875) content-size 76.28125x17.46875 table-cell [BFC] children: inline
               line 0 width: 76.28125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
               line 0 width: 76.28125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                frag 0 from TextNode start: 0, length: 8, rect: [100.015625,197.21875 76.28125x17.46875]
+                frag 0 from TextNode start: 0, length: 8, rect: [100.015625,201.21875 76.28125x17.46875]
                   "Lastname"
                   "Lastname"
               TextNode <#text>
               TextNode <#text>
             BlockContainer <(anonymous)> (not painted) children: inline
             BlockContainer <(anonymous)> (not painted) children: inline
               TextNode <#text>
               TextNode <#text>
           BlockContainer <(anonymous)> (not painted) children: inline
           BlockContainer <(anonymous)> (not painted) children: inline
             TextNode <#text>
             TextNode <#text>
-          Box <div.table-row.thick-border-black> at (8,219.6875) content-size 168.296875x27.46875 table-row children: not-inline
+          Box <div.table-row.thick-border-black> at (8,223.6875) content-size 168.296875x27.46875 table-row children: not-inline
             BlockContainer <(anonymous)> (not painted) children: inline
             BlockContainer <(anonymous)> (not painted) children: inline
               TextNode <#text>
               TextNode <#text>
-            BlockContainer <div.table-cell.thick-border-black> at (8,224.6875) content-size 82.015625x17.46875 table-cell [BFC] children: inline
+            BlockContainer <div.table-cell.thick-border-black> at (8,228.6875) content-size 82.015625x17.46875 table-cell [BFC] children: inline
               line 0 width: 44.65625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
               line 0 width: 44.65625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                frag 0 from TextNode start: 0, length: 5, rect: [8,224.6875 44.65625x17.46875]
+                frag 0 from TextNode start: 0, length: 5, rect: [8,228.6875 44.65625x17.46875]
                   "Peter"
                   "Peter"
               TextNode <#text>
               TextNode <#text>
             BlockContainer <(anonymous)> (not painted) children: inline
             BlockContainer <(anonymous)> (not painted) children: inline
               TextNode <#text>
               TextNode <#text>
-            BlockContainer <div.table-cell.thick-border-black> at (100.015625,224.6875) content-size 76.28125x17.46875 table-cell [BFC] children: inline
+            BlockContainer <div.table-cell.thick-border-black> at (100.015625,228.6875) content-size 76.28125x17.46875 table-cell [BFC] children: inline
               line 0 width: 53.671875, height: 17.46875, bottom: 17.46875, baseline: 13.53125
               line 0 width: 53.671875, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                frag 0 from TextNode start: 0, length: 7, rect: [100.015625,224.6875 53.671875x17.46875]
+                frag 0 from TextNode start: 0, length: 7, rect: [100.015625,228.6875 53.671875x17.46875]
                   "Griffin"
                   "Griffin"
               TextNode <#text>
               TextNode <#text>
             BlockContainer <(anonymous)> (not painted) children: inline
             BlockContainer <(anonymous)> (not painted) children: inline
               TextNode <#text>
               TextNode <#text>
           BlockContainer <(anonymous)> (not painted) children: inline
           BlockContainer <(anonymous)> (not painted) children: inline
             TextNode <#text>
             TextNode <#text>
-          Box <div.table-row.thick-border-black> at (8,247.15625) content-size 168.296875x22.46875 table-row children: not-inline
+          Box <div.table-row.thick-border-black> at (8,251.15625) content-size 168.296875x22.46875 table-row children: not-inline
             BlockContainer <(anonymous)> (not painted) children: inline
             BlockContainer <(anonymous)> (not painted) children: inline
               TextNode <#text>
               TextNode <#text>
-            BlockContainer <div.table-cell.thick-border-black> at (8,252.15625) content-size 82.015625x17.46875 table-cell [BFC] children: inline
+            BlockContainer <div.table-cell.thick-border-black> at (8,256.15625) content-size 82.015625x17.46875 table-cell [BFC] children: inline
               line 0 width: 35.125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
               line 0 width: 35.125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                frag 0 from TextNode start: 0, length: 4, rect: [8,252.15625 35.125x17.46875]
+                frag 0 from TextNode start: 0, length: 4, rect: [8,256.15625 35.125x17.46875]
                   "Lois"
                   "Lois"
               TextNode <#text>
               TextNode <#text>
             BlockContainer <(anonymous)> (not painted) children: inline
             BlockContainer <(anonymous)> (not painted) children: inline
               TextNode <#text>
               TextNode <#text>
-            BlockContainer <div.table-cell.thick-border-black> at (100.015625,252.15625) content-size 76.28125x17.46875 table-cell [BFC] children: inline
+            BlockContainer <div.table-cell.thick-border-black> at (100.015625,256.15625) content-size 76.28125x17.46875 table-cell [BFC] children: inline
               line 0 width: 53.671875, height: 17.46875, bottom: 17.46875, baseline: 13.53125
               line 0 width: 53.671875, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                frag 0 from TextNode start: 0, length: 7, rect: [100.015625,252.15625 53.671875x17.46875]
+                frag 0 from TextNode start: 0, length: 7, rect: [100.015625,256.15625 53.671875x17.46875]
                   "Griffin"
                   "Griffin"
               TextNode <#text>
               TextNode <#text>
             BlockContainer <(anonymous)> (not painted) children: inline
             BlockContainer <(anonymous)> (not painted) children: inline
               TextNode <#text>
               TextNode <#text>
           BlockContainer <(anonymous)> (not painted) children: inline
           BlockContainer <(anonymous)> (not painted) children: inline
             TextNode <#text>
             TextNode <#text>
-      BlockContainer <(anonymous)> at (8,269.625) content-size 784x0 children: inline
+      BlockContainer <(anonymous)> at (8,273.625) content-size 784x0 children: inline
         TextNode <#text>
         TextNode <#text>
 
 
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
   PaintableWithLines (BlockContainer<HTML>) [0,0 800x600]
   PaintableWithLines (BlockContainer<HTML>) [0,0 800x600]
-    PaintableWithLines (BlockContainer<BODY>) [8,8 784x261.625]
+    PaintableWithLines (BlockContainer<BODY>) [8,8 784x265.625]
       PaintableWithLines (TableWrapper(anonymous)) [8,8 174.296875x74.40625]
       PaintableWithLines (TableWrapper(anonymous)) [8,8 174.296875x74.40625]
         PaintableBox (Box<TABLE>.table-border-black) [8,8 174.296875x74.40625]
         PaintableBox (Box<TABLE>.table-border-black) [8,8 174.296875x74.40625]
           PaintableBox (Box<TBODY>) [9,9 166.296875x64.40625] overflow: [9,9 170.296875x70.40625]
           PaintableBox (Box<TBODY>) [9,9 166.296875x64.40625] overflow: [9,9 170.296875x70.40625]
@@ -281,58 +281,58 @@ PaintableWithLines (Viewport<#document>) [0,0 800x600]
               PaintableWithLines (BlockContainer<TD>) [99.015625,57.9375 80.28125x21.46875]
               PaintableWithLines (BlockContainer<TD>) [99.015625,57.9375 80.28125x21.46875]
                 TextPaintable (TextNode<#text>)
                 TextPaintable (TextNode<#text>)
       PaintableWithLines (BlockContainer(anonymous)) [8,82.40625 784x0]
       PaintableWithLines (BlockContainer(anonymous)) [8,82.40625 784x0]
-      PaintableWithLines (TableWrapper(anonymous)) [8,82.40625 163.296875x60.40625]
-        PaintableBox (Box<TABLE>.table-border-black) [8,82.40625 163.296875x60.40625]
-          PaintableBox (Box<TBODY>) [8,82.40625 163.296875x60.40625]
-            PaintableBox (Box<TR>) [8,82.40625 163.296875x19.96875]
-              PaintableWithLines (BlockContainer<TD>) [8,82.40625 84.515625x19.96875]
+      PaintableWithLines (TableWrapper(anonymous)) [8,82.40625 164.296875x62.40625]
+        PaintableBox (Box<TABLE>.table-border-black) [8,82.40625 164.296875x62.40625]
+          PaintableBox (Box<TBODY>) [8,82.40625 164.296875x62.40625]
+            PaintableBox (Box<TR>) [8,82.40625 164.296875x20.46875]
+              PaintableWithLines (BlockContainer<TD>) [8,82.40625 85.015625x20.46875]
                 TextPaintable (TextNode<#text>)
                 TextPaintable (TextNode<#text>)
-              PaintableWithLines (BlockContainer<TD>) [92.515625,82.40625 78.78125x19.96875]
+              PaintableWithLines (BlockContainer<TD>) [93.015625,82.40625 79.28125x20.46875]
                 TextPaintable (TextNode<#text>)
                 TextPaintable (TextNode<#text>)
-            PaintableBox (Box<TR>) [8,102.375 163.296875x20.46875]
-              PaintableWithLines (BlockContainer<TD>) [8,102.375 84.515625x20.46875]
+            PaintableBox (Box<TR>) [8,102.875 164.296875x21.46875]
+              PaintableWithLines (BlockContainer<TD>) [8,102.875 85.015625x21.46875]
                 TextPaintable (TextNode<#text>)
                 TextPaintable (TextNode<#text>)
-              PaintableWithLines (BlockContainer<TD>) [92.515625,102.375 78.78125x20.46875]
+              PaintableWithLines (BlockContainer<TD>) [93.015625,102.875 79.28125x21.46875]
                 TextPaintable (TextNode<#text>)
                 TextPaintable (TextNode<#text>)
-            PaintableBox (Box<TR>) [8,122.84375 163.296875x19.96875]
-              PaintableWithLines (BlockContainer<TD>) [8,122.84375 84.515625x19.96875]
+            PaintableBox (Box<TR>) [8,124.34375 164.296875x20.46875]
+              PaintableWithLines (BlockContainer<TD>) [8,124.34375 85.015625x20.46875]
                 TextPaintable (TextNode<#text>)
                 TextPaintable (TextNode<#text>)
-              PaintableWithLines (BlockContainer<TD>) [92.515625,122.84375 78.78125x19.96875]
+              PaintableWithLines (BlockContainer<TD>) [93.015625,124.34375 79.28125x20.46875]
                 TextPaintable (TextNode<#text>)
                 TextPaintable (TextNode<#text>)
-      PaintableWithLines (BlockContainer(anonymous)) [8,142.8125 784x0]
-      PaintableWithLines (TableWrapper(anonymous)) [8,142.8125 159.296875x54.40625]
-        PaintableBox (Box<DIV>.table.border-black) [8,142.8125 159.296875x54.40625]
-          PaintableBox (Box<DIV>.table-row.border-black) [8,142.8125 159.296875x17.96875]
-            PaintableWithLines (BlockContainer<DIV>.table-cell.border-black) [8,142.8125 82.515625x17.96875]
+      PaintableWithLines (BlockContainer(anonymous)) [8,144.8125 784x0]
+      PaintableWithLines (TableWrapper(anonymous)) [8,144.8125 160.296875x56.40625]
+        PaintableBox (Box<DIV>.table.border-black) [8,144.8125 160.296875x56.40625]
+          PaintableBox (Box<DIV>.table-row.border-black) [8,144.8125 160.296875x18.46875]
+            PaintableWithLines (BlockContainer<DIV>.table-cell.border-black) [8,144.8125 83.015625x18.46875]
               TextPaintable (TextNode<#text>)
               TextPaintable (TextNode<#text>)
-            PaintableWithLines (BlockContainer<DIV>.table-cell.border-black) [90.515625,142.8125 76.78125x17.96875]
+            PaintableWithLines (BlockContainer<DIV>.table-cell.border-black) [91.015625,144.8125 77.28125x18.46875]
               TextPaintable (TextNode<#text>)
               TextPaintable (TextNode<#text>)
-          PaintableBox (Box<DIV>.table-row.border-black) [8,160.78125 159.296875x18.46875]
-            PaintableWithLines (BlockContainer<DIV>.table-cell.border-black) [8,160.78125 82.515625x18.46875]
+          PaintableBox (Box<DIV>.table-row.border-black) [8,163.28125 160.296875x19.46875]
+            PaintableWithLines (BlockContainer<DIV>.table-cell.border-black) [8,163.28125 83.015625x19.46875]
               TextPaintable (TextNode<#text>)
               TextPaintable (TextNode<#text>)
-            PaintableWithLines (BlockContainer<DIV>.table-cell.border-black) [90.515625,160.78125 76.78125x18.46875]
+            PaintableWithLines (BlockContainer<DIV>.table-cell.border-black) [91.015625,163.28125 77.28125x19.46875]
               TextPaintable (TextNode<#text>)
               TextPaintable (TextNode<#text>)
-          PaintableBox (Box<DIV>.table-row.border-black) [8,179.25 159.296875x17.96875]
-            PaintableWithLines (BlockContainer<DIV>.table-cell.border-black) [8,179.25 82.515625x17.96875]
+          PaintableBox (Box<DIV>.table-row.border-black) [8,182.75 160.296875x18.46875]
+            PaintableWithLines (BlockContainer<DIV>.table-cell.border-black) [8,182.75 83.015625x18.46875]
               TextPaintable (TextNode<#text>)
               TextPaintable (TextNode<#text>)
-            PaintableWithLines (BlockContainer<DIV>.table-cell.border-black) [90.515625,179.25 76.78125x17.96875]
+            PaintableWithLines (BlockContainer<DIV>.table-cell.border-black) [91.015625,182.75 77.28125x18.46875]
               TextPaintable (TextNode<#text>)
               TextPaintable (TextNode<#text>)
-      PaintableWithLines (BlockContainer(anonymous)) [8,197.21875 784x0]
-      PaintableWithLines (TableWrapper(anonymous)) [8,197.21875 168.296875x72.40625]
-        PaintableBox (Box<DIV>.table.thick-border-black) [8,197.21875 168.296875x72.40625]
-          PaintableBox (Box<DIV>.table-row.thick-border-black) [8,197.21875 168.296875x22.46875]
-            PaintableWithLines (BlockContainer<DIV>.table-cell.thick-border-black) [8,197.21875 87.015625x22.46875]
+      PaintableWithLines (BlockContainer(anonymous)) [8,201.21875 784x0]
+      PaintableWithLines (TableWrapper(anonymous)) [8,201.21875 168.296875x72.40625]
+        PaintableBox (Box<DIV>.table.thick-border-black) [8,201.21875 168.296875x72.40625]
+          PaintableBox (Box<DIV>.table-row.thick-border-black) [8,201.21875 168.296875x22.46875]
+            PaintableWithLines (BlockContainer<DIV>.table-cell.thick-border-black) [8,201.21875 87.015625x22.46875]
               TextPaintable (TextNode<#text>)
               TextPaintable (TextNode<#text>)
-            PaintableWithLines (BlockContainer<DIV>.table-cell.thick-border-black) [95.015625,197.21875 81.28125x22.46875]
+            PaintableWithLines (BlockContainer<DIV>.table-cell.thick-border-black) [95.015625,201.21875 81.28125x22.46875]
               TextPaintable (TextNode<#text>)
               TextPaintable (TextNode<#text>)
-          PaintableBox (Box<DIV>.table-row.thick-border-black) [8,219.6875 168.296875x27.46875]
-            PaintableWithLines (BlockContainer<DIV>.table-cell.thick-border-black) [8,219.6875 87.015625x27.46875]
+          PaintableBox (Box<DIV>.table-row.thick-border-black) [8,223.6875 168.296875x27.46875]
+            PaintableWithLines (BlockContainer<DIV>.table-cell.thick-border-black) [8,223.6875 87.015625x27.46875]
               TextPaintable (TextNode<#text>)
               TextPaintable (TextNode<#text>)
-            PaintableWithLines (BlockContainer<DIV>.table-cell.thick-border-black) [95.015625,219.6875 81.28125x27.46875]
+            PaintableWithLines (BlockContainer<DIV>.table-cell.thick-border-black) [95.015625,223.6875 81.28125x27.46875]
               TextPaintable (TextNode<#text>)
               TextPaintable (TextNode<#text>)
-          PaintableBox (Box<DIV>.table-row.thick-border-black) [8,247.15625 168.296875x22.46875]
-            PaintableWithLines (BlockContainer<DIV>.table-cell.thick-border-black) [8,247.15625 87.015625x22.46875]
+          PaintableBox (Box<DIV>.table-row.thick-border-black) [8,251.15625 168.296875x22.46875]
+            PaintableWithLines (BlockContainer<DIV>.table-cell.thick-border-black) [8,251.15625 87.015625x22.46875]
               TextPaintable (TextNode<#text>)
               TextPaintable (TextNode<#text>)
-            PaintableWithLines (BlockContainer<DIV>.table-cell.thick-border-black) [95.015625,247.15625 81.28125x22.46875]
+            PaintableWithLines (BlockContainer<DIV>.table-cell.thick-border-black) [95.015625,251.15625 81.28125x22.46875]
               TextPaintable (TextNode<#text>)
               TextPaintable (TextNode<#text>)
-      PaintableWithLines (BlockContainer(anonymous)) [8,269.625 784x0]
+      PaintableWithLines (BlockContainer(anonymous)) [8,273.625 784x0]

+ 2 - 2
Tests/LibWeb/Layout/expected/table/bottom-caption.txt

@@ -9,7 +9,7 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
             TextNode <#text>
             TextNode <#text>
           BlockContainer <caption> at (8,74.40625) content-size 82.734375x17.46875 [BFC] children: inline
           BlockContainer <caption> at (8,74.40625) content-size 82.734375x17.46875 [BFC] children: inline
             line 0 width: 82.734375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
             line 0 width: 82.734375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-              frag 0 from TextNode start: 1, length: 9, rect: [16.21875,74.40625 82.734375x17.46875]
+              frag 0 from TextNode start: 1, length: 9, rect: [16,74.40625 82.734375x17.46875]
                 "A Caption"
                 "A Caption"
             TextNode <#text>
             TextNode <#text>
           BlockContainer <(anonymous)> (not painted) children: inline
           BlockContainer <(anonymous)> (not painted) children: inline
@@ -74,7 +74,7 @@ PaintableWithLines (Viewport<#document>) [0,0 800x600]
     PaintableWithLines (BlockContainer<BODY>) [8,8 784x83.875]
     PaintableWithLines (BlockContainer<BODY>) [8,8 784x83.875]
       PaintableWithLines (TableWrapper(anonymous)) [8,8 99.171875x83.875]
       PaintableWithLines (TableWrapper(anonymous)) [8,8 99.171875x83.875]
         PaintableBox (Box<TABLE>#full-table) [8,8 99.171875x66.40625] overflow: [8,8 99.171875x83.875]
         PaintableBox (Box<TABLE>#full-table) [8,8 99.171875x66.40625] overflow: [8,8 99.171875x83.875]
-          PaintableWithLines (BlockContainer<CAPTION>) [8,74.40625 82.734375x17.46875] overflow: [8,74.40625 90.953125x17.46875]
+          PaintableWithLines (BlockContainer<CAPTION>) [8,74.40625 82.734375x17.46875] overflow: [8,74.40625 90.734375x17.46875]
             TextPaintable (TextNode<#text>)
             TextPaintable (TextNode<#text>)
           PaintableBox (Box<THEAD>) [8,8 95.171875x19.46875] overflow: [8,8 97.171875x21.46875]
           PaintableBox (Box<THEAD>) [8,8 95.171875x19.46875] overflow: [8,8 97.171875x21.46875]
             PaintableBox (Box<TR>) [10,10 95.171875x19.46875]
             PaintableBox (Box<TR>) [10,10 95.171875x19.46875]

+ 6 - 6
Tests/LibWeb/Layout/expected/table/cell-relative-to-specified-table-width.txt

@@ -13,21 +13,21 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <th> at (11,11) content-size 300.640625x17.46875 table-cell [BFC] children: inline
               BlockContainer <th> at (11,11) content-size 300.640625x17.46875 table-cell [BFC] children: inline
                 line 0 width: 14.265625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 14.265625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 1, rect: [154.1875,11 14.265625x17.46875]
+                  frag 0 from TextNode start: 0, length: 1, rect: [154,11 14.265625x17.46875]
                     "A"
                     "A"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <th> at (315.640625,11) content-size 168.71875x17.46875 table-cell [BFC] children: inline
               BlockContainer <th> at (315.640625,11) content-size 168.71875x17.46875 table-cell [BFC] children: inline
                 line 0 width: 9.34375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 9.34375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 1, rect: [395.328125,11 9.34375x17.46875]
+                  frag 0 from TextNode start: 0, length: 1, rect: [395.640625,11 9.34375x17.46875]
                     "B"
                     "B"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <th> at (488.359375,11) content-size 300.640625x17.46875 table-cell [BFC] children: inline
               BlockContainer <th> at (488.359375,11) content-size 300.640625x17.46875 table-cell [BFC] children: inline
                 line 0 width: 29.453125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 29.453125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 3, rect: [623.953125,11 29.453125x17.46875]
+                  frag 0 from TextNode start: 0, length: 3, rect: [624.359375,11 29.453125x17.46875]
                     "C D"
                     "C D"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
@@ -39,21 +39,21 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <td> at (11,32.46875) content-size 300.640625x17.46875 table-cell [BFC] children: inline
               BlockContainer <td> at (11,32.46875) content-size 300.640625x17.46875 table-cell [BFC] children: inline
                 line 0 width: 11.859375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 11.859375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 1, rect: [155.390625,32.46875 11.859375x17.46875]
+                  frag 0 from TextNode start: 0, length: 1, rect: [155,32.46875 11.859375x17.46875]
                     "E"
                     "E"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <td> at (315.640625,32.46875) content-size 168.71875x17.46875 table-cell [BFC] children: inline
               BlockContainer <td> at (315.640625,32.46875) content-size 168.71875x17.46875 table-cell [BFC] children: inline
                 line 0 width: 12.546875, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 12.546875, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 1, rect: [393.71875,32.46875 12.546875x17.46875]
+                  frag 0 from TextNode start: 0, length: 1, rect: [393.640625,32.46875 12.546875x17.46875]
                     "F"
                     "F"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <td> at (488.359375,32.46875) content-size 300.640625x17.46875 table-cell [BFC] children: inline
               BlockContainer <td> at (488.359375,32.46875) content-size 300.640625x17.46875 table-cell [BFC] children: inline
                 line 0 width: 13.234375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 13.234375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 1, rect: [632.0625,32.46875 13.234375x17.46875]
+                  frag 0 from TextNode start: 0, length: 1, rect: [632.359375,32.46875 13.234375x17.46875]
                     "G"
                     "G"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline

+ 32 - 32
Tests/LibWeb/Layout/expected/table/clip-spans-to-table-end.txt

@@ -1,62 +1,62 @@
 Viewport <#document> at (0,0) content-size 800x600 children: not-inline
 Viewport <#document> at (0,0) content-size 800x600 children: not-inline
   BlockContainer <html> at (0,0) content-size 800x600 [BFC] children: not-inline
   BlockContainer <html> at (0,0) content-size 800x600 [BFC] children: not-inline
-    BlockContainer <body> at (8,8) content-size 784x115.40625 children: not-inline
-      TableWrapper <(anonymous)> at (8,8) content-size 89.359375x115.40625 [BFC] children: not-inline
-        Box <table> at (8,8) content-size 89.359375x115.40625 table-box [TFC] children: not-inline
+    BlockContainer <body> at (8,8) content-size 784x118.40625 children: not-inline
+      TableWrapper <(anonymous)> at (8,8) content-size 92.359375x118.40625 [BFC] children: not-inline
+        Box <table> at (8,8) content-size 92.359375x118.40625 table-box [TFC] children: not-inline
           BlockContainer <(anonymous)> (not painted) children: inline
           BlockContainer <(anonymous)> (not painted) children: inline
             TextNode <#text>
             TextNode <#text>
-          Box <tbody> at (8,8) content-size 89.359375x115.40625 table-row-group children: not-inline
-            Box <tr> at (8,8) content-size 89.359375x38.46875 table-row children: not-inline
+          Box <tbody> at (8,8) content-size 92.359375x118.40625 table-row-group children: not-inline
+            Box <tr> at (8,8) content-size 92.359375x39.46875 table-row children: not-inline
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
-              BlockContainer <td> at (18.5,18.5) content-size 8.453125x17.46875 table-cell [BFC] children: inline
+              BlockContainer <td> at (19,19) content-size 8.453125x17.46875 table-cell [BFC] children: inline
                 line 0 width: 6.34375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 6.34375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 1, rect: [18.5,18.5 6.34375x17.46875]
+                  frag 0 from TextNode start: 0, length: 1, rect: [19,19 6.34375x17.46875]
                     "1"
                     "1"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
-              BlockContainer <td> at (47.953125,18.5) content-size 8.8125x17.46875 table-cell [BFC] children: inline
+              BlockContainer <td> at (49.453125,19) content-size 8.8125x17.46875 table-cell [BFC] children: inline
                 line 0 width: 8.8125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 8.8125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 1, rect: [47.953125,18.5 8.8125x17.46875]
+                  frag 0 from TextNode start: 0, length: 1, rect: [49.453125,19 8.8125x17.46875]
                     "2"
                     "2"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
-              BlockContainer <td> at (77.765625,18.5) content-size 9.09375x17.46875 table-cell [BFC] children: inline
+              BlockContainer <td> at (80.265625,19) content-size 9.09375x17.46875 table-cell [BFC] children: inline
                 line 0 width: 9.09375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 9.09375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 1, rect: [77.765625,18.5 9.09375x17.46875]
+                  frag 0 from TextNode start: 0, length: 1, rect: [80.265625,19 9.09375x17.46875]
                     "3"
                     "3"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
             BlockContainer <(anonymous)> (not painted) children: inline
             BlockContainer <(anonymous)> (not painted) children: inline
               TextNode <#text>
               TextNode <#text>
-            Box <tr> at (8,46.46875) content-size 89.359375x38.46875 table-row children: not-inline
+            Box <tr> at (8,47.46875) content-size 92.359375x39.46875 table-row children: not-inline
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
-              BlockContainer <td> at (18.5,56.96875) content-size 8.453125x17.46875 table-cell [BFC] children: inline
+              BlockContainer <td> at (19,58.46875) content-size 8.453125x17.46875 table-cell [BFC] children: inline
                 line 0 width: 7.75, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 7.75, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 1, rect: [18.5,56.96875 7.75x17.46875]
+                  frag 0 from TextNode start: 0, length: 1, rect: [19,58.46875 7.75x17.46875]
                     "4"
                     "4"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
-              BlockContainer <td> at (47.953125,76.203125) content-size 38.90625x17.46875 table-cell [BFC] children: inline
+              BlockContainer <td> at (49.453125,78.203125) content-size 39.90625x17.46875 table-cell [BFC] children: inline
                 line 0 width: 24.046875, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 24.046875, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 3, rect: [47.953125,76.203125 24.046875x17.46875]
+                  frag 0 from TextNode start: 0, length: 3, rect: [49.453125,78.203125 24.046875x17.46875]
                     "6-9"
                     "6-9"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
             BlockContainer <(anonymous)> (not painted) children: inline
             BlockContainer <(anonymous)> (not painted) children: inline
               TextNode <#text>
               TextNode <#text>
-            Box <tr> at (8,84.9375) content-size 89.359375x38.46875 table-row children: not-inline
+            Box <tr> at (8,86.9375) content-size 92.359375x39.46875 table-row children: not-inline
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
-              BlockContainer <td> at (18.5,95.4375) content-size 8.453125x17.46875 table-cell [BFC] children: inline
+              BlockContainer <td> at (19,97.9375) content-size 8.453125x17.46875 table-cell [BFC] children: inline
                 line 0 width: 8.453125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 8.453125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 1, rect: [18.5,95.4375 8.453125x17.46875]
+                  frag 0 from TextNode start: 0, length: 1, rect: [19,97.9375 8.453125x17.46875]
                     "5"
                     "5"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
@@ -66,22 +66,22 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
 
 
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
   PaintableWithLines (BlockContainer<HTML>) [0,0 800x600]
   PaintableWithLines (BlockContainer<HTML>) [0,0 800x600]
-    PaintableWithLines (BlockContainer<BODY>) [8,8 784x115.40625]
-      PaintableWithLines (TableWrapper(anonymous)) [8,8 89.359375x115.40625]
-        PaintableBox (Box<TABLE>) [8,8 89.359375x115.40625]
-          PaintableBox (Box<TBODY>) [8,8 89.359375x115.40625]
-            PaintableBox (Box<TR>) [8,8 89.359375x38.46875]
-              PaintableWithLines (BlockContainer<TD>) [8,8 29.453125x38.46875]
+    PaintableWithLines (BlockContainer<BODY>) [8,8 784x118.40625]
+      PaintableWithLines (TableWrapper(anonymous)) [8,8 92.359375x118.40625]
+        PaintableBox (Box<TABLE>) [8,8 92.359375x118.40625]
+          PaintableBox (Box<TBODY>) [8,8 92.359375x118.40625]
+            PaintableBox (Box<TR>) [8,8 92.359375x39.46875]
+              PaintableWithLines (BlockContainer<TD>) [8,8 30.453125x39.46875]
                 TextPaintable (TextNode<#text>)
                 TextPaintable (TextNode<#text>)
-              PaintableWithLines (BlockContainer<TD>) [37.453125,8 29.8125x38.46875]
+              PaintableWithLines (BlockContainer<TD>) [38.453125,8 30.8125x39.46875]
                 TextPaintable (TextNode<#text>)
                 TextPaintable (TextNode<#text>)
-              PaintableWithLines (BlockContainer<TD>) [67.265625,8 30.09375x38.46875]
+              PaintableWithLines (BlockContainer<TD>) [69.265625,8 31.09375x39.46875]
                 TextPaintable (TextNode<#text>)
                 TextPaintable (TextNode<#text>)
-            PaintableBox (Box<TR>) [8,46.46875 89.359375x38.46875] overflow: [8,46.46875 89.359375x76.9375]
-              PaintableWithLines (BlockContainer<TD>) [8,46.46875 29.453125x38.46875]
+            PaintableBox (Box<TR>) [8,47.46875 92.359375x39.46875] overflow: [8,47.46875 92.359375x78.9375]
+              PaintableWithLines (BlockContainer<TD>) [8,47.46875 30.453125x39.46875]
                 TextPaintable (TextNode<#text>)
                 TextPaintable (TextNode<#text>)
-              PaintableWithLines (BlockContainer<TD>) [37.453125,46.46875 59.90625x76.9375]
+              PaintableWithLines (BlockContainer<TD>) [38.453125,47.46875 61.90625x78.9375]
                 TextPaintable (TextNode<#text>)
                 TextPaintable (TextNode<#text>)
-            PaintableBox (Box<TR>) [8,84.9375 89.359375x38.46875]
-              PaintableWithLines (BlockContainer<TD>) [8,84.9375 29.453125x38.46875]
+            PaintableBox (Box<TR>) [8,86.9375 92.359375x39.46875]
+              PaintableWithLines (BlockContainer<TD>) [8,86.9375 30.453125x39.46875]
                 TextPaintable (TextNode<#text>)
                 TextPaintable (TextNode<#text>)

+ 5 - 5
Tests/LibWeb/Layout/expected/table/colspan-percentage-width.txt

@@ -11,21 +11,21 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <td> at (11,11) content-size 79.59375x17.46875 table-cell [BFC] children: inline
               BlockContainer <td> at (11,11) content-size 79.59375x17.46875 table-cell [BFC] children: inline
                 line 0 width: 14.265625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 14.265625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 1, rect: [43.65625,11 14.265625x17.46875]
+                  frag 0 from TextNode start: 0, length: 1, rect: [44,11 14.265625x17.46875]
                     "A"
                     "A"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <td> at (94.59375,11) content-size 157.328125x17.46875 table-cell [BFC] children: inline
               BlockContainer <td> at (94.59375,11) content-size 157.328125x17.46875 table-cell [BFC] children: inline
                 line 0 width: 9.34375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 9.34375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 1, rect: [168.578125,11 9.34375x17.46875]
+                  frag 0 from TextNode start: 0, length: 1, rect: [168.59375,11 9.34375x17.46875]
                     "B"
                     "B"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <td> at (255.921875,11) content-size 169.078125x17.46875 table-cell [BFC] children: inline
               BlockContainer <td> at (255.921875,11) content-size 169.078125x17.46875 table-cell [BFC] children: inline
                 line 0 width: 10.3125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 10.3125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 1, rect: [335.296875,11 10.3125x17.46875]
+                  frag 0 from TextNode start: 0, length: 1, rect: [334.921875,11 10.3125x17.46875]
                     "C"
                     "C"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
@@ -37,14 +37,14 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <td> at (11,32.46875) content-size 79.59375x17.46875 table-cell [BFC] children: inline
               BlockContainer <td> at (11,32.46875) content-size 79.59375x17.46875 table-cell [BFC] children: inline
                 line 0 width: 11.140625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 11.140625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 1, rect: [45.21875,32.46875 11.140625x17.46875]
+                  frag 0 from TextNode start: 0, length: 1, rect: [45,32.46875 11.140625x17.46875]
                     "D"
                     "D"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <td> at (94.59375,32.46875) content-size 330.40625x17.46875 table-cell [BFC] children: inline
               BlockContainer <td> at (94.59375,32.46875) content-size 330.40625x17.46875 table-cell [BFC] children: inline
                 line 0 width: 11.859375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 11.859375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 1, rect: [253.859375,32.46875 11.859375x17.46875]
+                  frag 0 from TextNode start: 0, length: 1, rect: [253.59375,32.46875 11.859375x17.46875]
                     "E"
                     "E"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline

+ 3 - 3
Tests/LibWeb/Layout/expected/table/colspan-weighted-width-distribution.txt

@@ -11,14 +11,14 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <td> at (11,11) content-size 180x17.46875 table-cell [BFC] children: inline
               BlockContainer <td> at (11,11) content-size 180x17.46875 table-cell [BFC] children: inline
                 line 0 width: 14.265625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 14.265625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 1, rect: [93.859375,11 14.265625x17.46875]
+                  frag 0 from TextNode start: 0, length: 1, rect: [94,11 14.265625x17.46875]
                     "A"
                     "A"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <td> at (195,11) content-size 20x17.46875 table-cell [BFC] children: inline
               BlockContainer <td> at (195,11) content-size 20x17.46875 table-cell [BFC] children: inline
                 line 0 width: 9.34375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 9.34375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 1, rect: [200.328125,11 9.34375x17.46875]
+                  frag 0 from TextNode start: 0, length: 1, rect: [200,11 9.34375x17.46875]
                     "B"
                     "B"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
@@ -30,7 +30,7 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <td> at (11,32.46875) content-size 204x17.46875 table-cell [BFC] children: inline
               BlockContainer <td> at (11,32.46875) content-size 204x17.46875 table-cell [BFC] children: inline
                 line 0 width: 10.3125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 10.3125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 1, rect: [107.84375,32.46875 10.3125x17.46875]
+                  frag 0 from TextNode start: 0, length: 1, rect: [108,32.46875 10.3125x17.46875]
                     "C"
                     "C"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline

+ 2 - 2
Tests/LibWeb/Layout/expected/table/colspan-width-distribution.txt

@@ -15,14 +15,14 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <td> at (11,11) content-size 17.5625x17.46875 table-cell [BFC] children: inline
               BlockContainer <td> at (11,11) content-size 17.5625x17.46875 table-cell [BFC] children: inline
                 line 0 width: 14.265625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 14.265625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 1, rect: [12.640625,11 14.265625x17.46875]
+                  frag 0 from TextNode start: 0, length: 1, rect: [13,11 14.265625x17.46875]
                     "A"
                     "A"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <td> at (32.5625,11) content-size 11.75x17.46875 table-cell [BFC] children: inline
               BlockContainer <td> at (32.5625,11) content-size 11.75x17.46875 table-cell [BFC] children: inline
                 line 0 width: 9.34375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 9.34375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 1, rect: [33.765625,11 9.34375x17.46875]
+                  frag 0 from TextNode start: 0, length: 1, rect: [33.5625,11 9.34375x17.46875]
                     "B"
                     "B"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline

+ 26 - 26
Tests/LibWeb/Layout/expected/table/columns-width-distribution-1.txt

@@ -1,43 +1,43 @@
 Viewport <#document> at (0,0) content-size 800x600 children: not-inline
 Viewport <#document> at (0,0) content-size 800x600 children: not-inline
   BlockContainer <html> at (0,0) content-size 800x600 [BFC] children: not-inline
   BlockContainer <html> at (0,0) content-size 800x600 [BFC] children: not-inline
-    BlockContainer <body> at (8,8) content-size 784x112.8125 children: not-inline
-      TableWrapper <(anonymous)> at (8,8) content-size 784x112.8125 [BFC] children: not-inline
-        Box <table.ambox> at (9,9) content-size 784x110.8125 table-box [TFC] children: not-inline
+    BlockContainer <body> at (8,8) content-size 784x113.15625 children: not-inline
+      TableWrapper <(anonymous)> at (8,8) content-size 784x113.15625 [BFC] children: not-inline
+        Box <table.ambox> at (9,9) content-size 784x111.15625 table-box [TFC] children: not-inline
           BlockContainer <(anonymous)> (not painted) children: inline
           BlockContainer <(anonymous)> (not painted) children: inline
             TextNode <#text>
             TextNode <#text>
-          Box <tbody> at (9,9) content-size 778x106.8125 table-row-group children: not-inline
-            Box <tr> at (11,11) content-size 778x106.8125 table-row children: not-inline
-              BlockContainer <td.mbox-image> at (12,39.40625) content-size 50x50 table-cell [BFC] children: not-inline
-                BlockContainer <div.mbox-image-div> at (12,39.40625) content-size 50x50 children: not-inline
-              BlockContainer <td.mbox-text> at (66,12) content-size 724x104.8125 table-cell [BFC] children: inline
+          Box <tbody> at (9,9) content-size 778x107.15625 table-row-group children: not-inline
+            Box <tr> at (11,11) content-size 778x107.15625 table-row children: not-inline
+              BlockContainer <td.mbox-image> at (12,39.578125) content-size 50x50 table-cell [BFC] children: not-inline
+                BlockContainer <div.mbox-image-div> at (12,39.578125) content-size 50x50 children: not-inline
+              BlockContainer <td.mbox-text> at (66,12) content-size 724x105.15625 table-cell [BFC] children: inline
                 line 0 width: 689.640625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 689.640625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                   frag 0 from TextNode start: 1, length: 84, rect: [66,12 689.640625x17.46875]
                   frag 0 from TextNode start: 1, length: 84, rect: [66,12 689.640625x17.46875]
                     "In a scene set in a lawyer's office, the lawyer sits alone and bounces a rubber ball"
                     "In a scene set in a lawyer's office, the lawyer sits alone and bounces a rubber ball"
-                line 1 width: 695.5625, height: 17.46875, bottom: 34.9375, baseline: 13.53125
-                  frag 0 from TextNode start: 86, length: 84, rect: [66,29.46875 695.5625x17.46875]
+                line 1 width: 695.5625, height: 17.9375, bottom: 35.40625, baseline: 13.53125
+                  frag 0 from TextNode start: 86, length: 84, rect: [66,29 695.5625x17.46875]
                     "against the wall. They receive a call from their assistant who expresses frustration"
                     "against the wall. They receive a call from their assistant who expresses frustration"
-                line 2 width: 703.125, height: 17.46875, bottom: 52.40625, baseline: 13.53125
-                  frag 0 from TextNode start: 171, length: 85, rect: [66,46.9375 703.125x17.46875]
+                line 2 width: 703.125, height: 18.40625, bottom: 53.34375, baseline: 13.53125
+                  frag 0 from TextNode start: 171, length: 85, rect: [66,46 703.125x17.46875]
                     "over a packed waiting room and the lawyer's lack of clients. The lawyer then looks at"
                     "over a packed waiting room and the lawyer's lack of clients. The lawyer then looks at"
-                line 3 width: 695.90625, height: 17.46875, bottom: 69.875, baseline: 13.53125
-                  frag 0 from TextNode start: 257, length: 81, rect: [66,64.40625 695.90625x17.46875]
+                line 3 width: 695.90625, height: 17.875, bottom: 70.28125, baseline: 13.53125
+                  frag 0 from TextNode start: 257, length: 81, rect: [66,64 695.90625x17.46875]
                     "some papers from a large envelope, which turn out to be divorce papers from their"
                     "some papers from a large envelope, which turn out to be divorce papers from their"
-                line 4 width: 670.515625, height: 17.46875, bottom: 87.34375, baseline: 13.53125
-                  frag 0 from TextNode start: 339, length: 84, rect: [66,81.875 670.515625x17.46875]
+                line 4 width: 670.515625, height: 18.34375, bottom: 88.21875, baseline: 13.53125
+                  frag 0 from TextNode start: 339, length: 84, rect: [66,81 670.515625x17.46875]
                     "significant other. Finally, the lawyer instructs their assistant to send in the next"
                     "significant other. Finally, the lawyer instructs their assistant to send in the next"
-                line 5 width: 47.21875, height: 17.46875, bottom: 104.8125, baseline: 13.53125
-                  frag 0 from TextNode start: 424, length: 7, rect: [66,99.34375 47.21875x17.46875]
+                line 5 width: 47.21875, height: 17.8125, bottom: 105.15625, baseline: 13.53125
+                  frag 0 from TextNode start: 424, length: 7, rect: [66,99 47.21875x17.46875]
                     "client."
                     "client."
                 TextNode <#text>
                 TextNode <#text>
 
 
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
   PaintableWithLines (BlockContainer<HTML>) [0,0 800x600]
   PaintableWithLines (BlockContainer<HTML>) [0,0 800x600]
-    PaintableWithLines (BlockContainer<BODY>) [8,8 784x112.8125] overflow: [8,8 786x112.8125]
-      PaintableWithLines (TableWrapper(anonymous)) [8,8 784x112.8125] overflow: [8,8 786x112.8125]
-        PaintableBox (Box<TABLE>.ambox) [8,8 786x112.8125]
-          PaintableBox (Box<TBODY>) [9,9 778x106.8125] overflow: [9,9 782x108.8125]
-            PaintableBox (Box<TR>) [11,11 778x106.8125] overflow: [11,11 780x106.8125]
-              PaintableWithLines (BlockContainer<TD>.mbox-image) [11,11 52x106.8125]
-                PaintableWithLines (BlockContainer<DIV>.mbox-image-div) [12,39.40625 50x50]
-              PaintableWithLines (BlockContainer<TD>.mbox-text) [65,11 726x106.8125]
+    PaintableWithLines (BlockContainer<BODY>) [8,8 784x113.15625] overflow: [8,8 786x113.15625]
+      PaintableWithLines (TableWrapper(anonymous)) [8,8 784x113.15625] overflow: [8,8 786x113.15625]
+        PaintableBox (Box<TABLE>.ambox) [8,8 786x113.15625]
+          PaintableBox (Box<TBODY>) [9,9 778x107.15625] overflow: [9,9 782x109.15625]
+            PaintableBox (Box<TR>) [11,11 778x107.15625] overflow: [11,11 780x107.15625]
+              PaintableWithLines (BlockContainer<TD>.mbox-image) [11,11 52x107.15625]
+                PaintableWithLines (BlockContainer<DIV>.mbox-image-div) [12,39.578125 50x50]
+              PaintableWithLines (BlockContainer<TD>.mbox-text) [65,11 726x107.15625]
                 TextPaintable (TextNode<#text>)
                 TextPaintable (TextNode<#text>)

+ 14 - 14
Tests/LibWeb/Layout/expected/table/fixed-margins.txt

@@ -1,25 +1,25 @@
 Viewport <#document> at (0,0) content-size 800x600 children: not-inline
 Viewport <#document> at (0,0) content-size 800x600 children: not-inline
   BlockContainer <html> at (0,0) content-size 800x600 [BFC] children: not-inline
   BlockContainer <html> at (0,0) content-size 800x600 [BFC] children: not-inline
-    BlockContainer <body> at (8,8) content-size 784x34.9375 children: not-inline
-      BlockContainer <div.wrapper> at (8,8) content-size 784x34.9375 children: not-inline
-        TableWrapper <(anonymous)> at (108,8) content-size 584x34.9375 [BFC] children: not-inline
-          Box <div.box> at (108,8) content-size 584x34.9375 table-box [TFC] children: not-inline
-            Box <(anonymous)> at (108,8) content-size 584x34.9375 table-row children: not-inline
-              BlockContainer <div.cell> at (108,8) content-size 584x34.9375 table-cell [BFC] children: inline
+    BlockContainer <body> at (8,8) content-size 784x35.40625 children: not-inline
+      BlockContainer <div.wrapper> at (8,8) content-size 784x35.40625 children: not-inline
+        TableWrapper <(anonymous)> at (108,8) content-size 584x35.40625 [BFC] children: not-inline
+          Box <div.box> at (108,8) content-size 584x35.40625 table-box [TFC] children: not-inline
+            Box <(anonymous)> at (108,8) content-size 584x35.40625 table-row children: not-inline
+              BlockContainer <div.cell> at (108,8) content-size 584x35.40625 table-cell [BFC] children: inline
                 line 0 width: 569.859375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 569.859375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                   frag 0 from TextNode start: 0, length: 58, rect: [108,8 569.859375x17.46875]
                   frag 0 from TextNode start: 0, length: 58, rect: [108,8 569.859375x17.46875]
                     "DaTa DisplaYiNg CSS WeBpaGE ScReEn OF aR AddITioN COmmOnLY"
                     "DaTa DisplaYiNg CSS WeBpaGE ScReEn OF aR AddITioN COmmOnLY"
-                line 1 width: 399.9375, height: 17.46875, bottom: 34.9375, baseline: 13.53125
-                  frag 0 from TextNode start: 59, length: 40, rect: [108,25.46875 399.9375x17.46875]
+                line 1 width: 399.9375, height: 17.9375, bottom: 35.40625, baseline: 13.53125
+                  frag 0 from TextNode start: 59, length: 40, rect: [108,25 399.9375x17.46875]
                     "To AdJuSt PRiCiNG sTYLiNG ceLL oF TAbLeS"
                     "To AdJuSt PRiCiNG sTYLiNG ceLL oF TAbLeS"
                 TextNode <#text>
                 TextNode <#text>
 
 
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
   PaintableWithLines (BlockContainer<HTML>) [0,0 800x600]
   PaintableWithLines (BlockContainer<HTML>) [0,0 800x600]
-    PaintableWithLines (BlockContainer<BODY>) [8,8 784x34.9375]
-      PaintableWithLines (BlockContainer<DIV>.wrapper) [8,8 784x34.9375]
-        PaintableWithLines (TableWrapper(anonymous)) [108,8 584x34.9375]
-          PaintableBox (Box<DIV>.box) [108,8 584x34.9375]
-            PaintableBox (Box(anonymous)) [108,8 584x34.9375]
-              PaintableWithLines (BlockContainer<DIV>.cell) [108,8 584x34.9375]
+    PaintableWithLines (BlockContainer<BODY>) [8,8 784x35.40625]
+      PaintableWithLines (BlockContainer<DIV>.wrapper) [8,8 784x35.40625]
+        PaintableWithLines (TableWrapper(anonymous)) [108,8 584x35.40625]
+          PaintableBox (Box<DIV>.box) [108,8 584x35.40625]
+            PaintableBox (Box(anonymous)) [108,8 584x35.40625]
+              PaintableWithLines (BlockContainer<DIV>.cell) [108,8 584x35.40625]
                 TextPaintable (TextNode<#text>)
                 TextPaintable (TextNode<#text>)

+ 42 - 42
Tests/LibWeb/Layout/expected/table/long-caption-increases-width.txt

@@ -1,18 +1,18 @@
 Viewport <#document> at (0,0) content-size 800x600 children: not-inline
 Viewport <#document> at (0,0) content-size 800x600 children: not-inline
-  BlockContainer <html> at (0,0) content-size 800x127.34375 [BFC] children: not-inline
+  BlockContainer <html> at (0,0) content-size 800x127.8125 [BFC] children: not-inline
     BlockContainer <(anonymous)> at (0,0) content-size 800x0 children: inline
     BlockContainer <(anonymous)> at (0,0) content-size 800x0 children: inline
       TextNode <#text>
       TextNode <#text>
-    BlockContainer <body> at (8,8) content-size 784x111.34375 children: not-inline
-      TableWrapper <(anonymous)> at (8,8) content-size 63.046875x111.34375 [BFC] children: not-inline
-        Box <table#full-table> at (10,42.9375) content-size 59.046875x72.40625 table-box [TFC] children: not-inline
+    BlockContainer <body> at (8,8) content-size 784x111.8125 children: not-inline
+      TableWrapper <(anonymous)> at (8,8) content-size 63.046875x111.8125 [BFC] children: not-inline
+        Box <table#full-table> at (10,43.40625) content-size 59.046875x72.40625 table-box [TFC] children: not-inline
           BlockContainer <(anonymous)> (not painted) children: inline
           BlockContainer <(anonymous)> (not painted) children: inline
             TextNode <#text>
             TextNode <#text>
-          BlockContainer <caption> at (8,8) content-size 59.046875x34.9375 [BFC] children: inline
+          BlockContainer <caption> at (8,8) content-size 59.046875x35.40625 [BFC] children: inline
             line 0 width: 54.03125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
             line 0 width: 54.03125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-              frag 0 from TextNode start: 1, length: 6, rect: [10.5,8 54.03125x17.46875]
+              frag 0 from TextNode start: 1, length: 6, rect: [11,8 54.03125x17.46875]
                 "A long"
                 "A long"
-            line 1 width: 59.046875, height: 17.46875, bottom: 34.9375, baseline: 13.53125
-              frag 0 from TextNode start: 8, length: 7, rect: [8,25.46875 59.046875x17.46875]
+            line 1 width: 59.046875, height: 17.9375, bottom: 35.40625, baseline: 13.53125
+              frag 0 from TextNode start: 8, length: 7, rect: [8,25 59.046875x17.46875]
                 "caption"
                 "caption"
             TextNode <#text>
             TextNode <#text>
           BlockContainer <(anonymous)> (not painted) children: inline
           BlockContainer <(anonymous)> (not painted) children: inline
@@ -20,19 +20,19 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
           Box <thead> at (10,10) content-size 53.046875x21.46875 table-header-group children: not-inline
           Box <thead> at (10,10) content-size 53.046875x21.46875 table-header-group children: not-inline
             BlockContainer <(anonymous)> (not painted) children: inline
             BlockContainer <(anonymous)> (not painted) children: inline
               TextNode <#text>
               TextNode <#text>
-            Box <tr> at (12,44.9375) content-size 53.046875x21.46875 table-row children: not-inline
+            Box <tr> at (12,45.40625) content-size 53.046875x21.46875 table-row children: not-inline
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
-              BlockContainer <td> at (14,46.9375) content-size 21.25x17.46875 table-cell [BFC] children: inline
+              BlockContainer <td> at (14,47.40625) content-size 21.25x17.46875 table-cell [BFC] children: inline
                 line 0 width: 20.609375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 20.609375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 2, rect: [14,46.9375 20.609375x17.46875]
+                  frag 0 from TextNode start: 0, length: 2, rect: [14,47.40625 20.609375x17.46875]
                     "A1"
                     "A1"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
-              BlockContainer <td> at (41.25,46.9375) content-size 23.796875x17.46875 table-cell [BFC] children: inline
+              BlockContainer <td> at (41.25,47.40625) content-size 23.796875x17.46875 table-cell [BFC] children: inline
                 line 0 width: 23.078125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 23.078125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 2, rect: [41.25,46.9375 23.078125x17.46875]
+                  frag 0 from TextNode start: 0, length: 2, rect: [41.25,47.40625 23.078125x17.46875]
                     "A2"
                     "A2"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
@@ -44,19 +44,19 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
           Box <tbody> at (10,31.46875) content-size 53.046875x21.46875 table-row-group children: not-inline
           Box <tbody> at (10,31.46875) content-size 53.046875x21.46875 table-row-group children: not-inline
             BlockContainer <(anonymous)> (not painted) children: inline
             BlockContainer <(anonymous)> (not painted) children: inline
               TextNode <#text>
               TextNode <#text>
-            Box <tr> at (12,68.40625) content-size 53.046875x21.46875 table-row children: not-inline
+            Box <tr> at (12,68.875) content-size 53.046875x21.46875 table-row children: not-inline
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
-              BlockContainer <td> at (14,70.40625) content-size 21.25x17.46875 table-cell [BFC] children: inline
+              BlockContainer <td> at (14,70.875) content-size 21.25x17.46875 table-cell [BFC] children: inline
                 line 0 width: 15.6875, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 15.6875, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 2, rect: [14,70.40625 15.6875x17.46875]
+                  frag 0 from TextNode start: 0, length: 2, rect: [14,70.875 15.6875x17.46875]
                     "B1"
                     "B1"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
-              BlockContainer <td> at (41.25,70.40625) content-size 23.796875x17.46875 table-cell [BFC] children: inline
+              BlockContainer <td> at (41.25,70.875) content-size 23.796875x17.46875 table-cell [BFC] children: inline
                 line 0 width: 18.15625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 18.15625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 2, rect: [41.25,70.40625 18.15625x17.46875]
+                  frag 0 from TextNode start: 0, length: 2, rect: [41.25,70.875 18.15625x17.46875]
                     "B2"
                     "B2"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
@@ -68,19 +68,19 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
           Box <tfoot> at (10,52.9375) content-size 53.046875x21.46875 table-footer-group children: not-inline
           Box <tfoot> at (10,52.9375) content-size 53.046875x21.46875 table-footer-group children: not-inline
             BlockContainer <(anonymous)> (not painted) children: inline
             BlockContainer <(anonymous)> (not painted) children: inline
               TextNode <#text>
               TextNode <#text>
-            Box <tr> at (12,91.875) content-size 53.046875x21.46875 table-row children: not-inline
+            Box <tr> at (12,92.34375) content-size 53.046875x21.46875 table-row children: not-inline
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
-              BlockContainer <td> at (14,93.875) content-size 21.25x17.46875 table-cell [BFC] children: inline
+              BlockContainer <td> at (14,94.34375) content-size 21.25x17.46875 table-cell [BFC] children: inline
                 line 0 width: 18.890625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 18.890625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 2, rect: [14,93.875 18.890625x17.46875]
+                  frag 0 from TextNode start: 0, length: 2, rect: [14,94.34375 18.890625x17.46875]
                     "F1"
                     "F1"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
-              BlockContainer <td> at (41.25,93.875) content-size 23.796875x17.46875 table-cell [BFC] children: inline
+              BlockContainer <td> at (41.25,94.34375) content-size 23.796875x17.46875 table-cell [BFC] children: inline
                 line 0 width: 21.359375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 21.359375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 2, rect: [41.25,93.875 21.359375x17.46875]
+                  frag 0 from TextNode start: 0, length: 2, rect: [41.25,94.34375 21.359375x17.46875]
                     "F2"
                     "F2"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
@@ -89,33 +89,33 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
               TextNode <#text>
               TextNode <#text>
           BlockContainer <(anonymous)> (not painted) children: inline
           BlockContainer <(anonymous)> (not painted) children: inline
             TextNode <#text>
             TextNode <#text>
-      BlockContainer <(anonymous)> at (8,119.34375) content-size 784x0 children: inline
+      BlockContainer <(anonymous)> at (8,119.8125) content-size 784x0 children: inline
         TextNode <#text>
         TextNode <#text>
 
 
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
-  PaintableWithLines (BlockContainer<HTML>) [0,0 800x127.34375]
+  PaintableWithLines (BlockContainer<HTML>) [0,0 800x127.8125]
     PaintableWithLines (BlockContainer(anonymous)) [0,0 800x0]
     PaintableWithLines (BlockContainer(anonymous)) [0,0 800x0]
-    PaintableWithLines (BlockContainer<BODY>) [8,8 784x111.34375]
-      PaintableWithLines (TableWrapper(anonymous)) [8,8 63.046875x111.34375]
-        PaintableBox (Box<TABLE>#full-table) [8,40.9375 63.046875x76.40625] overflow: [8,8 61.046875x107.34375]
-          PaintableWithLines (BlockContainer<CAPTION>) [8,8 59.046875x34.9375]
+    PaintableWithLines (BlockContainer<BODY>) [8,8 784x111.8125]
+      PaintableWithLines (TableWrapper(anonymous)) [8,8 63.046875x111.8125]
+        PaintableBox (Box<TABLE>#full-table) [8,41.40625 63.046875x76.40625] overflow: [8,8 61.046875x107.8125]
+          PaintableWithLines (BlockContainer<CAPTION>) [8,8 59.046875x35.40625]
             TextPaintable (TextNode<#text>)
             TextPaintable (TextNode<#text>)
-          PaintableBox (Box<THEAD>) [10,10 53.046875x21.46875] overflow: [10,10 57.046875x56.40625]
-            PaintableBox (Box<TR>) [12,44.9375 53.046875x21.46875] overflow: [12,44.9375 55.046875x21.46875]
-              PaintableWithLines (BlockContainer<TD>) [12,44.9375 25.25x21.46875]
+          PaintableBox (Box<THEAD>) [10,10 53.046875x21.46875] overflow: [10,10 57.046875x56.875]
+            PaintableBox (Box<TR>) [12,45.40625 53.046875x21.46875] overflow: [12,45.40625 55.046875x21.46875]
+              PaintableWithLines (BlockContainer<TD>) [12,45.40625 25.25x21.46875]
                 TextPaintable (TextNode<#text>)
                 TextPaintable (TextNode<#text>)
-              PaintableWithLines (BlockContainer<TD>) [39.25,44.9375 27.796875x21.46875]
+              PaintableWithLines (BlockContainer<TD>) [39.25,45.40625 27.796875x21.46875]
                 TextPaintable (TextNode<#text>)
                 TextPaintable (TextNode<#text>)
-          PaintableBox (Box<TBODY>) [10,31.46875 53.046875x21.46875] overflow: [10,31.46875 57.046875x58.40625]
-            PaintableBox (Box<TR>) [12,68.40625 53.046875x21.46875] overflow: [12,68.40625 55.046875x21.46875]
-              PaintableWithLines (BlockContainer<TD>) [12,68.40625 25.25x21.46875]
+          PaintableBox (Box<TBODY>) [10,31.46875 53.046875x21.46875] overflow: [10,31.46875 57.046875x58.875]
+            PaintableBox (Box<TR>) [12,68.875 53.046875x21.46875] overflow: [12,68.875 55.046875x21.46875]
+              PaintableWithLines (BlockContainer<TD>) [12,68.875 25.25x21.46875]
                 TextPaintable (TextNode<#text>)
                 TextPaintable (TextNode<#text>)
-              PaintableWithLines (BlockContainer<TD>) [39.25,68.40625 27.796875x21.46875]
+              PaintableWithLines (BlockContainer<TD>) [39.25,68.875 27.796875x21.46875]
                 TextPaintable (TextNode<#text>)
                 TextPaintable (TextNode<#text>)
-          PaintableBox (Box<TFOOT>) [10,52.9375 53.046875x21.46875] overflow: [10,52.9375 57.046875x60.40625]
-            PaintableBox (Box<TR>) [12,91.875 53.046875x21.46875] overflow: [12,91.875 55.046875x21.46875]
-              PaintableWithLines (BlockContainer<TD>) [12,91.875 25.25x21.46875]
+          PaintableBox (Box<TFOOT>) [10,52.9375 53.046875x21.46875] overflow: [10,52.9375 57.046875x60.875]
+            PaintableBox (Box<TR>) [12,92.34375 53.046875x21.46875] overflow: [12,92.34375 55.046875x21.46875]
+              PaintableWithLines (BlockContainer<TD>) [12,92.34375 25.25x21.46875]
                 TextPaintable (TextNode<#text>)
                 TextPaintable (TextNode<#text>)
-              PaintableWithLines (BlockContainer<TD>) [39.25,91.875 27.796875x21.46875]
+              PaintableWithLines (BlockContainer<TD>) [39.25,92.34375 27.796875x21.46875]
                 TextPaintable (TextNode<#text>)
                 TextPaintable (TextNode<#text>)
-      PaintableWithLines (BlockContainer(anonymous)) [8,119.34375 784x0]
+      PaintableWithLines (BlockContainer(anonymous)) [8,119.8125 784x0]

+ 17 - 17
Tests/LibWeb/Layout/expected/table/multi-line-cell.txt

@@ -1,11 +1,11 @@
 Viewport <#document> at (0,0) content-size 800x600 children: not-inline
 Viewport <#document> at (0,0) content-size 800x600 children: not-inline
   BlockContainer <html> at (0,0) content-size 800x600 [BFC] children: not-inline
   BlockContainer <html> at (0,0) content-size 800x600 [BFC] children: not-inline
-    BlockContainer <body> at (8,8) content-size 784x85.875 children: not-inline
-      TableWrapper <(anonymous)> at (8,8) content-size 81.4375x85.875 [BFC] children: not-inline
-        Box <table> at (9,9) content-size 79.4375x83.875 table-box [TFC] children: not-inline
+    BlockContainer <body> at (8,8) content-size 784x86.8125 children: not-inline
+      TableWrapper <(anonymous)> at (8,8) content-size 81.4375x86.8125 [BFC] children: not-inline
+        Box <table> at (9,9) content-size 79.4375x84.8125 table-box [TFC] children: not-inline
           BlockContainer <(anonymous)> (not painted) children: inline
           BlockContainer <(anonymous)> (not painted) children: inline
             TextNode <#text>
             TextNode <#text>
-          Box <tbody> at (9,9) content-size 75.4375x77.875 table-row-group children: not-inline
+          Box <tbody> at (9,9) content-size 75.4375x78.8125 table-row-group children: not-inline
             Box <tr> at (11,11) content-size 75.4375x21.46875 table-row children: not-inline
             Box <tr> at (11,11) content-size 75.4375x21.46875 table-row children: not-inline
               BlockContainer <td> at (13,13) content-size 71.4375x17.46875 table-cell [BFC] children: inline
               BlockContainer <td> at (13,13) content-size 71.4375x17.46875 table-cell [BFC] children: inline
                 line 0 width: 7.9375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 7.9375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
@@ -14,30 +14,30 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
                 TextNode <#text>
                 TextNode <#text>
             BlockContainer <(anonymous)> (not painted) children: inline
             BlockContainer <(anonymous)> (not painted) children: inline
               TextNode <#text>
               TextNode <#text>
-            Box <tr> at (11,34.46875) content-size 75.4375x56.40625 table-row children: not-inline
-              BlockContainer <td> at (13,45.203125) content-size 71.4375x34.9375 table-cell [BFC] children: inline
+            Box <tr> at (11,34.46875) content-size 75.4375x57.34375 table-row children: not-inline
+              BlockContainer <td> at (13,45.4375) content-size 71.4375x35.40625 table-cell [BFC] children: inline
                 line 0 width: 71.4375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 71.4375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 9, rect: [13,45.203125 71.4375x17.46875]
+                  frag 0 from TextNode start: 0, length: 9, rect: [13,45.4375 71.4375x17.46875]
                     "*********"
                     "*********"
-                line 1 width: 63.5625, height: 17.46875, bottom: 34.9375, baseline: 13.53125
-                  frag 0 from TextNode start: 10, length: 8, rect: [13,62.671875 63.5625x17.46875]
+                line 1 width: 63.5625, height: 17.9375, bottom: 35.40625, baseline: 13.53125
+                  frag 0 from TextNode start: 10, length: 8, rect: [13,62.4375 63.5625x17.46875]
                     "***** **"
                     "***** **"
                 TextNode <#text>
                 TextNode <#text>
             BlockContainer <(anonymous)> (not painted) children: inline
             BlockContainer <(anonymous)> (not painted) children: inline
               TextNode <#text>
               TextNode <#text>
-      BlockContainer <(anonymous)> at (8,93.875) content-size 784x0 children: inline
+      BlockContainer <(anonymous)> at (8,94.8125) content-size 784x0 children: inline
         TextNode <#text>
         TextNode <#text>
 
 
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
   PaintableWithLines (BlockContainer<HTML>) [0,0 800x600]
   PaintableWithLines (BlockContainer<HTML>) [0,0 800x600]
-    PaintableWithLines (BlockContainer<BODY>) [8,8 784x85.875]
-      PaintableWithLines (TableWrapper(anonymous)) [8,8 81.4375x85.875]
-        PaintableBox (Box<TABLE>) [8,8 81.4375x85.875]
-          PaintableBox (Box<TBODY>) [9,9 75.4375x77.875] overflow: [9,9 77.4375x81.875]
+    PaintableWithLines (BlockContainer<BODY>) [8,8 784x86.8125]
+      PaintableWithLines (TableWrapper(anonymous)) [8,8 81.4375x86.8125]
+        PaintableBox (Box<TABLE>) [8,8 81.4375x86.8125]
+          PaintableBox (Box<TBODY>) [9,9 75.4375x78.8125] overflow: [9,9 77.4375x82.8125]
             PaintableBox (Box<TR>) [11,11 75.4375x21.46875]
             PaintableBox (Box<TR>) [11,11 75.4375x21.46875]
               PaintableWithLines (BlockContainer<TD>) [11,11 75.4375x21.46875]
               PaintableWithLines (BlockContainer<TD>) [11,11 75.4375x21.46875]
                 TextPaintable (TextNode<#text>)
                 TextPaintable (TextNode<#text>)
-            PaintableBox (Box<TR>) [11,34.46875 75.4375x56.40625]
-              PaintableWithLines (BlockContainer<TD>) [11,34.46875 75.4375x56.40625]
+            PaintableBox (Box<TR>) [11,34.46875 75.4375x57.34375]
+              PaintableWithLines (BlockContainer<TD>) [11,34.46875 75.4375x57.34375]
                 TextPaintable (TextNode<#text>)
                 TextPaintable (TextNode<#text>)
-      PaintableWithLines (BlockContainer(anonymous)) [8,93.875 784x0]
+      PaintableWithLines (BlockContainer(anonymous)) [8,94.8125 784x0]

+ 19 - 19
Tests/LibWeb/Layout/expected/table/percentage-width-columns.txt

@@ -1,33 +1,33 @@
 Viewport <#document> at (0,0) content-size 800x600 children: not-inline
 Viewport <#document> at (0,0) content-size 800x600 children: not-inline
   BlockContainer <html> at (0,0) content-size 800x600 [BFC] children: not-inline
   BlockContainer <html> at (0,0) content-size 800x600 [BFC] children: not-inline
-    BlockContainer <body> at (8,8) content-size 784x22.46875 children: not-inline
-      TableWrapper <(anonymous)> at (8,8) content-size 89x22.46875 [BFC] children: not-inline
-        Box <table> at (9,9) content-size 87x20.46875 table-box [TFC] children: not-inline
+    BlockContainer <body> at (8,8) content-size 784x23.46875 children: not-inline
+      TableWrapper <(anonymous)> at (8,8) content-size 94x23.46875 [BFC] children: not-inline
+        Box <table> at (9,9) content-size 92x21.46875 table-box [TFC] children: not-inline
           BlockContainer <(anonymous)> (not painted) children: inline
           BlockContainer <(anonymous)> (not painted) children: inline
             TextNode <#text>
             TextNode <#text>
-          Box <tbody> at (9,9) content-size 87x20.46875 table-row-group children: not-inline
+          Box <tbody> at (9,9) content-size 92x21.46875 table-row-group children: not-inline
             BlockContainer <(anonymous)> (not painted) children: inline
             BlockContainer <(anonymous)> (not painted) children: inline
               TextNode <#text>
               TextNode <#text>
-            Box <tr> at (9,9) content-size 87x20.46875 table-row children: not-inline
+            Box <tr> at (9,9) content-size 92x21.46875 table-row children: not-inline
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
-              BlockContainer <td> at (10.5,10.5) content-size 14.40625x17.46875 table-cell [BFC] children: inline
+              BlockContainer <td> at (11,11) content-size 14.40625x17.46875 table-cell [BFC] children: inline
                 line 0 width: 14.265625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 14.265625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 1, rect: [10.5625,10.5 14.265625x17.46875]
+                  frag 0 from TextNode start: 0, length: 1, rect: [11,11 14.265625x17.46875]
                     "A"
                     "A"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
-              BlockContainer <td> at (27.90625,10.5) content-size 49.1875x17.46875 table-cell [BFC] children: inline
+              BlockContainer <td> at (29.40625,11) content-size 51.1875x17.46875 table-cell [BFC] children: inline
                 line 0 width: 9.34375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 9.34375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 1, rect: [47.828125,10.5 9.34375x17.46875]
+                  frag 0 from TextNode start: 0, length: 1, rect: [50.40625,11 9.34375x17.46875]
                     "B"
                     "B"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
-              BlockContainer <td> at (80.09375,10.5) content-size 14.40625x17.46875 table-cell [BFC] children: inline
+              BlockContainer <td> at (84.59375,11) content-size 14.40625x17.46875 table-cell [BFC] children: inline
                 line 0 width: 10.3125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 10.3125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 1, rect: [82.140625,10.5 10.3125x17.46875]
+                  frag 0 from TextNode start: 0, length: 1, rect: [86.59375,11 10.3125x17.46875]
                     "C"
                     "C"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
@@ -39,14 +39,14 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
 
 
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
   PaintableWithLines (BlockContainer<HTML>) [0,0 800x600]
   PaintableWithLines (BlockContainer<HTML>) [0,0 800x600]
-    PaintableWithLines (BlockContainer<BODY>) [8,8 784x22.46875]
-      PaintableWithLines (TableWrapper(anonymous)) [8,8 89x22.46875]
-        PaintableBox (Box<TABLE>) [8,8 89x22.46875]
-          PaintableBox (Box<TBODY>) [9,9 87x20.46875]
-            PaintableBox (Box<TR>) [9,9 87x20.46875]
-              PaintableWithLines (BlockContainer<TD>) [9,9 17.40625x20.46875]
+    PaintableWithLines (BlockContainer<BODY>) [8,8 784x23.46875]
+      PaintableWithLines (TableWrapper(anonymous)) [8,8 94x23.46875]
+        PaintableBox (Box<TABLE>) [8,8 94x23.46875]
+          PaintableBox (Box<TBODY>) [9,9 92x21.46875]
+            PaintableBox (Box<TR>) [9,9 92x21.46875]
+              PaintableWithLines (BlockContainer<TD>) [9,9 18.40625x21.46875]
                 TextPaintable (TextNode<#text>)
                 TextPaintable (TextNode<#text>)
-              PaintableWithLines (BlockContainer<TD>) [26.40625,9 52.1875x20.46875]
+              PaintableWithLines (BlockContainer<TD>) [27.40625,9 55.1875x21.46875]
                 TextPaintable (TextNode<#text>)
                 TextPaintable (TextNode<#text>)
-              PaintableWithLines (BlockContainer<TD>) [78.59375,9 17.40625x20.46875]
+              PaintableWithLines (BlockContainer<TD>) [82.59375,9 18.40625x21.46875]
                 TextPaintable (TextNode<#text>)
                 TextPaintable (TextNode<#text>)

+ 19 - 19
Tests/LibWeb/Layout/expected/table/percentage-width-max-width-columns.txt

@@ -1,31 +1,31 @@
 Viewport <#document> at (0,0) content-size 800x600 children: not-inline
 Viewport <#document> at (0,0) content-size 800x600 children: not-inline
   BlockContainer <html> at (0,0) content-size 800x600 [BFC] children: not-inline
   BlockContainer <html> at (0,0) content-size 800x600 [BFC] children: not-inline
-    BlockContainer <body> at (8,8) content-size 784x20.46875 children: not-inline
-      TableWrapper <(anonymous)> at (8,8) content-size 116x20.46875 [BFC] children: not-inline
-        Box <table> at (8,8) content-size 116x20.46875 table-box [TFC] children: not-inline
+    BlockContainer <body> at (8,8) content-size 784x21.46875 children: not-inline
+      TableWrapper <(anonymous)> at (8,8) content-size 119x21.46875 [BFC] children: not-inline
+        Box <table> at (8,8) content-size 119x21.46875 table-box [TFC] children: not-inline
           BlockContainer <(anonymous)> (not painted) children: inline
           BlockContainer <(anonymous)> (not painted) children: inline
             TextNode <#text>
             TextNode <#text>
-          Box <tbody> at (8,8) content-size 116x20.46875 table-row-group children: not-inline
-            Box <tr> at (8,8) content-size 116x20.46875 table-row children: not-inline
+          Box <tbody> at (8,8) content-size 119x21.46875 table-row-group children: not-inline
+            Box <tr> at (8,8) content-size 119x21.46875 table-row children: not-inline
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
-              BlockContainer <td> at (9.5,9.5) content-size 31.796875x17.46875 table-cell [BFC] children: inline
+              BlockContainer <td> at (10,10) content-size 31.703125x17.46875 table-cell [BFC] children: inline
                 line 0 width: 31.609375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 31.609375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 3, rect: [9.5,9.5 31.609375x17.46875]
+                  frag 0 from TextNode start: 0, length: 3, rect: [10,10 31.609375x17.46875]
                     "A B"
                     "A B"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
-              BlockContainer <td> at (44.296875,9.5) content-size 43.40625x17.46875 table-cell [BFC] children: inline
+              BlockContainer <td> at (45.703125,10) content-size 43.59375x17.46875 table-cell [BFC] children: inline
                 line 0 width: 10.3125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 10.3125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 1, rect: [44.296875,9.5 10.3125x17.46875]
+                  frag 0 from TextNode start: 0, length: 1, rect: [45.703125,10 10.3125x17.46875]
                     "C"
                     "C"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
-              BlockContainer <td> at (90.703125,9.5) content-size 31.796875x17.46875 table-cell [BFC] children: inline
+              BlockContainer <td> at (93.296875,10) content-size 31.703125x17.46875 table-cell [BFC] children: inline
                 line 0 width: 11.140625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 11.140625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 1, rect: [90.703125,9.5 11.140625x17.46875]
+                  frag 0 from TextNode start: 0, length: 1, rect: [93.296875,10 11.140625x17.46875]
                     "D"
                     "D"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
@@ -35,14 +35,14 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
 
 
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
   PaintableWithLines (BlockContainer<HTML>) [0,0 800x600]
   PaintableWithLines (BlockContainer<HTML>) [0,0 800x600]
-    PaintableWithLines (BlockContainer<BODY>) [8,8 784x20.46875]
-      PaintableWithLines (TableWrapper(anonymous)) [8,8 116x20.46875]
-        PaintableBox (Box<TABLE>) [8,8 116x20.46875]
-          PaintableBox (Box<TBODY>) [8,8 116x20.46875]
-            PaintableBox (Box<TR>) [8,8 116x20.46875]
-              PaintableWithLines (BlockContainer<TD>) [8,8 34.796875x20.46875]
+    PaintableWithLines (BlockContainer<BODY>) [8,8 784x21.46875]
+      PaintableWithLines (TableWrapper(anonymous)) [8,8 119x21.46875]
+        PaintableBox (Box<TABLE>) [8,8 119x21.46875]
+          PaintableBox (Box<TBODY>) [8,8 119x21.46875]
+            PaintableBox (Box<TR>) [8,8 119x21.46875]
+              PaintableWithLines (BlockContainer<TD>) [8,8 35.703125x21.46875]
                 TextPaintable (TextNode<#text>)
                 TextPaintable (TextNode<#text>)
-              PaintableWithLines (BlockContainer<TD>) [42.796875,8 46.40625x20.46875]
+              PaintableWithLines (BlockContainer<TD>) [43.703125,8 47.59375x21.46875]
                 TextPaintable (TextNode<#text>)
                 TextPaintable (TextNode<#text>)
-              PaintableWithLines (BlockContainer<TD>) [89.203125,8 34.796875x20.46875]
+              PaintableWithLines (BlockContainer<TD>) [91.296875,8 35.703125x21.46875]
                 TextPaintable (TextNode<#text>)
                 TextPaintable (TextNode<#text>)

+ 42 - 42
Tests/LibWeb/Layout/expected/table/table-formation-with-rowspan-in-the-middle.txt

@@ -1,114 +1,114 @@
 Viewport <#document> at (0,0) content-size 800x600 children: not-inline
 Viewport <#document> at (0,0) content-size 800x600 children: not-inline
   BlockContainer <html> at (0,0) content-size 800x600 [BFC] children: not-inline
   BlockContainer <html> at (0,0) content-size 800x600 [BFC] children: not-inline
-    BlockContainer <body> at (8,8) content-size 784x155.875 children: not-inline
-      TableWrapper <(anonymous)> at (8,8) content-size 100.421875x155.875 [BFC] children: not-inline
-        Box <table> at (9,9) content-size 98.421875x153.875 table-box [TFC] children: not-inline
+    BlockContainer <body> at (8,8) content-size 784x159.875 children: not-inline
+      TableWrapper <(anonymous)> at (8,8) content-size 103.421875x159.875 [BFC] children: not-inline
+        Box <table> at (9,9) content-size 101.421875x157.875 table-box [TFC] children: not-inline
           BlockContainer <(anonymous)> (not painted) children: inline
           BlockContainer <(anonymous)> (not painted) children: inline
             TextNode <#text>
             TextNode <#text>
-          Box <tbody> at (9,9) content-size 98.421875x153.875 table-row-group children: not-inline
-            Box <tr> at (9,9) content-size 98.421875x38.46875 table-row children: not-inline
+          Box <tbody> at (9,9) content-size 101.421875x157.875 table-row-group children: not-inline
+            Box <tr> at (9,9) content-size 101.421875x39.46875 table-row children: not-inline
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
-              BlockContainer <td> at (19.5,19.5) content-size 9.59375x17.46875 table-cell [BFC] children: inline
+              BlockContainer <td> at (20,20) content-size 9.59375x17.46875 table-cell [BFC] children: inline
                 line 0 width: 9.59375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 9.59375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 1, rect: [19.5,19.5 9.59375x17.46875]
+                  frag 0 from TextNode start: 0, length: 1, rect: [20,20 9.59375x17.46875]
                     "0"
                     "0"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
-              BlockContainer <td> at (50.09375,38.734375) content-size 14.265625x17.46875 table-cell [BFC] children: inline
+              BlockContainer <td> at (51.59375,39.734375) content-size 14.265625x17.46875 table-cell [BFC] children: inline
                 line 0 width: 14.265625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 14.265625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 1, rect: [50.09375,38.734375 14.265625x17.46875]
+                  frag 0 from TextNode start: 0, length: 1, rect: [51.59375,39.734375 14.265625x17.46875]
                     "A"
                     "A"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
-              BlockContainer <td> at (85.359375,57.96875) content-size 11.5625x17.46875 table-cell [BFC] children: inline
+              BlockContainer <td> at (87.859375,59.46875) content-size 11.5625x17.46875 table-cell [BFC] children: inline
                 line 0 width: 11.5625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 11.5625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 1, rect: [85.359375,57.96875 11.5625x17.46875]
+                  frag 0 from TextNode start: 0, length: 1, rect: [87.859375,59.46875 11.5625x17.46875]
                     "X"
                     "X"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
             BlockContainer <(anonymous)> (not painted) children: inline
             BlockContainer <(anonymous)> (not painted) children: inline
               TextNode <#text>
               TextNode <#text>
-            Box <tr> at (9,47.46875) content-size 98.421875x38.46875 table-row children: not-inline
+            Box <tr> at (9,48.46875) content-size 101.421875x39.46875 table-row children: not-inline
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
-              BlockContainer <td> at (19.5,57.96875) content-size 9.59375x17.46875 table-cell [BFC] children: inline
+              BlockContainer <td> at (20,59.46875) content-size 9.59375x17.46875 table-cell [BFC] children: inline
                 line 0 width: 6.34375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 6.34375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 1, rect: [19.5,57.96875 6.34375x17.46875]
+                  frag 0 from TextNode start: 0, length: 1, rect: [20,59.46875 6.34375x17.46875]
                     "1"
                     "1"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
             BlockContainer <(anonymous)> (not painted) children: inline
             BlockContainer <(anonymous)> (not painted) children: inline
               TextNode <#text>
               TextNode <#text>
-            Box <tr> at (9,85.9375) content-size 98.421875x38.46875 table-row children: not-inline
+            Box <tr> at (9,87.9375) content-size 101.421875x39.46875 table-row children: not-inline
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
-              BlockContainer <td> at (19.5,96.4375) content-size 9.59375x17.46875 table-cell [BFC] children: inline
+              BlockContainer <td> at (20,98.9375) content-size 9.59375x17.46875 table-cell [BFC] children: inline
                 line 0 width: 8.8125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 8.8125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 1, rect: [19.5,96.4375 8.8125x17.46875]
+                  frag 0 from TextNode start: 0, length: 1, rect: [20,98.9375 8.8125x17.46875]
                     "2"
                     "2"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
-              BlockContainer <td> at (50.09375,115.671875) content-size 14.265625x17.46875 table-cell [BFC] children: inline
+              BlockContainer <td> at (51.59375,118.671875) content-size 14.265625x17.46875 table-cell [BFC] children: inline
                 line 0 width: 9.34375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 9.34375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 1, rect: [50.09375,115.671875 9.34375x17.46875]
+                  frag 0 from TextNode start: 0, length: 1, rect: [51.59375,118.671875 9.34375x17.46875]
                     "B"
                     "B"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
             BlockContainer <(anonymous)> (not painted) children: inline
             BlockContainer <(anonymous)> (not painted) children: inline
               TextNode <#text>
               TextNode <#text>
-            Box <tr> at (9,124.40625) content-size 98.421875x38.46875 table-row children: not-inline
+            Box <tr> at (9,127.40625) content-size 101.421875x39.46875 table-row children: not-inline
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
-              BlockContainer <td> at (19.5,134.90625) content-size 9.59375x17.46875 table-cell [BFC] children: inline
+              BlockContainer <td> at (20,138.40625) content-size 9.59375x17.46875 table-cell [BFC] children: inline
                 line 0 width: 9.09375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 9.09375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 1, rect: [19.5,134.90625 9.09375x17.46875]
+                  frag 0 from TextNode start: 0, length: 1, rect: [20,138.40625 9.09375x17.46875]
                     "3"
                     "3"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
-              BlockContainer <td> at (85.359375,134.90625) content-size 11.5625x17.46875 table-cell [BFC] children: inline
+              BlockContainer <td> at (87.859375,138.40625) content-size 11.5625x17.46875 table-cell [BFC] children: inline
                 line 0 width: 10.3125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 10.3125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 0, length: 1, rect: [85.359375,134.90625 10.3125x17.46875]
+                  frag 0 from TextNode start: 0, length: 1, rect: [87.859375,138.40625 10.3125x17.46875]
                     "C"
                     "C"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
             BlockContainer <(anonymous)> (not painted) children: inline
             BlockContainer <(anonymous)> (not painted) children: inline
               TextNode <#text>
               TextNode <#text>
-      BlockContainer <(anonymous)> at (8,163.875) content-size 784x0 children: inline
+      BlockContainer <(anonymous)> at (8,167.875) content-size 784x0 children: inline
         TextNode <#text>
         TextNode <#text>
 
 
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
   PaintableWithLines (BlockContainer<HTML>) [0,0 800x600]
   PaintableWithLines (BlockContainer<HTML>) [0,0 800x600]
-    PaintableWithLines (BlockContainer<BODY>) [8,8 784x155.875]
-      PaintableWithLines (TableWrapper(anonymous)) [8,8 100.421875x155.875]
-        PaintableBox (Box<TABLE>) [8,8 100.421875x155.875]
-          PaintableBox (Box<TBODY>) [9,9 98.421875x153.875]
-            PaintableBox (Box<TR>) [9,9 98.421875x38.46875] overflow: [9,9 98.421875x115.40625]
-              PaintableWithLines (BlockContainer<TD>) [9,9 30.59375x38.46875]
+    PaintableWithLines (BlockContainer<BODY>) [8,8 784x159.875]
+      PaintableWithLines (TableWrapper(anonymous)) [8,8 103.421875x159.875]
+        PaintableBox (Box<TABLE>) [8,8 103.421875x159.875]
+          PaintableBox (Box<TBODY>) [9,9 101.421875x157.875]
+            PaintableBox (Box<TR>) [9,9 101.421875x39.46875] overflow: [9,9 101.421875x118.40625]
+              PaintableWithLines (BlockContainer<TD>) [9,9 31.59375x39.46875]
                 TextPaintable (TextNode<#text>)
                 TextPaintable (TextNode<#text>)
-              PaintableWithLines (BlockContainer<TD>) [39.59375,9 35.265625x76.9375]
+              PaintableWithLines (BlockContainer<TD>) [40.59375,9 36.265625x78.9375]
                 TextPaintable (TextNode<#text>)
                 TextPaintable (TextNode<#text>)
-              PaintableWithLines (BlockContainer<TD>) [74.859375,9 32.5625x115.40625]
+              PaintableWithLines (BlockContainer<TD>) [76.859375,9 33.5625x118.40625]
                 TextPaintable (TextNode<#text>)
                 TextPaintable (TextNode<#text>)
-            PaintableBox (Box<TR>) [9,47.46875 98.421875x38.46875]
-              PaintableWithLines (BlockContainer<TD>) [9,47.46875 30.59375x38.46875]
+            PaintableBox (Box<TR>) [9,48.46875 101.421875x39.46875]
+              PaintableWithLines (BlockContainer<TD>) [9,48.46875 31.59375x39.46875]
                 TextPaintable (TextNode<#text>)
                 TextPaintable (TextNode<#text>)
-            PaintableBox (Box<TR>) [9,85.9375 98.421875x38.46875] overflow: [9,85.9375 98.421875x76.9375]
-              PaintableWithLines (BlockContainer<TD>) [9,85.9375 30.59375x38.46875]
+            PaintableBox (Box<TR>) [9,87.9375 101.421875x39.46875] overflow: [9,87.9375 101.421875x78.9375]
+              PaintableWithLines (BlockContainer<TD>) [9,87.9375 31.59375x39.46875]
                 TextPaintable (TextNode<#text>)
                 TextPaintable (TextNode<#text>)
-              PaintableWithLines (BlockContainer<TD>) [39.59375,85.9375 35.265625x76.9375]
+              PaintableWithLines (BlockContainer<TD>) [40.59375,87.9375 36.265625x78.9375]
                 TextPaintable (TextNode<#text>)
                 TextPaintable (TextNode<#text>)
-            PaintableBox (Box<TR>) [9,124.40625 98.421875x38.46875]
-              PaintableWithLines (BlockContainer<TD>) [9,124.40625 30.59375x38.46875]
+            PaintableBox (Box<TR>) [9,127.40625 101.421875x39.46875]
+              PaintableWithLines (BlockContainer<TD>) [9,127.40625 31.59375x39.46875]
                 TextPaintable (TextNode<#text>)
                 TextPaintable (TextNode<#text>)
-              PaintableWithLines (BlockContainer<TD>) [74.859375,124.40625 32.5625x38.46875]
+              PaintableWithLines (BlockContainer<TD>) [76.859375,127.40625 33.5625x39.46875]
                 TextPaintable (TextNode<#text>)
                 TextPaintable (TextNode<#text>)
-      PaintableWithLines (BlockContainer(anonymous)) [8,163.875 784x0]
+      PaintableWithLines (BlockContainer(anonymous)) [8,167.875 784x0]

+ 19 - 19
Tests/LibWeb/Layout/expected/table/width-distribution-of-max-width-increment.txt

@@ -1,33 +1,33 @@
 Viewport <#document> at (0,0) content-size 800x600 children: not-inline
 Viewport <#document> at (0,0) content-size 800x600 children: not-inline
   BlockContainer <html> at (0,0) content-size 800x600 [BFC] children: not-inline
   BlockContainer <html> at (0,0) content-size 800x600 [BFC] children: not-inline
-    BlockContainer <body> at (8,8) content-size 784x20.46875 children: not-inline
-      TableWrapper <(anonymous)> at (8,8) content-size 784x20.46875 [BFC] children: not-inline
-        Box <table> at (8,8) content-size 784x20.46875 table-box [TFC] children: not-inline
+    BlockContainer <body> at (8,8) content-size 784x21.46875 children: not-inline
+      TableWrapper <(anonymous)> at (8,8) content-size 784x21.46875 [BFC] children: not-inline
+        Box <table> at (8,8) content-size 784x21.46875 table-box [TFC] children: not-inline
           BlockContainer <(anonymous)> (not painted) children: inline
           BlockContainer <(anonymous)> (not painted) children: inline
             TextNode <#text>
             TextNode <#text>
-          Box <tbody> at (8,8) content-size 784.015625x20.46875 table-row-group children: not-inline
+          Box <tbody> at (8,8) content-size 784x21.46875 table-row-group children: not-inline
             BlockContainer <(anonymous)> (not painted) children: inline
             BlockContainer <(anonymous)> (not painted) children: inline
               TextNode <#text>
               TextNode <#text>
-            Box <tr> at (8,8) content-size 784.015625x20.46875 table-row children: not-inline
+            Box <tr> at (8,8) content-size 784x21.46875 table-row children: not-inline
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
-              BlockContainer <td> at (9.5,9.5) content-size 215.109375x17.46875 table-cell [BFC] children: inline
+              BlockContainer <td> at (10,10) content-size 216.09375x17.46875 table-cell [BFC] children: inline
                 line 0 width: 14.265625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 14.265625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 1, length: 1, rect: [9.5,9.5 14.265625x17.46875]
+                  frag 0 from TextNode start: 1, length: 1, rect: [10,10 14.265625x17.46875]
                     "A"
                     "A"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
-              BlockContainer <td> at (227.609375,9.5) content-size 152.9375x17.46875 table-cell [BFC] children: inline
+              BlockContainer <td> at (230.09375,10) content-size 156.796875x17.46875 table-cell [BFC] children: inline
                 line 0 width: 9.34375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 9.34375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 1, length: 1, rect: [227.609375,9.5 9.34375x17.46875]
+                  frag 0 from TextNode start: 1, length: 1, rect: [230.09375,10 9.34375x17.46875]
                     "B"
                     "B"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
                 TextNode <#text>
                 TextNode <#text>
-              BlockContainer <td> at (383.546875,9.5) content-size 406.96875x17.46875 table-cell [BFC] children: inline
+              BlockContainer <td> at (390.890625,10) content-size 399.109375x17.46875 table-cell [BFC] children: inline
                 line 0 width: 29.453125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
                 line 0 width: 29.453125, height: 17.46875, bottom: 17.46875, baseline: 13.53125
-                  frag 0 from TextNode start: 1, length: 3, rect: [383.546875,9.5 29.453125x17.46875]
+                  frag 0 from TextNode start: 1, length: 3, rect: [390.890625,10 29.453125x17.46875]
                     "C D"
                     "C D"
                 TextNode <#text>
                 TextNode <#text>
               BlockContainer <(anonymous)> (not painted) children: inline
               BlockContainer <(anonymous)> (not painted) children: inline
@@ -39,14 +39,14 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
 
 
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
   PaintableWithLines (BlockContainer<HTML>) [0,0 800x600]
   PaintableWithLines (BlockContainer<HTML>) [0,0 800x600]
-    PaintableWithLines (BlockContainer<BODY>) [8,8 784x20.46875] overflow: [8,8 784.015625x20.46875]
-      PaintableWithLines (TableWrapper(anonymous)) [8,8 784x20.46875] overflow: [8,8 784.015625x20.46875]
-        PaintableBox (Box<TABLE>) [8,8 784x20.46875] overflow: [8,8 784.015625x20.46875]
-          PaintableBox (Box<TBODY>) [8,8 784.015625x20.46875]
-            PaintableBox (Box<TR>) [8,8 784.015625x20.46875]
-              PaintableWithLines (BlockContainer<TD>) [8,8 218.109375x20.46875]
+    PaintableWithLines (BlockContainer<BODY>) [8,8 784x21.46875]
+      PaintableWithLines (TableWrapper(anonymous)) [8,8 784x21.46875]
+        PaintableBox (Box<TABLE>) [8,8 784x21.46875]
+          PaintableBox (Box<TBODY>) [8,8 784x21.46875]
+            PaintableBox (Box<TR>) [8,8 784x21.46875]
+              PaintableWithLines (BlockContainer<TD>) [8,8 220.09375x21.46875]
                 TextPaintable (TextNode<#text>)
                 TextPaintable (TextNode<#text>)
-              PaintableWithLines (BlockContainer<TD>) [226.109375,8 155.9375x20.46875]
+              PaintableWithLines (BlockContainer<TD>) [228.09375,8 160.796875x21.46875]
                 TextPaintable (TextNode<#text>)
                 TextPaintable (TextNode<#text>)
-              PaintableWithLines (BlockContainer<TD>) [382.046875,8 409.96875x20.46875]
+              PaintableWithLines (BlockContainer<TD>) [388.890625,8 403.109375x21.46875]
                 TextPaintable (TextNode<#text>)
                 TextPaintable (TextNode<#text>)

+ 36 - 36
Tests/LibWeb/Layout/expected/text-align-justify-with-forced-break.txt

@@ -5,68 +5,68 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
         line 0 width: 98, height: 17.46875, bottom: 17.46875, baseline: 13.53125
         line 0 width: 98, height: 17.46875, bottom: 17.46875, baseline: 13.53125
           frag 0 from TextNode start: 1, length: 3, rect: [9,9 27.15625x17.46875]
           frag 0 from TextNode start: 1, length: 3, rect: [9,9 27.15625x17.46875]
             "foo"
             "foo"
-          frag 1 from TextNode start: 4, length: 1, rect: [36.15625,9 9x17.46875]
+          frag 1 from TextNode start: 4, length: 1, rect: [36,9 9x17.46875]
             " "
             " "
-          frag 2 from TextNode start: 5, length: 3, rect: [45.15625,9 27.640625x17.46875]
+          frag 2 from TextNode start: 5, length: 3, rect: [45,9 27.640625x17.46875]
             "bar"
             "bar"
-          frag 3 from TextNode start: 8, length: 1, rect: [72.796875,9 9x17.46875]
+          frag 3 from TextNode start: 8, length: 1, rect: [73,9 9x17.46875]
             " "
             " "
-          frag 4 from TextNode start: 9, length: 3, rect: [81.796875,9 27.203125x17.46875]
+          frag 4 from TextNode start: 9, length: 3, rect: [82,9 27.203125x17.46875]
             "baz"
             "baz"
-        line 1 width: 98, height: 17.46875, bottom: 34.9375, baseline: 13.53125
-          frag 0 from TextNode start: 13, length: 3, rect: [9,26.46875 27.15625x17.46875]
+        line 1 width: 98, height: 17.9375, bottom: 35.40625, baseline: 13.53125
+          frag 0 from TextNode start: 13, length: 3, rect: [9,26 27.15625x17.46875]
             "foo"
             "foo"
-          frag 1 from TextNode start: 16, length: 1, rect: [36.15625,26.46875 8x17.46875]
+          frag 1 from TextNode start: 16, length: 1, rect: [36,26 8x17.46875]
             " "
             " "
-          frag 2 from TextNode start: 17, length: 3, rect: [44.15625,26.46875 27.640625x17.46875]
+          frag 2 from TextNode start: 17, length: 3, rect: [44,26 27.640625x17.46875]
             "bar"
             "bar"
-          frag 3 from TextNode start: 20, length: 1, rect: [71.796875,26.46875 8x17.46875]
+          frag 3 from TextNode start: 20, length: 1, rect: [72,26 8x17.46875]
             " "
             " "
-          frag 4 from TextNode start: 21, length: 3, rect: [79.796875,26.46875 27.203125x17.46875]
+          frag 4 from TextNode start: 21, length: 3, rect: [80,26 27.203125x17.46875]
             "baz"
             "baz"
-        line 2 width: 98, height: 17.46875, bottom: 52.40625, baseline: 13.53125
-          frag 0 from TextNode start: 1, length: 3, rect: [9,43.9375 27.15625x17.46875]
+        line 2 width: 98, height: 18.40625, bottom: 53.34375, baseline: 13.53125
+          frag 0 from TextNode start: 1, length: 3, rect: [9,43 27.15625x17.46875]
             "foo"
             "foo"
-          frag 1 from TextNode start: 4, length: 1, rect: [36.15625,43.9375 9x17.46875]
+          frag 1 from TextNode start: 4, length: 1, rect: [36,43 9x17.46875]
             " "
             " "
-          frag 2 from TextNode start: 5, length: 3, rect: [45.15625,43.9375 27.640625x17.46875]
+          frag 2 from TextNode start: 5, length: 3, rect: [45,43 27.640625x17.46875]
             "bar"
             "bar"
-          frag 3 from TextNode start: 8, length: 1, rect: [72.796875,43.9375 9x17.46875]
+          frag 3 from TextNode start: 8, length: 1, rect: [73,43 9x17.46875]
             " "
             " "
-          frag 4 from TextNode start: 9, length: 3, rect: [81.796875,43.9375 27.203125x17.46875]
+          frag 4 from TextNode start: 9, length: 3, rect: [82,43 27.203125x17.46875]
             "baz"
             "baz"
-        line 3 width: 98, height: 17.46875, bottom: 69.875, baseline: 13.53125
-          frag 0 from TextNode start: 13, length: 3, rect: [9,61.40625 27.15625x17.46875]
+        line 3 width: 98, height: 17.875, bottom: 70.28125, baseline: 13.53125
+          frag 0 from TextNode start: 13, length: 3, rect: [9,61 27.15625x17.46875]
             "foo"
             "foo"
-          frag 1 from TextNode start: 16, length: 1, rect: [36.15625,61.40625 9x17.46875]
+          frag 1 from TextNode start: 16, length: 1, rect: [36,61 9x17.46875]
             " "
             " "
-          frag 2 from TextNode start: 17, length: 3, rect: [45.15625,61.40625 27.640625x17.46875]
+          frag 2 from TextNode start: 17, length: 3, rect: [45,61 27.640625x17.46875]
             "bar"
             "bar"
-          frag 3 from TextNode start: 20, length: 1, rect: [72.796875,61.40625 9x17.46875]
+          frag 3 from TextNode start: 20, length: 1, rect: [73,61 9x17.46875]
             " "
             " "
-          frag 4 from TextNode start: 21, length: 3, rect: [81.796875,61.40625 27.203125x17.46875]
+          frag 4 from TextNode start: 21, length: 3, rect: [82,61 27.203125x17.46875]
             "baz"
             "baz"
-        line 4 width: 98, height: 17.46875, bottom: 87.34375, baseline: 13.53125
-          frag 0 from TextNode start: 25, length: 3, rect: [9,78.875 27.15625x17.46875]
+        line 4 width: 98, height: 18.34375, bottom: 88.21875, baseline: 13.53125
+          frag 0 from TextNode start: 25, length: 3, rect: [9,78 27.15625x17.46875]
             "foo"
             "foo"
-          frag 1 from TextNode start: 28, length: 1, rect: [36.15625,78.875 8x17.46875]
+          frag 1 from TextNode start: 28, length: 1, rect: [36,78 8x17.46875]
             " "
             " "
-          frag 2 from TextNode start: 29, length: 3, rect: [44.15625,78.875 27.640625x17.46875]
+          frag 2 from TextNode start: 29, length: 3, rect: [44,78 27.640625x17.46875]
             "bar"
             "bar"
-          frag 3 from TextNode start: 32, length: 1, rect: [71.796875,78.875 8x17.46875]
+          frag 3 from TextNode start: 32, length: 1, rect: [72,78 8x17.46875]
             " "
             " "
-          frag 4 from TextNode start: 33, length: 3, rect: [79.796875,78.875 27.203125x17.46875]
+          frag 4 from TextNode start: 33, length: 3, rect: [80,78 27.203125x17.46875]
             "baz"
             "baz"
-        line 5 width: 98, height: 17.46875, bottom: 104.8125, baseline: 13.53125
-          frag 0 from TextNode start: 1, length: 3, rect: [9,96.34375 27.15625x17.46875]
+        line 5 width: 98, height: 17.8125, bottom: 105.15625, baseline: 13.53125
+          frag 0 from TextNode start: 1, length: 3, rect: [9,96 27.15625x17.46875]
             "foo"
             "foo"
-          frag 1 from TextNode start: 4, length: 1, rect: [36.15625,96.34375 8x17.46875]
+          frag 1 from TextNode start: 4, length: 1, rect: [36,96 8x17.46875]
             " "
             " "
-          frag 2 from TextNode start: 5, length: 3, rect: [44.15625,96.34375 27.640625x17.46875]
+          frag 2 from TextNode start: 5, length: 3, rect: [44,96 27.640625x17.46875]
             "bar"
             "bar"
-          frag 3 from TextNode start: 8, length: 1, rect: [71.796875,96.34375 8x17.46875]
+          frag 3 from TextNode start: 8, length: 1, rect: [72,96 8x17.46875]
             " "
             " "
-          frag 4 from TextNode start: 9, length: 3, rect: [79.796875,96.34375 27.203125x17.46875]
+          frag 4 from TextNode start: 9, length: 3, rect: [80,96 27.203125x17.46875]
             "baz"
             "baz"
         TextNode <#text>
         TextNode <#text>
         BreakNode <br>
         BreakNode <br>
@@ -76,8 +76,8 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
 
 
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
   PaintableWithLines (BlockContainer<HTML>) [0,0 800x118]
   PaintableWithLines (BlockContainer<HTML>) [0,0 800x118]
-    PaintableWithLines (BlockContainer<BODY>) [8,8 784x102] overflow: [8,8 784x105.8125]
-      PaintableWithLines (BlockContainer<DIV>) [8,8 102x102] overflow: [9,9 100x104.8125]
+    PaintableWithLines (BlockContainer<BODY>) [8,8 784x102] overflow: [8,8 784x105.46875]
+      PaintableWithLines (BlockContainer<DIV>) [8,8 102x102] overflow: [9,9 100.203125x104.46875]
         TextPaintable (TextNode<#text>)
         TextPaintable (TextNode<#text>)
         TextPaintable (TextNode<#text>)
         TextPaintable (TextNode<#text>)
         TextPaintable (TextNode<#text>)
         TextPaintable (TextNode<#text>)

+ 12 - 12
Tests/LibWeb/Layout/expected/text-indent.txt

@@ -1,6 +1,6 @@
 Viewport <#document> at (0,0) content-size 800x600 children: not-inline
 Viewport <#document> at (0,0) content-size 800x600 children: not-inline
-  BlockContainer <html> at (1,1) content-size 798x160.8125 [BFC] children: not-inline
-    BlockContainer <body> at (10,10) content-size 780x142.8125 children: not-inline
+  BlockContainer <html> at (1,1) content-size 798x161.21875 [BFC] children: not-inline
+    BlockContainer <body> at (10,10) content-size 780x143.21875 children: not-inline
       BlockContainer <div.px-indent> at (11,11) content-size 778x68.9375 children: not-inline
       BlockContainer <div.px-indent> at (11,11) content-size 778x68.9375 children: not-inline
         BlockContainer <(anonymous)> at (11,11) content-size 778x17.46875 children: inline
         BlockContainer <(anonymous)> at (11,11) content-size 778x17.46875 children: inline
           line 0 width: 142.390625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
           line 0 width: 142.390625, height: 17.46875, bottom: 17.46875, baseline: 13.53125
@@ -12,28 +12,28 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
             frag 0 from TextNode start: 0, length: 12, rect: [62,45.46875 90.921875x17.46875]
             frag 0 from TextNode start: 0, length: 12, rect: [62,45.46875 90.921875x17.46875]
               "is inherited"
               "is inherited"
           TextNode <#text>
           TextNode <#text>
-      BlockContainer <div.pct-indent> at (11,81.9375) content-size 100x69.875 children: inline
+      BlockContainer <div.pct-indent> at (11,81.9375) content-size 100x70.28125 children: inline
         line 0 width: 80.34375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
         line 0 width: 80.34375, height: 17.46875, bottom: 17.46875, baseline: 13.53125
           frag 0 from TextNode start: 0, length: 3, rect: [61,81.9375 30.34375x17.46875]
           frag 0 from TextNode start: 0, length: 3, rect: [61,81.9375 30.34375x17.46875]
             "50%"
             "50%"
-        line 1 width: 88.15625, height: 17.46875, bottom: 34.9375, baseline: 13.53125
-          frag 0 from TextNode start: 4, length: 11, rect: [11,99.40625 88.15625x17.46875]
+        line 1 width: 88.15625, height: 17.9375, bottom: 35.40625, baseline: 13.53125
+          frag 0 from TextNode start: 4, length: 11, rect: [11,98.9375 88.15625x17.46875]
             "indent snip"
             "indent snip"
-        line 2 width: 78.703125, height: 17.46875, bottom: 52.40625, baseline: 13.53125
-          frag 0 from TextNode start: 16, length: 9, rect: [11,116.875 78.703125x17.46875]
+        line 2 width: 78.703125, height: 18.40625, bottom: 53.34375, baseline: 13.53125
+          frag 0 from TextNode start: 16, length: 9, rect: [11,115.9375 78.703125x17.46875]
             "snap snib"
             "snap snib"
-        line 3 width: 37.765625, height: 17.46875, bottom: 69.875, baseline: 13.53125
-          frag 0 from TextNode start: 26, length: 4, rect: [11,134.34375 37.765625x17.46875]
+        line 3 width: 37.765625, height: 17.875, bottom: 70.28125, baseline: 13.53125
+          frag 0 from TextNode start: 26, length: 4, rect: [11,133.9375 37.765625x17.46875]
             "snab"
             "snab"
         TextNode <#text>
         TextNode <#text>
 
 
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
 PaintableWithLines (Viewport<#document>) [0,0 800x600]
-  PaintableWithLines (BlockContainer<HTML>) [0,0 800x162.8125]
-    PaintableWithLines (BlockContainer<BODY>) [9,9 782x144.8125]
+  PaintableWithLines (BlockContainer<HTML>) [0,0 800x163.21875]
+    PaintableWithLines (BlockContainer<BODY>) [9,9 782x145.21875]
       PaintableWithLines (BlockContainer<DIV>.px-indent) [10,10 780x70.9375]
       PaintableWithLines (BlockContainer<DIV>.px-indent) [10,10 780x70.9375]
         PaintableWithLines (BlockContainer(anonymous)) [11,11 778x17.46875]
         PaintableWithLines (BlockContainer(anonymous)) [11,11 778x17.46875]
           TextPaintable (TextNode<#text>)
           TextPaintable (TextNode<#text>)
         PaintableWithLines (BlockContainer<P>) [11,44.46875 778x19.46875]
         PaintableWithLines (BlockContainer<P>) [11,44.46875 778x19.46875]
           TextPaintable (TextNode<#text>)
           TextPaintable (TextNode<#text>)
-      PaintableWithLines (BlockContainer<DIV>.pct-indent) [10,80.9375 102x71.875]
+      PaintableWithLines (BlockContainer<DIV>.pct-indent) [10,80.9375 102x72.28125]
         TextPaintable (TextNode<#text>)
         TextPaintable (TextNode<#text>)

+ 36 - 0
Tests/LibWeb/TestCSSPixels.cpp

@@ -111,4 +111,40 @@ TEST_CASE(multiplication_uses_i64_for_raw_values)
     EXPECT_EQ(c, CSSPixels(776400));
     EXPECT_EQ(c, CSSPixels(776400));
 }
 }
 
 
+TEST_CASE(rounding)
+{
+    EXPECT_EQ(ceil(CSSPixels(0)), CSSPixels(0));
+    EXPECT_EQ(ceil(CSSPixels(0.5)), CSSPixels(1));
+    EXPECT_EQ(ceil(CSSPixels(1.3)), CSSPixels(2));
+    EXPECT_EQ(ceil(CSSPixels(1.5)), CSSPixels(2));
+    EXPECT_EQ(ceil(CSSPixels(1.7)), CSSPixels(2));
+
+    EXPECT_EQ(ceil(CSSPixels(-0.5)), CSSPixels(0));
+    EXPECT_EQ(ceil(CSSPixels(-1.3)), CSSPixels(-1));
+    EXPECT_EQ(ceil(CSSPixels(-1.5)), CSSPixels(-1));
+    EXPECT_EQ(ceil(CSSPixels(-1.7)), CSSPixels(-1));
+
+    EXPECT_EQ(floor(CSSPixels(0)), CSSPixels(0));
+    EXPECT_EQ(floor(CSSPixels(0.5)), CSSPixels(0));
+    EXPECT_EQ(floor(CSSPixels(1.3)), CSSPixels(1));
+    EXPECT_EQ(floor(CSSPixels(1.5)), CSSPixels(1));
+    EXPECT_EQ(floor(CSSPixels(1.7)), CSSPixels(1));
+
+    EXPECT_EQ(floor(CSSPixels(-0.5)), CSSPixels(-1));
+    EXPECT_EQ(floor(CSSPixels(-1.3)), CSSPixels(-2));
+    EXPECT_EQ(floor(CSSPixels(-1.5)), CSSPixels(-2));
+    EXPECT_EQ(floor(CSSPixels(-1.7)), CSSPixels(-2));
+
+    EXPECT_EQ(round(CSSPixels(0)), CSSPixels(0));
+    EXPECT_EQ(round(CSSPixels(0.5)), CSSPixels(1));
+    EXPECT_EQ(round(CSSPixels(1.3)), CSSPixels(1));
+    EXPECT_EQ(round(CSSPixels(1.5)), CSSPixels(2));
+    EXPECT_EQ(round(CSSPixels(1.7)), CSSPixels(2));
+
+    EXPECT_EQ(round(CSSPixels(-0.5)), CSSPixels(-1));
+    EXPECT_EQ(round(CSSPixels(-1.3)), CSSPixels(-1));
+    EXPECT_EQ(round(CSSPixels(-1.5)), CSSPixels(-2));
+    EXPECT_EQ(round(CSSPixels(-1.7)), CSSPixels(-2));
+}
+
 }
 }

+ 8 - 6
Userland/Libraries/LibWeb/PixelUnits.h

@@ -254,20 +254,22 @@ inline Web::CSSPixels abs(Web::CSSPixels const& value)
 
 
 constexpr Web::CSSPixels floor(Web::CSSPixels const& value)
 constexpr Web::CSSPixels floor(Web::CSSPixels const& value)
 {
 {
-    // FIXME: Actually floor value
-    return value;
+    return Web::CSSPixels::from_raw(value.raw_value() & ~Web::CSSPixels::radix_mask);
 }
 }
 
 
 constexpr Web::CSSPixels ceil(Web::CSSPixels const& value)
 constexpr Web::CSSPixels ceil(Web::CSSPixels const& value)
 {
 {
-    // FIXME: Actually ceil value
-    return value;
+    auto floor_value = value.raw_value() & ~Web::CSSPixels::radix_mask;
+    auto ceil_value = floor_value + (value.raw_value() & Web::CSSPixels::radix_mask ? Web::CSSPixels::fixed_point_denominator : 0);
+    return Web::CSSPixels::from_raw(ceil_value);
 }
 }
 
 
 constexpr Web::CSSPixels round(Web::CSSPixels const& value)
 constexpr Web::CSSPixels round(Web::CSSPixels const& value)
 {
 {
-    // FIXME: Actually round value
-    return value;
+    // FIXME: Maybe do this with bit-fiddling instead
+    if (value > 0)
+        return floor(value + Web::CSSPixels::from_raw(Web::CSSPixels::fixed_point_denominator >> 1 /* 0.5 */));
+    return ceil(value - Web::CSSPixels::from_raw(Web::CSSPixels::fixed_point_denominator >> 1 /* 0.5 */));
 }
 }
 
 
 constexpr Web::DevicePixels abs(Web::DevicePixels const& value)
 constexpr Web::DevicePixels abs(Web::DevicePixels const& value)