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

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

Issue 2768453003: Put SVGResourceContainer subtypes into their own property trees. (Closed)
Patch Set: none Created 3 years, 8 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 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 PaintInvalidator_h 5 #ifndef PaintInvalidator_h
6 #define PaintInvalidator_h 6 #define PaintInvalidator_h
7 7
8 #include "platform/geometry/LayoutRect.h" 8 #include "platform/geometry/LayoutRect.h"
9 #include "platform/graphics/paint/GeometryMapper.h" 9 #include "platform/graphics/paint/GeometryMapper.h"
10 #include "wtf/Vector.h" 10 #include "wtf/Vector.h"
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
47 47
48 enum ForcedSubtreeInvalidationFlag { 48 enum ForcedSubtreeInvalidationFlag {
49 ForcedSubtreeInvalidationChecking = 1 << 0, 49 ForcedSubtreeInvalidationChecking = 1 << 0,
50 ForcedSubtreeInvalidationRectUpdate = 1 << 1, 50 ForcedSubtreeInvalidationRectUpdate = 1 << 1,
51 ForcedSubtreeFullInvalidation = 1 << 2, 51 ForcedSubtreeFullInvalidation = 1 << 2,
52 ForcedSubtreeFullInvalidationForStackedContents = 1 << 3, 52 ForcedSubtreeFullInvalidationForStackedContents = 1 << 3,
53 ForcedSubtreeSVGResourceChange = 1 << 4, 53 ForcedSubtreeSVGResourceChange = 1 << 4,
54 // TODO(crbug.com/637313): This is temporary before we support filters in 54 // TODO(crbug.com/637313): This is temporary before we support filters in
55 // paint property tree. 55 // paint property tree.
56 ForcedSubtreeSlowPathRect = 1 << 5, 56 ForcedSubtreeSlowPathRect = 1 << 5,
57
58 // The paint invalidation tree walk invalidates paint caches, such as
59 // DisplayItemClients and subsequence caches, and also the regions
60 // into which objects raster pixels. When this flag is set, raster region
61 // invalidations are not issued.
62 //
63 // Context: some objects in this paint walk, for example SVG resource
64 // container subtress, don't actually have any raster regions, because they
65 // are used as "painting subroutines" for one or more other locations in
66 // SVG.
67 ForcedSubtreeNoRasterInvalidation = 1 << 6,
57 }; 68 };
58 unsigned forcedSubtreeInvalidationFlags = 0; 69 unsigned forcedSubtreeInvalidationFlags = 0;
59 70
60 // The following fields can be null only before 71 // The following fields can be null only before
61 // PaintInvalidator::updateContext(). 72 // PaintInvalidator::updateContext().
62 73
63 // The current paint invalidation container for normal flow objects. 74 // The current paint invalidation container for normal flow objects.
64 // It is the enclosing composited object. 75 // It is the enclosing composited object.
65 const LayoutBoxModelObject* paintInvalidationContainer = nullptr; 76 const LayoutBoxModelObject* paintInvalidationContainer = nullptr;
66 77
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
122 PaintInvalidatorContext&); 133 PaintInvalidatorContext&);
123 ALWAYS_INLINE void updateVisualRect(const LayoutObject&, 134 ALWAYS_INLINE void updateVisualRect(const LayoutObject&,
124 PaintInvalidatorContext&); 135 PaintInvalidatorContext&);
125 136
126 Vector<const LayoutObject*> m_pendingDelayedPaintInvalidations; 137 Vector<const LayoutObject*> m_pendingDelayedPaintInvalidations;
127 }; 138 };
128 139
129 } // namespace blink 140 } // namespace blink
130 141
131 #endif // PaintInvalidator_h 142 #endif // PaintInvalidator_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698