OLD | NEW |
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 29 matching lines...) Expand all Loading... |
40 // TransformPaintPropertyNode::renderingContextID. | 40 // TransformPaintPropertyNode::renderingContextID. |
41 unsigned renderingContextID = 0; | 41 unsigned renderingContextID = 0; |
42 // The clip node describes the accumulated raster clip for the current s
ubtree. | 42 // The clip node describes the accumulated raster clip for the current s
ubtree. |
43 // Note that the computed raster region in canvas space for a clip node
is independent from | 43 // Note that the computed raster region in canvas space for a clip node
is independent from |
44 // the transform and paint offset above. Also the actual raster region m
ay be affected | 44 // the transform and paint offset above. Also the actual raster region m
ay be affected |
45 // by layerization and occlusion tracking. | 45 // by layerization and occlusion tracking. |
46 const ClipPaintPropertyNode* clip = nullptr; | 46 const ClipPaintPropertyNode* clip = nullptr; |
47 // The scroll node contains information for scrolling such as the parent
scroll space, the | 47 // The scroll node contains information for scrolling such as the parent
scroll space, the |
48 // extent that can be scrolled, etc. Because scroll nodes reference a sc
roll offset | 48 // extent that can be scrolled, etc. Because scroll nodes reference a sc
roll offset |
49 // transform, scroll nodes should be updated if the transform tree chang
es. | 49 // transform, scroll nodes should be updated if the transform tree chang
es. |
50 const ScrollPaintPropertyNode* scroll = nullptr; | 50 ScrollPaintPropertyNode* scroll = nullptr; |
51 }; | 51 }; |
52 | 52 |
53 ContainingBlockContext current; | 53 ContainingBlockContext current; |
54 | 54 |
55 // Separate context for out-of-flow positioned and fixed positioned elements
are needed | 55 // Separate context for out-of-flow positioned and fixed positioned elements
are needed |
56 // because they don't use DOM parent as their containing block. | 56 // because they don't use DOM parent as their containing block. |
57 // These additional contexts normally pass through untouched, and are only c
opied from | 57 // These additional contexts normally pass through untouched, and are only c
opied from |
58 // the main context when the current element serves as the containing block
of corresponding | 58 // the main context when the current element serves as the containing block
of corresponding |
59 // positioned descendants. | 59 // positioned descendants. |
60 // Overflow clips are also inherited by containing block tree instead of DOM
tree, thus they | 60 // Overflow clips are also inherited by containing block tree instead of DOM
tree, thus they |
(...skipping 20 matching lines...) Expand all Loading... |
81 void buildTreeNodesForSelf(const LayoutObject&, PaintPropertyTreeBuilderCont
ext&); | 81 void buildTreeNodesForSelf(const LayoutObject&, PaintPropertyTreeBuilderCont
ext&); |
82 void buildTreeNodesForChildren(const LayoutObject&, PaintPropertyTreeBuilder
Context&); | 82 void buildTreeNodesForChildren(const LayoutObject&, PaintPropertyTreeBuilder
Context&); |
83 | 83 |
84 private: | 84 private: |
85 static void updatePaintOffsetTranslation(const LayoutObject&, PaintPropertyT
reeBuilderContext&); | 85 static void updatePaintOffsetTranslation(const LayoutObject&, PaintPropertyT
reeBuilderContext&); |
86 static void updateTransform(const LayoutObject&, PaintPropertyTreeBuilderCon
text&); | 86 static void updateTransform(const LayoutObject&, PaintPropertyTreeBuilderCon
text&); |
87 static void updateEffect(const LayoutObject&, PaintPropertyTreeBuilderContex
t&); | 87 static void updateEffect(const LayoutObject&, PaintPropertyTreeBuilderContex
t&); |
88 static void updateCssClip(const LayoutObject&, PaintPropertyTreeBuilderConte
xt&); | 88 static void updateCssClip(const LayoutObject&, PaintPropertyTreeBuilderConte
xt&); |
89 static void updateLocalBorderBoxContext(const LayoutObject&, PaintPropertyTr
eeBuilderContext&); | 89 static void updateLocalBorderBoxContext(const LayoutObject&, PaintPropertyTr
eeBuilderContext&); |
90 static void updateScrollbarPaintOffset(const LayoutObject&, const PaintPrope
rtyTreeBuilderContext&); | 90 static void updateScrollbarPaintOffset(const LayoutObject&, const PaintPrope
rtyTreeBuilderContext&); |
| 91 static void updateMainThreadScrollingReasons(const LayoutObject&, PaintPrope
rtyTreeBuilderContext&); |
91 static void updateOverflowClip(const LayoutObject&, PaintPropertyTreeBuilder
Context&); | 92 static void updateOverflowClip(const LayoutObject&, PaintPropertyTreeBuilder
Context&); |
92 static void updatePerspective(const LayoutObject&, PaintPropertyTreeBuilderC
ontext&); | 93 static void updatePerspective(const LayoutObject&, PaintPropertyTreeBuilderC
ontext&); |
93 static void updateSvgLocalToBorderBoxTransform(const LayoutObject&, PaintPro
pertyTreeBuilderContext&); | 94 static void updateSvgLocalToBorderBoxTransform(const LayoutObject&, PaintPro
pertyTreeBuilderContext&); |
94 static void updateScrollAndScrollTranslation(const LayoutObject&, PaintPrope
rtyTreeBuilderContext&); | 95 static void updateScrollAndScrollTranslation(const LayoutObject&, PaintPrope
rtyTreeBuilderContext&); |
95 static void updateOutOfFlowContext(const LayoutObject&, PaintPropertyTreeBui
lderContext&); | 96 static void updateOutOfFlowContext(const LayoutObject&, PaintPropertyTreeBui
lderContext&); |
96 }; | 97 }; |
97 | 98 |
98 } // namespace blink | 99 } // namespace blink |
99 | 100 |
100 #endif // PaintPropertyTreeBuilder_h | 101 #endif // PaintPropertyTreeBuilder_h |
OLD | NEW |