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

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

Issue 2578393002: Update paint property subtrees on paint offset changes (Closed)
Patch Set: 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 99 // Update the context to account for positioning. No paint properties are
100 // current paint offset, for example, but no paint properties are updated. 100 // updated but this can affect the current paint offset which will force a
101 // subtree update.
101 void updateContextForBoxPosition(const LayoutObject&, 102 void updateContextForBoxPosition(const LayoutObject&,
102 PaintPropertyTreeBuilderContext&); 103 PaintPropertyTreeBuilderContext&);
103 104
104 // Update the paint properties that affect this object (e.g., properties like 105 // Update the paint properties that affect this object (e.g., properties like
105 // paint offset translation) and ensure the context is up to date. 106 // paint offset translation) and ensure the context is up to date.
106 void updatePropertiesForSelf(const LayoutObject&, 107 void updatePropertiesForSelf(const LayoutObject&,
107 PaintPropertyTreeBuilderContext&); 108 PaintPropertyTreeBuilderContext&);
108 // Update the paint properties that affect children of this object (e.g., 109 // Update the paint properties that affect children of this object (e.g.,
109 // scroll offset transform) and ensure the context is up to date. 110 // scroll offset transform) and ensure the context is up to date.
110 void updatePropertiesForChildren(const LayoutObject&, 111 void updatePropertiesForChildren(const LayoutObject&,
(...skipping 24 matching lines...) Expand all
135 static void updateScrollAndScrollTranslation( 136 static void updateScrollAndScrollTranslation(
136 const LayoutObject&, 137 const LayoutObject&,
137 PaintPropertyTreeBuilderContext&); 138 PaintPropertyTreeBuilderContext&);
138 static void updateOutOfFlowContext(const LayoutObject&, 139 static void updateOutOfFlowContext(const LayoutObject&,
139 PaintPropertyTreeBuilderContext&); 140 PaintPropertyTreeBuilderContext&);
140 }; 141 };
141 142
142 } // namespace blink 143 } // namespace blink
143 144
144 #endif // PaintPropertyTreeBuilder_h 145 #endif // PaintPropertyTreeBuilder_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698