diff options
Diffstat (limited to 'chromium/third_party/WebKit/Source/core/inspector/TimelineRecordFactory.h')
-rw-r--r-- | chromium/third_party/WebKit/Source/core/inspector/TimelineRecordFactory.h | 156 |
1 files changed, 69 insertions, 87 deletions
diff --git a/chromium/third_party/WebKit/Source/core/inspector/TimelineRecordFactory.h b/chromium/third_party/WebKit/Source/core/inspector/TimelineRecordFactory.h index 67ac43f1993..871eec146c4 100644 --- a/chromium/third_party/WebKit/Source/core/inspector/TimelineRecordFactory.h +++ b/chromium/third_party/WebKit/Source/core/inspector/TimelineRecordFactory.h @@ -31,6 +31,7 @@ #ifndef TimelineRecordFactory_h #define TimelineRecordFactory_h +#include "core/InspectorTypeBuilder.h" #include "platform/JSONValues.h" #include "platform/weborigin/KURL.h" #include "wtf/Forward.h" @@ -38,93 +39,74 @@ namespace WebCore { - class Event; - class FloatQuad; - class InspectorFrontend; - class IntRect; - class ResourceRequest; - class ResourceResponse; - - class TimelineRecordFactory { - public: - static PassRefPtr<JSONObject> createGenericRecord(double startTime, int maxCallStackDepth, const String& type); - static PassRefPtr<JSONObject> createBackgroundRecord(double startTime, const String& thread, const String& type, PassRefPtr<JSONObject> data = 0); - - static PassRefPtr<JSONObject> createGCEventData(size_t usedHeapSizeDelta); - - static PassRefPtr<JSONObject> createFunctionCallData(const String& scriptName, int scriptLine); - - static PassRefPtr<JSONObject> createEventDispatchData(const Event&); - - static PassRefPtr<JSONObject> createGenericTimerData(int timerId); - - static PassRefPtr<JSONObject> createTimerInstallData(int timerId, int timeout, bool singleShot); - - static PassRefPtr<JSONObject> createXHRReadyStateChangeData(const String& url, int readyState); - - static PassRefPtr<JSONObject> createXHRLoadData(const String& url); - - static PassRefPtr<JSONObject> createEvaluateScriptData(const String&, double lineNumber); - - static PassRefPtr<JSONObject> createTimeStampData(const String&); - - static PassRefPtr<JSONObject> createResourceSendRequestData(const String& requestId, const ResourceRequest&); - - static PassRefPtr<JSONObject> createScheduleResourceRequestData(const String&); - - static PassRefPtr<JSONObject> createResourceReceiveResponseData(const String& requestId, const ResourceResponse&); - - static PassRefPtr<JSONObject> createReceiveResourceData(const String& requestId, int length); - - static PassRefPtr<JSONObject> createResourceFinishData(const String& requestId, bool didFail, double finishTime); - - static PassRefPtr<JSONObject> createLayoutData(unsigned dirtyObjects, unsigned totalObjects, bool partialLayout); - - static PassRefPtr<JSONObject> createDecodeImageData(const String& imageType); - - static PassRefPtr<JSONObject> createResizeImageData(bool shouldCache); - - static PassRefPtr<JSONObject> createMarkData(bool isMainFrame); - - static PassRefPtr<JSONObject> createParseHTMLData(unsigned startLine); - - static PassRefPtr<JSONObject> createAnimationFrameData(int callbackId); - - static PassRefPtr<JSONObject> createNodeData(long long nodeId); - - static PassRefPtr<JSONObject> createLayerData(long long layerRootNodeId); - - static PassRefPtr<JSONObject> createPaintData(const FloatQuad&, long long layerRootNodeId, int graphicsLayerId); - - static PassRefPtr<JSONObject> createFrameData(int frameId); - - static PassRefPtr<JSONObject> createGPUTaskData(bool foreign, size_t usedGPUMemoryBytes); - - static void appendLayoutRoot(JSONObject* data, const FloatQuad&, long long rootNodeId); - - static void appendStyleRecalcDetails(JSONObject* data, unsigned elementCount); - - static void appendImageDetails(JSONObject* data, long long imageElementId, const String& url); - - static inline PassRefPtr<JSONObject> createWebSocketCreateData(unsigned long identifier, const KURL& url, const String& protocol) - { - RefPtr<JSONObject> data = JSONObject::create(); - data->setNumber("identifier", identifier); - data->setString("url", url.string()); - if (!protocol.isNull()) - data->setString("webSocketProtocol", protocol); - return data.release(); - } - - static inline PassRefPtr<JSONObject> createGenericWebSocketData(unsigned long identifier) - { - RefPtr<JSONObject> data = JSONObject::create(); - data->setNumber("identifier", identifier); - return data.release(); - } - private: - TimelineRecordFactory() { } - }; +class Event; +class FloatQuad; +class InspectorFrontend; +class IntRect; +class ResourceRequest; +class ResourceResponse; + +class TimelineRecordFactory { +public: + static PassRefPtr<TypeBuilder::Timeline::TimelineEvent> createGenericRecord(double startTime, int maxCallStackDepth, const String& type, PassRefPtr<JSONObject> data); + static PassRefPtr<TypeBuilder::Timeline::TimelineEvent> createBackgroundRecord(double startTime, const String& thread, const String& type, PassRefPtr<JSONObject> data); + + static PassRefPtr<JSONObject> createGCEventData(size_t usedHeapSizeDelta); + static PassRefPtr<JSONObject> createFunctionCallData(int scriptId, const String& scriptName, int scriptLine); + static PassRefPtr<JSONObject> createEventDispatchData(const Event&); + static PassRefPtr<JSONObject> createGenericTimerData(int timerId); + static PassRefPtr<JSONObject> createTimerInstallData(int timerId, int timeout, bool singleShot); + static PassRefPtr<JSONObject> createXHRReadyStateChangeData(const String& url, int readyState); + static PassRefPtr<JSONObject> createXHRLoadData(const String& url); + static PassRefPtr<JSONObject> createEvaluateScriptData(const String&, double lineNumber); + static PassRefPtr<JSONObject> createConsoleTimeData(const String&); + static PassRefPtr<JSONObject> createTimeStampData(const String&); + static PassRefPtr<JSONObject> createResourceSendRequestData(const String& requestId, const ResourceRequest&); + static PassRefPtr<JSONObject> createResourceReceiveResponseData(const String& requestId, const ResourceResponse&); + static PassRefPtr<JSONObject> createReceiveResourceData(const String& requestId, int length); + static PassRefPtr<JSONObject> createResourceFinishData(const String& requestId, bool didFail, double finishTime); + static PassRefPtr<JSONObject> createLayoutData(unsigned dirtyObjects, unsigned totalObjects, bool partialLayout); + static PassRefPtr<JSONObject> createDecodeImageData(const String& imageType); + static PassRefPtr<JSONObject> createResizeImageData(bool shouldCache); + static PassRefPtr<JSONObject> createMarkData(bool isMainFrame); + static PassRefPtr<JSONObject> createParseHTMLData(unsigned startLine); + static PassRefPtr<JSONObject> createAnimationFrameData(int callbackId); + static PassRefPtr<JSONObject> createNodeData(long long nodeId); + static PassRefPtr<JSONObject> createLayerData(long long layerRootNodeId); + static PassRefPtr<JSONObject> createFrameData(int frameId); + static PassRefPtr<JSONObject> createGPUTaskData(bool foreign); + + static void setNodeData(JSONObject* data, long long nodeId); + static void setLayerData(JSONObject* data, long long layerRootNodeId); + static void setLayerTreeData(JSONObject* data, PassRefPtr<JSONValue> layerTree); + static void setPaintData(JSONObject* data, const FloatQuad&, long long layerRootNodeId, int graphicsLayerId); + static void setLayoutRoot(JSONObject* data, const FloatQuad&, long long rootNodeId); + static void setStyleRecalcDetails(JSONObject* data, unsigned elementCount); + static void setImageDetails(JSONObject* data, long long imageElementId, const String& url); + + static inline PassRefPtr<JSONObject> createWebSocketCreateData(unsigned long identifier, const KURL& url, const String& protocol) + { + RefPtr<JSONObject> data = JSONObject::create(); + data->setNumber("identifier", identifier); + data->setString("url", url.string()); + if (!protocol.isNull()) + data->setString("webSocketProtocol", protocol); + return data.release(); + } + + static inline PassRefPtr<JSONObject> createGenericWebSocketData(unsigned long identifier) + { + RefPtr<JSONObject> data = JSONObject::create(); + data->setNumber("identifier", identifier); + return data.release(); + } + + static PassRefPtr<JSONObject> createEmbedderCallbackData(const String& callbackName); + + static String type(TypeBuilder::Timeline::TimelineEvent*); +private: + TimelineRecordFactory() { } +}; } // namespace WebCore |