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

Side by Side Diff: Source/core/dom/StyleChangeReason.h

Issue 547823002: Track reasons for |Node::SetNeedsStyleRecalc| (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: use AtomicString Created 6 years, 2 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
(Empty)
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
3 // found in the LICENSE file.
4
5 #ifndef StyleChangeReason_h
6 #define StyleChangeReason_h
7
8 #include "core/dom/QualifiedName.h"
9 #include "wtf/NullPtr.h"
10 #include "wtf/PassRefPtr.h"
11 #include "wtf/text/AtomicString.h"
12 #include "wtf/text/WTFString.h"
13
14 namespace blink {
15
16 class QualifiedName;
17 namespace TraceEvent {
18 class ConvertableToTraceFormat;
19 }
20
21 namespace StyleChangeReason {
22 extern const char ActiveStylesheetsUpdate[];
23 extern const char Animation[];
24 extern const char Attribute[];
25 extern const char ControlValue[];
26 extern const char Control[];
27 extern const char DesignMode[];
28 extern const char Drag[];
29 extern const char FontSizeChange[];
30 extern const char Fonts[];
31 extern const char FullScreen[];
32 extern const char Inline[];
33 extern const char Inspector[];
34 extern const char Language[];
35 extern const char LinkColorChange[];
36 extern const char PlatformColorChange[];
37 extern const char Plugin[];
38 extern const char PropagateInheritChangeToDistributedNodes[];
39 extern const char PseudoClass[];
40 extern const char SVGContainerSizeChange[];
41 extern const char SVGCursor[];
42 extern const char SVGFilterLayerUpdate[];
43 extern const char Shadow[];
44 extern const char SiblingSelector[];
45 extern const char StyleInvalidator[];
46 extern const char StyleSheetChange[];
47 extern const char Validate[];
48 extern const char ViewportUnits[];
49 extern const char VisitedLink[];
50 extern const char VisuallyOrdered[];
51 extern const char WritingModeChange[];
52 extern const char Zoom[];
53 }
54 typedef const char StyleChangeReasonString[];
55
56 namespace StyleChangeExtraData {
57 extern const AtomicString& Active;
58 extern const AtomicString& Disabled;
59 extern const AtomicString& Focus;
60 extern const AtomicString& Hover;
61 extern const AtomicString& Invalid;
62 extern const AtomicString& Unresolved;
63
64 void init();
65 }
66
67 // |StyleChangeReasonForTracing| is used to trace the reason a
68 // |Node::setNeedsStyleRecalc| call was made to show it in DevTools or in
69 // about:tracing.
70 // |StyleChangeReasonForTracing| is strictly only for the tracing purpose as
71 // described above. Blink logic must not depend on this value.
72 class StyleChangeReasonForTracing {
73 public:
74 static StyleChangeReasonForTracing create(StyleChangeReasonString reasonStri ng)
75 {
76 return StyleChangeReasonForTracing(reasonString, nullAtom);
77 }
78
79 static StyleChangeReasonForTracing createWithExtraData(StyleChangeReasonStri ng reasonString, const AtomicString& extraData)
80 {
81 return StyleChangeReasonForTracing(reasonString, extraData);
82 }
83
84 static StyleChangeReasonForTracing fromAttribute(const QualifiedName& attrib uteName)
85 {
86 return StyleChangeReasonForTracing(StyleChangeReason::Attribute, attribu teName.localName());
87 }
88
89 String reasonString() const { return String(m_reason); }
90 const AtomicString& extraData() const { return m_extraData; }
91
92 private:
93 StyleChangeReasonForTracing(StyleChangeReasonString reasonString, const Atom icString& extraData)
94 : m_reason(reasonString)
95 , m_extraData(extraData)
96 {
97 }
98
99 // disable comparisons
100 void operator==(const StyleChangeReasonForTracing&) const { }
101 void operator!=(const StyleChangeReasonForTracing&) const { }
102
103 const char* m_reason;
104 AtomicString m_extraData;
105 };
106
107 } // namespace blink
108
109 #endif // StyleChangeReason_h
OLDNEW
« no previous file with comments | « Source/core/dom/ShadowTreeStyleSheetCollection.cpp ('k') | Source/core/dom/StyleChangeReason.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698