Allow raising FloatContext ceiling after processing box with overflow (#30539)

When a box has overflow, any floats placed in that box will lower the
float ceiling into the overflow. If no float is placed in the box
though, the ceiling should be the block position where the overflow
starts. We already know where this is, because we might be passing a
negative value for the new block position after processing a box
(content_size - actual_size would be negative). This negative value
never raises the ceiling though since a maximum is used.

In the case that there is overflow, this change allows raising the
ceiling, but never passed the lowest float. This necessitates keeping
two values for the ceiling: one for floats and one for non-floats.

Fixes #30304.
This commit is contained in:
Martin Robinson 2023-10-17 09:53:57 +02:00 committed by GitHub
parent 59ea908294
commit 2c341d9e69
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 35 additions and 25 deletions

View file

@ -1,2 +0,0 @@
[margin-collapse-104.xht]
expected: FAIL

View file

@ -1,2 +0,0 @@
[z-index-020.xht]
expected: FAIL

View file

@ -1,12 +1,3 @@
[elementsFromPoint-simple.html]
[elementsFromPoint for each corner of a simple div]
expected: FAIL
[elementsFromPoint for each corner of a div that is between another div and its pseudo-element]
expected: FAIL
[elementsFromPoint for each corner of a div that has a margin]
expected: FAIL
[elementsFromPoint for each corner of a div with a 3d transform]
expected: FAIL