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

Side by Side Diff: third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.h

Issue 2642763009: Fix paint and rect mapping issues for stacked float under stacked inline (Closed)
Patch Set: 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 unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef PaintPropertyTreeBuilder_h 5 #ifndef PaintPropertyTreeBuilder_h
6 #define PaintPropertyTreeBuilder_h 6 #define PaintPropertyTreeBuilder_h
7 7
8 #include "platform/geometry/LayoutPoint.h" 8 #include "platform/geometry/LayoutPoint.h"
9 #include "platform/graphics/paint/ClipPaintPropertyNode.h" 9 #include "platform/graphics/paint/ClipPaintPropertyNode.h"
10 #include "platform/graphics/paint/EffectPaintPropertyNode.h" 10 #include "platform/graphics/paint/EffectPaintPropertyNode.h"
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
58 // These additional contexts normally pass through untouched, and are only 58 // These additional contexts normally pass through untouched, and are only
59 // copied from the main context when the current element serves as the 59 // copied from the main context when the current element serves as the
60 // containing block of corresponding positioned descendants. Overflow clips 60 // containing block of corresponding positioned descendants. Overflow clips
61 // are also inherited by containing block tree instead of DOM tree, thus they 61 // are also inherited by containing block tree instead of DOM tree, thus they
62 // are included in the additional context too. 62 // are included in the additional context too.
63 ContainingBlockContext absolutePosition; 63 ContainingBlockContext absolutePosition;
64 const LayoutObject* containerForAbsolutePosition = nullptr; 64 const LayoutObject* containerForAbsolutePosition = nullptr;
65 65
66 ContainingBlockContext fixedPosition; 66 ContainingBlockContext fixedPosition;
67 67
68 // This is the same as current.paintOffset except when a floating object has 68 // These are the same as current.paintOffset except when a floating object's
69 // non-block ancestors under its containing block. Paint offsets of the 69 // parent is not a container. Paint offsets of the non-container ancestors
70 // non-block ancestors should not be accumulated for the floating object. 70 // should not be accumulated for the floating object.
71 LayoutPoint paintOffsetForFloat; 71 LayoutPoint paintOffsetForNonStackedFloat;
72 LayoutPoint paintOffsetForStackedFloat;
72 73
73 // The effect hierarchy is applied by the stacking context tree. It is 74 // The effect hierarchy is applied by the stacking context tree. It is
74 // guaranteed that every DOM descendant is also a stacking context descendant. 75 // guaranteed that every DOM descendant is also a stacking context descendant.
75 // Therefore, we don't need extra bookkeeping for effect nodes and can 76 // Therefore, we don't need extra bookkeeping for effect nodes and can
76 // generate the effect tree from a DOM-order traversal. 77 // generate the effect tree from a DOM-order traversal.
77 const EffectPaintPropertyNode* currentEffect = nullptr; 78 const EffectPaintPropertyNode* currentEffect = nullptr;
78 // Some effects are spatial, i.e. may refer to input pixels outside of output 79 // Some effects are spatial, i.e. may refer to input pixels outside of output
79 // clip. The cull rect for its input shall be derived from its output clip. 80 // clip. The cull rect for its input shall be derived from its output clip.
80 // This variable represents the input cull of current effect, also serves as 81 // This variable represents the input cull of current effect, also serves as
81 // output clip of child effects that don't have a hard clip. 82 // output clip of child effects that don't have a hard clip.
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
146 const LayoutObject&, 147 const LayoutObject&,
147 PaintPropertyTreeBuilderContext&); 148 PaintPropertyTreeBuilderContext&);
148 ALWAYS_INLINE static void updateOutOfFlowContext( 149 ALWAYS_INLINE static void updateOutOfFlowContext(
149 const LayoutObject&, 150 const LayoutObject&,
150 PaintPropertyTreeBuilderContext&); 151 PaintPropertyTreeBuilderContext&);
151 }; 152 };
152 153
153 } // namespace blink 154 } // namespace blink
154 155
155 #endif // PaintPropertyTreeBuilder_h 156 #endif // PaintPropertyTreeBuilder_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698