| OLD | NEW |
| (Empty) | |
| 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 |
| 3 // found in the LICENSE file. |
| 4 |
| 5 #ifndef PrePaintTreeWalk_h |
| 6 #define PrePaintTreeWalk_h |
| 7 |
| 8 #include "wtf/Vector.h" |
| 9 |
| 10 namespace blink { |
| 11 |
| 12 class FrameView; |
| 13 class LayoutObject; |
| 14 class PaintInvalidationState; |
| 15 struct PrePaintTreeWalkContext; |
| 16 |
| 17 // This class walks layout and frame trees in primary tree order (think DOM orde
r), |
| 18 // beginning from the root FrameView and acrossing frame boundaries. The walk is |
| 19 // used to create paint property tree nodes for layout & frame properties such a
s |
| 20 // clips and transforms. It should be invoked after layout, during |
| 21 // InPrePaintTreeWalk document lifecycle state. |
| 22 // |
| 23 // If RuntimeEnabledFeatures::slimmingPaintInvalidationEnabled, we also invalida
te |
| 24 // paint along the way. |
| 25 class PrePaintTreeWalk { |
| 26 public: |
| 27 void buildPropertyTreesAndInvalidatePaint(FrameView& rootFrame); |
| 28 |
| 29 // Objects requiring invalidation after the phase of paint invalidation. |
| 30 // See the definition of PaintInvalidationDelayedFull (PaintInvalidationReas
on.h) for more detail. |
| 31 const Vector<LayoutObject*>& pendingDelayedPaintInvalidations() const { retu
rn m_pendingDelayedPaintInvalidations; } |
| 32 |
| 33 private: |
| 34 void walk(FrameView&, const PrePaintTreeWalkContext&, const PaintInvalidatio
nState*); |
| 35 void walk(const LayoutObject&, const PrePaintTreeWalkContext&, const PaintIn
validationState*); |
| 36 |
| 37 Vector<LayoutObject*> m_pendingDelayedPaintInvalidations; |
| 38 }; |
| 39 |
| 40 } // namespace blink |
| 41 |
| 42 #endif // PrePaintTreeWalk_h |
| OLD | NEW |