Chromium Code Reviews| Index: third_party/WebKit/Source/core/layout/compositing/CompositingRequirementsUpdater.cpp |
| diff --git a/third_party/WebKit/Source/core/layout/compositing/CompositingRequirementsUpdater.cpp b/third_party/WebKit/Source/core/layout/compositing/CompositingRequirementsUpdater.cpp |
| index 43d57ebe4b042d11783e96ac70281c34fc84ca55..d737e85d72e9a4f3f460ed79dc20466776b43824 100644 |
| --- a/third_party/WebKit/Source/core/layout/compositing/CompositingRequirementsUpdater.cpp |
| +++ b/third_party/WebKit/Source/core/layout/compositing/CompositingRequirementsUpdater.cpp |
| @@ -372,6 +372,18 @@ void CompositingRequirementsUpdater::UpdateRecursive( |
| RecursionData child_recursion_data = current_recursion_data; |
| child_recursion_data.subtree_is_compositing_ = false; |
| + if (layer->SticksToScroller() && |
| + layer->AncestorOverflowLayer()->ScrollsOverflow() && |
|
flackr
2017/05/12 18:00:46
This seems to be duplicating the promotion logic i
yigu
2017/05/17 19:39:05
Done.
|
| + current_recursion_data.compositing_ancestor_ && |
| + current_recursion_data.compositing_ancestor_->AncestorScrollingLayer() && |
| + // This is not exact and over-promotes sometimes if |
| + // compositing_ancestor_ is not under the same scroller as the sticky |
| + // element. |
| + !current_recursion_data.compositing_ancestor_->AncestorScrollingLayer() |
|
flackr
2017/05/12 18:00:46
If we have a composited ancestor scrolling layer t
yigu
2017/05/17 19:39:05
It's possible that a sticky element have a composi
|
| + ->IsRootLayer()) { |
| + reasons_to_composite |= kCompositingReasonScrollDependentPosition; |
| + } |
| + |
| bool will_be_composited_or_squashed = |
| can_be_composited && RequiresCompositingOrSquashing(reasons_to_composite); |
| if (will_be_composited_or_squashed) { |