Title: [175818] trunk/Source/WebCore
- Revision
- 175818
- Author
- simon.fra...@apple.com
- Date
- 2014-11-10 12:03:44 -0800 (Mon, 10 Nov 2014)
Log Message
[iOS WK2] Layers with negative z position disapear behind the page tiles
https://bugs.webkit.org/show_bug.cgi?id=138571
rdar://problem/18873480
Reviewed by Dean Jackson.
Some crufty iOS-only code in RenderLayerBacking::parentForSublayers() caused us to fail
to use the m_childContainmentLayer as the ancestor for descendants, so layers with
negative z position would get depth-sorted behind the tiles.
Fix by removing that code.
This should have been detected by compositing/tile-cache-must-flatten.html, but
testing infrastructure suck prevented us from doing so.
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::parentForSublayers):
* rendering/RenderLayerBacking.h: Just some nullptr cleanup.
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (175817 => 175818)
--- trunk/Source/WebCore/ChangeLog 2014-11-10 19:56:20 UTC (rev 175817)
+++ trunk/Source/WebCore/ChangeLog 2014-11-10 20:03:44 UTC (rev 175818)
@@ -1,3 +1,24 @@
+2014-11-10 Simon Fraser <simon.fra...@apple.com>
+
+ [iOS WK2] Layers with negative z position disapear behind the page tiles
+ https://bugs.webkit.org/show_bug.cgi?id=138571
+ rdar://problem/18873480
+
+ Reviewed by Dean Jackson.
+
+ Some crufty iOS-only code in RenderLayerBacking::parentForSublayers() caused us to fail
+ to use the m_childContainmentLayer as the ancestor for descendants, so layers with
+ negative z position would get depth-sorted behind the tiles.
+
+ Fix by removing that code.
+
+ This should have been detected by compositing/tile-cache-must-flatten.html, but
+ testing infrastructure suck prevented us from doing so.
+
+ * rendering/RenderLayerBacking.cpp:
+ (WebCore::RenderLayerBacking::parentForSublayers):
+ * rendering/RenderLayerBacking.h: Just some nullptr cleanup.
+
2014-11-10 Chris Dumez <cdu...@apple.com>
Move 'resize' CSS property to the new StyleBuilder
Modified: trunk/Source/WebCore/rendering/RenderLayerBacking.cpp (175817 => 175818)
--- trunk/Source/WebCore/rendering/RenderLayerBacking.cpp 2014-11-10 19:56:20 UTC (rev 175817)
+++ trunk/Source/WebCore/rendering/RenderLayerBacking.cpp 2014-11-10 20:03:44 UTC (rev 175818)
@@ -1993,14 +1993,7 @@
if (m_scrollingContentsLayer)
return m_scrollingContentsLayer.get();
-#if PLATFORM(IOS)
- // FIXME: Can we remove this iOS-specific code path?
- if (GraphicsLayer* clippingLayer = this->clippingLayer())
- return clippingLayer;
- return m_graphicsLayer.get();
-#else
return m_childContainmentLayer ? m_childContainmentLayer.get() : m_graphicsLayer.get();
-#endif
}
GraphicsLayer* RenderLayerBacking::childForSuperlayers() const
Modified: trunk/Source/WebCore/rendering/RenderLayerBacking.h (175817 => 175818)
--- trunk/Source/WebCore/rendering/RenderLayerBacking.h 2014-11-10 19:56:20 UTC (rev 175817)
+++ trunk/Source/WebCore/rendering/RenderLayerBacking.h 2014-11-10 20:03:44 UTC (rev 175818)
@@ -89,15 +89,15 @@
// Layer to clip children
bool hasClippingLayer() const { return (m_childContainmentLayer && !m_usingTiledCacheLayer); }
- GraphicsLayer* clippingLayer() const { return !m_usingTiledCacheLayer ? m_childContainmentLayer.get() : 0; }
+ GraphicsLayer* clippingLayer() const { return !m_usingTiledCacheLayer ? m_childContainmentLayer.get() : nullptr; }
// Layer to get clipped by ancestor
- bool hasAncestorClippingLayer() const { return m_ancestorClippingLayer != 0; }
+ bool hasAncestorClippingLayer() const { return m_ancestorClippingLayer != nullptr; }
GraphicsLayer* ancestorClippingLayer() const { return m_ancestorClippingLayer.get(); }
GraphicsLayer* contentsContainmentLayer() const { return m_contentsContainmentLayer.get(); }
- bool hasContentsLayer() const { return m_foregroundLayer != 0; }
+ bool hasContentsLayer() const { return m_foregroundLayer != nullptr; }
GraphicsLayer* foregroundLayer() const { return m_foregroundLayer.get(); }
GraphicsLayer* backgroundLayer() const { return m_backgroundLayer.get(); }
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes