Title: [109014] trunk
Revision
109014
Author
o...@chromium.org
Date
2012-02-27 12:33:27 -0800 (Mon, 27 Feb 2012)

Log Message

implement display: -webkit-inline-flexbox
https://bugs.webkit.org/show_bug.cgi?id=77772

Reviewed by David Hyatt.

Source/WebCore:

Tests: css3/flexbox/inline-flexbox-expected.html
       css3/flexbox/inline-flexbox.html

* rendering/style/RenderStyle.h:
-Add INLINE_FLEXBOX to the list of replaced display types.
-Restructure the isDisplayInline methods to avoid code duplication.

LayoutTests:

* css3/flexbox/inline-flexbox-expected.html: Added.
* css3/flexbox/inline-flexbox.html: Added.

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (109013 => 109014)


--- trunk/LayoutTests/ChangeLog	2012-02-27 20:03:09 UTC (rev 109013)
+++ trunk/LayoutTests/ChangeLog	2012-02-27 20:33:27 UTC (rev 109014)
@@ -1,3 +1,13 @@
+2012-02-27  Ojan Vafai  <o...@chromium.org>
+
+        implement display: -webkit-inline-flexbox
+        https://bugs.webkit.org/show_bug.cgi?id=77772
+
+        Reviewed by David Hyatt.
+
+        * css3/flexbox/inline-flexbox-expected.html: Added.
+        * css3/flexbox/inline-flexbox.html: Added.
+
 2012-02-27  Ken Buchanan  <ke...@chromium.org>
 
         Absolute positioned elements with Inline Relative Positioned Container are not layout correctly

Added: trunk/LayoutTests/css3/flexbox/inline-flexbox-expected.html (0 => 109014)


--- trunk/LayoutTests/css3/flexbox/inline-flexbox-expected.html	                        (rev 0)
+++ trunk/LayoutTests/css3/flexbox/inline-flexbox-expected.html	2012-02-27 20:33:27 UTC (rev 109014)
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<span>foo</span>
+<span>flex item 1</span><span>flex item 2</span>
+<span>baz</span>
\ No newline at end of file

Added: trunk/LayoutTests/css3/flexbox/inline-flexbox.html (0 => 109014)


--- trunk/LayoutTests/css3/flexbox/inline-flexbox.html	                        (rev 0)
+++ trunk/LayoutTests/css3/flexbox/inline-flexbox.html	2012-02-27 20:33:27 UTC (rev 109014)
@@ -0,0 +1,7 @@
+<!DOCTYPE html>
+<span>foo</span>
+<div style="display:-webkit-inline-flexbox">
+    <div>flex item 1</div>
+    <div>flex item 2</div>
+</div>
+<span>baz</span>
\ No newline at end of file

Modified: trunk/Source/WebCore/ChangeLog (109013 => 109014)


--- trunk/Source/WebCore/ChangeLog	2012-02-27 20:03:09 UTC (rev 109013)
+++ trunk/Source/WebCore/ChangeLog	2012-02-27 20:33:27 UTC (rev 109014)
@@ -1,3 +1,17 @@
+2012-02-27  Ojan Vafai  <o...@chromium.org>
+
+        implement display: -webkit-inline-flexbox
+        https://bugs.webkit.org/show_bug.cgi?id=77772
+
+        Reviewed by David Hyatt.
+
+        Tests: css3/flexbox/inline-flexbox-expected.html
+               css3/flexbox/inline-flexbox.html
+
+        * rendering/style/RenderStyle.h:
+        -Add INLINE_FLEXBOX to the list of replaced display types.
+        -Restructure the isDisplayInline methods to avoid code duplication.
+
 2012-02-27  Ken Buchanan  <ke...@chromium.org>
 
         Absolute positioned elements with Inline Relative Positioned Container are not layout correctly

Modified: trunk/Source/WebCore/rendering/style/RenderStyle.h (109013 => 109014)


--- trunk/Source/WebCore/rendering/style/RenderStyle.h	2012-02-27 20:03:09 UTC (rev 109013)
+++ trunk/Source/WebCore/rendering/style/RenderStyle.h	2012-02-27 20:33:27 UTC (rev 109014)
@@ -1450,22 +1450,10 @@
 
     StyleDifference diff(const RenderStyle*, unsigned& changedContextSensitiveProperties) const;
 
-    bool isDisplayReplacedType() const
-    {
-        return display() == INLINE_BLOCK || display() == INLINE_BOX || display() == INLINE_TABLE;
-    }
+    bool isDisplayReplacedType() const { return isDisplayReplacedType(display()); }
+    bool isDisplayInlineType() const { return isDisplayInlineType(display()); }
+    bool isOriginalDisplayInlineType() const { return isDisplayInlineType(originalDisplay()); }
 
-    bool isDisplayInlineType() const
-    {
-        return display() == INLINE || isDisplayReplacedType();
-    }
-
-    bool isOriginalDisplayInlineType() const
-    {
-        return originalDisplay() == INLINE || originalDisplay() == INLINE_BLOCK
-            || originalDisplay() == INLINE_BOX || originalDisplay() == INLINE_TABLE;
-    }
-
     void setWritingMode(WritingMode v) { inherited_flags.m_writingMode = v; }
 
     // To tell if this style matched attribute selectors. This makes it impossible to share.
@@ -1715,6 +1703,12 @@
         return isHorizontalWritingMode() ? getImageVerticalOutsets(image, logicalTop, logicalBottom) : getImageHorizontalOutsets(image, logicalTop, logicalBottom);
     }
 
+    bool isDisplayReplacedType(EDisplay display) const
+    {
+        return display == INLINE_BLOCK || display == INLINE_BOX || display == INLINE_FLEXBOX || display == INLINE_TABLE;
+    }
+    bool isDisplayInlineType(EDisplay display) const { return display == INLINE || isDisplayReplacedType(display); }
+
     // Color accessors are all private to make sure callers use visitedDependentColor instead to access them.
     const Color& invalidColor() const { static Color invalid; return invalid; }
     const Color& borderLeftColor() const { return surround->border.left().color(); }
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to