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>