if (geometryMap)
geometryMap->pushMappingsToAncestor(this, parent());
- if ((flags & HasChangedAncestor) || (flags & HasSeenViewportConstrainedAncestor) || (flags & IsOverflowScroll))
+ if (flags & HasChangedAncestor || flags & HasSeenViewportConstrainedAncestor || flags & IsOverflowScroll)
m_clipper.clearClipRects();
if (renderer()->style()->hasViewportConstrainedPosition())
if (renderer()->hasOverflowClip())
flags |= HasSeenAncestorWithOverflowClip;
- if ((flags & IsOverflowScroll) && (flags & HasSeenAncestorWithOverflowClip) && !m_canSkipRepaintRectsUpdateOnScroll) {
+ if (flags & HasSeenViewportConstrainedAncestor
+ || (flags & IsOverflowScroll && flags & HasSeenAncestorWithOverflowClip && !m_canSkipRepaintRectsUpdateOnScroll)) {
// FIXME: This may not be needed. Once repaint-after-layout isn't
// under-painting for layer's we should see if this can be removed.
LayoutRectRecorder recorder(*m_renderer);
+
+ // FIXME: Remove incremental compositing updates after fixing the chicken/egg issues
+ // https://code.google.com/p/chromium/issues/detail?id=343756
+ DisableCompositingQueryAsserts disabler;
// FIXME: We could track the repaint container as we walk down the tree.
repainter().computeRepaintRects(renderer()->containerForRepaint(), geometryMap);
} else {
// Check that RenderLayerRepainter's cached rects are correct.
// FIXME: re-enable these assertions when the issue with table cells is resolved: https://bugs.webkit.org/show_bug.cgi?id=103432
// ASSERT(repainter().m_repaintRect == renderer()->clippedOverflowRectForRepaint(renderer()->containerForRepaint()));
+ // ASSERT(repainter().m_outlineBox == renderer()->outlineBoundsForRepaint(renderer()->containerForRepaint(), geometryMap));
}
for (RenderLayer* child = firstChild(); child; child = child->nextSibling())