| Index: third_party/WebKit/Source/core/layout/compositing/CompositingReasonFinder.cpp
|
| diff --git a/third_party/WebKit/Source/core/layout/compositing/CompositingReasonFinder.cpp b/third_party/WebKit/Source/core/layout/compositing/CompositingReasonFinder.cpp
|
| index 2924e5944e56d5997a4bf87d88cf8cb4b910d2b1..732e0b5ef280411f629f107826dcebad146b07ba 100644
|
| --- a/third_party/WebKit/Source/core/layout/compositing/CompositingReasonFinder.cpp
|
| +++ b/third_party/WebKit/Source/core/layout/compositing/CompositingReasonFinder.cpp
|
| @@ -143,8 +143,17 @@ CompositingReasons CompositingReasonFinder::nonStyleDeterminedDirectReasons(
|
| CompositingReasons directReasons = CompositingReasonNone;
|
| LayoutObject* layoutObject = layer->layoutObject();
|
|
|
| - if (layer->needsCompositedScrolling())
|
| + bool checkForClipParent =
|
| + (m_compositingTriggers & OverflowScrollTrigger) &&
|
| + layer->ancestorScrollingLayer() &&
|
| + layer->ancestorScrollingLayer()->compositingState() ==
|
| + PaintsIntoOwnBacking;
|
| + if (layer->needsCompositedScrolling()) {
|
| + checkForClipParent = true;
|
| directReasons |= CompositingReasonOverflowScrollingTouch;
|
| + }
|
| + if (checkForClipParent && layer->clipParent())
|
| + directReasons |= CompositingReasonOutOfFlowClipping;
|
|
|
| // Composite |layer| if it is inside of an ancestor scrolling layer, but that
|
| // scrolling layer is not on the stacking context ancestor chain of |layer|.
|
|
|