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

[LayoutNG] Change NGBlockLayoutAlgorithm::FinishInflow DCHECK. #22736

Merged
merged 1 commit into from May 14, 2020

Conversation

chromium-wpt-export-bot
Copy link
Collaborator

@chromium-wpt-export-bot chromium-wpt-export-bot commented Apr 6, 2020

If we had an empty linebox with a float inside it (and the float was
shifted due to other floats) it was possible for that linebox to fail
the DCHECK in:
ng_block_layout_algorithm.cc:1584
DCHECK(!normal_child_had_clearance || !is_self_collapsing);

Both of these conditions were true.

This patch changes the normal_child_had_clearance variable to only be
true if it was a block child (not inline), pushed by floats.

Bug: 1064987
Change-Id: Ie326437a637cc57d1b17f91ac5e49847fd13c983
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2137377
Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org>
Reviewed-by: Morten Stenshorne <mstensho@chromium.org>
Reviewed-by: Koji Ishii <kojii@chromium.org>
Cr-Commit-Position: refs/heads/master@{#768944}

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 Chromium project.

@chromium-wpt-export-bot chromium-wpt-export-bot changed the title [LayoutNG] Don't set the SetIsPushedByFloats() flag on lineboxes. [LayoutNG] Change NGBlockLayoutAlgorithm::FinishInflow DCHECK. May 14, 2020
@chromium-wpt-export-bot chromium-wpt-export-bot force-pushed the chromium-export-cl-2137377 branch 2 times, most recently from 81aa959 to 0bad5db Compare May 14, 2020 20:03
If we had an empty linebox with a float inside it (and the float was
shifted due to other floats) it was possible for that linebox to fail
the DCHECK in:
ng_block_layout_algorithm.cc:1584
DCHECK(!normal_child_had_clearance || !is_self_collapsing);

Both of these conditions were true.

This patch changes the normal_child_had_clearance variable to only be
true if it was a *block* child (not inline), pushed by floats.

Bug: 1064987
Change-Id: Ie326437a637cc57d1b17f91ac5e49847fd13c983
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2137377
Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org>
Reviewed-by: Morten Stenshorne <mstensho@chromium.org>
Reviewed-by: Koji Ishii <kojii@chromium.org>
Cr-Commit-Position: refs/heads/master@{#768944}
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