- 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)