Title: [133836] trunk/Source/WebCore
- Revision
- 133836
- Author
- commit-qu...@webkit.org
- Date
- 2012-11-07 19:03:07 -0800 (Wed, 07 Nov 2012)
Log Message
Seam occurred between pieces of ShadowBlur on floating point zoom
https://bugs.webkit.org/show_bug.cgi?id=101435
Patch by KyungTae Kim <ktf....@samsung.com> on 2012-11-07
Reviewed by Simon Fraser.
When paint Shadow that doesn't have blurred edge on floating point zoom,
pixel seam (pixel cracks) occurred between pieces of the ShadowBlur because of unaligned clip rect.
So, enlarge the clipping area 1 pixel so that the fill does not bleed (due to antialiasing)
even if the unaligned clip rect occurred.
* platform/graphics/ShadowBlur.cpp:
(WebCore::ShadowBlur::calculateLayerBoundingRect):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (133835 => 133836)
--- trunk/Source/WebCore/ChangeLog 2012-11-08 03:01:22 UTC (rev 133835)
+++ trunk/Source/WebCore/ChangeLog 2012-11-08 03:03:07 UTC (rev 133836)
@@ -1,3 +1,19 @@
+2012-11-07 KyungTae Kim <ktf....@samsung.com>
+
+ Seam occurred between pieces of ShadowBlur on floating point zoom
+ https://bugs.webkit.org/show_bug.cgi?id=101435
+
+ Reviewed by Simon Fraser.
+
+ When paint Shadow that doesn't have blurred edge on floating point zoom,
+ pixel seam (pixel cracks) occurred between pieces of the ShadowBlur because of unaligned clip rect.
+ So, enlarge the clipping area 1 pixel so that the fill does not bleed (due to antialiasing)
+ even if the unaligned clip rect occurred.
+
+
+ * platform/graphics/ShadowBlur.cpp:
+ (WebCore::ShadowBlur::calculateLayerBoundingRect):
+
2012-11-07 Tim Horton <timothy_hor...@apple.com>
Repaint issues with -webkit-svg-shadow used on a container
Modified: trunk/Source/WebCore/platform/graphics/ShadowBlur.cpp (133835 => 133836)
--- trunk/Source/WebCore/platform/graphics/ShadowBlur.cpp 2012-11-08 03:01:22 UTC (rev 133835)
+++ trunk/Source/WebCore/platform/graphics/ShadowBlur.cpp 2012-11-08 03:03:07 UTC (rev 133836)
@@ -411,6 +411,11 @@
if (m_type == BlurShadow) {
inflatedClip.inflateX(edgeSize.width());
inflatedClip.inflateY(edgeSize.height());
+ } else {
+ // Enlarge the clipping area 1 pixel so that the fill does not
+ // bleed (due to antialiasing) even if the unaligned clip rect occurred
+ inflatedClip.inflateX(1);
+ inflatedClip.inflateY(1);
}
layerRect.intersect(inflatedClip);
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes