Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(224)

Unified Diff: third_party/WebKit/Source/core/layout/compositing/CompositingRequirementsUpdater.cpp

Issue 2776563003: Only automatically promote sticky position elements which move with scroll. (Closed)
Patch Set: Merge with master Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 137284f76e3f3a848304f3d07dbb77c1b53180ab..6b95f5e859d201451a3ba1118e5c8ad36f254917 100644
--- a/third_party/WebKit/Source/core/layout/compositing/CompositingRequirementsUpdater.cpp
+++ b/third_party/WebKit/Source/core/layout/compositing/CompositingRequirementsUpdater.cpp
@@ -247,8 +247,7 @@ void CompositingRequirementsUpdater::updateRecursive(
layer->stackingNode()->updateLayerListsIfNeeded();
CompositingReasons reasonsToComposite = CompositingReasonNone;
- CompositingReasons directReasons =
- m_compositingReasonFinder.directReasons(layer);
+ CompositingReasons directReasons = CompositingReasonNone;
// Video is special. It's the only PaintLayer type that can both have
// PaintLayer children and whose children can't use its backing to render
@@ -260,14 +259,15 @@ void CompositingRequirementsUpdater::updateRecursive(
bool hasCompositedScrollingAncestor =
layer->ancestorScrollingLayer() &&
- (m_compositingReasonFinder.directReasons(
- layer->ancestorScrollingLayer()) &
+ (m_compositingReasonFinder.directReasons(layer->ancestorScrollingLayer(),
+ false) &
CompositingReasonOverflowScrollingTouch);
// TODO(chrishtr): use |hasCompositedScrollingAncestor| instead.
- if (currentRecursionData.m_hasCompositedScrollingAncestor &&
- layer->layoutObject().styleRef().hasViewportConstrainedPosition())
- directReasons |= CompositingReasonScrollDependentPosition;
+ const bool ignoreLCDText =
+ currentRecursionData.m_hasCompositedScrollingAncestor;
+ directReasons |=
+ m_compositingReasonFinder.directReasons(layer, ignoreLCDText);
bool canBeComposited = compositor->canBeComposited(layer);
if (canBeComposited) {

Powered by Google App Engine
This is Rietveld 408576698