Index: Source/core/inspector/InspectorTraceEvents.cpp |
diff --git a/Source/core/inspector/InspectorTraceEvents.cpp b/Source/core/inspector/InspectorTraceEvents.cpp |
index efa66df4ba0e0292bf335bf5b7cca04896f62fb0..7cee1db9aa842eded3b470d7b708ae3f335a2b84 100644 |
--- a/Source/core/inspector/InspectorTraceEvents.cpp |
+++ b/Source/core/inspector/InspectorTraceEvents.cpp |
@@ -16,6 +16,7 @@ |
#include "core/inspector/ScriptCallStack.h" |
#include "core/page/Page.h" |
#include "core/rendering/RenderImage.h" |
+#include "core/rendering/RenderLayer.h" |
#include "core/rendering/RenderObject.h" |
#include "core/xml/XMLHttpRequest.h" |
#include "platform/JSONValues.h" |
@@ -47,7 +48,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))); |
} |
@@ -109,6 +110,47 @@ PassRefPtr<TraceEvent::ConvertableToTraceFormat> InspectorLayoutEvent::endData(R |
return value; |
} |
+PassRefPtr<TraceEvent::ConvertableToTraceFormat> InspectorStyleInvalidationTrackingEvent::data(Node* node) |
+{ |
+ ASSERT(node); |
+ RefPtr<TracedValue> value = TracedValue::create(); |
+ value->setString("frame", toHexString(node->document().frame())); |
+ value->setString("nodeName", node->debugName()); |
+ value->setInteger("nodeId", InspectorNodeIds::idForNode(node)); |
+ RefPtr<ScriptCallStack> callstack = createScriptCallStack(5, true); |
+ value->setString("callstack", callstack ? callstack->buildInspectorArray()->toJSONString() : "[]"); |
+ 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(5, true); |
+ value->setString("callstack", callstack ? callstack->buildInspectorArray()->toJSONString() : "[]"); |
+ return value; |
+} |
+ |
+PassRefPtr<TraceEvent::ConvertableToTraceFormat> InspectorPaintInvalidationTrackingEvent::data(const RenderObject* renderer, const RenderObject* paintRenderer) |
+{ |
+ ASSERT(renderer); |
+ RefPtr<TracedValue> value = TracedValue::create(); |
+ value->setString("frame", toHexString(renderer->frame())); |
+ value->setString("rendererId", toHexString(renderer)); |
+ value->setString("paintId", toHexString(paintRenderer)); |
+ if (Node* generatingNode = renderer->generatingNode()) { |
+ value->setString("nodeName", generatingNode->debugName()); |
+ value->setInteger("nodeId", InspectorNodeIds::idForNode(generatingNode)); |
+ } |
+ return value; |
+} |
+ |
PassRefPtr<TraceEvent::ConvertableToTraceFormat> InspectorSendRequestEvent::data(unsigned long identifier, LocalFrame* frame, const ResourceRequest& request) |
{ |
String requestId = IdentifiersFactory::requestId(identifier); |
@@ -260,6 +302,7 @@ PassRefPtr<TraceEvent::ConvertableToTraceFormat> InspectorPaintEvent::data(Rende |
{ |
RefPtr<TracedValue> value = TracedValue::create(); |
value->setString("frame", toHexString(renderer->frame())); |
+ value->setString("paintId", toHexString(renderer)); |
FloatQuad quad; |
localToPageQuad(*renderer, clipRect, &quad); |
createQuad(value.get(), "clip", quad); |