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 InspectorTraceEvents_h 6 #define InspectorTraceEvents_h 7 8 #include "platform/EventTracer.h" 9 #include "platform/TraceEvent.h" 10 #include "wtf/Forward.h" 11 12 namespace WebCore { 13 14 class Document; 15 class ExecutionContext; 16 class FrameView; 17 class GraphicsContext; 18 class GraphicsLayer; 19 class KURL; 20 class LayoutRect; 21 class LocalFrame; 22 class RenderObject; 23 class RenderImage; 24 class ResourceRequest; 25 class ResourceResponse; 26 class ScriptSourceCode; 27 class ScriptCallStack; 28 class XMLHttpRequest; 29 30 class InspectorLayoutEvent { 31 public: 32 static PassRefPtr<TraceEvent::ConvertableToTraceFormat> beginData(FrameView*); 33 static PassRefPtr<TraceEvent::ConvertableToTraceFormat> endData(RenderObject* rootForThisLayout); 34 }; 35 36 class InspectorSendRequestEvent { 37 public: 38 static PassRefPtr<TraceEvent::ConvertableToTraceFormat> data(unsigned long identifier, LocalFrame*, const ResourceRequest&); 39 }; 40 41 class InspectorReceiveResponseEvent { 42 public: 43 static PassRefPtr<TraceEvent::ConvertableToTraceFormat> data(unsigned long identifier, LocalFrame*, const ResourceResponse&); 44 }; 45 46 class InspectorReceiveDataEvent { 47 public: 48 static PassRefPtr<TraceEvent::ConvertableToTraceFormat> data(unsigned long identifier, LocalFrame*, int encodedDataLength); 49 }; 50 51 class InspectorResourceFinishEvent { 52 public: 53 static PassRefPtr<TraceEvent::ConvertableToTraceFormat> data(unsigned long identifier, double finishTime, bool didFail); 54 }; 55 56 class InspectorTimerInstallEvent { 57 public: 58 static PassRefPtr<TraceEvent::ConvertableToTraceFormat> data(ExecutionContext*, int timerId, int timeout, bool singleShot); 59 }; 60 61 class InspectorTimerRemoveEvent { 62 public: 63 static PassRefPtr<TraceEvent::ConvertableToTraceFormat> data(ExecutionContext*, int timerId); 64 }; 65 66 class InspectorTimerFireEvent { 67 public: 68 static PassRefPtr<TraceEvent::ConvertableToTraceFormat> data(ExecutionContext*, int timerId); 69 }; 70 71 class InspectorAnimationFrameEvent { 72 public: 73 static PassRefPtr<TraceEvent::ConvertableToTraceFormat> data(Document*, int callbackId); 74 }; 75 76 class InspectorWebSocketCreateEvent { 77 public: 78 static PassRefPtr<TraceEvent::ConvertableToTraceFormat> data(Document*, unsigned long identifier, const KURL&, const String& protocol); 79 }; 80 81 class InspectorWebSocketEvent { 82 public: 83 static PassRefPtr<TraceEvent::ConvertableToTraceFormat> data(Document*, unsigned long identifier); 84 }; 85 86 class InspectorParseHtmlEvent { 87 public: 88 static PassRefPtr<TraceEvent::ConvertableToTraceFormat> beginData(Document*, unsigned startLine); 89 }; 90 91 class InspectorXhrReadyStateChangeEvent { 92 public: 93 static PassRefPtr<TraceEvent::ConvertableToTraceFormat> data(ExecutionContext*, XMLHttpRequest*); 94 }; 95 96 class InspectorXhrLoadEvent { 97 public: 98 static PassRefPtr<TraceEvent::ConvertableToTraceFormat> data(ExecutionContext*, XMLHttpRequest*); 99 }; 100 101 class InspectorPaintEvent { 102 public: 103 static PassRefPtr<TraceEvent::ConvertableToTraceFormat> data(RenderObject*, const LayoutRect& clipRect, const GraphicsLayer*); 104 }; 105 106 class InspectorPaintImageEvent { 107 public: 108 static PassRefPtr<TraceEvent::ConvertableToTraceFormat> data(const RenderImage&); 109 }; 110 111 class InspectorMarkLoadEvent { 112 public: 113 static PassRefPtr<TraceEvent::ConvertableToTraceFormat> data(LocalFrame*); 114 }; 115 116 class InspectorScrollLayerEvent { 117 public: 118 static PassRefPtr<TraceEvent::ConvertableToTraceFormat> data(RenderObject*); 119 }; 120 121 class InspectorEvaluateScriptEvent { 122 public: 123 static PassRefPtr<TraceEvent::ConvertableToTraceFormat> data(LocalFrame*, const String& url, int lineNumber); 124 }; 125 126 class InspectorFunctionCallEvent { 127 public: 128 static PassRefPtr<TraceEvent::ConvertableToTraceFormat> data(ExecutionContext*, int scriptId, const String& scriptName, int scriptLine); 129 }; 130 131 class InspectorUpdateCountersEvent { 132 public: 133 static PassRefPtr<TraceEvent::ConvertableToTraceFormat> data(); 134 }; 135 136 class InspectorCallStackEvent { 137 public: 138 static PassRefPtr<TraceEvent::ConvertableToTraceFormat> currentCallStack(); 139 }; 140 141 } // namespace WebCore 142 143 144 #endif // !defined(InspectorTraceEvents_h) 145