| Index: Source/core/rendering/RenderLayer.cpp
|
| diff --git a/Source/core/rendering/RenderLayer.cpp b/Source/core/rendering/RenderLayer.cpp
|
| index 5c355e72175f2df2b85557ac3c216690e29c6ab3..339e9f7e028b2a33a822662d242eb8bdf79ff9d7 100644
|
| --- a/Source/core/rendering/RenderLayer.cpp
|
| +++ b/Source/core/rendering/RenderLayer.cpp
|
| @@ -593,23 +593,6 @@ LayoutRect RenderLayer::computePaintInvalidationRect(const RenderObject* renderO
|
| return rect;
|
| }
|
|
|
| -void RenderLayer::setHasVisibleContent()
|
| -{
|
| - if (m_hasVisibleContent && !m_visibleContentStatusDirty) {
|
| - ASSERT(!parent() || parent()->m_visibleDescendantStatusDirty || parent()->hasVisibleDescendant());
|
| - return;
|
| - }
|
| -
|
| - m_hasVisibleContent = true;
|
| - m_visibleContentStatusDirty = false;
|
| -
|
| - setNeedsCompositingInputsUpdate();
|
| - m_renderer->setPreviousPaintInvalidationRect(m_renderer->boundsRectForPaintInvalidation(m_renderer->containerForPaintInvalidation()));
|
| -
|
| - if (parent())
|
| - parent()->dirtyAncestorChainVisibleDescendantStatus();
|
| -}
|
| -
|
| void RenderLayer::dirtyVisibleContentStatus()
|
| {
|
| m_visibleContentStatusDirty = true;
|
| @@ -745,10 +728,14 @@ void RenderLayer::updateDescendantDependentFlags()
|
| }
|
| m_visibleContentStatusDirty = false;
|
|
|
| - // FIXME: We can remove this code once we remove the recursive tree
|
| - // walk inside updateGraphicsLayerGeometry.
|
| - if (hasVisibleContent() != previouslyHasVisibleContent)
|
| + if (hasVisibleContent() != previouslyHasVisibleContent) {
|
| setNeedsCompositingInputsUpdate();
|
| + // We need to tell m_renderer to recheck its rect because we
|
| + // pretend that invisible RenderObjects have 0x0 rects. Changing
|
| + // visibility therefore changes our rect and we need to visit
|
| + // this RenderObject during the invalidateTreeIfNeeded walk.
|
| + m_renderer->setMayNeedPaintInvalidation(true);
|
| + }
|
| }
|
| }
|
|
|
|
|