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 669ff3e3883d5f678985dcd83cb5e204069b8b0d..c55aeb1641b0f9f06de2daca0f86c810398088d2 100644 |
--- a/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.h |
+++ b/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.h |
@@ -22,6 +22,9 @@ class LayoutObject; |
// It's responsible for bookkeeping tree state in other order, for example, the |
// most recent position container seen. |
struct PaintPropertyTreeBuilderContext { |
+ USING_FAST_MALLOC(PaintPropertyTreeBuilderContext); |
+ |
+ public: |
// State that propagates on the containing block chain (and so is adjusted |
// when an absolute or fixed position object is encountered). |
struct ContainingBlockContext { |
@@ -62,7 +65,7 @@ struct PaintPropertyTreeBuilderContext { |
// are also inherited by containing block tree instead of DOM tree, thus they |
// are included in the additional context too. |
ContainingBlockContext absolutePosition; |
- const LayoutObject* containerForAbsolutePosition = nullptr; |
+ const LayoutObject* containerForAbsolutePosition; |
Xianzhu
2017/03/20 16:20:24
Why change these?
pdr.
2017/03/20 16:35:32
These seem to be required for fast malloc. A few o
|
ContainingBlockContext fixedPosition; |
@@ -75,17 +78,23 @@ struct PaintPropertyTreeBuilderContext { |
// 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; |
+ const EffectPaintPropertyNode* currentEffect; |
// Some effects are spatial, i.e. may refer to input pixels outside of output |
// clip. The cull rect for its input shall be derived from its output clip. |
// This variable represents the input cull of current effect, also serves as |
// output clip of child effects that don't have a hard clip. |
- const ClipPaintPropertyNode* inputClipOfCurrentEffect = nullptr; |
+ const ClipPaintPropertyNode* inputClipOfCurrentEffect; |
// True if a change has forced all properties in a subtree to be updated. This |
// can be set due to paint offset changes or when the structure of the |
// property tree changes (i.e., a node is added or removed). |
- bool forceSubtreeUpdate = false; |
+ bool forceSubtreeUpdate; |
+ |
+ PaintPropertyTreeBuilderContext() |
+ : containerForAbsolutePosition(nullptr), |
+ currentEffect(nullptr), |
+ inputClipOfCurrentEffect(nullptr), |
+ forceSubtreeUpdate(false) {} |
}; |
// Creates paint property tree nodes for special things in the layout tree. |