Diff
Modified: branches/safari-611-branch/LayoutTests/ChangeLog (273248 => 273249)
--- branches/safari-611-branch/LayoutTests/ChangeLog 2021-02-22 17:54:19 UTC (rev 273248)
+++ branches/safari-611-branch/LayoutTests/ChangeLog 2021-02-22 17:54:24 UTC (rev 273249)
@@ -1,3 +1,41 @@
+2021-02-17 Ruben Turcios <[email protected]>
+
+ Cherry-pick r272755. rdar://problem/74409916
+
+ Unreviewed, reverting r270578.
+ https://bugs.webkit.org/show_bug.cgi?id=221110
+
+ Caused incorrect image layout inside a flexbox container.
+
+ LayoutTests/imported/w3c:
+
+ * web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-013-expected.txt:
+ * web-platform-tests/css/css-flexbox/image-as-flexitem-size-003-expected.txt:
+ * web-platform-tests/css/css-flexbox/image-as-flexitem-size-003v-expected.txt:
+ * web-platform-tests/css/css-flexbox/image-as-flexitem-size-004-expected.txt:
+ * web-platform-tests/css/css-flexbox/image-as-flexitem-size-004v-expected.txt:
+
+ Source/WebCore:
+
+ * rendering/RenderFlexibleBox.cpp:
+ (WebCore::RenderFlexibleBox::computeMainSizeFromAspectRatioUsing const):
+ (WebCore::RenderFlexibleBox::childCrossSizeIsDefinite const):
+
+ LayoutTests:
+
+ * TestExpectations:
+
+ git-svn-id: https://svn.webkit.org/repository/webkit/trunk@272755 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+ 2021-02-11 Said Abou-Hallawa <[email protected]>
+
+ Unreviewed, reverting r270578.
+ https://bugs.webkit.org/show_bug.cgi?id=221110
+
+ Caused incorrect image layout inside a flexbox container.
+
+ * TestExpectations:
+
2021-02-19 Alan Coon <[email protected]>
Cherry-pick r273003. rdar://problem/74500696
Modified: branches/safari-611-branch/LayoutTests/TestExpectations (273248 => 273249)
--- branches/safari-611-branch/LayoutTests/TestExpectations 2021-02-22 17:54:19 UTC (rev 273248)
+++ branches/safari-611-branch/LayoutTests/TestExpectations 2021-02-22 17:54:24 UTC (rev 273249)
@@ -3921,6 +3921,7 @@
webkit.org/b/219343 imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-column-012.html [ ImageOnlyFailure ]
webkit.org/b/219343 imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-column-015.html [ ImageOnlyFailure ]
webkit.org/b/219343 imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-column-017.html [ ImageOnlyFailure ]
+webkit.org/b/219343 imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-006.html [ ImageOnlyFailure ]
webkit.org/b/219343 imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-007.html [ ImageOnlyFailure ]
webkit.org/b/219343 imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-010.html [ ImageOnlyFailure ]
webkit.org/b/219343 imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-013.html [ ImageOnlyFailure ]
@@ -3931,6 +3932,8 @@
webkit.org/b/210144 imported/w3c/web-platform-tests/css/css-flexbox/anonymous-flex-item-005.html [ ImageOnlyFailure ]
webkit.org/b/210478 imported/w3c/web-platform-tests/css/css-flexbox/percentage-heights-006.html [ ImageOnlyFailure ]
webkit.org/b/212046 imported/w3c/web-platform-tests/css/css-flexbox/flex-minimum-width-flex-items-005.xht [ ImageOnlyFailure ]
+webkit.org/b/212046 imported/w3c/web-platform-tests/css/css-flexbox/flex-minimum-height-flex-items-005.xht [ ImageOnlyFailure ]
+webkit.org/b/212046 imported/w3c/web-platform-tests/css/css-flexbox/flex-minimum-height-flex-items-007.xht [ ImageOnlyFailure ]
webkit.org/b/212046 imported/w3c/web-platform-tests/css/css-flexbox/flex-minimum-width-flex-items-007.xht [ ImageOnlyFailure ]
webkit.org/b/212046 imported/w3c/web-platform-tests/css/css-flexbox/overflow-area-001.html [ ImageOnlyFailure ]
webkit.org/b/212046 imported/w3c/web-platform-tests/css/css-flexbox/overflow-area-002.html [ ImageOnlyFailure ]
Modified: branches/safari-611-branch/LayoutTests/imported/w3c/ChangeLog (273248 => 273249)
--- branches/safari-611-branch/LayoutTests/imported/w3c/ChangeLog 2021-02-22 17:54:19 UTC (rev 273248)
+++ branches/safari-611-branch/LayoutTests/imported/w3c/ChangeLog 2021-02-22 17:54:24 UTC (rev 273249)
@@ -1,3 +1,45 @@
+2021-02-17 Ruben Turcios <[email protected]>
+
+ Cherry-pick r272755. rdar://problem/74409916
+
+ Unreviewed, reverting r270578.
+ https://bugs.webkit.org/show_bug.cgi?id=221110
+
+ Caused incorrect image layout inside a flexbox container.
+
+ LayoutTests/imported/w3c:
+
+ * web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-013-expected.txt:
+ * web-platform-tests/css/css-flexbox/image-as-flexitem-size-003-expected.txt:
+ * web-platform-tests/css/css-flexbox/image-as-flexitem-size-003v-expected.txt:
+ * web-platform-tests/css/css-flexbox/image-as-flexitem-size-004-expected.txt:
+ * web-platform-tests/css/css-flexbox/image-as-flexitem-size-004v-expected.txt:
+
+ Source/WebCore:
+
+ * rendering/RenderFlexibleBox.cpp:
+ (WebCore::RenderFlexibleBox::computeMainSizeFromAspectRatioUsing const):
+ (WebCore::RenderFlexibleBox::childCrossSizeIsDefinite const):
+
+ LayoutTests:
+
+ * TestExpectations:
+
+ git-svn-id: https://svn.webkit.org/repository/webkit/trunk@272755 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+ 2021-02-11 Said Abou-Hallawa <[email protected]>
+
+ Unreviewed, reverting r270578.
+ https://bugs.webkit.org/show_bug.cgi?id=221110
+
+ Caused incorrect image layout inside a flexbox container.
+
+ * web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-013-expected.txt:
+ * web-platform-tests/css/css-flexbox/image-as-flexitem-size-003-expected.txt:
+ * web-platform-tests/css/css-flexbox/image-as-flexitem-size-003v-expected.txt:
+ * web-platform-tests/css/css-flexbox/image-as-flexitem-size-004-expected.txt:
+ * web-platform-tests/css/css-flexbox/image-as-flexitem-size-004v-expected.txt:
+
2021-02-02 Alan Coon <[email protected]>
Cherry-pick r271797. rdar://problem/73847580
Modified: branches/safari-611-branch/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-013-expected.txt (273248 => 273249)
--- branches/safari-611-branch/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-013-expected.txt 2021-02-22 17:54:19 UTC (rev 273248)
+++ branches/safari-611-branch/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-013-expected.txt 2021-02-22 17:54:24 UTC (rev 273249)
@@ -12,9 +12,13 @@
-PASS img 1
+FAIL img 1 assert_equals:
+<img src="" data-expected-height="100" data-expected-width="100">
+width expected 100 but got 200
FAIL img 2 assert_equals:
<img src="" style="margin-bottom: 20px" data-expected-height="100" data-expected-width="100">
-width expected 100 but got 120
-PASS img 3
+width expected 100 but got 200
+FAIL img 3 assert_equals:
+<img src="" style="min-height: 100px;" data-expected-height="100" data-expected-width="100">
+width expected 100 but got 200
Modified: branches/safari-611-branch/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/image-as-flexitem-size-003-expected.txt (273248 => 273249)
--- branches/safari-611-branch/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/image-as-flexitem-size-003-expected.txt 2021-02-22 17:54:19 UTC (rev 273248)
+++ branches/safari-611-branch/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/image-as-flexitem-size-003-expected.txt 2021-02-22 17:54:24 UTC (rev 273249)
@@ -5,14 +5,26 @@
-PASS .flexbox > img 1
+FAIL .flexbox > img 1 assert_equals:
+<img src="" data-expected-width="40" data-expected-height="40">
+width expected 40 but got 16
PASS .flexbox > img 2
PASS .flexbox > img 3
PASS .flexbox > img 4
-PASS .flexbox > img 5
-PASS .flexbox > img 6
-PASS .flexbox > img 7
-PASS .flexbox > img 8
+FAIL .flexbox > img 5 assert_equals:
+<img src="" style="min-width: 34px" data-expected-width="40" data-expected-height="40">
+width expected 40 but got 34
+FAIL .flexbox > img 6 assert_equals:
+<img src="" style="min-height: 34px" data-expected-width="40" data-expected-height="40">
+width expected 40 but got 34
+FAIL .flexbox > img 7 assert_equals:
+<img src="" style="min-width: 30px;
+ min-height: 34px" data-expected-width="40" data-expected-height="40">
+width expected 40 but got 34
+FAIL .flexbox > img 8 assert_equals:
+<img src="" style="min-width: 34px;
+ min-height: 30px" data-expected-width="40" data-expected-height="40">
+width expected 40 but got 34
PASS .flexbox > img 9
PASS .flexbox > img 10
PASS .flexbox > img 11
Modified: branches/safari-611-branch/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/image-as-flexitem-size-003v-expected.txt (273248 => 273249)
--- branches/safari-611-branch/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/image-as-flexitem-size-003v-expected.txt 2021-02-22 17:54:19 UTC (rev 273248)
+++ branches/safari-611-branch/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/image-as-flexitem-size-003v-expected.txt 2021-02-22 17:54:24 UTC (rev 273249)
@@ -5,14 +5,26 @@
-PASS .flexbox > img 1
+FAIL .flexbox > img 1 assert_equals:
+<img src="" data-expected-width="40" data-expected-height="40">
+width expected 40 but got 16
PASS .flexbox > img 2
PASS .flexbox > img 3
PASS .flexbox > img 4
-PASS .flexbox > img 5
-PASS .flexbox > img 6
-PASS .flexbox > img 7
-PASS .flexbox > img 8
+FAIL .flexbox > img 5 assert_equals:
+<img src="" style="min-width: 34px" data-expected-width="40" data-expected-height="40">
+width expected 40 but got 34
+FAIL .flexbox > img 6 assert_equals:
+<img src="" style="min-height: 34px" data-expected-width="40" data-expected-height="40">
+width expected 40 but got 34
+FAIL .flexbox > img 7 assert_equals:
+<img src="" style="min-width: 30px;
+ min-height: 34px" data-expected-width="40" data-expected-height="40">
+width expected 40 but got 34
+FAIL .flexbox > img 8 assert_equals:
+<img src="" style="min-width: 34px;
+ min-height: 30px" data-expected-width="40" data-expected-height="40">
+width expected 40 but got 34
PASS .flexbox > img 9
PASS .flexbox > img 10
PASS .flexbox > img 11
Modified: branches/safari-611-branch/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/image-as-flexitem-size-004-expected.txt (273248 => 273249)
--- branches/safari-611-branch/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/image-as-flexitem-size-004-expected.txt 2021-02-22 17:54:19 UTC (rev 273248)
+++ branches/safari-611-branch/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/image-as-flexitem-size-004-expected.txt 2021-02-22 17:54:24 UTC (rev 273249)
@@ -5,14 +5,26 @@
-PASS .flexbox > img 1
+FAIL .flexbox > img 1 assert_equals:
+<img src="" data-expected-width="40" data-expected-height="40">
+height expected 40 but got 16
PASS .flexbox > img 2
PASS .flexbox > img 3
PASS .flexbox > img 4
-PASS .flexbox > img 5
-PASS .flexbox > img 6
-PASS .flexbox > img 7
-PASS .flexbox > img 8
+FAIL .flexbox > img 5 assert_equals:
+<img src="" style="min-width: 34px" data-expected-width="40" data-expected-height="40">
+height expected 40 but got 34
+FAIL .flexbox > img 6 assert_equals:
+<img src="" style="min-height: 34px" data-expected-width="40" data-expected-height="40">
+height expected 40 but got 34
+FAIL .flexbox > img 7 assert_equals:
+<img src="" style="min-width: 30px;
+ min-height: 34px" data-expected-width="40" data-expected-height="40">
+height expected 40 but got 34
+FAIL .flexbox > img 8 assert_equals:
+<img src="" style="min-width: 34px;
+ min-height: 30px" data-expected-width="40" data-expected-height="40">
+height expected 40 but got 34
PASS .flexbox > img 9
PASS .flexbox > img 10
PASS .flexbox > img 11
Modified: branches/safari-611-branch/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/image-as-flexitem-size-004v-expected.txt (273248 => 273249)
--- branches/safari-611-branch/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/image-as-flexitem-size-004v-expected.txt 2021-02-22 17:54:19 UTC (rev 273248)
+++ branches/safari-611-branch/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/image-as-flexitem-size-004v-expected.txt 2021-02-22 17:54:24 UTC (rev 273249)
@@ -5,14 +5,26 @@
-PASS .flexbox > img 1
+FAIL .flexbox > img 1 assert_equals:
+<img src="" data-expected-width="40" data-expected-height="40">
+height expected 40 but got 16
PASS .flexbox > img 2
PASS .flexbox > img 3
PASS .flexbox > img 4
-PASS .flexbox > img 5
-PASS .flexbox > img 6
-PASS .flexbox > img 7
-PASS .flexbox > img 8
+FAIL .flexbox > img 5 assert_equals:
+<img src="" style="min-width: 34px" data-expected-width="40" data-expected-height="40">
+height expected 40 but got 34
+FAIL .flexbox > img 6 assert_equals:
+<img src="" style="min-height: 34px" data-expected-width="40" data-expected-height="40">
+height expected 40 but got 34
+FAIL .flexbox > img 7 assert_equals:
+<img src="" style="min-width: 30px;
+ min-height: 34px" data-expected-width="40" data-expected-height="40">
+height expected 40 but got 34
+FAIL .flexbox > img 8 assert_equals:
+<img src="" style="min-width: 34px;
+ min-height: 30px" data-expected-width="40" data-expected-height="40">
+height expected 40 but got 34
PASS .flexbox > img 9
PASS .flexbox > img 10
PASS .flexbox > img 11
Modified: branches/safari-611-branch/Source/WebCore/ChangeLog (273248 => 273249)
--- branches/safari-611-branch/Source/WebCore/ChangeLog 2021-02-22 17:54:19 UTC (rev 273248)
+++ branches/safari-611-branch/Source/WebCore/ChangeLog 2021-02-22 17:54:24 UTC (rev 273249)
@@ -1,5 +1,45 @@
2021-02-17 Ruben Turcios <[email protected]>
+ Cherry-pick r272755. rdar://problem/74409916
+
+ Unreviewed, reverting r270578.
+ https://bugs.webkit.org/show_bug.cgi?id=221110
+
+ Caused incorrect image layout inside a flexbox container.
+
+ LayoutTests/imported/w3c:
+
+ * web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-013-expected.txt:
+ * web-platform-tests/css/css-flexbox/image-as-flexitem-size-003-expected.txt:
+ * web-platform-tests/css/css-flexbox/image-as-flexitem-size-003v-expected.txt:
+ * web-platform-tests/css/css-flexbox/image-as-flexitem-size-004-expected.txt:
+ * web-platform-tests/css/css-flexbox/image-as-flexitem-size-004v-expected.txt:
+
+ Source/WebCore:
+
+ * rendering/RenderFlexibleBox.cpp:
+ (WebCore::RenderFlexibleBox::computeMainSizeFromAspectRatioUsing const):
+ (WebCore::RenderFlexibleBox::childCrossSizeIsDefinite const):
+
+ LayoutTests:
+
+ * TestExpectations:
+
+ git-svn-id: https://svn.webkit.org/repository/webkit/trunk@272755 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+ 2021-02-11 Said Abou-Hallawa <[email protected]>
+
+ Unreviewed, reverting r270578.
+ https://bugs.webkit.org/show_bug.cgi?id=221110
+
+ Caused incorrect image layout inside a flexbox container.
+
+ * rendering/RenderFlexibleBox.cpp:
+ (WebCore::RenderFlexibleBox::computeMainSizeFromAspectRatioUsing const):
+ (WebCore::RenderFlexibleBox::childCrossSizeIsDefinite const):
+
+2021-02-17 Ruben Turcios <[email protected]>
+
Cherry-pick r272678. rdar://problem/74410058
WebCore::createBusFromInMemoryAudioFile() may crash under ExtAudioFileRead()
Modified: branches/safari-611-branch/Source/WebCore/rendering/RenderFlexibleBox.cpp (273248 => 273249)
--- branches/safari-611-branch/Source/WebCore/rendering/RenderFlexibleBox.cpp 2021-02-22 17:54:19 UTC (rev 273248)
+++ branches/safari-611-branch/Source/WebCore/rendering/RenderFlexibleBox.cpp 2021-02-22 17:54:24 UTC (rev 273249)
@@ -773,12 +773,7 @@
Optional<LayoutUnit> crossSize;
if (crossSizeLength.isFixed())
crossSize = adjustForBoxSizing(child, crossSizeLength);
- else if (crossSizeLength.isAuto()) {
- auto containerCrossSizeLength = isHorizontalFlow() ? style().height() : style().width();
- // Keep this sync'ed with childCrossSizeIsDefinite().
- ASSERT(containerCrossSizeLength.isFixed());
- crossSize = adjustForBoxSizing(*this, containerCrossSizeLength);
- } else {
+ else {
ASSERT(crossSizeLength.isPercentOrCalculated());
crossSize = mainAxisIsChildInlineAxis(child) ? child.computePercentageLogicalHeight(crossSizeLength) : adjustBorderBoxLogicalWidthForBoxSizing(valueForLength(crossSizeLength, contentWidth()), crossSizeLength.type());
if (!crossSize)
@@ -828,19 +823,8 @@
bool RenderFlexibleBox::childCrossSizeIsDefinite(const RenderBox& child, const Length& length) const
{
- if (length.isAuto()) {
- // 9.8 https://drafts.csswg.org/css-flexbox/#definite-sizes
- // 1. If a single-line flex container has a definite cross size, the automatic preferred outer cross size of any
- // stretched flex items is the flex container's inner cross size (clamped to the flex item’s min and max cross size)
- // and is considered definite.
- if (!isMultiline() && alignmentForChild(child) == ItemPosition::Stretch) {
- // This must be kept in sync with computeMainSizeFromAspectRatioUsing().
- // FIXME: so far we're only considered fixed sizes but we should extend it to other definite sizes.
- if (auto& crossSize = isHorizontalFlow() ? style().height() : style().width(); crossSize.isFixed())
- return true;
- }
+ if (length.isAuto())
return false;
- }
if (length.isPercentOrCalculated()) {
if (!mainAxisIsChildInlineAxis(child) || m_hasDefiniteHeight == SizeDefiniteness::Definite)
return true;