flexbox should avoid floats
authortony@chromium.org <tony@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 1 Aug 2012 01:31:27 +0000 (01:31 +0000)
committertony@chromium.org <tony@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 1 Aug 2012 01:31:27 +0000 (01:31 +0000)
https://bugs.webkit.org/show_bug.cgi?id=92661

Reviewed by Ojan Vafai.

Source/WebCore:

Block types should avoid floats. Deprecated flexbox and grid already avoid floats.

Tests: css3/flexbox/floated-flexbox.html - added a test case.

* rendering/RenderFlexibleBox.h:

LayoutTests:

Add a test case to make sure flexboxen avoid floats.

* css3/flexbox/floated-flexbox.html:

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

LayoutTests/ChangeLog
LayoutTests/css3/flexbox/floated-flexbox-expected.txt
LayoutTests/css3/flexbox/floated-flexbox.html
Source/WebCore/ChangeLog
Source/WebCore/rendering/RenderFlexibleBox.h

index 099d135..f86794c 100644 (file)
@@ -1,5 +1,16 @@
 2012-07-31  Tony Chang  <tony@chromium.org>
 
+        flexbox should avoid floats
+        https://bugs.webkit.org/show_bug.cgi?id=92661
+
+        Reviewed by Ojan Vafai.
+
+        Add a test case to make sure flexboxen avoid floats.
+
+        * css3/flexbox/floated-flexbox.html:
+
+2012-07-31  Tony Chang  <tony@chromium.org>
+
         REGRESSION: flexbox content-size fails to exclude scrollbar
         https://bugs.webkit.org/show_bug.cgi?id=92667
 
index d5136b2..bce00a5 100644 (file)
@@ -8,10 +8,10 @@
     float:left;
 }
 .flexbox :nth-child(1) {
-    background-color: blue;
+    background-color: salmon;
 }
 .flexbox :nth-child(2) {
-    background-color: green;
+    background-color: lime;
 }
 </style>
 <script>
@@ -26,5 +26,13 @@ if (window.testRunner)
     <div style="background-color:red; width: 100px; height: 20px;"></div>
 </div>
 
+<div style="clear: left; position: relative">
+    <div style="width: 100px; height: 100px; background-color: green; float: left"></div>
+    <div data-expected-height=30 data-offset-x=100 data-offset-y=0 class="flexbox" style="float: none">
+        <div data-expected-height=20 data style="height: 20px; -webkit-flex: 1"></div>
+        <div data-expected-height=20 style="height: 20px; -webkit-flex: 1"></div>
+    </div>
+</div>
+
 </body>
 </html>
index bd08b20..952f7fd 100644 (file)
@@ -1,5 +1,18 @@
 2012-07-31  Tony Chang  <tony@chromium.org>
 
+        flexbox should avoid floats
+        https://bugs.webkit.org/show_bug.cgi?id=92661
+
+        Reviewed by Ojan Vafai.
+
+        Block types should avoid floats. Deprecated flexbox and grid already avoid floats.
+
+        Tests: css3/flexbox/floated-flexbox.html - added a test case.
+
+        * rendering/RenderFlexibleBox.h:
+
+2012-07-31  Tony Chang  <tony@chromium.org>
+
         REGRESSION: flexbox content-size fails to exclude scrollbar
         https://bugs.webkit.org/show_bug.cgi?id=92667
 
index 108b8d6..1fe2b13 100644 (file)
@@ -44,6 +44,7 @@ public:
     virtual const char* renderName() const OVERRIDE;
 
     virtual bool isFlexibleBox() const OVERRIDE { return true; }
+    virtual bool avoidsFloats() const OVERRIDE { return true; }
     virtual void computePreferredLogicalWidths() OVERRIDE;
     virtual void layoutBlock(bool relayoutChildren, LayoutUnit pageLogicalHeight = 0) OVERRIDE;