Bug 218579

Summary: [Interop 2021][css-flexbox] flex item margins not included in flex container overflow
Product: WebKit Reporter: fantasai <fantasai.bugs>
Component: CSSAssignee: Nobody <webkit-unassigned>
Status: NEW ---    
Severity: Normal CC: baba, bfulgham, karlcow, koivisto, ntim, simon.fraser, smoley, webkit-bug-importer, zalan
Priority: P2 Keywords: BrowserCompat, InRadar, WPTImpact
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
URL: https://github.com/w3c/csswg-drafts/issues/4577
Bug Depends on:    
Bug Blocks: 212046    

Description fantasai 2020-11-04 11:51:49 PST
Spec requires flex item margins (and the flex container's padding) to be included in the flex container's overflow area.
This is tested in 
  https://wpt.fyi/results/css/css-flexbox/overflow-area-001.html?label=experimental&label=master&aligned
  https://wpt.fyi/results/css/css-flexbox/overflow-area-002.html?label=experimental&label=master&aligned
and it definitely bugs authors. (The spec bugs about including margins/padding were some of the most flagged issues in the CSSWG repo.)
Comment 1 Radar WebKit Bug Importer 2020-11-04 12:08:26 PST
<rdar://problem/71046552>
Comment 2 Tim Nguyen (:ntim) 2022-10-05 20:50:09 PDT
    if (isGridItem()) {
        // As per https://github.com/w3c/csswg-drafts/issues/3653, child's margins should contribute to the scrollable overflow area.
        // FIXME: Expand it to non-grid cases when applicable.
        rect.setWidth(rect.width() + std::max(0_lu, marginEnd()));
    }

in RenderBox::layoutOverflowRectForPropagation is a good first place to look at.