Index: Source/core/inspector/TimelineTraceEventProcessor.cpp |
diff --git a/Source/core/inspector/TimelineTraceEventProcessor.cpp b/Source/core/inspector/TimelineTraceEventProcessor.cpp |
index ea0aae2d6cb298a4e1a448411310fdc2692bb8d2..a741c4aca49215c12b36aaed2d4504d87046dd42 100644 |
--- a/Source/core/inspector/TimelineTraceEventProcessor.cpp |
+++ b/Source/core/inspector/TimelineTraceEventProcessor.cpp |
@@ -156,15 +156,10 @@ TimelineTraceEventProcessor::TimelineTraceEventProcessor(WeakPtr<InspectorTimeli |
, m_layerTreeId(m_timelineAgent.get()->layerTreeId()) |
, m_lastEventProcessingTime(0) |
, m_processEventsTaskInFlight(false) |
- , m_layerId(0) |
, m_paintSetupStart(0) |
, m_paintSetupEnd(0) |
{ |
registerHandler(InstrumentationEvents::BeginFrame, TRACE_EVENT_PHASE_INSTANT, &TimelineTraceEventProcessor::onBeginFrame); |
- registerHandler(InstrumentationEvents::UpdateLayer, TRACE_EVENT_PHASE_BEGIN, &TimelineTraceEventProcessor::onUpdateLayerBegin); |
- registerHandler(InstrumentationEvents::UpdateLayer, TRACE_EVENT_PHASE_END, &TimelineTraceEventProcessor::onUpdateLayerEnd); |
- registerHandler(InstrumentationEvents::PaintLayer, TRACE_EVENT_PHASE_BEGIN, &TimelineTraceEventProcessor::onPaintLayerBegin); |
- registerHandler(InstrumentationEvents::PaintLayer, TRACE_EVENT_PHASE_END, &TimelineTraceEventProcessor::onPaintLayerEnd); |
registerHandler(InstrumentationEvents::PaintSetup, TRACE_EVENT_PHASE_BEGIN, &TimelineTraceEventProcessor::onPaintSetupBegin); |
registerHandler(InstrumentationEvents::PaintSetup, TRACE_EVENT_PHASE_END, &TimelineTraceEventProcessor::onPaintSetupEnd); |
registerHandler(InstrumentationEvents::RasterTask, TRACE_EVENT_PHASE_BEGIN, &TimelineTraceEventProcessor::onRasterTaskBegin); |
@@ -246,35 +241,6 @@ void TimelineTraceEventProcessor::onBeginFrame(const TraceEvent&) |
// as this is only done upon events we recognize. |
} |
-void TimelineTraceEventProcessor::onUpdateLayerBegin(const TraceEvent& event) |
-{ |
- unsigned long long layerTreeId = event.asUInt(InstrumentationEventArguments::LayerTreeId); |
- if (layerTreeId != static_cast<unsigned long long>(m_layerTreeId)) |
- return; |
- m_layerId = event.asUInt(InstrumentationEventArguments::LayerId); |
- // We don't know the node yet. For content layers, the node will be updated |
- // by paint. For others, let it remain 0 -- we just need the fact that |
- // the layer belongs to the page (see cookie check). |
- m_layerToNodeMap.add(m_layerId, 0); |
-} |
- |
-void TimelineTraceEventProcessor::onUpdateLayerEnd(const TraceEvent& event) |
-{ |
- m_layerId = 0; |
-} |
- |
-void TimelineTraceEventProcessor::onPaintLayerBegin(const TraceEvent& event) |
-{ |
- m_layerId = event.asUInt(InstrumentationEventArguments::LayerId); |
- ASSERT(m_layerId); |
- ASSERT(!m_paintSetupStart); |
-} |
- |
-void TimelineTraceEventProcessor::onPaintLayerEnd(const TraceEvent& event) |
-{ |
- m_layerId = 0; |
-} |
- |
void TimelineTraceEventProcessor::onPaintSetupBegin(const TraceEvent& event) |
{ |
ASSERT(!m_paintSetupStart); |
@@ -362,20 +328,22 @@ void TimelineTraceEventProcessor::onPaint(const TraceEvent& event) |
{ |
double paintSetupStart = m_paintSetupStart; |
m_paintSetupStart = 0; |
- if (!m_layerId) |
- return; |
unsigned long long pageId = event.asUInt(InstrumentationEventArguments::PageId); |
if (pageId != m_pageId) |
return; |
- long long nodeId = event.asInt(InstrumentationEventArguments::NodeId); |
- ASSERT(nodeId); |
- m_layerToNodeMap.set(m_layerId, nodeId); |
InspectorTimelineAgent* timelineAgent = m_timelineAgent.get(); |
- if (timelineAgent && paintSetupStart) { |
- RefPtr<JSONObject> paintSetupRecord = TimelineRecordFactory::createGenericRecord(paintSetupStart, 0, TimelineRecordType::PaintSetup); |
- paintSetupRecord->setNumber("endTime", m_paintSetupEnd); |
- paintSetupRecord->setObject("data", TimelineRecordFactory::createLayerData(nodeId)); |
- timelineAgent->addRecordToTimeline(paintSetupRecord); |
+ if (!timelineAgent) |
+ return; |
+ if (int layerId = timelineAgent->layerBeingPainted()) { |
+ int nodeId = timelineAgent->nodeBeingPainted(); |
+ ASSERT(nodeId); |
+ m_layerToNodeMap.set(layerId, nodeId); |
+ if (paintSetupStart) { |
+ RefPtr<JSONObject> paintSetupRecord = TimelineRecordFactory::createGenericRecord(paintSetupStart, 0, TimelineRecordType::PaintSetup); |
+ paintSetupRecord->setNumber("endTime", m_paintSetupEnd); |
+ paintSetupRecord->setObject("data", TimelineRecordFactory::createLayerData(nodeId)); |
+ timelineAgent->addRecordToTimeline(paintSetupRecord); |
+ } |
} |
} |
@@ -396,9 +364,6 @@ void TimelineTraceEventProcessor::onDecodeLazyPixelRefEnd(const TraceEvent& even |
void TimelineTraceEventProcessor::onDrawLazyPixelRef(const TraceEvent& event) |
{ |
- // Only track LazyPixelRefs created while we paint known layers |
- if (!m_layerId || !m_layerToNodeMap.contains(m_layerId)) |
- return; |
unsigned long long pixelRefId = event.asUInt(PlatformInstrumentation::LazyPixelRef); |
ASSERT(pixelRefId); |
InspectorTimelineAgent* timelineAgent = m_timelineAgent.get(); |