summaryrefslogtreecommitdiff
path: root/chromium/third_party/blink/renderer/platform/graphics/paint_invalidation_reason.cc
blob: dd4b0765fa714c66e8e1c032d5b0ff54a34d7e13 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "third_party/blink/renderer/platform/graphics/paint_invalidation_reason.h"

#include "base/notreached.h"
#include "third_party/blink/renderer/platform/wtf/assertions.h"

namespace blink {

const char* PaintInvalidationReasonToString(PaintInvalidationReason reason) {
  switch (reason) {
    case PaintInvalidationReason::kNone:
      return "none";
    case PaintInvalidationReason::kIncremental:
      return "incremental";
    case PaintInvalidationReason::kRectangle:
      return "invalidate paint rectangle";
    case PaintInvalidationReason::kHitTest:
      return "hit testing change";
    case PaintInvalidationReason::kFull:
      return "full";
    case PaintInvalidationReason::kStyle:
      return "style change";
    case PaintInvalidationReason::kBackplate:
      return "backplate";
    case PaintInvalidationReason::kGeometry:
      return "geometry";
    case PaintInvalidationReason::kCompositing:
      return "compositing update";
    case PaintInvalidationReason::kBackground:
      return "background";
    case PaintInvalidationReason::kAppeared:
      return "appeared";
    case PaintInvalidationReason::kDisappeared:
      return "disappeared";
    case PaintInvalidationReason::kScroll:
      return "scroll";
    case PaintInvalidationReason::kScrollControl:
      return "scroll control";
    case PaintInvalidationReason::kSelection:
      return "selection";
    case PaintInvalidationReason::kOutline:
      return "outline";
    case PaintInvalidationReason::kSubtree:
      return "subtree";
    case PaintInvalidationReason::kSVGResource:
      return "SVG resource change";
    case PaintInvalidationReason::kCaret:
      return "caret";
    case PaintInvalidationReason::kDocumentMarker:
      return "DocumentMarker change";
    case PaintInvalidationReason::kImage:
      return "image";
    case PaintInvalidationReason::kUncacheable:
      return "uncacheable";
    case PaintInvalidationReason::kJustCreated:
      return "just created";
    case PaintInvalidationReason::kReordered:
      return "reordered";
    case PaintInvalidationReason::kChunkAppeared:
      return "chunk appeared";
    case PaintInvalidationReason::kChunkDisappeared:
      return "chunk disappeared";
    case PaintInvalidationReason::kChunkUncacheable:
      return "chunk uncacheable";
    case PaintInvalidationReason::kChunkReordered:
      return "chunk reordered";
    case PaintInvalidationReason::kPaintProperty:
      return "paint property change";
    case PaintInvalidationReason::kFullLayer:
      return "full layer";
    case PaintInvalidationReason::kForTesting:
      return "for testing";
  }
  NOTREACHED();
  return "";
}

std::ostream& operator<<(std::ostream& out, PaintInvalidationReason reason) {
  return out << PaintInvalidationReasonToString(reason);
}

}  // namespace blink