haikuwebkit/LayoutTests/fast/css-intrinsic-dimensions/mincontent-maxcontent-inlin...

35 lines
846 B
HTML
Raw Permalink Normal View History

Fix computation of min|max-content contribution of non-replaced blocks https://bugs.webkit.org/show_bug.cgi?id=152004 Reviewed by Darin Adler. Source/WebCore: WebKit currently always returns the min preferred logical width for the min-content contribution (and the max preferred logical width for the max-content contribution) for non-replaced blocks. That is not correct according to specs https://drafts.csswg.org/css-sizing/#block-intrinsic. The min-content and max-content contributions actually depend on the computed inline size of the block: * for min-content,max-content or definite sizes: min-content and max-content contributions are the inline size plus border, margin and padding. * otherwise: min-content contribution is the min-content size and max-content contribution is the max-content size (in both cases plus border, padding and margin). Tests: fast/css-intrinsic-dimensions/auto-maxcontent-inlinesize-contribution-nonreplaced-blocks.html fast/css-intrinsic-dimensions/auto-mincontent-inlinesize-contribution-nonreplaced-blocks.html fast/css-intrinsic-dimensions/fillavailable-maxcontent-inlinesize-contribution-nonreplaced-blocks.html fast/css-intrinsic-dimensions/fillavailable-mincontent-inlinesize-contribution-nonreplaced-blocks.html fast/css-intrinsic-dimensions/fitcontent-maxcontent-inlinesize-contribution-nonreplaced-blocks.html fast/css-intrinsic-dimensions/fitcontent-mincontent-inlinesize-contribution-nonreplaced-blocks.html fast/css-intrinsic-dimensions/fixed-inlinesize-contribution-nonreplaced-blocks-1.html fast/css-intrinsic-dimensions/fixed-inlinesize-contribution-nonreplaced-blocks-2.html fast/css-intrinsic-dimensions/indefinite-percent-maxcontent-inlinesize-contribution-nonreplaced-blocks.html fast/css-intrinsic-dimensions/indefinite-percent-mincontent-inlinesize-contribution-nonreplaced-blocks.html fast/css-intrinsic-dimensions/maxcontent-maxcontent-inlinesize-contribution-nonreplaced-blocks.html fast/css-intrinsic-dimensions/maxcontent-mincontent-inlinesize-contribution-nonreplaced-blocks.html fast/css-intrinsic-dimensions/mincontent-maxcontent-inlinesize-contribution-nonreplaced-blocks.html fast/css-intrinsic-dimensions/mincontent-mincontent-inlinesize-contribution-nonreplaced-blocks.html * rendering/RenderBlock.cpp: (WebCore::RenderBlock::computeBlockPreferredLogicalWidths): LayoutTests: * fast/css-intrinsic-dimensions/auto-maxcontent-inlinesize-contribution-nonreplaced-blocks-expected.html: Added. * fast/css-intrinsic-dimensions/auto-maxcontent-inlinesize-contribution-nonreplaced-blocks.html: Added. * fast/css-intrinsic-dimensions/auto-mincontent-inlinesize-contribution-nonreplaced-blocks-expected.html: Added. * fast/css-intrinsic-dimensions/auto-mincontent-inlinesize-contribution-nonreplaced-blocks.html: Added. * fast/css-intrinsic-dimensions/fillavailable-maxcontent-inlinesize-contribution-nonreplaced-blocks-expected.html: Added. * fast/css-intrinsic-dimensions/fillavailable-maxcontent-inlinesize-contribution-nonreplaced-blocks.html: Added. * fast/css-intrinsic-dimensions/fillavailable-mincontent-inlinesize-contribution-nonreplaced-blocks-expected.html: Added. * fast/css-intrinsic-dimensions/fillavailable-mincontent-inlinesize-contribution-nonreplaced-blocks.html: Added. * fast/css-intrinsic-dimensions/fitcontent-maxcontent-inlinesize-contribution-nonreplaced-blocks-expected.html: Added. * fast/css-intrinsic-dimensions/fitcontent-maxcontent-inlinesize-contribution-nonreplaced-blocks.html: Added. * fast/css-intrinsic-dimensions/fitcontent-mincontent-inlinesize-contribution-nonreplaced-blocks-expected.html: Added. * fast/css-intrinsic-dimensions/fitcontent-mincontent-inlinesize-contribution-nonreplaced-blocks.html: Added. * fast/css-intrinsic-dimensions/fixed-inlinesize-contribution-nonreplaced-blocks-1-expected.html: Added. * fast/css-intrinsic-dimensions/fixed-inlinesize-contribution-nonreplaced-blocks-1.html: Added. * fast/css-intrinsic-dimensions/fixed-inlinesize-contribution-nonreplaced-blocks-2-expected.html: Added. * fast/css-intrinsic-dimensions/fixed-inlinesize-contribution-nonreplaced-blocks-2.html: Added. * fast/css-intrinsic-dimensions/indefinite-percent-maxcontent-inlinesize-contribution-nonreplaced-blocks-expected.html: Added. * fast/css-intrinsic-dimensions/indefinite-percent-maxcontent-inlinesize-contribution-nonreplaced-blocks.html: Added. * fast/css-intrinsic-dimensions/indefinite-percent-mincontent-inlinesize-contribution-nonreplaced-blocks-expected.html: Added. * fast/css-intrinsic-dimensions/indefinite-percent-mincontent-inlinesize-contribution-nonreplaced-blocks.html: Added. * fast/css-intrinsic-dimensions/maxcontent-maxcontent-inlinesize-contribution-nonreplaced-blocks-expected.html: Added. * fast/css-intrinsic-dimensions/maxcontent-maxcontent-inlinesize-contribution-nonreplaced-blocks.html: Added. * fast/css-intrinsic-dimensions/maxcontent-mincontent-inlinesize-contribution-nonreplaced-blocks-expected.html: Added. * fast/css-intrinsic-dimensions/maxcontent-mincontent-inlinesize-contribution-nonreplaced-blocks.html: Added. * fast/css-intrinsic-dimensions/mincontent-maxcontent-inlinesize-contribution-nonreplaced-blocks-expected.html: Added. * fast/css-intrinsic-dimensions/mincontent-maxcontent-inlinesize-contribution-nonreplaced-blocks.html: Added. * fast/css-intrinsic-dimensions/mincontent-mincontent-inlinesize-contribution-nonreplaced-blocks-expected.html: Added. * fast/css-intrinsic-dimensions/mincontent-mincontent-inlinesize-contribution-nonreplaced-blocks.html: Added. * fast/css-intrinsic-dimensions/resources/intrinsic-size-contribution.css: Added. (.container): (.item): (.border): (.padding): (.margin): Canonical link: https://commits.webkit.org/170447@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194143 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-12-16 14:53:28 +00:00
<!DOCTYPE html>
<style>
@import "resources/width-keyword-classes.css";
@import "resources/intrinsic-size-contribution.css";
</style>
<div class="container" style="width: 50px;">
<div class="item">XXX XXXXX</div>
</div>
<div class="container" style="width: 60px;">
<div class="item border">XXX XXXXX</div>
</div>
<div class="container" style="width: 70px;">
<div class="item padding">XXX XXXXX</div>
</div>
<div class="container" style="width: 90px;">
<div class="item margin">XXX XXXXX</div>
</div>
<div class="container" style="width: 80px;">
<div class="item border padding">XXX XXXXX</div>
</div>
<div class="container" style="width: 100px;">
<div class="item border margin">XXX XXXXX</div>
</div>
<div class="container" style="width: 120px;">
<div class="item border padding margin">XXX XXXXX</div>
</div>