Web Inspector: show memory counter graphs in timeline panel
authoryurys@chromium.org <yurys@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 25 Jan 2012 15:10:31 +0000 (15:10 +0000)
committeryurys@chromium.org <yurys@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 25 Jan 2012 15:10:31 +0000 (15:10 +0000)
commitc386cde81eaff2830fadcb4271bfb217049b702c
tree2aa793f6f328ec2c001a5d9f73a0c1d93d88208b
parent9fd06c9f0a35dcb7f23294e052fbb9dfb1c5c512
Web Inspector: show memory counter graphs in timeline panel
https://bugs.webkit.org/show_bug.cgi?id=76843

Timeline panel is extended with several graphs depicting total node count,
number of DOM groups and event listeners. This feature is hidden behind
experimental setting.

Reviewed by Pavel Feldman.

* English.lproj/localizedStrings.js:
* inspector/Inspector.json:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
* inspector/InspectorTimelineAgent.cpp:
(WebCore::InspectorTimelineAgent::setDomCountersEnabled):
(WebCore::InspectorTimelineAgent::didCallFunction):
(WebCore::InspectorTimelineAgent::didDispatchEvent):
(WebCore::InspectorTimelineAgent::didWriteHTML):
(WebCore::InspectorTimelineAgent::didFireTimer):
(WebCore::InspectorTimelineAgent::didEvaluateScript):
(WebCore::InspectorTimelineAgent::setHeapSizeStatistic):
(WebCore::InspectorTimelineAgent::collectDomCounters):
(WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
* inspector/InspectorTimelineAgent.h:
(WebCore::InspectorTimelineAgent::create):
* inspector/TimelineRecordFactory.cpp:
* inspector/front-end/Settings.js:
(WebInspector.ExperimentsSettings):
* inspector/front-end/TimelinePanel.js:
(WebInspector.TimelinePanel):
(WebInspector.MemoryStatistics):
(WebInspector.MemoryStatistics.prototype.setTopPosition):
(WebInspector.MemoryStatistics.prototype.setSidebarWidth):
(WebInspector.MemoryStatistics.prototype._sidebarResized):
(WebInspector.MemoryStatistics.prototype._updateSize):
(WebInspector.MemoryStatistics.prototype._updateSidebarSize):
(WebInspector.MemoryStatistics.prototype._createCounterSidebarElement):
(WebInspector.MemoryStatistics.prototype.addTimlineEvent):
(WebInspector.MemoryStatistics.prototype._draw.getGroupCount):
(WebInspector.MemoryStatistics.prototype._draw.getNodeCount):
(WebInspector.MemoryStatistics.prototype._draw.getListenerCount):
(WebInspector.MemoryStatistics.prototype._draw):
(WebInspector.MemoryStatistics.prototype._calculateVisibleIndexes):
(WebInspector.MemoryStatistics.prototype._onMouseOver):
(WebInspector.MemoryStatistics.prototype._refreshCurrentValues):
(WebInspector.MemoryStatistics.prototype.visible):
(WebInspector.MemoryStatistics.prototype.show):
(WebInspector.MemoryStatistics.prototype.refresh):
(WebInspector.MemoryStatistics.prototype.hide):
(WebInspector.MemoryStatistics.prototype._setVerticalClip):
(WebInspector.MemoryStatistics.prototype._calculateXValues):
(WebInspector.MemoryStatistics.prototype._drawPolyline):
(WebInspector.MemoryStatistics.prototype._drawBottomBound):
(WebInspector.MemoryStatistics.prototype._clear):
(WebInspector.TimelinePanel.prototype._startSplitterDragging):
(WebInspector.TimelinePanel.prototype._splitterDragging):
(WebInspector.TimelinePanel.prototype._endSplitterDragging):
(WebInspector.TimelinePanel.prototype._setSplitterPosition):
(WebInspector.TimelinePanel.prototype.get statusBarItems):
(WebInspector.TimelinePanel.prototype._createStatusbarButtons):
(WebInspector.TimelinePanel.prototype._toggleMemoryStatistics):
(WebInspector.TimelinePanel.prototype._onTimelineEventRecorded):
(WebInspector.TimelinePanel.prototype.sidebarResized):
(WebInspector.TimelinePanel.prototype._refresh):
* inspector/front-end/timelinePanel.css:
(#timeline-memory-splitter):
(#memory-counters-graph):
(#memory-graphs-container):
(#memory-graphs-container .split-view-contents):
(.timeline-marker):
(.memory-counter-sidebar-info):
(.memory-counter-sidebar-info.bottom-border-visible):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@105877 268f45cc-cd09-0410-ab3c-d52691b4dbfc
15 files changed:
Source/WebCore/ChangeLog
Source/WebCore/English.lproj/localizedStrings.js
Source/WebCore/WebCore.gypi
Source/WebCore/inspector/Inspector.json
Source/WebCore/inspector/InspectorController.cpp
Source/WebCore/inspector/InspectorTimelineAgent.cpp
Source/WebCore/inspector/InspectorTimelineAgent.h
Source/WebCore/inspector/TimelineRecordFactory.cpp
Source/WebCore/inspector/compile-front-end.sh
Source/WebCore/inspector/front-end/MemoryStatistics.js [new file with mode: 0644]
Source/WebCore/inspector/front-end/Settings.js
Source/WebCore/inspector/front-end/TimelinePanel.js
Source/WebCore/inspector/front-end/WebKit.qrc
Source/WebCore/inspector/front-end/inspector.html
Source/WebCore/inspector/front-end/timelinePanel.css