Chromium Code Reviews| 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. |