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

Side by Side Diff: third_party/WebKit/Source/platform/graphics/PaintInvalidationReason.h

Issue 2872423002: Tweak PaintInvalidationReasons (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 PaintInvalidationReason_h 5 #ifndef PaintInvalidationReason_h
6 #define PaintInvalidationReason_h 6 #define PaintInvalidationReason_h
7 7
8 #include <iosfwd> 8 #include <iosfwd>
9 #include "platform/PlatformExport.h" 9 #include "platform/PlatformExport.h"
10 10
11 namespace blink { 11 namespace blink {
12 12
13 enum PaintInvalidationReason { 13 enum class PaintInvalidationReason : unsigned {
14 kPaintInvalidationNone, 14 kNone,
15 kPaintInvalidationIncremental, 15 kIncremental,
16 kPaintInvalidationRectangle, 16 kRectangle,
17 // The following reasons will all cause full invalidation of the LayoutObject. 17 // The following reasons will all cause full paint invalidation.
18 kPaintInvalidationFull, // Any unspecified reason of full invalidation. 18 kFull, // Any unspecified reason of full invalidation.
19 kPaintInvalidationStyleChange, 19 kStyle,
20 kPaintInvalidationForcedByLayout, 20 kGeometry, // Layout or visual geometry change.
21 kPaintInvalidationCompositingUpdate, 21 kCompositing,
22 kPaintInvalidationBorderBoxChange, 22 kAppeared,
23 kPaintInvalidationContentBoxChange, 23 kDisappeared,
24 kPaintInvalidationLayoutOverflowBoxChange, 24 kScroll,
25 kPaintInvalidationBoundsChange, 25 kScrollControl, // scroll bars, scroll corner, etc.
26 kPaintInvalidationLocationChange, 26 kSelection,
27 kPaintInvalidationBackgroundObscurationChange, 27 kOutline,
28 kPaintInvalidationBecameVisible, 28 kSubtree,
29 kPaintInvalidationBecameInvisible, 29 kSVGResource,
30 kPaintInvalidationScroll, 30 kBackground,
31 kPaintInvalidationSelection, 31 kBackgroundOnScrollingContentsLayer,
32 kPaintInvalidationOutline, 32 kCaret,
33 kPaintInvalidationSubtree, 33 kDocumentMarker,
34 kPaintInvalidationLayoutObjectInsertion, 34 kImage,
35 kPaintInvalidationLayoutObjectRemoval, 35 kForTesting,
36 kPaintInvalidationSVGResourceChange, 36 // kDelayedFull means that kFull is needed in order to fully paint the
37 kPaintInvalidationBackgroundOnScrollingContentsLayer, 37 // content, but that painting of the object can be delayed until a future
38 kPaintInvalidationCaret, 38 // frame. This can be the case for an object whose content is not visible to
39 kPaintInvalidationViewBackground, 39 // the user.
40 kPaintInvalidationDocumentMarkerChange, 40 kDelayedFull,
41 kPaintInvalidationForTesting,
42 // PaintInvalidationDelayedFull means that PaintInvalidationFull is needed in
43 // order to fully paint the content, but that painting of the object can be
44 // delayed until a future frame. This can be the case for an object whose
45 // content is not visible to the user.
46 kPaintInvalidationDelayedFull,
47 41
48 kPaintInvalidationReasonMax = kPaintInvalidationDelayedFull 42 kMax = kDelayedFull
49 }; 43 };
50 44
51 PLATFORM_EXPORT const char* PaintInvalidationReasonToString( 45 PLATFORM_EXPORT const char* PaintInvalidationReasonToString(
52 PaintInvalidationReason); 46 PaintInvalidationReason);
53 47
54 inline bool IsFullPaintInvalidationReason(PaintInvalidationReason reason) { 48 inline bool IsFullPaintInvalidationReason(PaintInvalidationReason reason) {
55 return reason >= kPaintInvalidationFull; 49 return reason >= PaintInvalidationReason::kFull;
56 } 50 }
57 51
58 inline bool IsImmediateFullPaintInvalidationReason( 52 inline bool IsImmediateFullPaintInvalidationReason(
59 PaintInvalidationReason reason) { 53 PaintInvalidationReason reason) {
60 return IsFullPaintInvalidationReason(reason) && 54 return IsFullPaintInvalidationReason(reason) &&
61 reason != kPaintInvalidationDelayedFull; 55 reason != PaintInvalidationReason::kDelayedFull;
62 } 56 }
63 57
64 PLATFORM_EXPORT std::ostream& operator<<(std::ostream&, 58 PLATFORM_EXPORT std::ostream& operator<<(std::ostream&,
65 PaintInvalidationReason); 59 PaintInvalidationReason);
66 60
67 } // namespace blink 61 } // namespace blink
68 62
69 #endif // PaintInvalidationReason_h 63 #endif // PaintInvalidationReason_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698