Bug 1909761 Part 4 - Construct a percentage basis when computing children's intrinsic inline size contributions. r=dholbert
A percentage basis is needed to resolve percentage block size when computing children's intrinsic inline size contributions. This is necessary for a child or descendants with a preferred aspect-ratio so that the block size can transfer through the aspect-ratio to become an intrinsic inline size. The change in `nsFlexContainerFrame::ComputeIntrinsicISize()` is necessary to keep us passing `testing/web-platform/tests/css/css-flexbox/image-nested-within-definite-column-flexbox.html`. The change in `nsPlaceholderFrame::AddFloatToIntrinsicISizeData()` is necessary to keep us passing `testing/web-platform/tests/css/css-sizing/intrinsic-percent-replaced-dynamic-010.html`. `GetISizeInfo()` in BasicTableLayoutStrategy.cpp is modified to pass table cell frame's bsize as percentage basis. Otherwise, `layout/reftests/bugs/522632-1.html` fails. This is our current behavior, but it is bug 1461852. Differential Revision: https://phabricator.services.mozilla.com/D219523
This commit is contained in:
@@ -249,7 +249,7 @@ LogicalSize nsTextControlFrame::CalcIntrinsicSize(gfxContext* aRenderingContext,
|
||||
// Add the inline size of the button if our char size is explicit, so as to
|
||||
// make sure to make enough space for it.
|
||||
if (maybeCols.isSome() && mButton && mButton->GetPrimaryFrame()) {
|
||||
const IntrinsicSizeInput input(aRenderingContext);
|
||||
const IntrinsicSizeInput input(aRenderingContext, Nothing());
|
||||
intrinsicSize.ISize(aWM) += mButton->GetPrimaryFrame()->GetMinISize(input);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user