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

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

Issue 2529293012: Invalidate paint properties on paint offset changes (Closed)
Patch Set: Fix transform underinvalidation, skip several spinvalidation skips Created 4 years 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
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 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
89 // animation, mask, filter, ... etc. 89 // animation, mask, filter, ... etc.
90 // It expects to be invoked for each layout tree node in DOM order during 90 // It expects to be invoked for each layout tree node in DOM order during
91 // InPrePaint phase. 91 // InPrePaint phase.
92 class PaintPropertyTreeBuilder { 92 class PaintPropertyTreeBuilder {
93 public: 93 public:
94 PaintPropertyTreeBuilderContext setupInitialContext(); 94 PaintPropertyTreeBuilderContext setupInitialContext();
95 // Update the paint properties for a frame and ensure the context is up to 95 // Update the paint properties for a frame and ensure the context is up to
96 // date. 96 // date.
97 void updateProperties(FrameView&, PaintPropertyTreeBuilderContext&); 97 void updateProperties(FrameView&, PaintPropertyTreeBuilderContext&);
98 98
99 // Update the context to account for positioning. This can affect the
100 // current paint offset, for example, but no paint properties are updated.
101 void updateContextForBoxPosition(const LayoutObject&,
102 PaintPropertyTreeBuilderContext&);
103
99 // Update the paint properties that affect this object (e.g., properties like 104 // Update the paint properties that affect this object (e.g., properties like
100 // paint offset translation) and ensure the context is up to date. 105 // paint offset translation) and ensure the context is up to date.
101 void updatePropertiesForSelf(const LayoutObject&, 106 void updatePropertiesForSelf(const LayoutObject&,
102 PaintPropertyTreeBuilderContext&); 107 PaintPropertyTreeBuilderContext&);
103 // Update the paint properties that affect children of this object (e.g., 108 // Update the paint properties that affect children of this object (e.g.,
104 // scroll offset transform) and ensure the context is up to date. 109 // scroll offset transform) and ensure the context is up to date.
105 void updatePropertiesForChildren(const LayoutObject&, 110 void updatePropertiesForChildren(const LayoutObject&,
106 PaintPropertyTreeBuilderContext&); 111 PaintPropertyTreeBuilderContext&);
107 112
108 private: 113 private:
(...skipping 21 matching lines...) Expand all
130 static void updateScrollAndScrollTranslation( 135 static void updateScrollAndScrollTranslation(
131 const LayoutObject&, 136 const LayoutObject&,
132 PaintPropertyTreeBuilderContext&); 137 PaintPropertyTreeBuilderContext&);
133 static void updateOutOfFlowContext(const LayoutObject&, 138 static void updateOutOfFlowContext(const LayoutObject&,
134 PaintPropertyTreeBuilderContext&); 139 PaintPropertyTreeBuilderContext&);
135 }; 140 };
136 141
137 } // namespace blink 142 } // namespace blink
138 143
139 #endif // PaintPropertyTreeBuilder_h 144 #endif // PaintPropertyTreeBuilder_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698