Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upChanging the position of <span> to doesn't correctly reflow later siblings #8421
Labels
Comments
|
This seems to be fixed by the conservative workaround change in #8438. We'll see if it resurfaces again when that issue is fixed. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
In #8381, I'm making our dirty-marking more conservative with attribute restyle hints. This uncovered a bug whereby we don't properly fix up the content following a span when its |position| property changes. This caused the following tests to fail:
css21_dev/html4/run-in-abspos-between-003.htm
css21_dev/html4/run-in-fixedpos-between-003.htm
css21_dev/html4/run-in-float-between-003.htm
In the first test (the one I looked at), there's a blank line between the content preceding the span and the content following the span, even though the span is marked |position: absolute|. The rule matching definitely happens, because the |visibility: hidden| on the span gets applied.
I'm marking those tests as failing for now to get this landed (with @pcwalton's approval). But we should clearly fix this. Here are patrick's thoughts:
[18:28:50] @pcwalton yeah, we may need a special case for that in repair_style
[18:28:59] @pcwalton it’s part of the flow constructor, construct.rs
[18:29:48] pcwalton: why do we need such special cases?
[18:30:26] @pcwalton so I won’t know for sure without investigating but I suspect it’s something like “position:absolute needs special hypothetical boxes to get generated"
[18:30:38] @pcwalton and without those being generated, position:absolute layout can’t work
[18:41:16] @pcwalton I think this is an {ib} split mishandling issue
[18:41:57] @pcwalton namely, we don’t repair properly when a {ib} split no longer exists