Changeset 285923 in webkit
- Timestamp:
- Nov 17, 2021, 4:31:09 AM (5 years ago)
- Location:
- trunk
- Files:
-
- 5 edited
-
LayoutTests/ChangeLog (modified) (1 diff)
-
LayoutTests/TestExpectations (modified) (1 diff)
-
LayoutTests/platform/ios/TestExpectations (modified) (1 diff)
-
Source/WebCore/ChangeLog (modified) (1 diff)
-
Source/WebCore/rendering/RenderBox.cpp (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r285921 r285923 1 2021-11-17 Rob Buis <rbuis@igalia.com> 2 3 Limit logical width over-constrained direction check 4 https://bugs.webkit.org/show_bug.cgi?id=233189 5 6 Reviewed by Sergio Villar Senin. 7 8 * TestExpectations: Removed 4 tests that are now passing. 9 * platform/ios/TestExpectations: Skipped several tests that show 1px diff in the result. 10 1 11 2021-11-17 Antti Koivisto <antti@apple.com> 2 12 -
trunk/LayoutTests/TestExpectations
r285921 r285923 4035 4035 webkit.org/b/209080 imported/w3c/web-platform-tests/css/css-writing-modes/abs-pos-non-replaced-icb-vrl-030.xht [ ImageOnlyFailure ] 4036 4036 webkit.org/b/209080 imported/w3c/web-platform-tests/css/css-writing-modes/abs-pos-non-replaced-vlr-095.xht [ ImageOnlyFailure ] 4037 webkit.org/b/209080 imported/w3c/web-platform-tests/css/css-writing-modes/abs-pos-non-replaced-vlr-225.xht [ ImageOnlyFailure ]4038 webkit.org/b/209080 imported/w3c/web-platform-tests/css/css-writing-modes/abs-pos-non-replaced-vlr-229.xht [ ImageOnlyFailure ]4039 4037 webkit.org/b/209080 imported/w3c/web-platform-tests/css/css-writing-modes/abs-pos-non-replaced-vrl-088.xht [ ImageOnlyFailure ] 4040 webkit.org/b/209080 imported/w3c/web-platform-tests/css/css-writing-modes/abs-pos-non-replaced-vrl-220.xht [ ImageOnlyFailure ]4041 webkit.org/b/209080 imported/w3c/web-platform-tests/css/css-writing-modes/abs-pos-non-replaced-vrl-224.xht [ ImageOnlyFailure ]4042 4038 webkit.org/b/209080 imported/w3c/web-platform-tests/css/css-writing-modes/available-size-001.html [ ImageOnlyFailure ] 4043 4039 webkit.org/b/209080 imported/w3c/web-platform-tests/css/css-writing-modes/available-size-002.html [ ImageOnlyFailure ] -
trunk/LayoutTests/platform/ios/TestExpectations
r285620 r285923 3533 3533 webkit.org/b/229397 imported/w3c/web-platform-tests/css/css-writing-modes/abs-pos-non-replaced-vrl-204.xht [ ImageOnlyFailure ] 3534 3534 webkit.org/b/229397 imported/w3c/web-platform-tests/css/css-writing-modes/abs-pos-non-replaced-vrl-208.xht [ ImageOnlyFailure ] 3535 webkit.org/b/229397 imported/w3c/web-platform-tests/css/css-writing-modes/abs-pos-non-replaced-vrl-220.xht [ ImageOnlyFailure ] 3536 webkit.org/b/229397 imported/w3c/web-platform-tests/css/css-writing-modes/abs-pos-non-replaced-vrl-224.xht [ ImageOnlyFailure ] 3537 webkit.org/b/229397 imported/w3c/web-platform-tests/css/css-writing-modes/abs-pos-non-replaced-vlr-225.xht [ ImageOnlyFailure ] 3538 webkit.org/b/229397 imported/w3c/web-platform-tests/css/css-writing-modes/abs-pos-non-replaced-vlr-229.xht [ ImageOnlyFailure ] 3535 3539 webkit.org/b/229397 imported/w3c/web-platform-tests/css/css-writing-modes/clip-rect-vrl-002.xht [ ImageOnlyFailure ] 3536 3540 webkit.org/b/229397 imported/w3c/web-platform-tests/css/css-writing-modes/clip-rect-vrl-004.xht [ ImageOnlyFailure ] -
trunk/Source/WebCore/ChangeLog
r285922 r285923 1 2021-11-17 Rob Buis <rbuis@igalia.com> 2 3 Limit logical width over-constrained direction check 4 https://bugs.webkit.org/show_bug.cgi?id=233189 5 6 Reviewed by Sergio Villar Senin. 7 8 In computePositionedLogicalWidthUsing the over-constrained case always checks for RTL 9 direction, but this should not be done if we are not dealing with left and right properties, 10 i.e. only when we are not orthogonal with the container. 11 Finally computeLogicalLeftPositionedOffset should not do the flipping logic in the over-constrained case. 12 13 * rendering/RenderBox.cpp: 14 (WebCore::computeLogicalLeftPositionedOffset): 15 (WebCore::RenderBox::computePositionedLogicalWidthUsing const): 16 (WebCore::RenderBox::computePositionedLogicalWidthReplaced const): 17 1 18 2021-11-17 Antoine Quint <graouts@webkit.org> 2 19 -
trunk/Source/WebCore/rendering/RenderBox.cpp
r285885 r285923 3990 3990 } 3991 3991 3992 static void computeLogicalLeftPositionedOffset(LayoutUnit& logicalLeftPos, const RenderBox* child, LayoutUnit logicalWidthValue, const RenderBoxModelObject& containerBlock, LayoutUnit containerLogicalWidth) 3993 { 3994 auto logicalLeftAndRightAreAuto = child->style().logicalLeft().isAuto() && child->style().logicalRight().isAuto(); 3992 static void computeLogicalLeftPositionedOffset(LayoutUnit& logicalLeftPos, const RenderBox* child, LayoutUnit logicalWidthValue, const RenderBoxModelObject& containerBlock, LayoutUnit containerLogicalWidth, bool logicalLeftIsAuto, bool logicalRightIsAuto) 3993 { 3994 auto logicalLeftAndRightAreAuto = logicalLeftIsAuto && logicalRightIsAuto; 3995 bool isOverconstrained = !logicalLeftIsAuto && !logicalRightIsAuto && !child->style().logicalWidth().isAuto(); 3995 3996 // Deal with differing writing modes here. Our offset needs to be in the containing block's coordinate space. If the containing block is flipped 3996 3997 // along this axis, then we need to flip the coordinate. Auto positioned items do not need this correction as it was properly handled in 3997 3998 // computeInlineStaticDistance(). 3998 if (isOrthogonal(*child, containerBlock) && !logicalLeftAndRightAreAuto && containerBlock.style().isFlippedBlocksWritingMode()) {3999 if (isOrthogonal(*child, containerBlock) && !logicalLeftAndRightAreAuto && !isOverconstrained && containerBlock.style().isFlippedBlocksWritingMode()) { 3999 4000 logicalLeftPos = containerLogicalWidth - logicalWidthValue - logicalLeftPos; 4000 4001 logicalLeftPos += (child->isHorizontalWritingMode() ? containerBlock.borderRight() : containerBlock.borderBottom()); … … 4090 4091 // Use the containing block's direction rather than the parent block's 4091 4092 // per CSS 2.1 reference test abspos-non-replaced-width-margin-000. 4092 if ( containerDirection == TextDirection::RTL)4093 if (!isOrthogonal(*this, containerBlock) && containerDirection == TextDirection::RTL) 4093 4094 logicalLeftValue = (availableSpace + logicalLeftValue) - marginLogicalLeftValue - marginLogicalRightValue; 4094 4095 } … … 4194 4195 4195 4196 computedValues.m_position = logicalLeftValue + marginLogicalLeftValue; 4196 computeLogicalLeftPositionedOffset(computedValues.m_position, this, computedValues.m_extent + bordersPlusPadding, containerBlock, containerLogicalWidth );4197 computeLogicalLeftPositionedOffset(computedValues.m_position, this, computedValues.m_extent + bordersPlusPadding, containerBlock, containerLogicalWidth, style().logicalLeft().isAuto(), style().logicalRight().isAuto()); 4197 4198 } 4198 4199 … … 4674 4675 LayoutUnit logicalLeftPos = logicalLeftValue + marginLogicalLeftAlias; 4675 4676 // Border and padding have already been included in computedValues.m_extent. 4676 computeLogicalLeftPositionedOffset(logicalLeftPos, this, computedValues.m_extent, containerBlock, containerLogicalWidth );4677 computeLogicalLeftPositionedOffset(logicalLeftPos, this, computedValues.m_extent, containerBlock, containerLogicalWidth, style().logicalLeft().isAuto(), style().logicalRight().isAuto()); 4677 4678 computedValues.m_position = logicalLeftPos; 4678 4679 }
Note:
See TracChangeset
for help on using the changeset viewer.