Title: [155664] trunk/Source/WebCore
Revision
155664
Author
timothy_hor...@apple.com
Date
2013-09-12 17:33:03 -0700 (Thu, 12 Sep 2013)

Log Message

Image doesn't always repaint at high quality in all tiles after a live resize
https://bugs.webkit.org/show_bug.cgi?id=121244

Reviewed by Darin Adler.

Currently, ImageQualityController removes an image from its low-quality-images
list from inside shouldPaintAtLowQuality, if this is the first paint outside
of a live resize, but does not force the renderer to repaint in its entirety.

However, there's no guarantee we've invalidated the whole renderer, so this can
leave some parts of the image painted in low-quality.

This just removes a short-circuit, instead using the ordinary high-quality-repaint
timer to ensure that the entire renderer is repainted.

No new test; all attempts have failed, as this depends on tiled drawing
and a live resize occurring.

* rendering/ImageQualityController.cpp:
(WebCore::ImageQualityController::shouldPaintAtLowQuality):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (155663 => 155664)


--- trunk/Source/WebCore/ChangeLog	2013-09-13 00:23:05 UTC (rev 155663)
+++ trunk/Source/WebCore/ChangeLog	2013-09-13 00:33:03 UTC (rev 155664)
@@ -1,3 +1,26 @@
+2013-09-12  Tim Horton  <timothy_hor...@apple.com>
+
+        Image doesn't always repaint at high quality in all tiles after a live resize
+        https://bugs.webkit.org/show_bug.cgi?id=121244
+
+        Reviewed by Darin Adler.
+
+        Currently, ImageQualityController removes an image from its low-quality-images
+        list from inside shouldPaintAtLowQuality, if this is the first paint outside
+        of a live resize, but does not force the renderer to repaint in its entirety.
+
+        However, there's no guarantee we've invalidated the whole renderer, so this can
+        leave some parts of the image painted in low-quality.
+
+        This just removes a short-circuit, instead using the ordinary high-quality-repaint
+        timer to ensure that the entire renderer is repainted.
+
+        No new test; all attempts have failed, as this depends on tiled drawing
+        and a live resize occurring.
+
+        * rendering/ImageQualityController.cpp:
+        (WebCore::ImageQualityController::shouldPaintAtLowQuality):
+
 2013-09-12  Brent Fulgham  <bfulg...@apple.com>
 
         [EFL] Speculative build fix after r155638.

Modified: trunk/Source/WebCore/rendering/ImageQualityController.cpp (155663 => 155664)


--- trunk/Source/WebCore/rendering/ImageQualityController.cpp	2013-09-13 00:23:05 UTC (rev 155663)
+++ trunk/Source/WebCore/rendering/ImageQualityController.cpp	2013-09-13 00:33:03 UTC (rev 155664)
@@ -142,11 +142,8 @@
             m_liveResizeOptimizationIsActive = true;
             return true;
         }
-        if (m_liveResizeOptimizationIsActive) {
-            // Live resize has ended, paint in HQ and remove this object from the list.
-            removeLayer(object, innerMap, layer);
+        if (m_liveResizeOptimizationIsActive)
             return false;
-        }
     }
 
     const AffineTransform& currentTransform = context->getCTM();
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to