Title: [177243] trunk/Source/WebCore
Revision
177243
Author
za...@apple.com
Date
2014-12-12 15:35:43 -0800 (Fri, 12 Dec 2014)

Log Message

https://bugs.webkit.org/show_bug.cgi?id=139596
Subpixel rendering: REGRESSION (r163272): Fixed positioned pseudo content leaves trails while scrolling.
rdar://problem/18697851

Reviewed by Simon Fraser.

Final repaint rect at FrameView::scrollContentsFastPath needs to be pixel aligned (as opposed to snap to int).
However we can't pixelsnap it until after ScrollView finished transitioning to Float/LayoutRect.
Use enclosing int rect for now to ensure scrolling does not leave trails.

Unable to test. Apparently scrolling clears trails in dumprendertree. (repaint rects are not useful either with scrolling)

* page/FrameView.cpp:
(WebCore::FrameView::scrollContentsFastPath):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (177242 => 177243)


--- trunk/Source/WebCore/ChangeLog	2014-12-12 23:16:04 UTC (rev 177242)
+++ trunk/Source/WebCore/ChangeLog	2014-12-12 23:35:43 UTC (rev 177243)
@@ -1,3 +1,20 @@
+2014-12-12  Zalan Bujtas  <za...@apple.com>
+
+        https://bugs.webkit.org/show_bug.cgi?id=139596
+        Subpixel rendering: REGRESSION (r163272): Fixed positioned pseudo content leaves trails while scrolling.
+        rdar://problem/18697851
+
+        Reviewed by Simon Fraser.
+
+        Final repaint rect at FrameView::scrollContentsFastPath needs to be pixel aligned (as opposed to snap to int).
+        However we can't pixelsnap it until after ScrollView finished transitioning to Float/LayoutRect.
+        Use enclosing int rect for now to ensure scrolling does not leave trails.
+
+        Unable to test. Apparently scrolling clears trails in dumprendertree. (repaint rects are not useful either with scrolling)
+
+        * page/FrameView.cpp:
+        (WebCore::FrameView::scrollContentsFastPath):
+
 2014-12-12  Simon Fraser  <simon.fra...@apple.com>
 
         REGRESSION (r168217): Images are cropped out during animation at jetblue.com

Modified: trunk/Source/WebCore/page/FrameView.cpp (177242 => 177243)


--- trunk/Source/WebCore/page/FrameView.cpp	2014-12-12 23:16:04 UTC (rev 177242)
+++ trunk/Source/WebCore/page/FrameView.cpp	2014-12-12 23:35:43 UTC (rev 177243)
@@ -1803,7 +1803,8 @@
             return false;
         }
 
-        IntRect updateRect = snappedIntRect(layer->repaintRectIncludingNonCompositingDescendants());
+        // FIXME: use pixel snapping instead of enclosing when ScrollView has finished transitioning from IntRect to Float/LayoutRect.
+        IntRect updateRect = enclosingIntRect(layer->repaintRectIncludingNonCompositingDescendants());
         updateRect = contentsToRootView(updateRect);
         if (!isCompositedContentLayer && clipsRepaints())
             updateRect.intersect(rectToScroll);
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to