Title: [118450] trunk/Source/WebCore
Revision
118450
Author
[email protected]
Date
2012-05-24 17:30:28 -0700 (Thu, 24 May 2012)

Log Message

Corrupted pages rendering when images are zoomed on Google+
https://bugs.webkit.org/show_bug.cgi?id=87439
<rdar://problem/11503078>

Reviewed by Beth Dakin.

The rect that's given to scrollContentsSlowPath is in frame view coordinates, but if we end up
passing them to RenderLayer::setBackingNeedsRepaintInRect we need to account for the frame scale factor.

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

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (118449 => 118450)


--- trunk/Source/WebCore/ChangeLog	2012-05-25 00:28:53 UTC (rev 118449)
+++ trunk/Source/WebCore/ChangeLog	2012-05-25 00:30:28 UTC (rev 118450)
@@ -1,3 +1,17 @@
+2012-05-24  Anders Carlsson  <[email protected]>
+
+        Corrupted pages rendering when images are zoomed on Google+
+        https://bugs.webkit.org/show_bug.cgi?id=87439
+        <rdar://problem/11503078>
+
+        Reviewed by Beth Dakin.
+
+        The rect that's given to scrollContentsSlowPath is in frame view coordinates, but if we end up
+        passing them to RenderLayer::setBackingNeedsRepaintInRect we need to account for the frame scale factor.
+
+        * page/FrameView.cpp:
+        (WebCore::FrameView::scrollContentsSlowPath):
+
 2012-05-24  Ryosuke Niwa  <[email protected]>
 
         REGRESSION (r112399): insertHTML doesn't respect current selection range and inserts HTML to incorrect position

Modified: trunk/Source/WebCore/page/FrameView.cpp (118449 => 118450)


--- trunk/Source/WebCore/page/FrameView.cpp	2012-05-25 00:28:53 UTC (rev 118449)
+++ trunk/Source/WebCore/page/FrameView.cpp	2012-05-25 00:30:28 UTC (rev 118450)
@@ -1522,7 +1522,14 @@
     if (contentsInCompositedLayer()) {
         RenderView* root = rootRenderer(this);
         ASSERT(root);
-        root->layer()->setBackingNeedsRepaintInRect(visibleContentRect());
+
+        IntRect updateRect = visibleContentRect();
+
+        // Make sure to "apply" the scale factor here since we're converting from frame view
+        // coordinates to layer backing coordinates.
+        updateRect.scale(1 / m_frame->frameScaleFactor());
+
+        root->layer()->setBackingNeedsRepaintInRect(updateRect);
     }
     if (RenderPart* frameRenderer = m_frame->ownerRenderer()) {
         if (isEnclosedInCompositingLayer()) {
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to