diff options
author | Simon Fraser <simon.fraser@apple.com> | 2013-03-28 22:47:20 +1100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-03-30 10:49:42 +0100 |
commit | aca7ee6efbdd8a149ce6135df54cc93fbe362922 (patch) | |
tree | f98bd6c7cbf9913d515fda5f5949753500dc60c6 | |
parent | 0d0b7ae573962c7777116e32644f3a66cff7c92b (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.cpp | 3 | ||||
-rw-r--r-- | Source/WebCore/rendering/RenderLayer.h | 4 |
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; |