Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Gecko Bug 1671527] Part 3 - Reparent floats when creating non-column-span wrapper frames. #29771

Merged
merged 1 commit into from Jul 25, 2021

Conversation

moz-wptsync-bot
Copy link
Collaborator

When we are in CreateColumnSpanSiblings(), there are floats in
nsFrameConstructorState::mFloatedList that are waiting to be added to
aInitialBlock once we leave scope of the float containing block.
However, since we are creating non-column-span continuations, which are
continuations of aInitialBlock, we should reparent the floats to these
continuations if their placeholders are the descendants of the
newly-created continuations.

multicol-span-float-002.html exercises
nsCSSFrameConstructor::ConstructBlock() and multicol-span-float-003.html
exercises nsCSSFrameConstructor::CreateIBSiblings().

Without this patch, multicol-span-float-002.html and
multicol-span-float-003.html still pass, but they trigger

ASSERTION: nsBlockFrame::CheckFloats: Explicit float list is out of
sync with float cache

1524382.html used to trigger the above assertions. Now it's fixed.

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

bugzilla-url: https://bugzilla.mozilla.org/show_bug.cgi?id=1671527
gecko-commit: fa7249945de1f8adc586889a4c7fb1f89322a219
gecko-reviewers: emilio

When we are in CreateColumnSpanSiblings(), there are floats in
nsFrameConstructorState::mFloatedList that are waiting to be added to
aInitialBlock once we leave scope of the float containing block.
However, since we are creating non-column-span continuations, which are
continuations of aInitialBlock, we should reparent the floats to these
continuations if their placeholders are the descendants of the
newly-created continuations.

multicol-span-float-002.html exercises
nsCSSFrameConstructor::ConstructBlock() and multicol-span-float-003.html
exercises nsCSSFrameConstructor::CreateIBSiblings().

Without this patch, multicol-span-float-002.html and
multicol-span-float-003.html still pass, but they trigger

```
ASSERTION: nsBlockFrame::CheckFloats: Explicit float list is out of
sync with float cache
```

1524382.html used to trigger the above assertions. Now it's fixed.

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

bugzilla-url: https://bugzilla.mozilla.org/show_bug.cgi?id=1671527
gecko-commit: fa7249945de1f8adc586889a4c7fb1f89322a219
gecko-reviewers: emilio
Copy link
Collaborator

@wpt-pr-bot wpt-pr-bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The review process for this patch is being conducted in the Firefox project.

@moz-wptsync-bot moz-wptsync-bot merged commit 3dda657 into master Jul 25, 2021
@moz-wptsync-bot moz-wptsync-bot deleted the gecko/1671527 branch July 25, 2021 09:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants