Title: [273249] branches/safari-611-branch
Revision
273249
Author
[email protected]
Date
2021-02-22 09:54:24 -0800 (Mon, 22 Feb 2021)

Log Message

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

Modified Paths

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;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to