Open Bug 1768921 Opened 2 years ago Updated 17 days ago

[css-overflow-3] Incorporate "padding-inflated bounds of in-flow children" into scrollable elements' scrollable-overflow area

Categories

(Core :: Layout: Scrolling and Overflow, defect)

defect

Tracking

()

ASSIGNED

People

(Reporter: mozilla-apprentice, Assigned: dshin)

References

(Blocks 1 open bug)

Details

Attachments

(2 files)

A resolution was made for csswg-drafts/#129.

[css-overflow-3] Clarify padding in overflow content

  • RESOLVED: Always require inline-end padding to be added against the inline-end alignment edge for block/flow layout when it’s a scroll container, thus matching the tests.

Discussion.

A test for this behavior (in which we fail some subtests) is here:
https://wpt.fyi/results/css/css-overflow/scrollable-overflow-padding.html

This test will eventually live in our tree as well as a WPT test, though it doesn't look like we've merged it over yet. But when we do, it will be at
https://searchfox.org/mozilla-central/source/testing/web-platform/tests/css/css-overflow/scrollable-overflow-padding.html

Depends on: 1697349

I think this will basically fix bug 1700858, which we can maybe consider to be a metabug at this point.

Blocks: 1700858
Depends on: 1527949
Assignee: nobody → dshin
Status: NEW → ASSIGNED
Depends on: 1772593
Depends on: 1773121

[clarifying bug-summary to be less vague & to sum up what I think the Chromium behavior basically is, which the CSSWG resolved to adopt]

Summary: [css-overflow-3] Clarify padding in overflow content → [css-overflow-3] Incorporate "padding-inflated bounds of in-flow children" into scrollable elements' scrollable-overflow area

A scrollable element's overflow area:

  • Includes direct childrens' margin rect
    • Zero area rects are included
    • In-flow positioned rects are included and padding inflated
    • Out-of-flow positioned rects are included but not padding inflated
  • Includes overflow (border rect) of direct children, but not padding inflated
No longer depends on: 1772593
Attachment #9284582 - Attachment description: Bug 1768921, bug 1772593 - Ensure that padding inflated bounds of in-flow children is included in the scrollable element's overflow area. r=dholbert → Bug 1768921 - Ensure that padding inflated bounds of in-flow children is included in the scrollable element's overflow area. r=dholbert
Attachment #9284582 - Attachment description: Bug 1768921 - Ensure that padding inflated bounds of in-flow children is included in the scrollable element's overflow area. r=dholbert → Bug 1768921 - Part 1: Ensure that padding inflated bounds of in-flow children is included in the scrollable element's overflow area. r=dholbert
Attachment #9284582 - Attachment description: Bug 1768921 - Part 1: Ensure that padding inflated bounds of in-flow children is included in the scrollable element's overflow area. r=dholbert → Bug 1768921 - Ensure that padding inflated bounds of in-flow children are included in the scrollable element's overflow area. r=dholbert
Attached file breaktest 1

As discussed on slack: here's a testcase that I think is currently broken by the attached patch (we fail to scroll far enough to show a find-in-page match), but it works properly if we revert the PresShell.cpp changes.

(It's using the overflow-clip-box property, which isn't user-exposed by default, so likely nobody would notice -- but ideally we should avoid needlessly/accidentally breaking it.)

Depends on: 1786628
Attachment #9284582 - Attachment description: Bug 1768921 - Ensure that padding inflated bounds of in-flow children are included in the scrollable element's overflow area. r=dholbert → Bug 1768921 - Ensure that padding inflated bounds of in-flow children are included in the scrollable element's overflow area. r=dholbert,#layout-reviewers
Duplicate of this bug: 1847777
Duplicate of this bug: 1868022
See Also: → 1883973
Duplicate of this bug: 1883973
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: