Skip to content
  • caseq@chromium.org's avatar
    Web Inspector: show wall time frame duration on the vertical overview · 70dc0ad8
    caseq@chromium.org authored
    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
    70dc0ad8