Fix margin box ascent computation in flexbox
authortony@chromium.org <tony@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 5 Oct 2012 21:39:15 +0000 (21:39 +0000)
committertony@chromium.org <tony@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 5 Oct 2012 21:39:15 +0000 (21:39 +0000)
https://bugs.webkit.org/show_bug.cgi?id=98540

Reviewed by Ojan Vafai.

Source/WebCore:

The margin box ascent doesn't depend on the margin below the box.

Tests: css3/flexbox/flex-align.html: Fixed a test case and removed a FIXME.
       css3/flexbox/flex-align-vertical-writing-mode.html: Similar test case.

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

LayoutTests:

Remove a FIXME and update the results.

* css3/flexbox/flex-align-vertical-writing-mode.html:
* css3/flexbox/flex-align.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@130553 268f45cc-cd09-0410-ab3c-d52691b4dbfc

LayoutTests/ChangeLog
LayoutTests/css3/flexbox/flex-align-vertical-writing-mode.html
LayoutTests/css3/flexbox/flex-align.html
Source/WebCore/ChangeLog
Source/WebCore/rendering/RenderFlexibleBox.cpp

index 30402d4..86acf94 100644 (file)
@@ -1,3 +1,15 @@
+2012-10-05  Tony Chang  <tony@chromium.org>
+
+        Fix margin box ascent computation in flexbox
+        https://bugs.webkit.org/show_bug.cgi?id=98540
+
+        Reviewed by Ojan Vafai.
+
+        Remove a FIXME and update the results.
+
+        * css3/flexbox/flex-align-vertical-writing-mode.html:
+        * css3/flexbox/flex-align.html:
+
 2012-10-05  W. James MacLean  <wjmaclean@chromium.org>
 
         [chromium] Enhance support for transforms in LinkHighlight.
index 8297270..694dde0 100644 (file)
@@ -141,9 +141,9 @@ if (window.testRunner)
 </div>
 
 <div class="flexbox">
-  <div data-expected-width="20" data-offset-x="60" style="-webkit-flex: 1 0 0; -webkit-align-self: baseline; width: 20px;"></div>
+  <div data-expected-width="20" data-offset-x="70" style="-webkit-flex: 1 0 0; -webkit-align-self: baseline; width: 20px;"></div>
   <div data-expected-width="10" data-offset-x="70" style="-webkit-flex: 1 0 0; -webkit-align-self: baseline; width: 10px; margin: 0 20px 0 10px;"></div>
-  <div data-expected-width="10" data-offset-x="60" style="-webkit-flex: 1 0 0; -webkit-align-self: baseline; width: 10px; margin: 0 20px 0 0;"></div>
+  <div data-expected-width="10" data-offset-x="70" style="-webkit-flex: 1 0 0; -webkit-align-self: baseline; width: 10px; margin: 0 20px 0 0;"></div>
   <div data-expected-width="100" data-offset-x="0" style="-webkit-flex: 1 0 0; width: 100px;"></div>
 </div>
 
index 5e6ca44..b51eb49 100644 (file)
@@ -237,8 +237,7 @@ if (window.testRunner)
 
 <div class="flexbox">
   <div data-expected-height="20" data-offset-y="20" style="-webkit-flex: 1 0 0; -webkit-align-self: baseline; height: 20px;"></div>
-  <!-- FIXME: This looks like it might be positioned 10 pixels too high due the margin-bottom. All the boxes should have their bottoms aligned I think. -->
-  <div data-expected-height="10" data-offset-y="20" style="-webkit-flex: 1 0 0; -webkit-align-self: baseline; height: 10px; margin: 20px 0 10px;"></div>
+  <div data-expected-height="10" data-offset-y="30" style="-webkit-flex: 1 0 0; -webkit-align-self: baseline; height: 10px; margin: 30px 0 10px;"></div>
   <div data-expected-height="10" data-offset-y="30" style="-webkit-flex: 1 0 0; -webkit-align-self: baseline; height: 10px; margin: 20px 0 0;"></div>
   <div data-expected-height="100" data-offset-y="0" style="-webkit-flex: 1 0 0; height: 100px;"></div>
 </div>
index a618110..74f194b 100644 (file)
@@ -1,3 +1,18 @@
+2012-10-05  Tony Chang  <tony@chromium.org>
+
+        Fix margin box ascent computation in flexbox
+        https://bugs.webkit.org/show_bug.cgi?id=98540
+
+        Reviewed by Ojan Vafai.
+
+        The margin box ascent doesn't depend on the margin below the box.
+
+        Tests: css3/flexbox/flex-align.html: Fixed a test case and removed a FIXME.
+               css3/flexbox/flex-align-vertical-writing-mode.html: Similar test case.
+
+        * rendering/RenderFlexibleBox.cpp:
+        (WebCore::RenderFlexibleBox::marginBoxAscentForChild):
+
 2012-10-05  Ojan Vafai  <ojan@chromium.org>
 
         Deprecated flexboxes subtract scrollbar width/height twice
index fc019ff..58cb546 100644 (file)
@@ -785,7 +785,7 @@ LayoutUnit RenderFlexibleBox::marginBoxAscentForChild(RenderBox* child)
 {
     LayoutUnit ascent = child->firstLineBoxBaseline();
     if (ascent == -1)
-        ascent = crossAxisExtentForChild(child) + flowAwareMarginAfterForChild(child);
+        ascent = crossAxisExtentForChild(child);
     return ascent + flowAwareMarginBeforeForChild(child);
 }