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 <[email protected]>
+
+ 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 <[email protected]>
[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 <[email protected]>
+
+ 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 <[email protected]>
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)