#if PLATFORM(IOS)
bool RenderLayerCompositor::requiresCompositingForScrolling(const RenderLayer& layer) const
{
- return layer.hasAcceleratedTouchScrolling();
+ if (!layer.hasAcceleratedTouchScrolling())
+ return false;
+
+ if (!m_inPostLayoutUpdate) {
+ m_reevaluateCompositingAfterLayout = true;
+ return layer.isComposited();
+ }
+
+ return layer.hasTouchScrollableOverflow();
}
#endif
ASSERT(layer.renderer().isStickyPositioned());
RenderLayer* enclosingOverflowLayer = layer.enclosingOverflowClipLayer(ExcludeSelf);
- if (enclosingOverflowLayer && enclosingOverflowLayer->hasAcceleratedTouchScrolling()) {
+ if (enclosingOverflowLayer && enclosingOverflowLayer->hasTouchScrollableOverflow()) {
if (enclosingAcceleratedOverflowLayer)
*enclosingAcceleratedOverflowLayer = enclosingOverflowLayer;
return true;
return true;
#if PLATFORM(IOS)
- return layer.hasAcceleratedTouchScrolling();
+ return layer.hasTouchScrollableOverflow();
#else
return layer.needsCompositedScrolling();
#endif