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

Side by Side Diff: Source/core/inspector/InspectorTraceEvents.h

Issue 1317533002: Sibling invalidation sets (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Rebase Created 5 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 unified diff | Download patch
OLDNEW
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
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)
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698