Title: [124603] trunk/Source/WebKit2
Revision
124603
Author
kbal...@webkit.org
Date
2012-08-03 06:06:16 -0700 (Fri, 03 Aug 2012)

Log Message

[WK2] LayerTreeCoordinator can disallow tile updates in forceRepaint
https://bugs.webkit.org/show_bug.cgi?id=93077

Reviewed by Jocelyn Turcotte.

Force tile updates when doing a forced repaint.

* WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.cpp:
(WebKit::LayerTreeCoordinator::LayerTreeCoordinator):
(WebKit::LayerTreeCoordinator::forceRepaint):
(WebKit::LayerTreeCoordinator::layerTreeTileUpdatesAllowed):
* WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.h:
(LayerTreeCoordinator):

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (124602 => 124603)


--- trunk/Source/WebKit2/ChangeLog	2012-08-03 12:56:21 UTC (rev 124602)
+++ trunk/Source/WebKit2/ChangeLog	2012-08-03 13:06:16 UTC (rev 124603)
@@ -1,3 +1,19 @@
+2012-08-03  Balazs Kelemen  <kbal...@webkit.org>
+
+        [WK2] LayerTreeCoordinator can disallow tile updates in forceRepaint
+        https://bugs.webkit.org/show_bug.cgi?id=93077
+
+        Reviewed by Jocelyn Turcotte.
+
+        Force tile updates when doing a forced repaint.
+
+        * WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.cpp:
+        (WebKit::LayerTreeCoordinator::LayerTreeCoordinator):
+        (WebKit::LayerTreeCoordinator::forceRepaint):
+        (WebKit::LayerTreeCoordinator::layerTreeTileUpdatesAllowed):
+        * WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.h:
+        (LayerTreeCoordinator):
+
 2012-08-02  Carlos Garcia Campos  <cgar...@igalia.com>
 
         [GTK] Inspector should set a default attached height before being attached

Modified: trunk/Source/WebKit2/WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.cpp (124602 => 124603)


--- trunk/Source/WebKit2/WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.cpp	2012-08-03 12:56:21 UTC (rev 124602)
+++ trunk/Source/WebKit2/WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.cpp	2012-08-03 13:06:16 UTC (rev 124603)
@@ -44,6 +44,7 @@
 #include <WebCore/RenderLayerCompositor.h>
 #include <WebCore/RenderView.h>
 #include <WebCore/Settings.h>
+#include <wtf/TemporaryChange.h>
 
 using namespace WebCore;
 
@@ -77,6 +78,7 @@
     , m_shouldSyncRootLayer(true)
     , m_layerFlushTimer(this, &LayerTreeCoordinator::layerFlushTimerFired)
     , m_layerFlushSchedulingEnabled(true)
+    , m_inForceRepaint(false)
 {
     // Create a root layer.
     m_rootLayer = GraphicsLayer::create(this);
@@ -174,6 +176,8 @@
 
 void LayerTreeCoordinator::forceRepaint()
 {
+    WTF::TemporaryChange<bool> inForceRepaint(m_inForceRepaint, true);
+
     // This is necessary for running layout tests. Since in this case we are not waiting for a UIProcess to reply nicely.
     // Instead we are just triggering forceRepaint. But we still want to have the scripted animation callbacks being executed.
     syncDisplayState();
@@ -575,7 +579,7 @@
 
 bool LayerTreeCoordinator::layerTreeTileUpdatesAllowed() const
 {
-    return !m_isSuspended && !m_waitingForUIProcess;
+    return m_inForceRepaint || (!m_isSuspended && !m_waitingForUIProcess);
 }
 
 void LayerTreeCoordinator::purgeBackingStores()

Modified: trunk/Source/WebKit2/WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.h (124602 => 124603)


--- trunk/Source/WebKit2/WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.h	2012-08-03 12:56:21 UTC (rev 124602)
+++ trunk/Source/WebKit2/WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.h	2012-08-03 13:06:16 UTC (rev 124603)
@@ -137,6 +137,7 @@
     void layerFlushTimerFired(WebCore::Timer<LayerTreeCoordinator>*);
     WebCore::Timer<LayerTreeCoordinator> m_layerFlushTimer;
     bool m_layerFlushSchedulingEnabled;
+    bool m_inForceRepaint;
 };
 
 }
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to