Log Message
[CoordinatedGraphics] compositing/iframes/connect-compositing-iframe.html crashes https://bugs.webkit.org/show_bug.cgi?id=101232
Reviewed by Jocelyn Turcotte. The crash is happening in CoordinatedGraphicsLayer::flushCompositingState because we dereferencing a null m_coordinatedGraphicsLayerClient. This happens when the root layer became composited because it has content overlapping with an inner iframe that is composited. In this case the RenderLayerCompositor attaches the layer with RootLayerAttachedViaEnclosingFrame attachment flag and do not call ChromeClient::attachRootGraphcisLayer so we don't have a chance to set m_coordinatedGraphicsLayerClient. The solution is to set the client early in the factory method. * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp: (WebKit::LayerTreeCoordinator::createGraphicsLayer):
Modified Paths
Diff
Modified: trunk/Source/WebKit2/ChangeLog (133577 => 133578)
--- trunk/Source/WebKit2/ChangeLog 2012-11-06 10:43:46 UTC (rev 133577)
+++ trunk/Source/WebKit2/ChangeLog 2012-11-06 10:46:53 UTC (rev 133578)
@@ -1,3 +1,21 @@
+2012-11-06 Balazs Kelemen <[email protected]>
+
+ [CoordinatedGraphics] compositing/iframes/connect-compositing-iframe.html crashes
+ https://bugs.webkit.org/show_bug.cgi?id=101232
+
+ Reviewed by Jocelyn Turcotte.
+
+ The crash is happening in CoordinatedGraphicsLayer::flushCompositingState
+ because we dereferencing a null m_coordinatedGraphicsLayerClient.
+ This happens when the root layer became composited because it has content overlapping
+ with an inner iframe that is composited. In this case the RenderLayerCompositor attaches
+ the layer with RootLayerAttachedViaEnclosingFrame attachment flag and do not call
+ ChromeClient::attachRootGraphcisLayer so we don't have a chance to set m_coordinatedGraphicsLayerClient.
+ The solution is to set the client early in the factory method.
+
+ * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
+ (WebKit::LayerTreeCoordinator::createGraphicsLayer):
+
2012-11-06 Viatcheslav Ostapenko <[email protected]>
[EFL] [WK2] Random crash in Minibrowser
Modified: trunk/Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp (133577 => 133578)
--- trunk/Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp 2012-11-06 10:43:46 UTC (rev 133577)
+++ trunk/Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp 2012-11-06 10:46:53 UTC (rev 133578)
@@ -580,7 +580,9 @@
PassOwnPtr<GraphicsLayer> LayerTreeCoordinator::createGraphicsLayer(GraphicsLayerClient* client)
{
- return adoptPtr(new CoordinatedGraphicsLayer(client));
+ CoordinatedGraphicsLayer* newLayer = new CoordinatedGraphicsLayer(client);
+ newLayer->setCoordinatedGraphicsLayerClient(this);
+ return adoptPtr(newLayer);
}
bool LayerTreeHost::supportsAcceleratedCompositing()
_______________________________________________ webkit-changes mailing list [email protected] http://lists.webkit.org/mailman/listinfo/webkit-changes
