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

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

Issue 2888253002: Skip both paint and raster invalidation for LayoutSVGHiddenContainer subtree (Closed)
Patch Set: Rebaseline-cl Created 3 years, 7 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 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
58 // of the subtrees, this method must be called to apply clip and scroll offset 58 // of the subtrees, this method must be called to apply clip and scroll offset
59 // etc. for creating child PaintInvalidationStates. 59 // etc. for creating child PaintInvalidationStates.
60 void UpdateForChildren(PaintInvalidationReason); 60 void UpdateForChildren(PaintInvalidationReason);
61 61
62 bool HasForcedSubtreeInvalidationFlags() const { 62 bool HasForcedSubtreeInvalidationFlags() const {
63 return forced_subtree_invalidation_flags_; 63 return forced_subtree_invalidation_flags_;
64 } 64 }
65 65
66 bool ForcedSubtreeInvalidationCheckingWithinContainer() const { 66 bool ForcedSubtreeInvalidationCheckingWithinContainer() const {
67 return forced_subtree_invalidation_flags_ & 67 return forced_subtree_invalidation_flags_ &
68 PaintInvalidatorContext::kForcedSubtreeInvalidationChecking; 68 PaintInvalidatorContext::kSubtreeInvalidationChecking;
69 } 69 }
70 void SetForceSubtreeInvalidationCheckingWithinContainer() { 70 void SetForceSubtreeInvalidationCheckingWithinContainer() {
71 forced_subtree_invalidation_flags_ |= 71 forced_subtree_invalidation_flags_ |=
72 PaintInvalidatorContext::kForcedSubtreeInvalidationChecking; 72 PaintInvalidatorContext::kSubtreeInvalidationChecking;
73 } 73 }
74 74
75 bool ForcedSubtreeFullInvalidationWithinContainer() const { 75 bool ForcedSubtreeFullInvalidationWithinContainer() const {
76 return forced_subtree_invalidation_flags_ & 76 return forced_subtree_invalidation_flags_ &
77 PaintInvalidatorContext::kForcedSubtreeFullInvalidation; 77 PaintInvalidatorContext::kSubtreeFullInvalidation;
78 } 78 }
79 79
80 bool ForcedSubtreeInvalidationRectUpdateWithinContainerOnly() const { 80 bool ForcedSubtreeInvalidationRectUpdateWithinContainerOnly() const {
81 return forced_subtree_invalidation_flags_ == 81 return forced_subtree_invalidation_flags_ ==
82 PaintInvalidatorContext::kForcedSubtreeVisualRectUpdate; 82 PaintInvalidatorContext::kSubtreeVisualRectUpdate;
83 } 83 }
84 void SetForceSubtreeInvalidationRectUpdateWithinContainer() { 84 void SetForceSubtreeInvalidationRectUpdateWithinContainer() {
85 forced_subtree_invalidation_flags_ |= 85 forced_subtree_invalidation_flags_ |=
86 PaintInvalidatorContext::kForcedSubtreeVisualRectUpdate; 86 PaintInvalidatorContext::kSubtreeVisualRectUpdate;
87 } 87 }
88 88
89 const LayoutBoxModelObject& PaintInvalidationContainer() const { 89 const LayoutBoxModelObject& PaintInvalidationContainer() const {
90 return *paint_invalidation_container_; 90 return *paint_invalidation_container_;
91 } 91 }
92 92
93 // Computes the location of the current object ((0,0) in the space of the 93 // Computes the location of the current object ((0,0) in the space of the
94 // object) in the space of paint invalidation backing. 94 // object) in the space of paint invalidation backing.
95 LayoutPoint ComputeLocationInBacking( 95 LayoutPoint ComputeLocationInBacking(
96 const LayoutPoint& visual_rect_location) const; 96 const LayoutPoint& visual_rect_location) const;
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
185 void MapLocalRectToVisualRectInBacking(const LayoutObject&, 185 void MapLocalRectToVisualRectInBacking(const LayoutObject&,
186 LayoutRect&) const override; 186 LayoutRect&) const override;
187 187
188 private: 188 private:
189 const PaintInvalidationState& paint_invalidation_state_; 189 const PaintInvalidationState& paint_invalidation_state_;
190 }; 190 };
191 191
192 } // namespace blink 192 } // namespace blink
193 193
194 #endif // PaintInvalidationState_h 194 #endif // PaintInvalidationState_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698