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 30520dedadfc56e718a1b6313c22f9b4132c6e5c..3cfa7d86c17c4625bf3723b2b30b156bef3d3112 100644 |
--- a/third_party/WebKit/Source/core/layout/compositing/CompositingRequirementsUpdater.cpp |
+++ b/third_party/WebKit/Source/core/layout/compositing/CompositingRequirementsUpdater.cpp |
@@ -194,8 +194,11 @@ static CompositingReasons SubtreeReasonsForCompositing( |
// We ignore LCD text here because we are required to composite |
// scroll-dependant fixed position elements with composited descendants for |
// correctness - even if we lose LCD. |
+ // |
+ // TODO(smcgruer): Only composite fixed if needed (http://crbug.com/742213) |
const bool ignore_lcd_text = true; |
- if (compositing_reason_finder.RequiresCompositingForScrollDependentPosition( |
+ if (layer->GetLayoutObject().Style()->GetPosition() == EPosition::kFixed || |
+ compositing_reason_finder.RequiresCompositingForScrollDependentPosition( |
layer, ignore_lcd_text)) { |
subtree_reasons |= |
kCompositingReasonPositionFixedOrStickyWithCompositedDescendants; |