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

Unified Diff: third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.h

Issue 2388723004: [SPInvalidation] Fix PrePaintTreeWalk for multicol spanner (Closed)
Patch Set: fixes Created 4 years, 2 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/PaintPropertyTreeBuilder.h
diff --git a/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.h b/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.h
index 88219c07e0ad3c123b77e27d5f373ca3dda82d4d..c69e82f09c0496fd79a4cad78ad75a45308300a3 100644
--- a/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.h
+++ b/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.h
@@ -22,9 +22,9 @@ class ObjectPaintProperties;
// It's responsible for bookkeeping tree state in other order, for example, the most recent
// position container seen.
struct PaintPropertyTreeBuilderContext {
- // State that propagates on the containing block chain (and so is adjusted
- // when an absolute or fixed position object is encountered).
- struct ContainingBlockContext {
+ // State that propagates on the container chain (and so is adjusted when an
chrishtr 2016/10/06 16:22:32 What do mean by container? Calling container()? pa
Xianzhu 2016/10/06 16:47:48 container(). Previous "containing block" was not
chrishtr 2016/10/06 16:54:21 container() is actually containing block, as defin
Xianzhu 2016/10/06 17:33:00 I should have read Walter's doc more thoroughly. I
+ // absolute or fixed position object is encountered).
+ struct ContainerContext {
// The combination of a transform and paint offset describes a linear space.
// When a layout object recur to its children, the main context is expected to refer
// the object's border box, then the callee will derive its own border box by translating
@@ -50,24 +50,26 @@ struct PaintPropertyTreeBuilderContext {
ScrollPaintPropertyNode* scroll = nullptr;
};
- ContainingBlockContext current;
+ ContainerContext current;
- // Separate context for out-of-flow positioned and fixed positioned elements are needed
- // because they don't use DOM parent as their containing block.
- // These additional contexts normally pass through untouched, and are only copied from
- // the main context when the current element serves as the containing block of corresponding
- // positioned descendants.
- // Overflow clips are also inherited by containing block tree instead of DOM tree, thus they
- // are included in the additional context too.
- ContainingBlockContext absolutePosition;
+ // Separate context for out-of-flow positioned and fixed positioned elements
+ // are needed because they don't use DOM parent as their container.
+ // These additional contexts normally pass through untouched, and are only
+ // copied from the main context when the current element serves as the
+ // container of corresponding positioned descendants.
+ // Overflow clips are also inherited by container tree instead of DOM tree,
+ // thus they are included in the additional context too.
+ ContainerContext absolutePosition;
const LayoutObject* containerForAbsolutePosition = nullptr;
- ContainingBlockContext fixedPosition;
+ ContainerContext fixedPosition;
// The effect hierarchy is applied by the stacking context tree. It is guaranteed that every
// DOM descendant is also a stacking context descendant. Therefore, we don't need extra
// bookkeeping for effect nodes and can generate the effect tree from a DOM-order traversal.
const EffectPaintPropertyNode* currentEffect = nullptr;
+
+ bool isUnderMultiColumnSpanner = false;
};
// Creates paint property tree nodes for special things in the layout tree.

Powered by Google App Engine
This is Rietveld 408576698