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

Reply via email to