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

Unified 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, 3 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « Source/core/dom/ShadowTreeStyleSheetCollection.cpp ('k') | Source/core/dom/StyleChangeReason.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/core/dom/StyleChangeReason.h
diff --git a/Source/core/dom/StyleChangeReason.h b/Source/core/dom/StyleChangeReason.h
new file mode 100644
index 0000000000000000000000000000000000000000..c6ebde952e2dd3ac816374ad5ccf152d02fef9c1
--- /dev/null
+++ b/Source/core/dom/StyleChangeReason.h
@@ -0,0 +1,109 @@
+// 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.
+
+#ifndef StyleChangeReason_h
+#define StyleChangeReason_h
+
+#include "core/dom/QualifiedName.h"
+#include "wtf/NullPtr.h"
+#include "wtf/PassRefPtr.h"
+#include "wtf/text/AtomicString.h"
+#include "wtf/text/WTFString.h"
+
+namespace blink {
+
+class QualifiedName;
+namespace TraceEvent {
+class ConvertableToTraceFormat;
+}
+
+namespace StyleChangeReason {
+extern const char ActiveStylesheetsUpdate[];
+extern const char Animation[];
+extern const char Attribute[];
+extern const char ControlValue[];
+extern const char Control[];
+extern const char DesignMode[];
+extern const char Drag[];
+extern const char FontSizeChange[];
+extern const char Fonts[];
+extern const char FullScreen[];
+extern const char Inline[];
+extern const char Inspector[];
+extern const char Language[];
+extern const char LinkColorChange[];
+extern const char PlatformColorChange[];
+extern const char Plugin[];
+extern const char PropagateInheritChangeToDistributedNodes[];
+extern const char PseudoClass[];
+extern const char SVGContainerSizeChange[];
+extern const char SVGCursor[];
+extern const char SVGFilterLayerUpdate[];
+extern const char Shadow[];
+extern const char SiblingSelector[];
+extern const char StyleInvalidator[];
+extern const char StyleSheetChange[];
+extern const char Validate[];
+extern const char ViewportUnits[];
+extern const char VisitedLink[];
+extern const char VisuallyOrdered[];
+extern const char WritingModeChange[];
+extern const char Zoom[];
+}
+typedef const char StyleChangeReasonString[];
+
+namespace StyleChangeExtraData {
+extern const AtomicString& Active;
+extern const AtomicString& Disabled;
+extern const AtomicString& Focus;
+extern const AtomicString& Hover;
+extern const AtomicString& Invalid;
+extern const AtomicString& Unresolved;
+
+void init();
+}
+
+// |StyleChangeReasonForTracing| is used to trace the reason a
+// |Node::setNeedsStyleRecalc| call was made to show it in DevTools or in
+// about:tracing.
+// |StyleChangeReasonForTracing| is strictly only for the tracing purpose as
+// described above. Blink logic must not depend on this value.
+class StyleChangeReasonForTracing {
+public:
+ static StyleChangeReasonForTracing create(StyleChangeReasonString reasonString)
+ {
+ return StyleChangeReasonForTracing(reasonString, nullAtom);
+ }
+
+ static StyleChangeReasonForTracing createWithExtraData(StyleChangeReasonString reasonString, const AtomicString& extraData)
+ {
+ return StyleChangeReasonForTracing(reasonString, extraData);
+ }
+
+ static StyleChangeReasonForTracing fromAttribute(const QualifiedName& attributeName)
+ {
+ return StyleChangeReasonForTracing(StyleChangeReason::Attribute, attributeName.localName());
+ }
+
+ String reasonString() const { return String(m_reason); }
+ const AtomicString& extraData() const { return m_extraData; }
+
+private:
+ StyleChangeReasonForTracing(StyleChangeReasonString reasonString, const AtomicString& extraData)
+ : m_reason(reasonString)
+ , m_extraData(extraData)
+ {
+ }
+
+ // disable comparisons
+ void operator==(const StyleChangeReasonForTracing&) const { }
+ void operator!=(const StyleChangeReasonForTracing&) const { }
+
+ const char* m_reason;
+ AtomicString m_extraData;
+};
+
+} // namespace blink
+
+#endif // StyleChangeReason_h
« 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