Part 2 - Compute abs-pos elements' available block-size, and pass it to ReflowInput's constructor.

This ensures abs-pos frame with size containment is monolithic because
ReflowInput::Init() can override available block-size to an
unconstrained size if the frame has size containment (Bug 1470329).

Differential Revision: https://phabricator.services.mozilla.com/D98227

bugzilla-url: https://bugzilla.mozilla.org/show_bug.cgi?id=1679819
gecko-commit: 954ba4c01157f5f1a276707d8a83c43e45d8e2f9
gecko-reviewers: layout-reviewers, emilio
diff --git a/css/css-contain/contain-size-monolithic-002.html b/css/css-contain/contain-size-monolithic-002.html
new file mode 100644
index 0000000..7f407df
--- /dev/null
+++ b/css/css-contain/contain-size-monolithic-002.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html>
+  <meta charset="UTF-8">
+  <title>CSS Containment Test: absolute positioned 'contain: size' element is monolithic</title>
+  <link rel="author" title="Ting-Yu Lin" href="mailto:tlin@mozilla.com">
+  <link rel="author" title="Mozilla" href="https://www.mozilla.org/">
+  <link rel="help" href="https://drafts.csswg.org/css-contain-1/#containment-size">
+  <link rel="match" href="../reference/ref-filled-green-100px-square-only.html">
+  <meta  name="assert" content="This test checks that an absolute positioned element with size containment is monolithic.">
+
+  <style>
+  #multicol {
+    width: 300px;
+    column-count: 3;
+  }
+  #container {
+    position: relative;
+  }
+  #abs-size-contain {
+    position: absolute;
+    contain: size;
+    width: 100px;
+    height: 100px;
+    background: green;
+  }
+  </style>
+
+  <p>Test passes if there is a filled green square.</p>
+  <div id="multicol">
+    <div id="container">
+      <div id="abs-size-contain"></div>
+    </div>
+  </div>
+</html>