commit 60db6be561856dd0a89120c0544ca7ddcbe51e13 parent 4b3e952402a82030a2efa11a7ee5a72b641d6b93 Author: Morten Stenshorne <mstensho@chromium.org> Date: Thu, 8 Jan 2026 17:35:52 +0000 Bug 2008759 [wpt PR 57010] - Pre-paint: Fragmentainers as OOF containing fragment fix., a=testonly Automatic update from web-platform-tests Pre-paint: Fragmentainers as OOF containing fragment fix. Don't let a fragmentainer become a containing fragment for OOF descendants when it shouldn't. Back in the flow-thread days there used to be code at the beginning of UpdateContextForOOFContainer() which would bail if the passed object was a flow thread. This then got disabled [1] and then fully removed [2] later. This was assumed to be a safe removal, but it turns out that this check was also a means of bailing at fragmentainers. Fix it by directly checking if it's a fragmentainer. [1] https://crrev.com/c/6523802 [2] https://crrev.com/c/6780906 In our implementation, fragmentainers may still serve as containing "blocks" for OOF descendants. This is handled separately in WalkFragmentainer(). This will go away when FragmentedOofInCbEnabled ships. Place the code inside a feature check for clarity (and correctness; although this change doesn't affect any virtual/fragmented-oof-in-cb/ tests). Also remove a rather misplaced comment at the end of UpdateContextForOOFContainer(), regarding special containing block structure for OOFs inside fragmentation. While it's still special, stating it here made little sense after https://crrev.com/c/3714109 Bug: 471136527 Change-Id: Id834f6df6050a4eacde87ab441a2c253372fcd17 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7323734 Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org> Reviewed-by: Philip Rogers <pdr@chromium.org> Commit-Queue: Morten Stenshorne <mstensho@chromium.org> Cr-Commit-Position: refs/heads/main@{#1565510} -- wpt-commits: 884ddbc6a04df0d2474c333490a54cc069b50ddc wpt-pr: 57010 Diffstat:
2 files changed, 24 insertions(+), 0 deletions(-)
diff --git a/testing/web-platform/tests/css/css-multicol/crashtests/oof-in-spanner-in-relpos-in-multicol-in-relpos-multicol-001.html b/testing/web-platform/tests/css/css-multicol/crashtests/oof-in-spanner-in-relpos-in-multicol-in-relpos-multicol-001.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org"> +<link rel="help" href="https://issues.chromium.org/issues/471136527"> +<div style="position:relative; columns:3;"> + <div style="columns:2;"> + <div style="position:relative;"> + <div style="column-span:all;"> + <div style="position:absolute;"></div> + </div> + </div> + </div> +</div> diff --git a/testing/web-platform/tests/css/css-multicol/crashtests/oof-in-spanner-in-relpos-in-multicol-in-relpos-multicol-002.html b/testing/web-platform/tests/css/css-multicol/crashtests/oof-in-spanner-in-relpos-in-multicol-in-relpos-multicol-002.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org"> +<link rel="help" href="https://issues.chromium.org/issues/471136527"> +<div style="position:absolute; columns:3;"> + <div style="opacity:0.1; columns:2; overflow:scroll;"> + <span style="position:relative; padding-right:10px; padding-bottom:100px;"> + <div style="column-span:all;"> + <div style="position:absolute;">xx</div> + </div> + </span> + </div> +</div>