Title: [119847] trunk/Source/WebKit2
Revision
119847
Author
[email protected]
Date
2012-06-08 11:34:12 -0700 (Fri, 08 Jun 2012)

Log Message

[Qt] [WK2] API tests randomly assert in WebLayerTreeRenderer::assignImageToLayer
https://bugs.webkit.org/show_bug.cgi?id=88667

Reviewed by Noam Rosenthal.

Move deactivation of WebLayerTreeRenderer from LayerTreeHostProxy::purgeBackingStores
to WebLayerTreeRenderer::purgeGLResources. LayerTreeHostProxy::purgeBackingStores is
invoked on main thread after going through call gate and it is too late to deactivate
renderer here, because some update messages are able to go through.
WebLayerTreeRenderer::purgeGLResources is called directly from render node deallocation
and it is right place to deactivate renderer.

* UIProcess/LayerTreeHostProxy.cpp:
(WebKit::LayerTreeHostProxy::purgeBackingStores):
* UIProcess/WebLayerTreeRenderer.cpp:
(WebKit::WebLayerTreeRenderer::purgeGLResources):

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (119846 => 119847)


--- trunk/Source/WebKit2/ChangeLog	2012-06-08 18:24:11 UTC (rev 119846)
+++ trunk/Source/WebKit2/ChangeLog	2012-06-08 18:34:12 UTC (rev 119847)
@@ -1,3 +1,22 @@
+2012-06-08  Viatcheslav Ostapenko  <[email protected]>
+
+        [Qt] [WK2] API tests randomly assert in WebLayerTreeRenderer::assignImageToLayer
+        https://bugs.webkit.org/show_bug.cgi?id=88667
+
+        Reviewed by Noam Rosenthal.
+
+        Move deactivation of WebLayerTreeRenderer from LayerTreeHostProxy::purgeBackingStores 
+        to WebLayerTreeRenderer::purgeGLResources. LayerTreeHostProxy::purgeBackingStores is 
+        invoked on main thread after going through call gate and it is too late to deactivate
+        renderer here, because some update messages are able to go through. 
+        WebLayerTreeRenderer::purgeGLResources is called directly from render node deallocation
+        and it is right place to deactivate renderer.
+
+        * UIProcess/LayerTreeHostProxy.cpp:
+        (WebKit::LayerTreeHostProxy::purgeBackingStores):
+        * UIProcess/WebLayerTreeRenderer.cpp:
+        (WebKit::WebLayerTreeRenderer::purgeGLResources):
+
 2012-06-08  Carlos Garcia Campos  <[email protected]>
 
         [GTK] Add API to get the library version to WebKit2 GTK+

Modified: trunk/Source/WebKit2/UIProcess/LayerTreeHostProxy.cpp (119846 => 119847)


--- trunk/Source/WebKit2/UIProcess/LayerTreeHostProxy.cpp	2012-06-08 18:24:11 UTC (rev 119846)
+++ trunk/Source/WebKit2/UIProcess/LayerTreeHostProxy.cpp	2012-06-08 18:34:12 UTC (rev 119847)
@@ -157,7 +157,6 @@
 
 void LayerTreeHostProxy::purgeBackingStores()
 {
-    m_renderer->setActive(false);
     m_drawingAreaProxy->page()->process()->send(Messages::LayerTreeHost::PurgeBackingStores(), m_drawingAreaProxy->page()->pageID());
 }
 

Modified: trunk/Source/WebKit2/UIProcess/WebLayerTreeRenderer.cpp (119846 => 119847)


--- trunk/Source/WebKit2/UIProcess/WebLayerTreeRenderer.cpp	2012-06-08 18:24:11 UTC (rev 119846)
+++ trunk/Source/WebKit2/UIProcess/WebLayerTreeRenderer.cpp	2012-06-08 18:34:12 UTC (rev 119847)
@@ -458,6 +458,8 @@
     m_textureMapper.clear();
     m_backingStoresWithPendingBuffers.clear();
 
+    setActive(false);
+
     callOnMainThread(bind(&WebLayerTreeRenderer::purgeBackingStores, this));
 }
 
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to