Title: [152584] trunk/Source/WebCore
Revision
152584
Author
[email protected]
Date
2013-07-12 01:22:11 -0700 (Fri, 12 Jul 2013)

Log Message

Insufficient viewport repaints when FrameView::paintsEntireContents
https://bugs.webkit.org/show_bug.cgi?id=118562

Reviewed by Simon Fraser.

When the frameview paints entire content, the visualOverflowRect of RenderView
should be the same as the layoutOverflowRect.

This affects the requested repaints on resize of the frameview.

* rendering/RenderView.cpp:
(WebCore::RenderView::visualOverflowRect):
* rendering/RenderView.h:

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (152583 => 152584)


--- trunk/Source/WebCore/ChangeLog	2013-07-12 01:59:50 UTC (rev 152583)
+++ trunk/Source/WebCore/ChangeLog	2013-07-12 08:22:11 UTC (rev 152584)
@@ -1,3 +1,19 @@
+2013-07-12  Allan Sandfeld Jensen  <[email protected]>
+
+        Insufficient viewport repaints when FrameView::paintsEntireContents
+        https://bugs.webkit.org/show_bug.cgi?id=118562
+
+        Reviewed by Simon Fraser.
+
+        When the frameview paints entire content, the visualOverflowRect of RenderView
+        should be the same as the layoutOverflowRect.
+
+        This affects the requested repaints on resize of the frameview.
+
+        * rendering/RenderView.cpp:
+        (WebCore::RenderView::visualOverflowRect):
+        * rendering/RenderView.h:
+
 2013-07-10  Roger Fong  <[email protected]>
 
         Plugins that don't support snapshotting should not all autostart.

Modified: trunk/Source/WebCore/rendering/RenderView.cpp (152583 => 152584)


--- trunk/Source/WebCore/rendering/RenderView.cpp	2013-07-12 01:59:50 UTC (rev 152583)
+++ trunk/Source/WebCore/rendering/RenderView.cpp	2013-07-12 08:22:11 UTC (rev 152584)
@@ -562,6 +562,14 @@
 #endif
 }
 
+LayoutRect RenderView::visualOverflowRect() const
+{
+    if (m_frameView->paintsEntireContents())
+        return layoutOverflowRect();
+
+    return RenderBlock::visualOverflowRect();
+}
+
 void RenderView::computeRectForRepaint(const RenderLayerModelObject* repaintContainer, LayoutRect& rect, bool fixed) const
 {
     // If a container was specified, and was not 0 or the RenderView,

Modified: trunk/Source/WebCore/rendering/RenderView.h (152583 => 152584)


--- trunk/Source/WebCore/rendering/RenderView.h	2013-07-12 01:59:50 UTC (rev 152583)
+++ trunk/Source/WebCore/rendering/RenderView.h	2013-07-12 08:22:11 UTC (rev 152584)
@@ -74,6 +74,7 @@
 
     FrameView* frameView() const { return m_frameView; }
 
+    virtual LayoutRect visualOverflowRect() const OVERRIDE;
     virtual void computeRectForRepaint(const RenderLayerModelObject* repaintContainer, LayoutRect&, bool fixed = false) const OVERRIDE;
     void repaintViewRectangle(const LayoutRect&, bool immediate = false) const;
     // Repaint the view, and all composited layers that intersect the given absolute rectangle.
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to