1 // Copyright 2018 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #ifndef THIRD_PARTY_BLINK_RENDERER_PLATFORM_GRAPHICS_SUBTREE_PAINT_PROPERTY_UPDATE_REASON_H_
6 #define THIRD_PARTY_BLINK_RENDERER_PLATFORM_GRAPHICS_SUBTREE_PAINT_PROPERTY_UPDATE_REASON_H_
7 
8 #include "third_party/blink/renderer/platform/platform_export.h"
9 #include "third_party/blink/renderer/platform/wtf/text/wtf_string.h"
10 
11 namespace blink {
12 
13 enum class SubtreePaintPropertyUpdateReason : unsigned {
14   kNone = 0,
15   kContainerChainMayChange = 1 << 0,
16   kFragmentsChanged = 1 << 1,
17   kPreviouslySkipped = 1 << 2,
18   kPrinting = 1 << 3,
19   kTransformStyleChanged = 1 << 4
20 };
21 enum { kSubtreePaintPropertyUpdateReasonsBitfieldWidth = 5 };
22 
23 PLATFORM_EXPORT String
24 SubtreePaintPropertyUpdateReasonsToString(unsigned bitmask);
25 
26 }  // namespace blink
27 
28 #endif  // THIRD_PARTY_BLINK_RENDERER_PLATFORM_GRAPHICS_SUBTREE_PAINT_PROPERTY_UPDATE_REASON_H_
29