Home | History | Annotate | Download | only in inspector
      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 blink {
     13 
     14 class Document;
     15 class Event;
     16 class ExecutionContext;
     17 class FrameView;
     18 class GraphicsContext;
     19 class GraphicsLayer;
     20 class KURL;
     21 class LayoutRect;
     22 class LocalFrame;
     23 class RenderImage;
     24 class RenderLayer;
     25 class RenderObject;
     26 class ResourceRequest;
     27 class ResourceResponse;
     28 class ScriptSourceCode;
     29 class ScriptCallStack;
     30 class WorkerThread;
     31 class XMLHttpRequest;
     32 
     33 class InspectorLayoutEvent {
     34 public:
     35     static PassRefPtr<TraceEvent::ConvertableToTraceFormat> beginData(FrameView*);
     36     static PassRefPtr<TraceEvent::ConvertableToTraceFormat> endData(RenderObject* rootForThisLayout);
     37 };
     38 
     39 class InspectorLayoutInvalidationTrackingEvent {
     40 public:
     41     static PassRefPtr<TraceEvent::ConvertableToTraceFormat> data(const RenderObject*);
     42 };
     43 
     44 class InspectorPaintInvalidationTrackingEvent {
     45 public:
     46     static PassRefPtr<TraceEvent::ConvertableToTraceFormat> data(const RenderObject* renderer, const RenderObject* paintContainer);
     47 };
     48 
     49 class InspectorSendRequestEvent {
     50 public:
     51     static PassRefPtr<TraceEvent::ConvertableToTraceFormat> data(unsigned long identifier, LocalFrame*, const ResourceRequest&);
     52 };
     53 
     54 class InspectorReceiveResponseEvent {
     55 public:
     56     static PassRefPtr<TraceEvent::ConvertableToTraceFormat> data(unsigned long identifier, LocalFrame*, const ResourceResponse&);
     57 };
     58 
     59 class InspectorReceiveDataEvent {
     60 public:
     61     static PassRefPtr<TraceEvent::ConvertableToTraceFormat> data(unsigned long identifier, LocalFrame*, int encodedDataLength);
     62 };
     63 
     64 class InspectorResourceFinishEvent {
     65 public:
     66     static PassRefPtr<TraceEvent::ConvertableToTraceFormat> data(unsigned long identifier, double finishTime, bool didFail);
     67 };
     68 
     69 class InspectorTimerInstallEvent {
     70 public:
     71     static PassRefPtr<TraceEvent::ConvertableToTraceFormat> data(ExecutionContext*, int timerId, int timeout, bool singleShot);
     72 };
     73 
     74 class InspectorTimerRemoveEvent {
     75 public:
     76     static PassRefPtr<TraceEvent::ConvertableToTraceFormat> data(ExecutionContext*, int timerId);
     77 };
     78 
     79 class InspectorTimerFireEvent {
     80 public:
     81     static PassRefPtr<TraceEvent::ConvertableToTraceFormat> data(ExecutionContext*, int timerId);
     82 };
     83 
     84 class InspectorAnimationFrameEvent {
     85 public:
     86     static PassRefPtr<TraceEvent::ConvertableToTraceFormat> data(Document*, int callbackId);
     87 };
     88 
     89 class InspectorWebSocketCreateEvent {
     90 public:
     91     static PassRefPtr<TraceEvent::ConvertableToTraceFormat> data(Document*, unsigned long identifier, const KURL&, const String& protocol);
     92 };
     93 
     94 class InspectorWebSocketEvent {
     95 public:
     96     static PassRefPtr<TraceEvent::ConvertableToTraceFormat> data(Document*, unsigned long identifier);
     97 };
     98 
     99 class InspectorParseHtmlEvent {
    100 public:
    101     static PassRefPtr<TraceEvent::ConvertableToTraceFormat> beginData(Document*, unsigned startLine);
    102 };
    103 
    104 class InspectorXhrReadyStateChangeEvent {
    105 public:
    106     static PassRefPtr<TraceEvent::ConvertableToTraceFormat> data(ExecutionContext*, XMLHttpRequest*);
    107 };
    108 
    109 class InspectorXhrLoadEvent {
    110 public:
    111     static PassRefPtr<TraceEvent::ConvertableToTraceFormat> data(ExecutionContext*, XMLHttpRequest*);
    112 };
    113 
    114 class InspectorLayerInvalidationTrackingEvent {
    115 public:
    116     static const char SquashingLayerGeometryWasUpdated[];
    117     static const char AddedToSquashingLayer[];
    118     static const char RemovedFromSquashingLayer[];
    119     static const char ReflectionLayerChanged[];
    120     static const char NewCompositedLayer[];
    121     static const char AncestorRequiresNewLayer[];
    122 
    123     static PassRefPtr<TraceEvent::ConvertableToTraceFormat> data(const RenderLayer*, const char* reason);
    124 };
    125 #define TRACE_LAYER_INVALIDATION(LAYER, REASON) \
    126     TRACE_EVENT_INSTANT1( \
    127         TRACE_DISABLED_BY_DEFAULT("devtools.timeline.invalidationTracking"), \
    128         "LayerInvalidationTracking", \
    129         "data", \
    130         InspectorLayerInvalidationTrackingEvent::data((LAYER), (REASON)))
    131 
    132 class InspectorPaintEvent {
    133 public:
    134     static PassRefPtr<TraceEvent::ConvertableToTraceFormat> data(RenderObject*, const LayoutRect& clipRect, const GraphicsLayer*);
    135 };
    136 
    137 class InspectorPaintImageEvent {
    138 public:
    139     static PassRefPtr<TraceEvent::ConvertableToTraceFormat> data(const RenderImage&);
    140 };
    141 
    142 class InspectorMarkLoadEvent {
    143 public:
    144     static PassRefPtr<TraceEvent::ConvertableToTraceFormat> data(LocalFrame*);
    145 };
    146 
    147 class InspectorScrollLayerEvent {
    148 public:
    149     static PassRefPtr<TraceEvent::ConvertableToTraceFormat> data(RenderObject*);
    150 };
    151 
    152 class InspectorEvaluateScriptEvent {
    153 public:
    154     static PassRefPtr<TraceEvent::ConvertableToTraceFormat> data(LocalFrame*, const String& url, int lineNumber);
    155 };
    156 
    157 class InspectorFunctionCallEvent {
    158 public:
    159     static PassRefPtr<TraceEvent::ConvertableToTraceFormat> data(ExecutionContext*, int scriptId, const String& scriptName, int scriptLine);
    160 };
    161 
    162 class InspectorUpdateCountersEvent {
    163 public:
    164     static PassRefPtr<TraceEvent::ConvertableToTraceFormat> data();
    165 };
    166 
    167 class InspectorCallStackEvent {
    168 public:
    169     static PassRefPtr<TraceEvent::ConvertableToTraceFormat> currentCallStack();
    170 };
    171 
    172 class InspectorEventDispatchEvent {
    173 public:
    174     static PassRefPtr<TraceEvent::ConvertableToTraceFormat> data(const Event&);
    175 };
    176 
    177 class InspectorTimeStampEvent {
    178 public:
    179     static PassRefPtr<TraceEvent::ConvertableToTraceFormat> data(ExecutionContext*, const String& message);
    180 };
    181 
    182 class InspectorTracingSessionIdForWorkerEvent {
    183 public:
    184     static PassRefPtr<TraceEvent::ConvertableToTraceFormat> data(const String& sessionId, WorkerThread*);
    185 };
    186 
    187 } // namespace blink
    188 
    189 
    190 #endif // !defined(InspectorTraceEvents_h)
    191