Title: [173186] trunk/Source/WebCore
- Revision
- 173186
- Author
- [email protected]
- Date
- 2014-09-02 14:25:33 -0700 (Tue, 02 Sep 2014)
Log Message
Fix an assertion sometimes seen under RenderLayerCompositor::detachRootLayer()
https://bugs.webkit.org/show_bug.cgi?id=136464
Reviewed by Tim Horton.
Don't try to call RenderLayer::isVisuallyNonEmpty() under RenderLayerCompositor::detachRootLayer()
when layout might be stale; there's not point trying to update the backing store state
when detaching, only when attaching.
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::rootLayerAttachmentChanged):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (173185 => 173186)
--- trunk/Source/WebCore/ChangeLog 2014-09-02 21:18:03 UTC (rev 173185)
+++ trunk/Source/WebCore/ChangeLog 2014-09-02 21:25:33 UTC (rev 173186)
@@ -1,5 +1,19 @@
2014-09-02 Simon Fraser <[email protected]>
+ Fix an assertion sometimes seen under RenderLayerCompositor::detachRootLayer()
+ https://bugs.webkit.org/show_bug.cgi?id=136464
+
+ Reviewed by Tim Horton.
+
+ Don't try to call RenderLayer::isVisuallyNonEmpty() under RenderLayerCompositor::detachRootLayer()
+ when layout might be stale; there's not point trying to update the backing store state
+ when detaching, only when attaching.
+
+ * rendering/RenderLayerCompositor.cpp:
+ (WebCore::RenderLayerCompositor::rootLayerAttachmentChanged):
+
+2014-09-02 Simon Fraser <[email protected]>
+
Avoid backing store allocation with some combinations of replaced elements, masking and visibility:hidden
https://bugs.webkit.org/show_bug.cgi?id=136400
Modified: trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp (173185 => 173186)
--- trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp 2014-09-02 21:18:03 UTC (rev 173185)
+++ trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp 2014-09-02 21:25:33 UTC (rev 173186)
@@ -3434,12 +3434,6 @@
void RenderLayerCompositor::rootLayerAttachmentChanged()
{
- // The attachment can affect whether the RenderView layer's paintsIntoWindow() behavior,
- // so call updateDrawsContent() to update that.
- RenderLayer* layer = m_renderView.layer();
- if (RenderLayerBacking* backing = layer ? layer->backing() : 0)
- backing->updateDrawsContent();
-
// The document-relative page overlay layer (which is pinned to the main frame's layer tree)
// is moved between different RenderLayerCompositors' layer trees, and needs to be
// reattached whenever we swap in a new RenderLayerCompositor.
@@ -3451,6 +3445,12 @@
if (!page)
return;
+ // The attachment can affect whether the RenderView layer's paintsIntoWindow() behavior,
+ // so call updateDrawsContent() to update that.
+ RenderLayer* layer = m_renderView.layer();
+ if (RenderLayerBacking* backing = layer ? layer->backing() : nullptr)
+ backing->updateDrawsContent();
+
if (GraphicsLayer* overlayLayer = page->chrome().client().documentOverlayLayerForFrame(frame))
m_rootContentLayer->addChild(overlayLayer);
}
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes