Bug 100114 - Web Inspector: Timeline: nest time/timeEnd records when possible (in glue-mode)
Summary: Web Inspector: Timeline: nest time/timeEnd records when possible (in glue-mode)
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Web Inspector (Deprecated) (show other bugs)
Version: 528+ (Nightly build)
Hardware: All All
: P2 Normal
Assignee: eustas.bug
URL:
Keywords:
Depends on: 100936
Blocks: 99830
  Show dependency treegraph
 
Reported: 2012-10-23 06:09 PDT by eustas.bug
Modified: 2013-01-18 04:21 PST (History)
14 users (show)

See Also:


Attachments
Snapshot (57.53 KB, image/png)
2012-10-23 06:09 PDT, eustas.bug
no flags Details
Patch (5.29 KB, patch)
2012-11-08 04:05 PST, eustas.bug
no flags Details | Formatted Diff | Diff
Patch (5.25 KB, patch)
2012-12-29 00:20 PST, Eugene Klyuchnikov
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description eustas.bug 2012-10-23 06:09:24 PDT
Created attachment 170140 [details]
Snapshot

Nesting time/timeEnd intervals will provide a better overview on what is happening.
Comment 1 eustas.bug 2012-11-08 04:05:58 PST
Created attachment 173004 [details]
Patch
Comment 2 Pavel Feldman 2012-11-14 00:03:49 PST
Comment on attachment 173004 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=173004&action=review

> Source/WebCore/inspector/front-end/TimelinePresentationModel.js:602
> +                openRecord.children.splice(insertionIndexForObjectInListSortedByFunction(timeRecord.startTime, openRecord.children, compareStartTime), 0, timeRecord);

We only glue causation. I.e. we can glue TimerFire to TimerInstall. We can't glue timeEnd to anything, because it already has a parent. The rules for glueing should stay simple.
Comment 3 Eugene Klyuchnikov 2012-12-29 00:18:53 PST
Comment on attachment 173004 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=173004&action=review

>> Source/WebCore/inspector/front-end/TimelinePresentationModel.js:602
>> +                openRecord.children.splice(insertionIndexForObjectInListSortedByFunction(timeRecord.startTime, openRecord.children, compareStartTime), 0, timeRecord);
> 
> We only glue causation. I.e. we can glue TimerFire to TimerInstall. We can't glue timeEnd to anything, because it already has a parent. The rules for glueing should stay simple.

To be more precise, we do not glue, but set correct parents to records to highlight their causation.
In this case, developers would be happy to see how time/timeEnd relate to each other.
Comment 4 Eugene Klyuchnikov 2012-12-29 00:20:41 PST
Created attachment 180921 [details]
Patch

rebased
Comment 5 WebKit Review Bot 2013-01-18 04:21:32 PST
Comment on attachment 180921 [details]
Patch

Clearing flags on attachment: 180921

Committed r140123: <http://trac.webkit.org/changeset/140123>
Comment 6 WebKit Review Bot 2013-01-18 04:21:36 PST
All reviewed patches have been landed.  Closing bug.