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

Properly disallow custom layout + multicol. #29403

Merged
merged 1 commit into from Jun 17, 2021

Conversation

chromium-wpt-export-bot
Copy link
Collaborator

@chromium-wpt-export-bot chromium-wpt-export-bot commented Jun 16, 2021

Checking LayoutObject type won't do, since we don't always create a
LayoutNGCustom object (e.g. if it's a DETAILS element (but, then again,
should we allow custom layout on those???)). Check display type instead.

The reason for the crash was that we ended up creating a
LayoutNGBlockFragmentation multicol container inside a legacy multicol
container, even when LayoutNGBlockFragmentation is disabled (custom
layout forces LayoutNG). We don't create a paint layer on the flow
thread (nor the multicol container) in LayoutNGBlockFragmentation, which
the legacy pre-paint code assumes.

Bug: 1219874
Change-Id: I26fcd8d4a5fd51ce1799b207bf39b8e322890ca9
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2964675
Reviewed-by: Xianzhu Wang <wangxianzhu@chromium.org>
Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org>
Commit-Queue: Morten Stenshorne <mstensho@chromium.org>
Cr-Commit-Position: refs/heads/master@{#893340}

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.

Checking LayoutObject type won't do, since we don't always create a
LayoutNGCustom object (e.g. if it's a DETAILS element (but, then again,
should we allow custom layout on those???)). Check display type instead.

The reason for the crash was that we ended up creating a
LayoutNGBlockFragmentation multicol container inside a legacy multicol
container, even when LayoutNGBlockFragmentation is disabled (custom
layout forces LayoutNG). We don't create a paint layer on the flow
thread (nor the multicol container) in LayoutNGBlockFragmentation, which
the legacy pre-paint code assumes.

Bug: 1219874
Change-Id: I26fcd8d4a5fd51ce1799b207bf39b8e322890ca9
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2964675
Reviewed-by: Xianzhu Wang <wangxianzhu@chromium.org>
Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org>
Commit-Queue: Morten Stenshorne <mstensho@chromium.org>
Cr-Commit-Position: refs/heads/master@{#893340}
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