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

Side by Side Diff: third_party/WebKit/Source/core/layout/PaintInvalidationState.h

Issue 2732573003: Skip paint property update and visual rect update if no geometry change (Closed)
Patch Set: - Created 3 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
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 PaintInvalidationState_h 5 #ifndef PaintInvalidationState_h
6 #define PaintInvalidationState_h 6 #define PaintInvalidationState_h
7 7
8 #include "core/CoreExport.h" 8 #include "core/CoreExport.h"
9 #include "core/paint/PaintInvalidator.h" 9 #include "core/paint/PaintInvalidator.h"
10 #include "platform/geometry/LayoutRect.h" 10 #include "platform/geometry/LayoutRect.h"
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
71 PaintInvalidatorContext::ForcedSubtreeInvalidationChecking; 71 PaintInvalidatorContext::ForcedSubtreeInvalidationChecking;
72 } 72 }
73 73
74 bool forcedSubtreeFullInvalidationWithinContainer() const { 74 bool forcedSubtreeFullInvalidationWithinContainer() const {
75 return m_forcedSubtreeInvalidationFlags & 75 return m_forcedSubtreeInvalidationFlags &
76 PaintInvalidatorContext::ForcedSubtreeFullInvalidation; 76 PaintInvalidatorContext::ForcedSubtreeFullInvalidation;
77 } 77 }
78 78
79 bool forcedSubtreeInvalidationRectUpdateWithinContainerOnly() const { 79 bool forcedSubtreeInvalidationRectUpdateWithinContainerOnly() const {
80 return m_forcedSubtreeInvalidationFlags == 80 return m_forcedSubtreeInvalidationFlags ==
81 PaintInvalidatorContext::ForcedSubtreeInvalidationRectUpdate; 81 PaintInvalidatorContext::ForcedSubtreeVisualRectUpdate;
82 } 82 }
83 void setForceSubtreeInvalidationRectUpdateWithinContainer() { 83 void setForceSubtreeInvalidationRectUpdateWithinContainer() {
84 m_forcedSubtreeInvalidationFlags |= 84 m_forcedSubtreeInvalidationFlags |=
85 PaintInvalidatorContext::ForcedSubtreeInvalidationRectUpdate; 85 PaintInvalidatorContext::ForcedSubtreeVisualRectUpdate;
86 } 86 }
87 87
88 const LayoutBoxModelObject& paintInvalidationContainer() const { 88 const LayoutBoxModelObject& paintInvalidationContainer() const {
89 return *m_paintInvalidationContainer; 89 return *m_paintInvalidationContainer;
90 } 90 }
91 91
92 // Computes the location of the current object ((0,0) in the space of the 92 // Computes the location of the current object ((0,0) in the space of the
93 // object) in the space of paint invalidation backing. 93 // object) in the space of paint invalidation backing.
94 LayoutPoint computeLocationInBacking( 94 LayoutPoint computeLocationInBacking(
95 const LayoutPoint& visualRectLocation) const; 95 const LayoutPoint& visualRectLocation) const;
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
194 void mapLocalRectToPaintInvalidationBacking(const LayoutObject&, 194 void mapLocalRectToPaintInvalidationBacking(const LayoutObject&,
195 LayoutRect&) const override; 195 LayoutRect&) const override;
196 196
197 private: 197 private:
198 const PaintInvalidationState& m_paintInvalidationState; 198 const PaintInvalidationState& m_paintInvalidationState;
199 }; 199 };
200 200
201 } // namespace blink 201 } // namespace blink
202 202
203 #endif // PaintInvalidationState_h 203 #endif // PaintInvalidationState_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698