diff options
Diffstat (limited to 'Source/WebCore/inspector/TimelineRecordFactory.cpp')
-rw-r--r-- | Source/WebCore/inspector/TimelineRecordFactory.cpp | 242 |
1 files changed, 70 insertions, 172 deletions
diff --git a/Source/WebCore/inspector/TimelineRecordFactory.cpp b/Source/WebCore/inspector/TimelineRecordFactory.cpp index 9f2f7fccc..a216593f8 100644 --- a/Source/WebCore/inspector/TimelineRecordFactory.cpp +++ b/Source/WebCore/inspector/TimelineRecordFactory.cpp @@ -1,5 +1,6 @@ /* * Copyright (C) 2009 Google Inc. All rights reserved. + * Copyright (C) 2014 University of Washington. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are @@ -29,228 +30,125 @@ */ #include "config.h" - -#if ENABLE(INSPECTOR) - #include "TimelineRecordFactory.h" #include "Event.h" #include "FloatQuad.h" -#include "IntRect.h" -#include "LayoutRect.h" -#include "ResourceRequest.h" -#include "ResourceResponse.h" -#include "ScriptCallStack.h" -#include "ScriptCallStackFactory.h" -#include <inspector/InspectorValues.h> -#include <wtf/CurrentTime.h> +#include "JSMainThreadExecState.h" +#include <inspector/InspectorProtocolObjects.h> +#include <inspector/ScriptBreakpoint.h> +#include <inspector/ScriptCallStack.h> +#include <inspector/ScriptCallStackFactory.h> using namespace Inspector; namespace WebCore { -PassRefPtr<InspectorObject> TimelineRecordFactory::createGenericRecord(double startTime, int maxCallStackDepth) +Ref<InspectorObject> TimelineRecordFactory::createGenericRecord(double startTime, int maxCallStackDepth) { - RefPtr<InspectorObject> record = InspectorObject::create(); - record->setNumber("startTime", startTime); + Ref<InspectorObject> record = InspectorObject::create(); + record->setDouble(ASCIILiteral("startTime"), startTime); if (maxCallStackDepth) { - RefPtr<ScriptCallStack> stackTrace = createScriptCallStack(maxCallStackDepth, true); - if (stackTrace && stackTrace->size()) - record->setValue("stackTrace", stackTrace->buildInspectorArray()); + Ref<ScriptCallStack> stackTrace = createScriptCallStack(JSMainThreadExecState::currentState(), maxCallStackDepth); + if (stackTrace->size()) + record->setValue(ASCIILiteral("stackTrace"), stackTrace->buildInspectorArray()); } - return record.release(); -} - -PassRefPtr<InspectorObject> TimelineRecordFactory::createBackgroundRecord(double startTime, const String& threadName) -{ - RefPtr<InspectorObject> record = InspectorObject::create(); - record->setNumber("startTime", startTime); - record->setString("thread", threadName); - return record.release(); -} - -PassRefPtr<InspectorObject> TimelineRecordFactory::createGCEventData(const size_t usedHeapSizeDelta) -{ - RefPtr<InspectorObject> data = InspectorObject::create(); - data->setNumber("usedHeapSizeDelta", usedHeapSizeDelta); - return data.release(); -} - -PassRefPtr<InspectorObject> TimelineRecordFactory::createFunctionCallData(const String& scriptName, int scriptLine) -{ - RefPtr<InspectorObject> data = InspectorObject::create(); - data->setString("scriptName", scriptName); - data->setNumber("scriptLine", scriptLine); - return data.release(); -} - -PassRefPtr<InspectorObject> TimelineRecordFactory::createEventDispatchData(const Event& event) -{ - RefPtr<InspectorObject> data = InspectorObject::create(); - data->setString("type", event.type().string()); - return data.release(); -} - -PassRefPtr<InspectorObject> TimelineRecordFactory::createGenericTimerData(int timerId) -{ - RefPtr<InspectorObject> data = InspectorObject::create(); - data->setNumber("timerId", timerId); - return data.release(); -} - -PassRefPtr<InspectorObject> TimelineRecordFactory::createTimerInstallData(int timerId, int timeout, bool singleShot) -{ - RefPtr<InspectorObject> data = InspectorObject::create(); - data->setNumber("timerId", timerId); - data->setNumber("timeout", timeout); - data->setBoolean("singleShot", singleShot); - return data.release(); -} - -PassRefPtr<InspectorObject> TimelineRecordFactory::createXHRReadyStateChangeData(const String& url, int readyState) -{ - RefPtr<InspectorObject> data = InspectorObject::create(); - data->setString("url", url); - data->setNumber("readyState", readyState); - return data.release(); -} - -PassRefPtr<InspectorObject> TimelineRecordFactory::createXHRLoadData(const String& url) -{ - RefPtr<InspectorObject> data = InspectorObject::create(); - data->setString("url", url); - return data.release(); + return record; } -PassRefPtr<InspectorObject> TimelineRecordFactory::createEvaluateScriptData(const String& url, double lineNumber) +Ref<InspectorObject> TimelineRecordFactory::createFunctionCallData(const String& scriptName, int scriptLine) { - RefPtr<InspectorObject> data = InspectorObject::create(); - data->setString("url", url); - data->setNumber("lineNumber", lineNumber); - return data.release(); + Ref<InspectorObject> data = InspectorObject::create(); + data->setString(ASCIILiteral("scriptName"), scriptName); + data->setInteger(ASCIILiteral("scriptLine"), scriptLine); + return data; } -PassRefPtr<InspectorObject> TimelineRecordFactory::createTimeStampData(const String& message) +Ref<InspectorObject> TimelineRecordFactory::createConsoleProfileData(const String& title) { - RefPtr<InspectorObject> data = InspectorObject::create(); - data->setString("message", message); - return data.release(); + Ref<InspectorObject> data = InspectorObject::create(); + data->setString(ASCIILiteral("title"), title); + return data; } -PassRefPtr<InspectorObject> TimelineRecordFactory::createScheduleResourceRequestData(const String& url) +Ref<InspectorObject> TimelineRecordFactory::createProbeSampleData(const ScriptBreakpointAction& action, unsigned sampleId) { - RefPtr<InspectorObject> data = InspectorObject::create(); - data->setString("url", url); - return data.release(); + Ref<InspectorObject> data = InspectorObject::create(); + data->setInteger(ASCIILiteral("probeId"), action.identifier); + data->setInteger(ASCIILiteral("sampleId"), sampleId); + return data; } -PassRefPtr<InspectorObject> TimelineRecordFactory::createResourceSendRequestData(const String& requestId, const ResourceRequest& request) +Ref<InspectorObject> TimelineRecordFactory::createEventDispatchData(const Event& event) { - RefPtr<InspectorObject> data = InspectorObject::create(); - data->setString("requestId", requestId); - data->setString("url", request.url().string()); - data->setString("requestMethod", request.httpMethod()); - return data.release(); + Ref<InspectorObject> data = InspectorObject::create(); + data->setString(ASCIILiteral("type"), event.type().string()); + return data; } -PassRefPtr<InspectorObject> TimelineRecordFactory::createResourceReceiveResponseData(const String& requestId, const ResourceResponse& response) +Ref<InspectorObject> TimelineRecordFactory::createGenericTimerData(int timerId) { - RefPtr<InspectorObject> data = InspectorObject::create(); - data->setString("requestId", requestId); - data->setNumber("statusCode", response.httpStatusCode()); - data->setString("mimeType", response.mimeType()); - return data.release(); + Ref<InspectorObject> data = InspectorObject::create(); + data->setInteger(ASCIILiteral("timerId"), timerId); + return data; } -PassRefPtr<InspectorObject> TimelineRecordFactory::createResourceFinishData(const String& requestId, bool didFail, double finishTime) +Ref<InspectorObject> TimelineRecordFactory::createTimerInstallData(int timerId, std::chrono::milliseconds timeout, bool singleShot) { - RefPtr<InspectorObject> data = InspectorObject::create(); - data->setString("requestId", requestId); - data->setBoolean("didFail", didFail); - if (finishTime) - data->setNumber("networkTime", finishTime); - return data.release(); + Ref<InspectorObject> data = InspectorObject::create(); + data->setInteger(ASCIILiteral("timerId"), timerId); + data->setInteger(ASCIILiteral("timeout"), (int)timeout.count()); + data->setBoolean(ASCIILiteral("singleShot"), singleShot); + return data; } -PassRefPtr<InspectorObject> TimelineRecordFactory::createReceiveResourceData(const String& requestId, int length) +Ref<InspectorObject> TimelineRecordFactory::createEvaluateScriptData(const String& url, double lineNumber) { - RefPtr<InspectorObject> data = InspectorObject::create(); - data->setString("requestId", requestId); - data->setNumber("encodedDataLength", length); - return data.release(); + Ref<InspectorObject> data = InspectorObject::create(); + data->setString(ASCIILiteral("url"), url); + data->setInteger(ASCIILiteral("lineNumber"), lineNumber); + return data; } -PassRefPtr<InspectorObject> TimelineRecordFactory::createLayoutData(unsigned dirtyObjects, unsigned totalObjects, bool partialLayout) +Ref<InspectorObject> TimelineRecordFactory::createTimeStampData(const String& message) { - RefPtr<InspectorObject> data = InspectorObject::create(); - data->setNumber("dirtyObjects", dirtyObjects); - data->setNumber("totalObjects", totalObjects); - data->setBoolean("partialLayout", partialLayout); - return data.release(); -} - -PassRefPtr<InspectorObject> TimelineRecordFactory::createDecodeImageData(const String& imageType) -{ - RefPtr<InspectorObject> data = InspectorObject::create(); - data->setString("imageType", imageType); - return data.release(); + Ref<InspectorObject> data = InspectorObject::create(); + data->setString(ASCIILiteral("message"), message); + return data; } -PassRefPtr<InspectorObject> TimelineRecordFactory::createResizeImageData(bool shouldCache) +Ref<InspectorObject> TimelineRecordFactory::createAnimationFrameData(int callbackId) { - RefPtr<InspectorObject> data = InspectorObject::create(); - data->setBoolean("cached", shouldCache); - return data.release(); + Ref<InspectorObject> data = InspectorObject::create(); + data->setInteger(ASCIILiteral("id"), callbackId); + return data; } -PassRefPtr<InspectorObject> TimelineRecordFactory::createMarkData(bool isMainFrame) +static Ref<InspectorArray> createQuad(const FloatQuad& quad) { - RefPtr<InspectorObject> data = InspectorObject::create(); - data->setBoolean("isMainFrame", isMainFrame); - return data.release(); + Ref<InspectorArray> array = InspectorArray::create(); + array->pushDouble(quad.p1().x()); + array->pushDouble(quad.p1().y()); + array->pushDouble(quad.p2().x()); + array->pushDouble(quad.p2().y()); + array->pushDouble(quad.p3().x()); + array->pushDouble(quad.p3().y()); + array->pushDouble(quad.p4().x()); + array->pushDouble(quad.p4().y()); + return array; } -PassRefPtr<InspectorObject> TimelineRecordFactory::createParseHTMLData(unsigned startLine) +Ref<InspectorObject> TimelineRecordFactory::createPaintData(const FloatQuad& quad) { - RefPtr<InspectorObject> data = InspectorObject::create(); - data->setNumber("startLine", startLine); - return data.release(); -} - -PassRefPtr<InspectorObject> TimelineRecordFactory::createAnimationFrameData(int callbackId) -{ - RefPtr<InspectorObject> data = InspectorObject::create(); - data->setNumber("id", callbackId); - return data.release(); -} - -static PassRefPtr<InspectorArray> createQuad(const FloatQuad& quad) -{ - RefPtr<InspectorArray> array = InspectorArray::create(); - array->pushNumber(quad.p1().x()); - array->pushNumber(quad.p1().y()); - array->pushNumber(quad.p2().x()); - array->pushNumber(quad.p2().y()); - array->pushNumber(quad.p3().x()); - array->pushNumber(quad.p3().y()); - array->pushNumber(quad.p4().x()); - array->pushNumber(quad.p4().y()); - return array.release(); -} - -PassRefPtr<InspectorObject> TimelineRecordFactory::createPaintData(const FloatQuad& quad) -{ - RefPtr<InspectorObject> data = InspectorObject::create(); - data->setArray("clip", createQuad(quad)); - return data.release(); + Ref<InspectorObject> data = InspectorObject::create(); + data->setArray(ASCIILiteral("clip"), createQuad(quad)); + return data; } void TimelineRecordFactory::appendLayoutRoot(InspectorObject* data, const FloatQuad& quad) { - data->setArray("root", createQuad(quad)); + data->setArray(ASCIILiteral("root"), createQuad(quad)); } } // namespace WebCore - -#endif // ENABLE(INSPECTOR) |