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

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

Issue 1774193002: New paint invalidation using paint property tree walk (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 9 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
(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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698