OLD | NEW |
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 InspectorTraceEvents_h | 5 #ifndef InspectorTraceEvents_h |
6 #define InspectorTraceEvents_h | 6 #define InspectorTraceEvents_h |
7 | 7 |
8 #include "core/CoreExport.h" | 8 #include "core/CoreExport.h" |
9 #include "core/css/CSSSelector.h" | 9 #include "core/css/CSSSelector.h" |
10 #include "platform/EventTracer.h" | 10 #include "platform/EventTracer.h" |
11 #include "platform/TraceEvent.h" | 11 #include "platform/TraceEvent.h" |
12 #include "platform/heap/Handle.h" | 12 #include "platform/heap/Handle.h" |
13 #include "wtf/Forward.h" | 13 #include "wtf/Forward.h" |
14 #include "wtf/Functional.h" | 14 #include "wtf/Functional.h" |
15 | 15 |
16 namespace blink { | 16 namespace blink { |
17 class Animation; | 17 class Animation; |
18 class CSSStyleSheetResource; | 18 class CSSStyleSheetResource; |
19 class DescendantInvalidationSet; | 19 class InvalidationSet; |
20 class Document; | 20 class Document; |
21 class Element; | 21 class Element; |
22 class Event; | 22 class Event; |
23 class ExecutionContext; | 23 class ExecutionContext; |
24 class FrameView; | 24 class FrameView; |
25 class GraphicsLayer; | 25 class GraphicsLayer; |
26 class HitTestLocation; | 26 class HitTestLocation; |
27 class HitTestRequest; | 27 class HitTestRequest; |
28 class HitTestResult; | 28 class HitTestResult; |
29 class ImageResource; | 29 class ImageResource; |
30 class KURL; | 30 class KURL; |
31 class DeprecatedPaintLayer; | 31 class DeprecatedPaintLayer; |
32 class LayoutRect; | 32 class LayoutRect; |
33 class LocalFrame; | 33 class LocalFrame; |
34 class Node; | 34 class Node; |
35 class QualifiedName; | 35 class QualifiedName; |
36 class Page; | 36 class Page; |
37 class LayoutImage; | 37 class LayoutImage; |
38 class LayoutObject; | 38 class LayoutObject; |
39 class ResourceRequest; | 39 class ResourceRequest; |
40 class ResourceResponse; | 40 class ResourceResponse; |
41 class StyleChangeReasonForTracing; | 41 class StyleChangeReasonForTracing; |
42 class StyleImage; | 42 class StyleImage; |
43 class TracedValue; | 43 class TracedValue; |
44 class WorkerThread; | 44 class WorkerThread; |
45 class XMLHttpRequest; | 45 class XMLHttpRequest; |
46 | 46 |
| 47 using InvalidationSetVector = WillBeHeapVector<RefPtrWillBeMember<InvalidationSe
t>, 8>; |
| 48 |
47 class InspectorLayoutEvent { | 49 class InspectorLayoutEvent { |
48 STATIC_ONLY(InspectorLayoutEvent); | 50 STATIC_ONLY(InspectorLayoutEvent); |
49 public: | 51 public: |
50 static PassRefPtr<TraceEvent::ConvertableToTraceFormat> beginData(FrameView*
); | 52 static PassRefPtr<TraceEvent::ConvertableToTraceFormat> beginData(FrameView*
); |
51 static PassRefPtr<TraceEvent::ConvertableToTraceFormat> endData(LayoutObject
* rootForThisLayout); | 53 static PassRefPtr<TraceEvent::ConvertableToTraceFormat> endData(LayoutObject
* rootForThisLayout); |
52 }; | 54 }; |
53 | 55 |
54 class InspectorScheduleStyleInvalidationTrackingEvent { | 56 class InspectorScheduleStyleInvalidationTrackingEvent { |
55 STATIC_ONLY(InspectorScheduleStyleInvalidationTrackingEvent); | 57 STATIC_ONLY(InspectorScheduleStyleInvalidationTrackingEvent); |
56 public: | 58 public: |
57 static const char Attribute[]; | 59 static const char Attribute[]; |
58 static const char Class[]; | 60 static const char Class[]; |
59 static const char Id[]; | 61 static const char Id[]; |
60 static const char Pseudo[]; | 62 static const char Pseudo[]; |
61 | 63 |
62 static PassRefPtr<TraceEvent::ConvertableToTraceFormat> attributeChange(Elem
ent&, const DescendantInvalidationSet&, const QualifiedName&); | 64 static PassRefPtr<TraceEvent::ConvertableToTraceFormat> attributeChange(Elem
ent&, const InvalidationSet&, const QualifiedName&); |
63 static PassRefPtr<TraceEvent::ConvertableToTraceFormat> classChange(Element&
, const DescendantInvalidationSet&, const AtomicString&); | 65 static PassRefPtr<TraceEvent::ConvertableToTraceFormat> classChange(Element&
, const InvalidationSet&, const AtomicString&); |
64 static PassRefPtr<TraceEvent::ConvertableToTraceFormat> idChange(Element&, c
onst DescendantInvalidationSet&, const AtomicString&); | 66 static PassRefPtr<TraceEvent::ConvertableToTraceFormat> idChange(Element&, c
onst InvalidationSet&, const AtomicString&); |
65 static PassRefPtr<TraceEvent::ConvertableToTraceFormat> pseudoChange(Element
&, const DescendantInvalidationSet&, CSSSelector::PseudoType); | 67 static PassRefPtr<TraceEvent::ConvertableToTraceFormat> pseudoChange(Element
&, const InvalidationSet&, CSSSelector::PseudoType); |
66 | 68 |
67 private: | 69 private: |
68 static PassRefPtr<TracedValue> fillCommonPart(Element&, const DescendantInva
lidationSet&, const char* invalidatedSelector); | 70 static PassRefPtr<TracedValue> fillCommonPart(Element&, const InvalidationSe
t&, const char* invalidatedSelector); |
69 }; | 71 }; |
70 | 72 |
71 #define TRACE_SCHEDULE_STYLE_INVALIDATION(element, invalidationSet, changeType,
...) \ | 73 #define TRACE_SCHEDULE_STYLE_INVALIDATION(element, invalidationSet, changeType,
...) \ |
72 TRACE_EVENT_INSTANT1( \ | 74 TRACE_EVENT_INSTANT1( \ |
73 TRACE_DISABLED_BY_DEFAULT("devtools.timeline.invalidationTracking"), \ | 75 TRACE_DISABLED_BY_DEFAULT("devtools.timeline.invalidationTracking"), \ |
74 "ScheduleStyleInvalidationTracking", \ | 76 "ScheduleStyleInvalidationTracking", \ |
75 TRACE_EVENT_SCOPE_THREAD, \ | 77 TRACE_EVENT_SCOPE_THREAD, \ |
76 "data", \ | 78 "data", \ |
77 InspectorScheduleStyleInvalidationTrackingEvent::changeType((element), (
invalidationSet), __VA_ARGS__)) | 79 InspectorScheduleStyleInvalidationTrackingEvent::changeType((element), (
invalidationSet), __VA_ARGS__)) |
78 | 80 |
79 class InspectorStyleRecalcInvalidationTrackingEvent { | 81 class InspectorStyleRecalcInvalidationTrackingEvent { |
80 STATIC_ONLY(InspectorStyleRecalcInvalidationTrackingEvent); | 82 STATIC_ONLY(InspectorStyleRecalcInvalidationTrackingEvent); |
81 public: | 83 public: |
82 static PassRefPtr<TraceEvent::ConvertableToTraceFormat> data(Node*, const St
yleChangeReasonForTracing&); | 84 static PassRefPtr<TraceEvent::ConvertableToTraceFormat> data(Node*, const St
yleChangeReasonForTracing&); |
83 }; | 85 }; |
84 | 86 |
85 String descendantInvalidationSetToIdString(const DescendantInvalidationSet&); | 87 String descendantInvalidationSetToIdString(const InvalidationSet&); |
86 | 88 |
87 class InspectorStyleInvalidatorInvalidateEvent { | 89 class InspectorStyleInvalidatorInvalidateEvent { |
88 STATIC_ONLY(InspectorStyleInvalidatorInvalidateEvent); | 90 STATIC_ONLY(InspectorStyleInvalidatorInvalidateEvent); |
89 public: | 91 public: |
90 static const char ElementHasPendingInvalidationList[]; | 92 static const char ElementHasPendingInvalidationList[]; |
91 static const char InvalidateCustomPseudo[]; | 93 static const char InvalidateCustomPseudo[]; |
92 static const char InvalidationSetMatchedAttribute[]; | 94 static const char InvalidationSetMatchedAttribute[]; |
93 static const char InvalidationSetMatchedClass[]; | 95 static const char InvalidationSetMatchedClass[]; |
94 static const char InvalidationSetMatchedId[]; | 96 static const char InvalidationSetMatchedId[]; |
95 static const char InvalidationSetMatchedTagName[]; | 97 static const char InvalidationSetMatchedTagName[]; |
96 static const char PreventStyleSharingForParent[]; | 98 static const char PreventStyleSharingForParent[]; |
97 | 99 |
98 static PassRefPtr<TraceEvent::ConvertableToTraceFormat> data(Element&, const
char* reason); | 100 static PassRefPtr<TraceEvent::ConvertableToTraceFormat> data(Element&, const
char* reason); |
99 static PassRefPtr<TraceEvent::ConvertableToTraceFormat> selectorPart(Element
&, const char* reason, const DescendantInvalidationSet&, const String&); | 101 static PassRefPtr<TraceEvent::ConvertableToTraceFormat> selectorPart(Element
&, const char* reason, const InvalidationSet&, const String&); |
100 static PassRefPtr<TraceEvent::ConvertableToTraceFormat> invalidationList(Ele
ment&, const WillBeHeapVector<RefPtrWillBeMember<DescendantInvalidationSet> >&); | 102 static PassRefPtr<TraceEvent::ConvertableToTraceFormat> invalidationList(Ele
ment&, const InvalidationSetVector&); |
101 | 103 |
102 private: | 104 private: |
103 static PassRefPtr<TracedValue> fillCommonPart(Element&, const char* reason); | 105 static PassRefPtr<TracedValue> fillCommonPart(Element&, const char* reason); |
104 }; | 106 }; |
105 | 107 |
106 #define TRACE_STYLE_INVALIDATOR_INVALIDATION(element, reason) \ | 108 #define TRACE_STYLE_INVALIDATOR_INVALIDATION(element, reason) \ |
107 TRACE_EVENT_INSTANT1( \ | 109 TRACE_EVENT_INSTANT1( \ |
108 TRACE_DISABLED_BY_DEFAULT("devtools.timeline.invalidationTracking"), \ | 110 TRACE_DISABLED_BY_DEFAULT("devtools.timeline.invalidationTracking"), \ |
109 "StyleInvalidatorInvalidationTracking", \ | 111 "StyleInvalidatorInvalidationTracking", \ |
110 TRACE_EVENT_SCOPE_THREAD, \ | 112 TRACE_EVENT_SCOPE_THREAD, \ |
(...skipping 277 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
388 static PassRefPtr<TraceEvent::ConvertableToTraceFormat> endData(const HitTes
tRequest&, const HitTestLocation&, const HitTestResult&); | 390 static PassRefPtr<TraceEvent::ConvertableToTraceFormat> endData(const HitTes
tRequest&, const HitTestLocation&, const HitTestResult&); |
389 }; | 391 }; |
390 | 392 |
391 CORE_EXPORT String toHexString(const void* p); | 393 CORE_EXPORT String toHexString(const void* p); |
392 CORE_EXPORT void setCallStack(TracedValue*); | 394 CORE_EXPORT void setCallStack(TracedValue*); |
393 | 395 |
394 } // namespace blink | 396 } // namespace blink |
395 | 397 |
396 | 398 |
397 #endif // !defined(InspectorTraceEvents_h) | 399 #endif // !defined(InspectorTraceEvents_h) |
OLD | NEW |