| Index: Source/core/inspector/InspectorTraceEvents.cpp
|
| diff --git a/Source/core/inspector/InspectorTraceEvents.cpp b/Source/core/inspector/InspectorTraceEvents.cpp
|
| index 2fd955c2b74ecf3b5bfb45d8aa165dcf85aba0cf..62c174d918812673a9622b48f6ec05168a14b9b2 100644
|
| --- a/Source/core/inspector/InspectorTraceEvents.cpp
|
| +++ b/Source/core/inspector/InspectorTraceEvents.cpp
|
| @@ -30,6 +30,8 @@
|
|
|
| namespace blink {
|
|
|
| +static const unsigned maxInvalidationTrackingCallstackSize = 5;
|
| +
|
| namespace {
|
|
|
| class JSCallStack : public TraceEvent::ConvertableToTraceFormat {
|
| @@ -48,7 +50,7 @@ private:
|
| String m_serialized;
|
| };
|
|
|
| -String toHexString(void* p)
|
| +String toHexString(const void* p)
|
| {
|
| return String::format("0x%" PRIx64, static_cast<uint64>(reinterpret_cast<intptr_t>(p)));
|
| }
|
| @@ -110,6 +112,21 @@ PassRefPtr<TraceEvent::ConvertableToTraceFormat> InspectorLayoutEvent::endData(R
|
| return value;
|
| }
|
|
|
| +PassRefPtr<TraceEvent::ConvertableToTraceFormat> InspectorLayoutInvalidationTrackingEvent::data(const RenderObject* renderer)
|
| +{
|
| + ASSERT(renderer);
|
| + RefPtr<TracedValue> value = TracedValue::create();
|
| + value->setString("frame", toHexString(renderer->frame()));
|
| + value->setString("rendererId", toHexString(renderer));
|
| + if (Node* generatingNode = renderer->generatingNode()) {
|
| + value->setString("nodeName", generatingNode->debugName());
|
| + value->setInteger("nodeId", InspectorNodeIds::idForNode(generatingNode));
|
| + }
|
| + RefPtr<ScriptCallStack> callstack = createScriptCallStack(maxInvalidationTrackingCallstackSize, true);
|
| + value->setString("callstack", callstack ? callstack->buildInspectorArray()->toJSONString() : "[]");
|
| + return value;
|
| +}
|
| +
|
| PassRefPtr<TraceEvent::ConvertableToTraceFormat> InspectorSendRequestEvent::data(unsigned long identifier, LocalFrame* frame, const ResourceRequest& request)
|
| {
|
| String requestId = IdentifiersFactory::requestId(identifier);
|
|
|