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

Unified Diff: third_party/WebKit/Source/core/paint/PaintLayer.cpp

Issue 2611233003: When setting needsRepaint, don't stop at non-stacking composited PaintLayers. (Closed)
Patch Set: none Created 3 years, 11 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/paint/PaintLayer.cpp
diff --git a/third_party/WebKit/Source/core/paint/PaintLayer.cpp b/third_party/WebKit/Source/core/paint/PaintLayer.cpp
index 02e2e26be245aaf48b24b8f9119182efa6c378ba..65ae986ed17c162d8a8b16dfba43c49180d99433 100644
--- a/third_party/WebKit/Source/core/paint/PaintLayer.cpp
+++ b/third_party/WebKit/Source/core/paint/PaintLayer.cpp
@@ -918,6 +918,11 @@ LayoutPoint PaintLayer::computeOffsetFromTransformedAncestor() const {
}
PaintLayer* PaintLayer::compositingContainer() const {
+ // Floats have special paintinng order. Also, the container does not need
+ // to be a stacking context, because floats are not stacked.
+ if (m_layoutObject->isFloating() && m_layoutObject->parent() &&
+ !m_layoutObject->parent()->isLayoutBlockFlow())
+ return m_layoutObject->containingBlock()->enclosingLayer();
if (!stackingNode()->isStacked())
return parent();
if (PaintLayerStackingNode* ancestorStackingNode =

Powered by Google App Engine
This is Rietveld 408576698