Web Inspector: show wall time frame duration on the vertical overview
authorcaseq@chromium.org <caseq@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 12 Apr 2012 16:29:38 +0000 (16:29 +0000)
committercaseq@chromium.org <caseq@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 12 Apr 2012 16:29:38 +0000 (16:29 +0000)
commit70dc0ad8b4725c41d492b9244ac6916da38befe2
treea7ecb2b5a801700568a295efc46b7b78b392ea07
parent1ff3e2306781ab8eb5d697496a1e77df4f27ec9e
Web Inspector: show wall time frame duration on the vertical overview
https://bugs.webkit.org/show_bug.cgi?id=83718

Reviewed by Pavel Feldman.

Source/WebCore:

- show frame duration as a contour of the frame bar in vertical overview;
- when scaling, normalize bar to a max of 3 * median frame duration, so too long frames do not dwarf the majority;
- add Array.prototype.qselect() for the above;
- factor our partition algorithm onto Array.prototype for better reuse;

* inspector/front-end/PartialQuickSort.js: factor out partition()
(Object.defineProperty.):
(Object.defineProperty):
* inspector/front-end/TimelineFrameController.js:
(WebInspector.TimelineFrameController.prototype._flushFrame): add frame.duration.
(WebInspector.TimelineFrameController.prototype._createSyntheticFrame): ditto.
* inspector/front-end/TimelineOverviewPane.js:
(WebInspector.TimelineVerticalOverview):
(WebInspector.TimelineVerticalOverview.prototype.reset): this._longestFrameTime is gone.
(WebInspector.TimelineVerticalOverview.prototype.update): ditto.
(WebInspector.TimelineVerticalOverview.prototype._aggregateFrames): return frames to display, not just their timeByCatogory.
(WebInspector.TimelineVerticalOverview.prototype._renderBars): use entire frames, not timeByCategory.
(WebInspector.TimelineVerticalOverview.prototype._renderBar): ditto.
* inspector/front-end/externs.js: Added annotations for partition() and qselect()
(Array.prototype.partition):
(Array.prototype.qselect):
* inspector/front-end/utilities.js:
(.):

LayoutTests:

* inspector/utilities-expected.txt:
* inspector/utilities.html: added results for Array.prototype.qselect()

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113994 268f45cc-cd09-0410-ab3c-d52691b4dbfc
LayoutTests/ChangeLog
LayoutTests/inspector/utilities-expected.txt
LayoutTests/inspector/utilities.html
Source/WebCore/ChangeLog
Source/WebCore/inspector/front-end/PartialQuickSort.js
Source/WebCore/inspector/front-end/TimelineFrameController.js
Source/WebCore/inspector/front-end/TimelineOverviewPane.js
Source/WebCore/inspector/front-end/externs.js
Source/WebCore/inspector/front-end/utilities.js