summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Fraser <simon.fraser@apple.com>2013-03-28 22:47:20 +1100
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-03-30 10:49:42 +0100
commitaca7ee6efbdd8a149ce6135df54cc93fbe362922 (patch)
treef98bd6c7cbf9913d515fda5f5949753500dc60c6
parent0d0b7ae573962c7777116e32644f3a66cff7c92b (diff)
ASSERTION FAILED: m_repaintRect == renderer()->clippedOverflowRectForRepaint(renderer()->containerForRepaint()) after r135816v5.0.2
https://bugs.webkit.org/show_bug.cgi?id=103432 Remove optimization added in r99752 that attempted to avoid clip rect updates for table cells. As the assertions show, this optimization is not always correct, so remove it. Bug 108272 tracks adding it back in. * rendering/RenderLayer.cpp: (WebCore::RenderLayer::RenderLayer): (WebCore::RenderLayer::updateLayerPositionsAfterScroll): Remove m_canSkipRepaintRectsUpdateOnScroll check when updating clip rects. * rendering/RenderLayer.h: Remove the m_canSkipRepaintRectsUpdateOnScroll bit. Task-number: QTBUG-29214 Change-Id: I453ad4db59218631e236e938c2392a444840df64 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com> Reviewed-by: Jonathan Liu <net147@gmail.com>
-rw-r--r--Source/WebCore/rendering/RenderLayer.cpp3
-rw-r--r--Source/WebCore/rendering/RenderLayer.h4
2 files changed, 1 insertions, 6 deletions
diff --git a/Source/WebCore/rendering/RenderLayer.cpp b/Source/WebCore/rendering/RenderLayer.cpp
index 3c7cf6e56..c8437895f 100644
--- a/Source/WebCore/rendering/RenderLayer.cpp
+++ b/Source/WebCore/rendering/RenderLayer.cpp
@@ -166,7 +166,6 @@ RenderLayer::RenderLayer(RenderLayerModelObject* renderer)
#if !ASSERT_DISABLED
, m_layerListMutationAllowed(true)
#endif
- , m_canSkipRepaintRectsUpdateOnScroll(renderer->isTableCell())
#if ENABLE(CSS_FILTERS)
, m_hasFilterInfo(false)
#endif
@@ -546,7 +545,7 @@ void RenderLayer::updateLayerPositionsAfterScroll(RenderGeometryMap* geometryMap
flags |= HasSeenAncestorWithOverflowClip;
if (flags & HasSeenViewportConstrainedAncestor
- || (flags & IsOverflowScroll && flags & HasSeenAncestorWithOverflowClip && !m_canSkipRepaintRectsUpdateOnScroll)) {
+ || (flags & IsOverflowScroll && flags & HasSeenAncestorWithOverflowClip)) {
// FIXME: We could track the repaint container as we walk down the tree.
computeRepaintRects(renderer()->containerForRepaint(), geometryMap);
} else {
diff --git a/Source/WebCore/rendering/RenderLayer.h b/Source/WebCore/rendering/RenderLayer.h
index 65f1070ab..c5e652411 100644
--- a/Source/WebCore/rendering/RenderLayer.h
+++ b/Source/WebCore/rendering/RenderLayer.h
@@ -996,10 +996,6 @@ protected:
#if !ASSERT_DISABLED
bool m_layerListMutationAllowed : 1;
#endif
- // This is an optimization added for <table>.
- // Currently cells do not need to update their repaint rectangles when scrolling. This also
- // saves a lot of time when scrolling on a table.
- const bool m_canSkipRepaintRectsUpdateOnScroll : 1;
#if ENABLE(CSS_FILTERS)
bool m_hasFilterInfo : 1;