Modified: trunk/Source/WebCore/rendering/RenderBlock.cpp (271374 => 271375)
--- trunk/Source/WebCore/rendering/RenderBlock.cpp 2021-01-11 20:20:37 UTC (rev 271374)
+++ trunk/Source/WebCore/rendering/RenderBlock.cpp 2021-01-11 21:11:38 UTC (rev 271375)
@@ -3208,7 +3208,7 @@
LayoutUnit contentBoxHeight = adjustContentBoxLogicalHeightForBoxSizing((LayoutUnit)styleToUse.logicalHeight().value());
availableHeight = std::max(0_lu, constrainContentBoxLogicalHeightByMinMax(contentBoxHeight - scrollbarLogicalHeight(), WTF::nullopt));
} else if (shouldComputeLogicalHeightFromAspectRatio()) {
- availableHeight = blockSizeFromAspectRatio(horizontalBorderAndPaddingExtent(), verticalBorderAndPaddingExtent(), style().logicalAspectRatio(), style().boxSizing(), logicalWidth());
+ availableHeight = blockSizeFromAspectRatio(horizontalBorderAndPaddingExtent(), verticalBorderAndPaddingExtent(), LayoutUnit(style().logicalAspectRatio()), style().boxSizing(), logicalWidth());
} else if (styleToUse.logicalHeight().isPercentOrCalculated() && !isOutOfFlowPositionedWithSpecifiedHeight) {
Optional<LayoutUnit> heightWithScrollbar = computePercentageLogicalHeight(styleToUse.logicalHeight());
if (heightWithScrollbar) {
Modified: trunk/Source/WebCore/rendering/RenderBox.cpp (271374 => 271375)
--- trunk/Source/WebCore/rendering/RenderBox.cpp 2021-01-11 20:20:37 UTC (rev 271374)
+++ trunk/Source/WebCore/rendering/RenderBox.cpp 2021-01-11 21:11:38 UTC (rev 271375)
@@ -2435,7 +2435,7 @@
setMarginEnd(computedValues.m_margins.m_end);
}
-static LayoutUnit inlineSizeFromAspectRatio(LayoutUnit borderPaddingInlineSum, LayoutUnit borderPaddingBlockSum, double aspectRatio, BoxSizing boxSizing, LayoutUnit blockSize)
+static LayoutUnit inlineSizeFromAspectRatio(LayoutUnit borderPaddingInlineSum, LayoutUnit borderPaddingBlockSum, LayoutUnit aspectRatio, BoxSizing boxSizing, LayoutUnit blockSize)
{
if (boxSizing == BoxSizing::BorderBox)
return blockSize * LayoutUnit(aspectRatio);
@@ -2896,7 +2896,7 @@
if (checkMinMaxHeight) {
LayoutUnit intrinsicHeight = computedValues.m_extent - borderAndPaddingLogicalHeight();
if (shouldComputeLogicalHeightFromAspectRatio())
- heightResult = blockSizeFromAspectRatio(horizontalBorderAndPaddingExtent(), verticalBorderAndPaddingExtent(), style().logicalAspectRatio(), style().boxSizing(), logicalWidth());
+ heightResult = blockSizeFromAspectRatio(horizontalBorderAndPaddingExtent(), verticalBorderAndPaddingExtent(), LayoutUnit(style().logicalAspectRatio()), style().boxSizing(), logicalWidth());
else
heightResult = computeLogicalHeightUsing(MainOrPreferredSize, style().logicalHeight(), intrinsicHeight).valueOr(computedValues.m_extent);
heightResult = constrainLogicalHeightByMinMax(heightResult, intrinsicHeight);
@@ -3307,7 +3307,7 @@
}
if (shouldComputeLogicalHeightFromAspectRatio())
- return blockSizeFromAspectRatio(horizontalBorderAndPaddingExtent(), verticalBorderAndPaddingExtent(), style().logicalAspectRatio(), style().boxSizing(), logicalWidth());
+ return blockSizeFromAspectRatio(horizontalBorderAndPaddingExtent(), verticalBorderAndPaddingExtent(), LayoutUnit(style().logicalAspectRatio()), style().boxSizing(), logicalWidth());
if (h.isPercentOrCalculated() && isOutOfFlowPositioned() && !isRenderFragmentedFlow()) {
// FIXME: This is wrong if the containingBlock has a perpendicular writing mode.
@@ -4069,7 +4069,7 @@
if (logicalHeightLength.isIntrinsic())
resolvedLogicalHeight = computeIntrinsicLogicalContentHeightUsing(logicalHeightLength, contentLogicalHeight, bordersPlusPadding).value();
else if (fromAspectRatio) {
- resolvedLogicalHeight = blockSizeFromAspectRatio(horizontalBorderAndPaddingExtent(), verticalBorderAndPaddingExtent(), style().logicalAspectRatio() , style().boxSizing(), logicalWidth());
+ resolvedLogicalHeight = blockSizeFromAspectRatio(horizontalBorderAndPaddingExtent(), verticalBorderAndPaddingExtent(), LayoutUnit(style().logicalAspectRatio()), style().boxSizing(), logicalWidth());
resolvedLogicalHeight = std::max(LayoutUnit(), resolvedLogicalHeight - bordersPlusPadding);
} else
resolvedLogicalHeight = adjustContentBoxLogicalHeightForBoxSizing(valueForLength(logicalHeightLength, containerLogicalHeight));
@@ -5027,7 +5027,7 @@
auto computedValues = computeLogicalHeight(logicalHeight(), logicalTop());
LayoutUnit logicalHeightforAspectRatio = computedValues.m_extent;
- auto logicalWidth = inlineSizeFromAspectRatio(horizontalBorderAndPaddingExtent(), verticalBorderAndPaddingExtent(), style().logicalAspectRatio(), style().boxSizing(), logicalHeightforAspectRatio);
+ auto logicalWidth = inlineSizeFromAspectRatio(horizontalBorderAndPaddingExtent(), verticalBorderAndPaddingExtent(), LayoutUnit(style().logicalAspectRatio()), style().boxSizing(), logicalHeightforAspectRatio);
LayoutUnit containerWidthInInlineDirection = std::max<LayoutUnit>(0, containingBlockLogicalWidthForContentInFragment(fragment));
return constrainLogicalWidthInFragmentByMinMax(logicalWidth, containerWidthInInlineDirection, *containingBlock(), fragment);
Modified: trunk/Source/WebCore/rendering/RenderBox.h (271374 => 271375)
--- trunk/Source/WebCore/rendering/RenderBox.h 2021-01-11 20:20:37 UTC (rev 271374)
+++ trunk/Source/WebCore/rendering/RenderBox.h 2021-01-11 21:11:38 UTC (rev 271375)
@@ -701,11 +701,11 @@
bool shouldComputeLogicalWidthFromAspectRatioAndInsets() const;
LayoutUnit computeLogicalWidthFromAspectRatio(RenderFragmentContainer* = nullptr) const;
- static LayoutUnit blockSizeFromAspectRatio(LayoutUnit borderPaddingInlineSum, LayoutUnit borderPaddingBlockSum, double aspectRatio, BoxSizing boxSizing, LayoutUnit inlineSize)
+ static LayoutUnit blockSizeFromAspectRatio(LayoutUnit borderPaddingInlineSum, LayoutUnit borderPaddingBlockSum, LayoutUnit aspectRatio, BoxSizing boxSizing, LayoutUnit inlineSize)
{
if (boxSizing == BoxSizing::BorderBox)
- return inlineSize / LayoutUnit(aspectRatio);
- return ((inlineSize - borderPaddingInlineSum) / LayoutUnit(aspectRatio)) + borderPaddingBlockSum;
+ return inlineSize / aspectRatio;
+ return ((inlineSize - borderPaddingInlineSum) / aspectRatio) + borderPaddingBlockSum;
}
private: