Currently, we use InspectorInstrumentation as the interface that is used by inspector to instrument. This can't be used to instrument code under WebCore/platform, though, as this is deemed to be a layering violation. So let's add a lower-level instrumentation interface and implement its client within the inspector.
Created attachment 158595 [details] Patch
Comment on attachment 158595 [details] Patch This looks great.
Comment on attachment 158595 [details] Patch Attachment 158595 [details] did not pass mac-ews (mac): Output: http://queues.webkit.org/results/13509282
Created attachment 158756 [details] Patch
Comment on attachment 158756 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=158756&action=review Minor nits, otherwise looks good. > Source/WebCore/inspector/InspectorTimelineAgent.cpp:-491 > - InspectorInstrumentation::setTimelineAgentForOrphanEvents(0); You should remove InspectorInstrumentation::setTimelineAgentForOrphanEvents, InspectorInstrumentation::threadSpecificTimelineAgentForOrphanEvents, etc. as well > Source/WebCore/inspector/InspectorTimelineAgent.cpp:556 > + m_platformInstrumentationClientSet = m_recordStack.size(); m_platformInstrumentationClientInstalledAtStackDepth > Source/WebCore/platform/PlatformInstrumentation.h:46 > + virtual void willDecodeImage(const WTF::String& imageType) = 0; Here and below drop WTF:: > Source/WebCore/platform/image-decoders/png/PNGImageDecoder.cpp:265 > + if (frame.status() != ImageFrame::FrameComplete) { You did not remove TRACE_EVENT macro / include.
Created attachment 158775 [details] Patch
Committed r125769: <http://trac.webkit.org/changeset/125769>