Title: [91907] trunk
Revision
91907
Author
commit-qu...@webkit.org
Date
2011-07-27 22:22:51 -0700 (Wed, 27 Jul 2011)

Log Message

Remove skia special case for outline rendering code
https://bugs.webkit.org/show_bug.cgi?id=65295

Patch by Ben Wells <benwe...@chromium.org> on 2011-07-27
Reviewed by James Robinson.

Source/WebCore:

The fix for bug 58999 (outlines with alpha channels showed artifacts in the corners) was
excluded from skia builds until bug 61369 (skia drawConvexPoly didn't pay attention to
shouldAntialias) was fixed. That bug is fixed so now the #if's can be removed.

* rendering/RenderInline.cpp:
(WebCore::RenderInline::paintOutline):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::paintOutline):

LayoutTests:

* platform/chromium/test_expectations.txt:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (91906 => 91907)


--- trunk/LayoutTests/ChangeLog	2011-07-28 05:16:23 UTC (rev 91906)
+++ trunk/LayoutTests/ChangeLog	2011-07-28 05:22:51 UTC (rev 91907)
@@ -1,3 +1,12 @@
+2011-07-27  Ben Wells  <benwe...@chromium.org>
+
+        Remove skia special case for outline rendering code
+        https://bugs.webkit.org/show_bug.cgi?id=65295
+
+        Reviewed by James Robinson.
+
+        * platform/chromium/test_expectations.txt:
+
 2011-07-27  Mike Reed  <r...@google.com>
 
         [skia] fix clipping of some glyphs on windows

Modified: trunk/LayoutTests/platform/chromium/test_expectations.txt (91906 => 91907)


--- trunk/LayoutTests/platform/chromium/test_expectations.txt	2011-07-28 05:16:23 UTC (rev 91906)
+++ trunk/LayoutTests/platform/chromium/test_expectations.txt	2011-07-28 05:22:51 UTC (rev 91907)
@@ -3860,3 +3860,8 @@
 BUGWK65199 : fast/blockflow/broken-ideograph-small-caps.html = PASS FAIL
 
 BUGWK65219 WIN : webaudio/test-basic.html = PASS CRASH
+
+// Needs new baseline for slight pixel value changes due to changes in
+// how alpha blended outlines are drawn.
+BUGWK65295 WIN LINUX : fast/box-shadow/box-shadow-radius.html = IMAGE
+BUGWK65295 WIN LINUX : fast/layers/self-painting-outline.html = IMAGE

Modified: trunk/Source/WebCore/ChangeLog (91906 => 91907)


--- trunk/Source/WebCore/ChangeLog	2011-07-28 05:16:23 UTC (rev 91906)
+++ trunk/Source/WebCore/ChangeLog	2011-07-28 05:22:51 UTC (rev 91907)
@@ -1,3 +1,19 @@
+2011-07-27  Ben Wells  <benwe...@chromium.org>
+
+        Remove skia special case for outline rendering code
+        https://bugs.webkit.org/show_bug.cgi?id=65295
+
+        Reviewed by James Robinson.
+
+        The fix for bug 58999 (outlines with alpha channels showed artifacts in the corners) was
+        excluded from skia builds until bug 61369 (skia drawConvexPoly didn't pay attention to
+        shouldAntialias) was fixed. That bug is fixed so now the #if's can be removed.
+
+        * rendering/RenderInline.cpp:
+        (WebCore::RenderInline::paintOutline):
+        * rendering/RenderObject.cpp:
+        (WebCore::RenderObject::paintOutline):
+
 2011-07-27  Adam Barth  <aba...@webkit.org>
 
         Crypto.idl doesn't need legacy optional arguments

Modified: trunk/Source/WebCore/rendering/RenderInline.cpp (91906 => 91907)


--- trunk/Source/WebCore/rendering/RenderInline.cpp	2011-07-28 05:16:23 UTC (rev 91906)
+++ trunk/Source/WebCore/rendering/RenderInline.cpp	2011-07-28 05:22:51 UTC (rev 91907)
@@ -1394,25 +1394,17 @@
     rects.append(LayoutRect());
 
     Color outlineColor = styleToUse->visitedDependentColor(CSSPropertyOutlineColor);
-// FIXME: Using a transparency layer for rgba outlines exacerbates an existing SKIA bug. The #if
-// below prevents this; it should be removed when https://bugs.webkit.org/show_bug.cgi?id=60342 is fixed.
-#if !USE(SKIA)
     bool useTransparencyLayer = outlineColor.hasAlpha();
     if (useTransparencyLayer) {
         graphicsContext->beginTransparencyLayer(static_cast<float>(outlineColor.alpha()) / 255);
         outlineColor = Color(outlineColor.red(), outlineColor.green(), outlineColor.blue());
     }
-#endif
 
     for (unsigned i = 1; i < rects.size() - 1; i++)
         paintOutlineForLine(graphicsContext, paintOffset, rects.at(i - 1), rects.at(i), rects.at(i + 1), outlineColor);
 
-// FIXME: Using a transparency layer for rgba outlines exacerbates an existing SKIA bug. The #if
-// below prevents this; it should be removed when https://bugs.webkit.org/show_bug.cgi?id=60342 is fixed.
-#if !USE(SKIA)
     if (useTransparencyLayer)
         graphicsContext->endTransparencyLayer();
-#endif
 }
 
 void RenderInline::paintOutlineForLine(GraphicsContext* graphicsContext, const LayoutPoint& paintOffset,

Modified: trunk/Source/WebCore/rendering/RenderObject.cpp (91906 => 91907)


--- trunk/Source/WebCore/rendering/RenderObject.cpp	2011-07-28 05:16:23 UTC (rev 91906)
+++ trunk/Source/WebCore/rendering/RenderObject.cpp	2011-07-28 05:22:51 UTC (rev 91907)
@@ -1050,15 +1050,11 @@
     if (adjustedPaintRec.isEmpty())
         return;
 
-// FIXME: Using a transparency layer for rgba outlines exacerbates an existing SKIA bug. The #if
-// below prevents this; it should be removed when https://bugs.webkit.org/show_bug.cgi?id=60342 is fixed.
-#if !USE(SKIA)
     bool useTransparencyLayer = outlineColor.hasAlpha();
     if (useTransparencyLayer) {
         graphicsContext->beginTransparencyLayer(static_cast<float>(outlineColor.alpha()) / 255);
         outlineColor = Color(outlineColor.red(), outlineColor.green(), outlineColor.blue());
     }
-#endif
 
     LayoutUnit leftOuter = adjustedPaintRec.x() - outlineWidth;
     LayoutUnit leftInner = adjustedPaintRec.x();
@@ -1074,12 +1070,8 @@
     drawLineForBoxSide(graphicsContext, rightInner, topOuter, rightOuter, bottomOuter, BSRight, outlineColor, outlineStyle, outlineWidth, outlineWidth);
     drawLineForBoxSide(graphicsContext, leftOuter, bottomInner, rightOuter, bottomOuter, BSBottom, outlineColor, outlineStyle, outlineWidth, outlineWidth);
 
-// FIXME: Using a transparency layer for rgba outlines exacerbates an existing SKIA bug. The #if
-// below prevents this; it should be removed when https://bugs.webkit.org/show_bug.cgi?id=60342 is fixed.
-#if !USE(SKIA)
     if (useTransparencyLayer)
         graphicsContext->endTransparencyLayer();
-#endif
 }
 
 IntRect RenderObject::absoluteBoundingBoxRect(bool useTransforms)
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to