Title: [111564] trunk/Source/WebKit2
Revision
111564
Author
[email protected]
Date
2012-03-21 10:20:47 -0700 (Wed, 21 Mar 2012)

Log Message

[Qt] Trigger scene graph repaints only for relevant layer updates.
https://bugs.webkit.org/show_bug.cgi?id=81765

Reviewed by Kenneth Rohde Christiansen.

Tile updates and removal shouldn't re-render the scene all by themselves
since they need a buffer swap before having any effect on the framebuffer.

* UIProcess/LayerTreeHostProxy.cpp:
(WebKit::LayerTreeHostProxy::dispatchUpdate):
(WebKit::LayerTreeHostProxy::deleteCompositingLayer):
(WebKit::LayerTreeHostProxy::setRootCompositingLayer):
(WebKit::LayerTreeHostProxy::didRenderFrame):

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (111563 => 111564)


--- trunk/Source/WebKit2/ChangeLog	2012-03-21 17:19:46 UTC (rev 111563)
+++ trunk/Source/WebKit2/ChangeLog	2012-03-21 17:20:47 UTC (rev 111564)
@@ -1,5 +1,21 @@
 2012-03-21  Jocelyn Turcotte  <[email protected]>
 
+        [Qt] Trigger scene graph repaints only for relevant layer updates.
+        https://bugs.webkit.org/show_bug.cgi?id=81765
+
+        Reviewed by Kenneth Rohde Christiansen.
+
+        Tile updates and removal shouldn't re-render the scene all by themselves
+        since they need a buffer swap before having any effect on the framebuffer.
+
+        * UIProcess/LayerTreeHostProxy.cpp:
+        (WebKit::LayerTreeHostProxy::dispatchUpdate):
+        (WebKit::LayerTreeHostProxy::deleteCompositingLayer):
+        (WebKit::LayerTreeHostProxy::setRootCompositingLayer):
+        (WebKit::LayerTreeHostProxy::didRenderFrame):
+
+2012-03-21  Jocelyn Turcotte  <[email protected]>
+
         [Qt] Don't go through the UI process to update a layer's contents size.
         https://bugs.webkit.org/show_bug.cgi?id=81764
 

Modified: trunk/Source/WebKit2/UIProcess/LayerTreeHostProxy.cpp (111563 => 111564)


--- trunk/Source/WebKit2/UIProcess/LayerTreeHostProxy.cpp	2012-03-21 17:19:46 UTC (rev 111563)
+++ trunk/Source/WebKit2/UIProcess/LayerTreeHostProxy.cpp	2012-03-21 17:20:47 UTC (rev 111564)
@@ -64,7 +64,6 @@
 void LayerTreeHostProxy::dispatchUpdate(const Function<void()>& function)
 {
     m_renderer->appendUpdate(function);
-    updateViewport();
 }
 
 void LayerTreeHostProxy::createTileForLayer(int layerID, int tileID, const WebKit::UpdateInfo& updateInfo)
@@ -90,11 +89,13 @@
 void LayerTreeHostProxy::deleteCompositingLayer(WebLayerID id)
 {
     dispatchUpdate(bind(&WebLayerTreeRenderer::deleteLayer, m_renderer.get(), id));
+    updateViewport();
 }
 
 void LayerTreeHostProxy::setRootCompositingLayer(WebLayerID id)
 {
     dispatchUpdate(bind(&WebLayerTreeRenderer::setRootLayerID, m_renderer.get(), id));
+    updateViewport();
 }
 
 void LayerTreeHostProxy::syncCompositingLayerState(const WebLayerInfo& info)
@@ -105,6 +106,7 @@
 void LayerTreeHostProxy::didRenderFrame()
 {
     dispatchUpdate(bind(&WebLayerTreeRenderer::flushLayerChanges, m_renderer.get()));
+    updateViewport();
 }
 
 void LayerTreeHostProxy::createDirectlyCompositedImage(int64_t key, const WebKit::ShareableBitmap::Handle& handle)
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to