Bug 1396491 - Remove the styled border skipped condition; r?jrmuizel draft
authorKevin Chen <kechen@mozilla.com>
Mon, 09 Oct 2017 11:02:04 +0800
changeset 682011 e40e8fed42e375c981918915842d41aa944f59b6
parent 681384 ca068118abc506b1a1753b754fa8521fd4f3c57f
child 736294 4184620320c59e907f86c58f19e5de1262e23a82
push id84994
push userbmo:kechen@mozilla.com
push dateWed, 18 Oct 2017 02:21:15 +0000
reviewersjrmuizel
bugs1396491
milestone58.0a1
Bug 1396491 - Remove the styled border skipped condition; r?jrmuizel MozReview-Commit-ID: 6pzjd4yltYC
layout/painting/nsCSSRenderingBorders.cpp
layout/reftests/border-dotted/reftest.list
layout/reftests/border-radius/reftest.list
--- a/layout/painting/nsCSSRenderingBorders.cpp
+++ b/layout/painting/nsCSSRenderingBorders.cpp
@@ -3586,18 +3586,17 @@ nsCSSBorderRenderer::DrawBorders()
 bool
 nsCSSBorderRenderer::CanCreateWebRenderCommands()
 {
   NS_FOR_CSS_SIDES(i) {
     if (mCompositeColors[i] != nullptr) {
       return false;
     }
 
-    if (mBorderStyles[i] == NS_STYLE_BORDER_STYLE_DOUBLE ||
-        mBorderStyles[i] == NS_STYLE_BORDER_STYLE_DOTTED ||
+    if (mBorderStyles[i] == NS_STYLE_BORDER_STYLE_DOTTED ||
         mBorderStyles[i] == NS_STYLE_BORDER_STYLE_DASHED) {
       return false;
     }
   }
 
   return true;
 }
 
--- a/layout/reftests/border-dotted/reftest.list
+++ b/layout/reftests/border-dotted/reftest.list
@@ -1,13 +1,16 @@
 # Composing dotted/dashed border rendering and not-filled or not-unfilled mask
 # matches to full-filled box, using fuzzyy because of anti-aliasing.
 # These check filled and unfilled regions with solid opaque color,
 # so difference less than 80 is ignorable.
-fuzzy(80,1500) == border-dotted-interaction.html masked.html
+
+# XXX: We mark fails-if to these tests for now to enable styled border in WR.
+# We should remove them after Bug 1399485 is fixed.
+fuzzy(80,1500) fails-if(webrender) == border-dotted-interaction.html masked.html
 fuzzy(80,1500) == border-dotted-no-radius.html masked.html
-fuzzy(80,1500) == border-dotted-radius.html masked.html
+fuzzy(80,1500) fails-if(webrender) == border-dotted-radius.html masked.html
 fuzzy(80,1500) == border-dashed-no-radius.html masked.html
-fuzzy(80,1500) == border-dashed-radius.html masked.html
-fuzzy(80,1500) == border-mixed.html masked.html
-fuzzy(80,1500) == border-dashed-non-integer.html masked.html
-fuzzy(80,1500) == border-dashed-radius-zoom.html masked-zoom.html
+fuzzy(80,1500) fails-if(webrender) == border-dashed-radius.html masked.html
+fuzzy(80,1500) fails-if(webrender) == border-mixed.html masked.html
+fuzzy(80,1500) fails-if(webrender) == border-dashed-non-integer.html masked.html
+fuzzy(80,1500) fails-if(webrender) == border-dashed-radius-zoom.html masked-zoom.html
 fuzzy(80,1500) == border-dotted-radius-zero.html masked-small.html
--- a/layout/reftests/border-radius/reftest.list
+++ b/layout/reftests/border-radius/reftest.list
@@ -19,17 +19,17 @@
 
 # percent units
 == percent-1.html percent-1-ref.html
 fuzzy-if(skiaContent,1,342) == percent-2.html percent-2-ref.html
 fuzzy-if(skiaContent,1,343) == percent-3.html percent-3-ref.html
 
 # more serious tests, using SVG reference
 fuzzy-if(skiaContent,17,58) fuzzy-if(webrender,41-41,66-66) == border-circle-2.html border-circle-2-ref.xhtml
-fuzzy-if(gtkWidget,14,280) fuzzy-if(cocoaWidget,4,582) fuzzy-if(Android,36,264) fuzzy-if(d2d,51,323) fuzzy-if(winWidget&&!d2d,16,377) fuzzy-if(skiaContent,63,398) == curved-stripe-border.html curved-stripe-border-ref.svg # bug 459945
+fuzzy-if(gtkWidget,14,280) fuzzy-if(cocoaWidget,4,582) fuzzy-if(Android,36,264) fuzzy-if(d2d,51,323) fuzzy-if(winWidget&&!d2d,16,377) fuzzy-if(skiaContent,63,398) fuzzy-if(webrender,72-72,900-900) == curved-stripe-border.html curved-stripe-border-ref.svg # bug 459945
 
 # Corners
 fuzzy-if(skiaContent,17,47) fuzzy-if(webrender,41-41,52-52) == corner-1.html corner-1-ref.svg # bottom corners different radius than top corners
 fuzzy-if(gtkWidget,23,5) fuzzy-if(winWidget&&!d2d,23,5) fuzzy-if(d2d,32,8) fuzzy-if(Android,10,8) fuzzy-if(skiaContent,18,49) fuzzy-if(webrender,41-41,51-51) == corner-2.html corner-2-ref.svg # right corners different radius than left corners; see bug 500804
 fuzzy-if(gtkWidget,3,10) fuzzy-if(winWidget&&!d2d,3,10) fuzzy-if(d2d,15,32) fuzzy-if(Android,3,15) fuzzy-if(skiaContent,18,90) fails-if(webrender) == corner-3.html corner-3-ref.svg
 fuzzy-if(skiaContent,12,83) fuzzy-if(webrender,19-19,96-96) == corner-4.html corner-4-ref.svg
 
 # Test that radii too long are reduced