Web Inspector: do not aggregate non-main thread timeline events, handle them in a...
authorcaseq@chromium.org <caseq@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 14 Mar 2013 13:59:41 +0000 (13:59 +0000)
committercaseq@chromium.org <caseq@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 14 Mar 2013 13:59:41 +0000 (13:59 +0000)
commit472b17afabdb9eb8227cc680ce221f258d577141
treeba959469e513af34830677c0b2101a688500cacd
parentfd8743d9cc474489ee2a39da15625c4816aca1d1
Web Inspector: do not aggregate non-main thread timeline events, handle them in a generic fashion
https://bugs.webkit.org/show_bug.cgi?id=112172

Reviewed by Vsevolod Vlasov.

- build nested event trees for non-main thread events similar to how it's done on the main thread;
- drop aggregation logic for Rasterize events;
- extract time conversion logic so that it may be reused in TimelineTraceEventProcessor.

* English.lproj/localizedStrings.js: drive-by: drop duplicate line.
* inspector/InspectorTimelineAgent.cpp:
(WebCore::TimelineTimeConverter::reset):
(WebCore):
(WebCore::InspectorTimelineAgent::pushGCEventRecords):
(WebCore::InspectorTimelineAgent::start):
(WebCore::InspectorTimelineAgent::innerAddRecordToTimeline):
(WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
(WebCore::InspectorTimelineAgent::appendRecord):
(WebCore::InspectorTimelineAgent::sendEvent):
(WebCore::InspectorTimelineAgent::timestamp):
* inspector/InspectorTimelineAgent.h:
(TimelineTimeConverter):
(WebCore::TimelineTimeConverter::TimelineTimeConverter):
(WebCore::TimelineTimeConverter::fromMonotonicallyIncreasingTime):
(WebCore):
(InspectorTimelineAgent):
(WebCore::InspectorTimelineAgent::timeConverter):
* inspector/TimelineRecordFactory.cpp:
(WebCore::TimelineRecordFactory::createBackgroundRecord):
(WebCore):
* inspector/TimelineRecordFactory.h:
(TimelineRecordFactory):
* inspector/TimelineTraceEventProcessor.cpp:
(WebCore::TimelineRecordStack::TimelineRecordStack):
(WebCore):
(WebCore::TimelineRecordStack::addScopedRecord):
(WebCore::TimelineRecordStack::closeScopedRecord):
(WebCore::TimelineRecordStack::addInstantRecord):
(WebCore::TimelineRecordStack::isOpenRecordOfType):
(WebCore::TimelineRecordStack::send):
(WebCore::TimelineTraceEventProcessor::TimelineTraceEventProcessor):
(WebCore::TimelineTraceEventProcessor::onBeginFrame):
(WebCore::TimelineTraceEventProcessor::onRasterTaskBegin):
(WebCore::TimelineTraceEventProcessor::onRasterTaskEnd):
(WebCore::TimelineTraceEventProcessor::createRecord):
* inspector/TimelineTraceEventProcessor.h:
(TimelineRecordStack):
(WebCore::TimelineRecordStack::Entry::Entry):
(Entry):
(WebCore::TimelineRecordStack::TimelineRecordStack):
(WebCore):
(WebCore::TimelineTraceEventProcessor::TimelineThreadState::TimelineThreadState):
(TimelineThreadState):
(TimelineTraceEventProcessor):
(WebCore::TimelineTraceEventProcessor::TraceEvent::TraceEvent):
(WebCore::TimelineTraceEventProcessor::TraceEvent::isNull):
(WebCore::TimelineTraceEventProcessor::threadState):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145809 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WebCore/ChangeLog
Source/WebCore/English.lproj/localizedStrings.js
Source/WebCore/inspector/InspectorTimelineAgent.cpp
Source/WebCore/inspector/InspectorTimelineAgent.h
Source/WebCore/inspector/TimelineRecordFactory.cpp
Source/WebCore/inspector/TimelineRecordFactory.h
Source/WebCore/inspector/TimelineTraceEventProcessor.cpp
Source/WebCore/inspector/TimelineTraceEventProcessor.h