haikuwebkit/LayoutTests/fast/css-grid-layout/percent-resolution-grid-ite...

7 lines
132 B
Plaintext
Raw Permalink Normal View History

Support proper <percent> / calc() resolution for grid items https://bugs.webkit.org/show_bug.cgi?id=102968 Reviewed by Ojan Vafai. Source/WebCore: This change introduces a mechanism similar to logical height / width override but for containing block. This is required as we don't have a renderer for the grid area but any <percent> or calc() size should be resolved against the grid area size (which is sized after the grid tracks). Tests: fast/css-grid-layout/calc-resolution-grid-item.html fast/css-grid-layout/percent-resolution-grid-item.html fast/css-grid-layout/percent-grid-item-in-percent-grid-track.html fast/css-grid-layout/percent-grid-item-in-percent-grid-track-in-percent-grid.html * rendering/RenderBox.cpp: (WebCore::RenderBox::willBeDestroyed): Remove any containing block size override. (WebCore::RenderBox::overrideContainingBlockContentLogicalWidth): (WebCore::RenderBox::overrideContainingBlockContentLogicalHeight): (WebCore::RenderBox::hasOverrideContainingBlockLogicalWidth): (WebCore::RenderBox::hasOverrideContainingBlockLogicalHeight): (WebCore::RenderBox::setOverrideContainingBlockContentLogicalWidth): (WebCore::RenderBox::setOverrideContainingBlockContentLogicalHeight): (WebCore::RenderBox::clearContainingBlockOverrideSize): Containing block override size functions. (WebCore::RenderBox::containingBlockLogicalWidthForContent): Updated the function to check for any override logical width. (WebCore::RenderBox::containingBlockLogicalHeightForContent): New function, similar to RenderBox::containingBlockLogicalWidthForContent. (WebCore::RenderBox::perpendicularContainingBlockLogicalHeight): (WebCore::RenderBox::computePercentageLogicalHeight): Updated these function to return overrideContainingBlockContentLogicalHeight as needed. (WebCore::RenderBox::computeReplacedLogicalHeightUsing): (WebCore::RenderBox::availableLogicalHeightUsing): Updated these functions to use the new containingBlockLogicalHeightForContent instead of availableLogicalHeight. * rendering/RenderBox.h: Added the previous new functions. * rendering/RenderGrid.cpp: (WebCore::RenderGrid::layoutGridItems): Updated to override the containing block size so that we properly size our grid items. LayoutTests: * fast/css-grid-layout/calc-resolution-grid-item-expected.txt: Added. * fast/css-grid-layout/calc-resolution-grid-item.html: Added. * fast/css-grid-layout/percent-resolution-grid-item-expected.txt: Added. * fast/css-grid-layout/percent-resolution-grid-item.html: Added. Test that checks that our override containing block's logical width / height logic works as expected. * fast/css-grid-layout/percent-grid-item-in-percent-grid-track-expected.txt: Added. * fast/css-grid-layout/percent-grid-item-in-percent-grid-track.html: Added. * fast/css-grid-layout/percent-grid-item-in-percent-grid-track-in-percent-grid.html: Added. * fast/css-grid-layout/percent-grid-item-in-percent-grid-track-in-percent-grid-expected.txt: Added. Those test cases covers the cases of percentage sized grid items with percentage sized grid tracks inside a fixed or percentage sized grid element. They don't pass yet as we don't support percentage sized grid tracks (see bug 103335). Canonical link: https://commits.webkit.org/121602@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@135965 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2012-11-28 02:16:36 +00:00
Test that resolving percent lengths on grid items works properly on a fixed grid with different writing modes.
PASS
PASS
PASS
PASS