Title: [116799] trunk/Source/WebCore
Revision
116799
Author
[email protected]
Date
2012-05-11 13:16:47 -0700 (Fri, 11 May 2012)

Log Message

FrameView->m_lastPaintTime is not updated in the tiled drawing case
https://bugs.webkit.org/show_bug.cgi?id=86246
<rdar://problem/11248475>

Reviewed by Simon Fraser.

Update FrameView's m_lastPaintTime from RenderLayerBacking::paintContents
if the RenderLayerBacking is backing a tiled drawing layer.

In the future we might want to consider updating m_lastPaintTime when any
compositing layer is painted into, but this change gets us on par with the
non-tiled-drawing case as it stands now.

No new tests.

* page/FrameView.h:
(WebCore::FrameView::setLastPaintTime):
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::paintContents):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (116798 => 116799)


--- trunk/Source/WebCore/ChangeLog	2012-05-11 20:09:13 UTC (rev 116798)
+++ trunk/Source/WebCore/ChangeLog	2012-05-11 20:16:47 UTC (rev 116799)
@@ -1,3 +1,25 @@
+2012-05-11  Tim Horton  <[email protected]>
+
+        FrameView->m_lastPaintTime is not updated in the tiled drawing case
+        https://bugs.webkit.org/show_bug.cgi?id=86246
+        <rdar://problem/11248475>
+
+        Reviewed by Simon Fraser.
+
+        Update FrameView's m_lastPaintTime from RenderLayerBacking::paintContents
+        if the RenderLayerBacking is backing a tiled drawing layer.
+
+        In the future we might want to consider updating m_lastPaintTime when any
+        compositing layer is painted into, but this change gets us on par with the
+        non-tiled-drawing case as it stands now.
+
+        No new tests.
+
+        * page/FrameView.h:
+        (WebCore::FrameView::setLastPaintTime):
+        * rendering/RenderLayerBacking.cpp:
+        (WebCore::RenderLayerBacking::paintContents):
+
 2012-05-11  Shezan Baig  <[email protected]>
 
         Add helper function for node()->rootEditableElement() == node()

Modified: trunk/Source/WebCore/page/FrameView.h (116798 => 116799)


--- trunk/Source/WebCore/page/FrameView.h	2012-05-11 20:09:13 UTC (rev 116798)
+++ trunk/Source/WebCore/page/FrameView.h	2012-05-11 20:16:47 UTC (rev 116799)
@@ -242,6 +242,7 @@
     PaintBehavior paintBehavior() const;
     bool isPainting() const;
     bool hasEverPainted() const { return m_lastPaintTime; }
+    void setLastPaintTime(double lastPaintTime) { m_lastPaintTime = lastPaintTime; }
     void setNodeToDraw(Node*);
 
     virtual void paintOverhangAreas(GraphicsContext*, const IntRect& horizontalOverhangArea, const IntRect& verticalOverhangArea, const IntRect& dirtyRect);

Modified: trunk/Source/WebCore/rendering/RenderLayerBacking.cpp (116798 => 116799)


--- trunk/Source/WebCore/rendering/RenderLayerBacking.cpp	2012-05-11 20:09:13 UTC (rev 116798)
+++ trunk/Source/WebCore/rendering/RenderLayerBacking.cpp	2012-05-11 20:16:47 UTC (rev 116799)
@@ -1206,6 +1206,9 @@
         // We have to use the same root as for hit testing, because both methods can compute and cache clipRects.
         paintIntoLayer(m_owningLayer, &context, dirtyRect, PaintBehaviorNormal, paintingPhase, renderer());
 
+        if (m_usingTiledCacheLayer)
+            m_owningLayer->renderer()->frame()->view()->setLastPaintTime(currentTime());
+
         InspectorInstrumentation::didPaint(cookie);
     } else if (graphicsLayer == layerForHorizontalScrollbar()) {
         paintScrollbar(m_owningLayer->horizontalScrollbar(), context, clip);
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to