Summary: | [LFC][Quirk] Use non-collapsed vertical margin values when the container is stretched to the size of the ICB. | ||||||
---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | zalan <zalan> | ||||
Component: | Layout and Rendering | Assignee: | zalan <zalan> | ||||
Status: | RESOLVED FIXED | ||||||
Severity: | Normal | CC: | bfulgham, koivisto, simon.fraser, webkit-bug-importer, zalan | ||||
Priority: | P2 | Keywords: | InRadar | ||||
Version: | WebKit Nightly Build | ||||||
Hardware: | Unspecified | ||||||
OS: | Unspecified | ||||||
Attachments: |
|
Description
zalan
2018-11-28 08:58:38 PST
Created attachment 355877 [details]
Patch
Comment on attachment 355877 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=355877&action=review > Source/WebCore/layout/blockformatting/BlockFormattingContextGeometry.cpp:67 > static HeightAndMargin stretchHeightToInitialContainingBlock(HeightAndMargin heightAndMargin, LayoutUnit initialContainingBlockHeight) > { > - auto verticalMargins = heightAndMargin.margin.top + heightAndMargin.margin.bottom; > + // This quirk happens when the body height is 0 which means its vertical margins collapse through (top and bottom margins are adjoining). > + // However now that we stretch the body they don't collapse through anymore, so we need to use the non-collapsed values instead. > + ASSERT(initialContainingBlockHeight); > + auto verticalMargins = heightAndMargin.height ? heightAndMargin.usedMarginValues() : heightAndMargin.margin; > + auto totalVerticalMargins = verticalMargins.top + verticalMargins.bottom; Could we factor all quirk mode code to a class or namespace or something that says "quirk"? Committed r238613: <https://trac.webkit.org/changeset/238613> |