Title: [264775] trunk
Revision
264775
Author
za...@apple.com
Date
2020-07-23 10:24:15 -0700 (Thu, 23 Jul 2020)

Log Message

Unreviewed, reverting r262124.

See REGRESSION(r262124) Overlapping text on Youtube's video upload page
https://bugs.webkit.org/show_bug.cgi?id=214655

LayoutTests/imported/w3c:

* web-platform-tests/css/css-flexbox/percentage-heights-003-expected.txt:

Source/WebCore:

* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::mainSizeForPercentageResolution):

LayoutTests:

* css3/flexbox/definite-main-size-expected.txt:
* css3/flexbox/definite-main-size.html:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (264774 => 264775)


--- trunk/LayoutTests/ChangeLog	2020-07-23 17:22:06 UTC (rev 264774)
+++ trunk/LayoutTests/ChangeLog	2020-07-23 17:24:15 UTC (rev 264775)
@@ -1,3 +1,13 @@
+2020-07-23  Zalan Bujtas  <za...@apple.com>
+
+        Unreviewed, reverting r262124.
+
+        See REGRESSION(r262124) Overlapping text on Youtube's video upload page
+        https://bugs.webkit.org/show_bug.cgi?id=214655
+
+        * css3/flexbox/definite-main-size-expected.txt:
+        * css3/flexbox/definite-main-size.html:
+
 2020-07-23  Karl Rackler  <rack...@apple.com>
 
         [ iOS wk2 ] editing/selection/shift-click-includes-existing-selection.html is a flaky failure

Modified: trunk/LayoutTests/css3/flexbox/definite-main-size-expected.txt (264774 => 264775)


--- trunk/LayoutTests/css3/flexbox/definite-main-size-expected.txt	2020-07-23 17:22:06 UTC (rev 264774)
+++ trunk/LayoutTests/css3/flexbox/definite-main-size-expected.txt	2020-07-23 17:24:15 UTC (rev 264775)
@@ -9,6 +9,6 @@
 
 Simple case of percentage resolution, columns:
 
-auto flex-basis. This is still definite.
+auto flex-basis, we should ignore the percentage height here:
 
 

Modified: trunk/LayoutTests/css3/flexbox/definite-main-size.html (264774 => 264775)


--- trunk/LayoutTests/css3/flexbox/definite-main-size.html	2020-07-23 17:22:06 UTC (rev 264774)
+++ trunk/LayoutTests/css3/flexbox/definite-main-size.html	2020-07-23 17:24:15 UTC (rev 264775)
@@ -61,10 +61,10 @@
   <div class="rect flex-none"></div>
 </div>
 
-<p>auto flex-basis. This is still definite.</p>
+<p>auto flex-basis, we should ignore the percentage height here:</p>
 <div class="flexbox column" style="height: 300px;">
   <div data-expected-height="50">
-    <div style="height: 50%;" data-expected-height="25">
+    <div style="height: 50%;" data-expected-height="50">
       <div class="rect"></div>
     </div>
   </div>

Modified: trunk/LayoutTests/imported/w3c/ChangeLog (264774 => 264775)


--- trunk/LayoutTests/imported/w3c/ChangeLog	2020-07-23 17:22:06 UTC (rev 264774)
+++ trunk/LayoutTests/imported/w3c/ChangeLog	2020-07-23 17:24:15 UTC (rev 264775)
@@ -1,3 +1,12 @@
+2020-07-23  Zalan Bujtas  <za...@apple.com>
+
+        Unreviewed, reverting r262124.
+
+        See REGRESSION(r262124) Overlapping text on Youtube's video upload page
+        https://bugs.webkit.org/show_bug.cgi?id=214655
+
+        * web-platform-tests/css/css-flexbox/percentage-heights-003-expected.txt:
+
 2020-07-21  Clark Wang  <clark_w...@apple.com>
 
         Added OfflineAudioContext constructor

Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/percentage-heights-003-expected.txt (264774 => 264775)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/percentage-heights-003-expected.txt	2020-07-23 17:22:06 UTC (rev 264774)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/percentage-heights-003-expected.txt	2020-07-23 17:24:15 UTC (rev 264775)
@@ -1,9 +1,30 @@
 
-PASS .flexbox 1 
-PASS .flexbox 2 
+FAIL .flexbox 1 assert_equals: 
+<div class="flexbox column" style="height: 0">
+        <div>
+            <span data-expected-height="100"></span>
+        </div>
+    </div>
+height expected 100 but got 0
+FAIL .flexbox 2 assert_equals: 
+<div class="flexbox column-wrap" style="height: 0">
+       <div>
+            <span data-expected-height="50"></span>
+        </div>
+        <div>
+            <span data-expected-height="50"></span>
+        </div>
+    </div>
+height expected 50 but got 0
 PASS .flexbox 3 
 PASS .flexbox 4 
 PASS .flexbox 5 
 PASS .flexbox 6 
-PASS .flexbox 7 
+FAIL .flexbox 7 assert_equals: 
+<div class="flexbox vert-wm">
+        <div class="horiz-wm">
+            <span data-expected-height="100"></span>
+        </div>
+    </div>
+height expected 100 but got 0
 

Modified: trunk/Source/WebCore/ChangeLog (264774 => 264775)


--- trunk/Source/WebCore/ChangeLog	2020-07-23 17:22:06 UTC (rev 264774)
+++ trunk/Source/WebCore/ChangeLog	2020-07-23 17:24:15 UTC (rev 264775)
@@ -1,3 +1,13 @@
+2020-07-23  Zalan Bujtas  <za...@apple.com>
+
+        Unreviewed, reverting r262124.
+
+        See REGRESSION(r262124) Overlapping text on Youtube's video upload page
+        https://bugs.webkit.org/show_bug.cgi?id=214655
+
+        * rendering/RenderFlexibleBox.cpp:
+        (WebCore::RenderFlexibleBox::mainSizeForPercentageResolution):
+
 2020-07-23  Brady Eidson  <beid...@apple.com>
 
         Add Gamepad tests that exercise the native frameworks

Modified: trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp (264774 => 264775)


--- trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp	2020-07-23 17:22:06 UTC (rev 264774)
+++ trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp	2020-07-23 17:24:15 UTC (rev 264775)
@@ -1181,11 +1181,20 @@
 Optional<LayoutUnit> RenderFlexibleBox::mainSizeForPercentageResolution(const RenderBox& child)
 {
     ASSERT(hasOrthogonalFlow(child));
-    // This function implements section 9.8. Definite and Indefinite Sizes, case 2) of the flexbox spec.
-    // If the flex container has a definite main size the flex item post-flexing main size is also treated
-    // as definite. We make up a percentage to check whether we have a definite size.
-    if (!mainAxisLengthIsDefinite(child, Length(0, Percent)))
+    // This function implements section 9.8. Definite and Indefinite Sizes, case
+    // 2) of the flexbox spec.
+    // We need to check for the flexbox to have a definite main size, and for the
+    // flex item to have a definite flex basis.
+    const Length& flexBasis = flexBasisForChild(child);
+    if (!mainAxisLengthIsDefinite(child, flexBasis))
         return WTF::nullopt;
+    if (!flexBasis.isPercentOrCalculated()) {
+        // If flex basis had a percentage, our size is guaranteed to be definite or
+        // the flex item's size could not be definite. Otherwise, we make up a
+        // percentage to check whether we have a definite size.
+        if (!mainAxisLengthIsDefinite(child, Length(0, Percent)))
+            return WTF::nullopt;
+    }
 
     return child.hasOverrideContentLogicalHeight() ? Optional<LayoutUnit>(child.overrideContentLogicalHeight() - child.scrollbarLogicalHeight()) : WTF::nullopt;
 }
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to