column-rule-style: outset/inset doesn't work
authorzalan@apple.com <zalan@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 17 Sep 2015 17:03:27 +0000 (17:03 +0000)
committerzalan@apple.com <zalan@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 17 Sep 2015 17:03:27 +0000 (17:03 +0000)
https://bugs.webkit.org/show_bug.cgi?id=148815
Source/WebCore:

<rdar://problem/22582644>

Reviewed by David Hyatt.

https://drafts.csswg.org/css-multicol-1/#crs
The <‘border-style’> values are interpreted as in the collapsing border model.

Unskipped 4 multicolumn tests,

* rendering/RenderMultiColumnSet.cpp:
(WebCore::RenderMultiColumnSet::paintColumnRules):
* rendering/RenderTableCell.cpp:
(WebCore::collapsedBorderStyle): Deleted.
* rendering/style/RenderStyle.h:
(WebCore::collapsedBorderStyle):

LayoutTests:

Reviewed by David Hyatt.

https://drafts.csswg.org/css-multicol-1/#crs
The <‘border-style’> values are interpreted as in the collapsing border model.

* TestExpectations:

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

LayoutTests/ChangeLog
LayoutTests/TestExpectations
Source/WebCore/ChangeLog
Source/WebCore/rendering/RenderMultiColumnSet.cpp
Source/WebCore/rendering/RenderTableCell.cpp
Source/WebCore/rendering/style/RenderStyle.h

index c30db32..89cb146 100644 (file)
@@ -1,3 +1,15 @@
+2015-09-17  Zalan Bujtas  <zalan@apple.com>
+
+        column-rule-style: outset/inset doesn't work
+        https://bugs.webkit.org/show_bug.cgi?id=148815
+
+        Reviewed by David Hyatt.
+
+        https://drafts.csswg.org/css-multicol-1/#crs
+        The <‘border-style’> values are interpreted as in the collapsing border model.
+
+        * TestExpectations:
+
 2015-09-17  Alex Christensen  <achristensen@webkit.org>
 
         Make Windows tests green.
index c47e95c..bf90822 100644 (file)
@@ -637,13 +637,9 @@ imported/w3c/css/css-multicol-1/multicol-span-all-child-002.xht [ WontFix ]
 webkit.org/b/148818 imported/w3c/css/css-multicol-1/multicol-fill-auto-block-children-002.xht [ ImageOnlyFailure ] # only scrollbar
 webkit.org/b/148818 imported/w3c/css/css-multicol-1/multicol-nested-column-rule-001.xht [ ImageOnlyFailure ] # only scrollbar
 
-webkit.org/b/148811 imported/w3c/css/css-multicol-1/multicol-rule-inset-000.xht [ ImageOnlyFailure ]
-webkit.org/b/148811 imported/w3c/css/css-multicol-1/multicol-rule-outset-000.xht [ ImageOnlyFailure ]
 webkit.org/b/148812 imported/w3c/css/css-multicol-1/multicol-width-small-001.xht [ ImageOnlyFailure ]
 webkit.org/b/148814 imported/w3c/css/css-multicol-1/multicol-break-000.xht [ ImageOnlyFailure ]
 webkit.org/b/148814 imported/w3c/css/css-multicol-1/multicol-break-001.xht [ ImageOnlyFailure ]
-webkit.org/b/148815 imported/w3c/css/css-multicol-1/multicol-rule-style-outset-001.xht [ ImageOnlyFailure ]
-webkit.org/b/148815 imported/w3c/css/css-multicol-1/multicol-rule-style-inset-001.xht [ ImageOnlyFailure ]
 webkit.org/b/148816 imported/w3c/css/css-multicol-1/multicol-rule-004.xht [ ImageOnlyFailure ]
 webkit.org/b/148823 imported/w3c/css/css-multicol-1/multicol-span-all-margin-nested-003.xht [ ImageOnlyFailure ]
 
index c1f7d23..fe8976f 100644 (file)
@@ -1,3 +1,23 @@
+2015-09-17  Zalan Bujtas  <zalan@apple.com>
+
+        column-rule-style: outset/inset doesn't work
+        https://bugs.webkit.org/show_bug.cgi?id=148815
+        <rdar://problem/22582644>
+
+        Reviewed by David Hyatt.
+
+        https://drafts.csswg.org/css-multicol-1/#crs
+        The <‘border-style’> values are interpreted as in the collapsing border model.
+
+        Unskipped 4 multicolumn tests, 
+
+        * rendering/RenderMultiColumnSet.cpp:
+        (WebCore::RenderMultiColumnSet::paintColumnRules):
+        * rendering/RenderTableCell.cpp:
+        (WebCore::collapsedBorderStyle): Deleted.
+        * rendering/style/RenderStyle.h:
+        (WebCore::collapsedBorderStyle):
+
 2015-09-17  Chris Dumez  <cdumez@apple.com>
 
         Range.deleteContents cannot delete DocType
index 40dcb2e..c7da12f 100644 (file)
@@ -577,7 +577,7 @@ void RenderMultiColumnSet::paintColumnRules(PaintInfo& paintInfo, const LayoutPo
     const RenderStyle& blockStyle = parent()->style();
     const Color& ruleColor = blockStyle.visitedDependentColor(CSSPropertyColumnRuleColor);
     bool ruleTransparent = blockStyle.columnRuleIsTransparent();
-    EBorderStyle ruleStyle = blockStyle.columnRuleStyle();
+    EBorderStyle ruleStyle = collapsedBorderStyle(blockStyle.columnRuleStyle());
     LayoutUnit ruleThickness = blockStyle.columnRuleWidth();
     LayoutUnit colGap = columnGap();
     bool renderRule = ruleStyle > BHIDDEN && !ruleTransparent;
index 115ffc7..f28660f 100644 (file)
@@ -1090,15 +1090,6 @@ void RenderTableCell::paint(PaintInfo& paintInfo, const LayoutPoint& paintOffset
     RenderBlockFlow::paint(paintInfo, paintOffset);
 }
 
-static EBorderStyle collapsedBorderStyle(EBorderStyle style)
-{
-    if (style == OUTSET)
-        return GROOVE;
-    if (style == INSET)
-        return RIDGE;
-    return style;
-}
-
 struct CollapsedBorder {
     CollapsedBorderValue borderValue;
     BoxSide side;
index b60cd57..8d31cdd 100644 (file)
@@ -2227,6 +2227,15 @@ inline LayoutUnit adjustLayoutUnitForAbsoluteZoom(LayoutUnit value, const Render
     return value / style.effectiveZoom();
 }
 
+inline EBorderStyle collapsedBorderStyle(EBorderStyle style)
+{
+    if (style == OUTSET)
+        return GROOVE;
+    if (style == INSET)
+        return RIDGE;
+    return style;
+}
+
 inline bool RenderStyle::setZoom(float f)
 {
     setEffectiveZoom(effectiveZoom() * f);