RESOLVED FIXED 112172
Web Inspector: do not aggregate non-main thread timeline events, handle them a generic fashion
https://bugs.webkit.org/show_bug.cgi?id=112172
Summary Web Inspector: do not aggregate non-main thread timeline events, handle them ...
Andrey Kosyakov
Reported 2013-03-12 11:24:22 PDT
This removes the logic to aggregate rasterize events in timeline agent and instead sends them, along with potential nested events, to front-end, similar to how main thread events are handled. These are later supposed to be collated with front-end event collation logic from bug 112168.
Attachments
Patch (24.43 KB, patch)
2013-03-12 11:34 PDT, Andrey Kosyakov
no flags
Patch (24.45 KB, patch)
2013-03-13 01:21 PDT, Andrey Kosyakov
no flags
Patch (24.45 KB, patch)
2013-03-13 10:01 PDT, Andrey Kosyakov
vsevik: review+
Andrey Kosyakov
Comment 1 2013-03-12 11:34:14 PDT
WebKit Review Bot
Comment 2 2013-03-12 12:05:54 PDT
Comment on attachment 192777 [details] Patch Attachment 192777 [details] did not pass cr-linux-debug-ews (chromium-xvfb): Output: http://webkit-commit-queue.appspot.com/results/17173227
Andrey Kosyakov
Comment 3 2013-03-13 01:21:38 PDT
Vsevolod Vlasov
Comment 4 2013-03-13 08:26:07 PDT
Comment on attachment 192879 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=192879&action=review > Source/WebCore/inspector/TimelineTraceEventProcessor.cpp:142 > + return m_stack.isEmpty() || (m_stack.last().record->getString("type", &lastRecordType) && type == lastRecordType); return !m_stack.isEmpty() && (m_stack.last().record->getString("type", &lastRecordType) && type == lastRecordType); > Source/WebCore/inspector/TimelineTraceEventProcessor.cpp:245 > + ASSERT(!state.rasterizeStartStackLevel); Looks like rasterizeStartStackLevel could be a boolean (isInRasterize).
Andrey Kosyakov
Comment 5 2013-03-13 10:01:13 PDT
Andrey Kosyakov
Comment 6 2013-03-13 10:05:10 PDT
(In reply to comment #4) > (From update of attachment 192879 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=192879&action=review > > > Source/WebCore/inspector/TimelineTraceEventProcessor.cpp:142 > > + return m_stack.isEmpty() || (m_stack.last().record->getString("type", &lastRecordType) && type == lastRecordType); > > return !m_stack.isEmpty() && (m_stack.last().record->getString("type", &lastRecordType) && type == lastRecordType); This is written as intended (though may be the method name is unfortunate), not having the top event is considered ok for the purpose of validation -- we hit this case if we started recording in the middle of the event. > > Source/WebCore/inspector/TimelineTraceEventProcessor.cpp:245 > > + ASSERT(!state.rasterizeStartStackLevel); > > Looks like rasterizeStartStackLevel could be a boolean (isInRasterize). Fair, this is atavism of an earlier implementation. Fixed.
Andrey Kosyakov
Comment 7 2013-03-14 07:07:27 PDT
Note You need to log in before you can comment on or make changes to this bug.