Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1026)

Unified Diff: Source/core/inspector/InspectorTraceEvents.cpp

Issue 465223002: [ Do not submit ] Prototype for invalidation analysis Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Unify the three invalidation trace event categories Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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);

Powered by Google App Engine
This is Rietveld 408576698