| Index: third_party/WebKit/Source/core/layout/compositing/PaintLayerCompositor.cpp
|
| diff --git a/third_party/WebKit/Source/core/layout/compositing/PaintLayerCompositor.cpp b/third_party/WebKit/Source/core/layout/compositing/PaintLayerCompositor.cpp
|
| index afe1f47d2806ad0f2cfc5ec473d4156833d8c7d5..9b7b414fdb6fa64ca8869bed5aee478d252f2402 100644
|
| --- a/third_party/WebKit/Source/core/layout/compositing/PaintLayerCompositor.cpp
|
| +++ b/third_party/WebKit/Source/core/layout/compositing/PaintLayerCompositor.cpp
|
| @@ -767,6 +767,11 @@ void PaintLayerCompositor::updateDirectCompositingReasons(PaintLayer* layer)
|
|
|
| bool PaintLayerCompositor::canBeComposited(const PaintLayer* layer) const
|
| {
|
| + FrameView* frameView = layer->layoutObject()->frameView();
|
| + // Elements within an invisible frame must not be composited because they are not drawn.
|
| + if (frameView && !frameView->isVisible())
|
| + return false;
|
| +
|
| const bool hasCompositorAnimation = m_compositingReasonFinder.requiresCompositingForAnimation(*layer->layoutObject()->style());
|
| return m_hasAcceleratedCompositing && (hasCompositorAnimation || !layer->subtreeIsInvisible()) && layer->isSelfPaintingLayer() && !layer->layoutObject()->isLayoutFlowThread();
|
| }
|
|
|