Chromium Code Reviews| 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 "wtf/Vector.h" | |
| 9 | |
| 8 namespace blink { | 10 namespace blink { |
| 9 | 11 |
| 10 class FrameView; | 12 class FrameView; |
| 11 class LayoutObject; | 13 class LayoutObject; |
| 14 class PaintInvalidationState; | |
| 12 struct PaintPropertyTreeBuilderContext; | 15 struct PaintPropertyTreeBuilderContext; |
| 13 | 16 |
| 14 // This class walks the whole layout tree, beginning from the root FrameView, ac ross | 17 // This class walks the whole layout tree, beginning from the root FrameView, ac ross |
| 15 // frame boundaries. The walk will collect special things in the layout tree and create | 18 // frame boundaries. The walk will collect special things in the layout tree and create |
| 16 // paint property nodes for them. Special things include but not limit to: overf low clip, | 19 // paint property nodes for them. Special things include but not limit to: overf low clip, |
| 17 // transform, fixed-pos, animation, mask, filter, ... etc. | 20 // transform, fixed-pos, animation, mask, filter, ... etc. |
| 18 // It expects to be invoked after layout clean, i.e. during InPaintPropertyUpdat e phase. | 21 // It expects to be invoked after layout clean, i.e. during InPaintPropertyUpdat e phase. |
| 19 class PaintPropertyTreeBuilder { | 22 class PaintPropertyTreeBuilder { |
| 20 public: | 23 public: |
| 21 void buildPropertyTrees(FrameView& rootFrame); | 24 void buildPropertyTrees(FrameView& rootFrame); |
| 22 | 25 |
| 26 const Vector<LayoutObject*>& pendingDelayedPaintInvalidations() const { retu rn m_pendingDelayedPaintInvalidations; } | |
|
pdr.
2016/03/11 02:56:41
Does this need to be public or can it be done as t
Xianzhu
2016/03/11 20:03:45
We need to handle the delayed invalidations after
| |
| 27 | |
| 23 private: | 28 private: |
|
pdr.
2016/03/11 02:56:41
This class will form the basis of all our paint wo
Xianzhu
2016/03/11 20:03:45
PrePaintTreeWalk sgtm. chrishtr wdyt?
chrishtr
2016/03/11 21:30:00
SGTM
| |
| 24 void walk(FrameView&, const PaintPropertyTreeBuilderContext&); | 29 void walk(FrameView&, const PaintPropertyTreeBuilderContext&, const PaintInv alidationState*); |
| 25 void walk(LayoutObject&, const PaintPropertyTreeBuilderContext&); | 30 void walk(const LayoutObject&, const PaintPropertyTreeBuilderContext&, const PaintInvalidationState*); |
| 31 | |
| 32 Vector<LayoutObject*> m_pendingDelayedPaintInvalidations; | |
|
pdr.
2016/03/11 02:56:41
Can you add a comment above this? Something like s
Xianzhu
2016/03/11 20:03:45
Done.
| |
| 26 }; | 33 }; |
| 27 | 34 |
| 28 } // namespace blink | 35 } // namespace blink |
| 29 | 36 |
| 30 #endif // PaintPropertyTreeBuilder_h | 37 #endif // PaintPropertyTreeBuilder_h |
| OLD | NEW |