Title: [111131] trunk/Source/WebCore
Revision
111131
Author
[email protected]
Date
2012-03-17 20:20:21 -0700 (Sat, 17 Mar 2012)

Log Message

[Chromium] PlatformContextSkia::m_drawingToImageBuffer is not correctly set when using per-tile painting.
https://bugs.webkit.org/show_bug.cgi?id=81463

Patch by David Reveman <[email protected]> on 2012-03-17
Reviewed by James Robinson.

Call PlatformContextSkia::setDrawingToImageBuffer() from
SkPictureCanvasLayerTextureUpdater::prepareToUpdate so that sub-pixel
text rendering is not used incorrectly with per-tile painting.

No new tests.

* platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.cpp:
(WebCore::SkPictureCanvasLayerTextureUpdater::prepareToUpdate):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (111130 => 111131)


--- trunk/Source/WebCore/ChangeLog	2012-03-18 01:57:44 UTC (rev 111130)
+++ trunk/Source/WebCore/ChangeLog	2012-03-18 03:20:21 UTC (rev 111131)
@@ -1,3 +1,19 @@
+2012-03-17  David Reveman  <[email protected]>
+
+        [Chromium] PlatformContextSkia::m_drawingToImageBuffer is not correctly set when using per-tile painting.
+        https://bugs.webkit.org/show_bug.cgi?id=81463
+
+        Reviewed by James Robinson.
+
+        Call PlatformContextSkia::setDrawingToImageBuffer() from
+        SkPictureCanvasLayerTextureUpdater::prepareToUpdate so that sub-pixel
+        text rendering is not used incorrectly with per-tile painting.
+
+        No new tests.
+
+        * platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.cpp:
+        (WebCore::SkPictureCanvasLayerTextureUpdater::prepareToUpdate):
+
 2012-03-17  Robert Kroeger  <[email protected]>
 
         [chromium] Make pixel-accurate wheel scrolling be unanimated

Modified: trunk/Source/WebCore/platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.cpp (111130 => 111131)


--- trunk/Source/WebCore/platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.cpp	2012-03-18 01:57:44 UTC (rev 111130)
+++ trunk/Source/WebCore/platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.cpp	2012-03-18 03:20:21 UTC (rev 111131)
@@ -48,12 +48,17 @@
 {
 }
 
-void SkPictureCanvasLayerTextureUpdater::prepareToUpdate(const IntRect& contentRect, const IntSize& /* tileSize */, int /* borderTexels */, float contentsScale, IntRect* resultingOpaqueRect)
+void SkPictureCanvasLayerTextureUpdater::prepareToUpdate(const IntRect& contentRect, const IntSize& /* tileSize */, int borderTexels, float contentsScale, IntRect* resultingOpaqueRect)
 {
     SkCanvas* canvas = m_picture.beginRecording(contentRect.width(), contentRect.height());
     PlatformContextSkia platformContext(canvas);
     platformContext.setDeferred(true);
     platformContext.setTrackOpaqueRegion(!m_layerIsOpaque);
+    // Assumption: if a tiler is using border texels, then it is because the
+    // layer is likely to be filtered or transformed. Because it might be
+    // transformed, set image buffer flag to draw the text in grayscale
+    // instead of using subpixel antialiasing.
+    platformContext.setDrawingToImageBuffer(borderTexels ? true : false);
     GraphicsContext graphicsContext(&platformContext);
     paintContents(graphicsContext, platformContext, contentRect, contentsScale);
     m_picture.endRecording();
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to