https://bugs.webkit.org/show_bug.cgi?id=84038
A bunch of renames "detailed heapshot" -> "heap snapshot".
Reviewed by Pavel Feldman.
PerformanceTests:
* inspector/detailed-heapshots-smoke-test.html:
Source/WebCore:
Tests: inspector/profiler/heap-snapshot-comparison-expansion-preserved-when-sorting.html
inspector/profiler/heap-snapshot-comparison-show-all.html
inspector/profiler/heap-snapshot-comparison-show-next.html
inspector/profiler/heap-snapshot-comparison-shown-node-count-preserved-when-sorting.html
inspector/profiler/heap-snapshot-comparison-sorting.html
inspector/profiler/heap-snapshot-containment-expansion-preserved-when-sorting.html
inspector/profiler/heap-snapshot-containment-show-all.html
inspector/profiler/heap-snapshot-containment-show-next.html
inspector/profiler/heap-snapshot-containment-shown-node-count-preserved-when-sorting.html
inspector/profiler/heap-snapshot-containment-sorting.html
inspector/profiler/heap-snapshot-dominators-expansion-preserved-when-sorting.html
inspector/profiler/heap-snapshot-dominators-show-all.html
inspector/profiler/heap-snapshot-dominators-show-next.html
inspector/profiler/heap-snapshot-dominators-shown-node-count-preserved-when-sorting.html
inspector/profiler/heap-snapshot-dominators-sorting.html
inspector/profiler/heap-snapshot-summary-expansion-preserved-when-sorting.html
inspector/profiler/heap-snapshot-summary-show-all.html
inspector/profiler/heap-snapshot-summary-show-next.html
inspector/profiler/heap-snapshot-summary-shown-node-count-preserved-when-sorting.html
inspector/profiler/heap-snapshot-summary-sorting.html
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* inspector/compile-front-end.py:
* inspector/front-end/HeapSnapshotGridNodes.js: Renamed from Source/WebCore/inspector/front-end/DetailedHeapshotGridNodes.js.
(WebInspector.HeapSnapshotGridNode):
(WebInspector.HeapSnapshotGridNode.prototype.ensureContentCreated):
(WebInspector.HeapSnapshotGridNode.prototype.createCell):
(WebInspector.HeapSnapshotGridNode.prototype.dispose):
(WebInspector.HeapSnapshotGridNode.prototype.hasHoverMessage.false.queryObjectContent):
(WebInspector.HeapSnapshotGridNode.prototype._toPercentString):
(WebInspector.HeapSnapshotGridNode.prototype._createValueCell):
(WebInspector.HeapSnapshotGridNode.prototype._populate.sorted):
(WebInspector.HeapSnapshotGridNode.prototype._populate):
(WebInspector.HeapSnapshotGridNode.prototype.populateChildren.callSerialize):
(WebInspector.HeapSnapshotGridNode.prototype.populateChildren.childrenRetrieved.notify):
(WebInspector.HeapSnapshotGridNode.prototype.populateChildren.childrenRetrieved):
(WebInspector.HeapSnapshotGridNode.prototype.populateChildren):
(WebInspector.HeapSnapshotGridNode.prototype._saveChildren):
(WebInspector.HeapSnapshotGridNode.prototype.sort.afterSort.afterPopulate):
(WebInspector.HeapSnapshotGridNode.prototype.sort.afterSort):
(WebInspector.HeapSnapshotGridNode.prototype.sort):
(WebInspector.HeapSnapshotLazyGridNode):
(WebInspector.HeapSnapshotLazyGridNode.prototype.ensureContentCreated):
(WebInspector.HeapSnapshotLazyGridNode.prototype.createCells):
(WebInspector.HeapSnapshotGenericObjectNode):
(WebInspector.HeapSnapshotGenericObjectNode.prototype.createCell):
(WebInspector.HeapSnapshotGenericObjectNode.prototype._createObjectCell):
(WebInspector.HeapSnapshotGenericObjectNode.prototype.get data):
(WebInspector.HeapSnapshotGenericObjectNode.prototype.queryObjectContent.else.formatResult):
(WebInspector.HeapSnapshotGenericObjectNode.prototype.queryObjectContent):
(WebInspector.HeapSnapshotGenericObjectNode.prototype.get _retainedSizePercent):
(WebInspector.HeapSnapshotGenericObjectNode.prototype.get _shallowSizePercent):
(WebInspector.HeapSnapshotGenericObjectNode.prototype.updateHasChildren):
(WebInspector.HeapSnapshotGenericObjectNode.prototype.isWindow):
(WebInspector.HeapSnapshotGenericObjectNode.prototype.shortenWindowURL):
(WebInspector.HeapSnapshotObjectNode):
(WebInspector.HeapSnapshotObjectNode.prototype.updateHasChildren):
(WebInspector.HeapSnapshotObjectNode.prototype._createChildNode):
(WebInspector.HeapSnapshotObjectNode.prototype._childHashForEntity):
(WebInspector.HeapSnapshotObjectNode.prototype._childHashForNode):
(WebInspector.HeapSnapshotObjectNode.prototype.comparator):
(WebInspector.HeapSnapshotObjectNode.prototype._emptyData):
(WebInspector.HeapSnapshotObjectNode.prototype._enhanceData):
(WebInspector.HeapSnapshotObjectNode.prototype._prefixObjectCell):
(WebInspector.HeapSnapshotInstanceNode):
(WebInspector.HeapSnapshotInstanceNode.prototype._createChildNode):
(WebInspector.HeapSnapshotInstanceNode.prototype._childHashForEntity):
(WebInspector.HeapSnapshotInstanceNode.prototype._childHashForNode):
(WebInspector.HeapSnapshotInstanceNode.prototype.comparator):
(WebInspector.HeapSnapshotInstanceNode.prototype._emptyData):
(WebInspector.HeapSnapshotInstanceNode.prototype._enhanceData):
(WebInspector.HeapSnapshotInstanceNode.prototype.get isDeletedNode):
(WebInspector.HeapSnapshotConstructorNode):
(WebInspector.HeapSnapshotConstructorNode.prototype.createCell):
(WebInspector.HeapSnapshotConstructorNode.prototype._createChildNode):
(WebInspector.HeapSnapshotConstructorNode.prototype._createNodesProvider):
(WebInspector.HeapSnapshotConstructorNode.prototype.comparator):
(WebInspector.HeapSnapshotConstructorNode.prototype._childHashForEntity):
(WebInspector.HeapSnapshotConstructorNode.prototype._childHashForNode):
(WebInspector.HeapSnapshotConstructorNode.prototype.get data):
(WebInspector.HeapSnapshotConstructorNode.prototype.get _countPercent):
(WebInspector.HeapSnapshotConstructorNode.prototype.get _retainedSizePercent):
(WebInspector.HeapSnapshotConstructorNode.prototype.get _shallowSizePercent):
(WebInspector.HeapSnapshotIteratorsTuple):
(WebInspector.HeapSnapshotIteratorsTuple.prototype.dispose):
(WebInspector.HeapSnapshotIteratorsTuple.prototype.sortAndRewind):
(WebInspector.HeapSnapshotDiffNode):
(WebInspector.HeapSnapshotDiffNode.prototype.calculateDiff.diffCalculated):
(WebInspector.HeapSnapshotDiffNode.prototype.calculateDiff):
(WebInspector.HeapSnapshotDiffNode.prototype.calculateDiff.baseIdsReceived):
(WebInspector.HeapSnapshotDiffNode.prototype.calculateDiff.idsReceived):
(WebInspector.HeapSnapshotDiffNode.prototype._createChildNode):
(WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider.createProvider):
(WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider):
(WebInspector.HeapSnapshotDiffNode.prototype._childHashForEntity):
(WebInspector.HeapSnapshotDiffNode.prototype._childHashForNode):
(WebInspector.HeapSnapshotDiffNode.prototype.comparator):
(WebInspector.HeapSnapshotDiffNode.prototype.populateChildren.firstProviderPopulated):
(WebInspector.HeapSnapshotDiffNode.prototype.populateChildren.else.firstProviderPopulated):
(WebInspector.HeapSnapshotDiffNode.prototype.populateChildren):
(WebInspector.HeapSnapshotDiffNode.prototype._signForDelta):
(WebInspector.HeapSnapshotDiffNode.prototype.get data):
(WebInspector.HeapSnapshotDominatorObjectNode):
(WebInspector.HeapSnapshotDominatorObjectNode.prototype._createChildNode):
(WebInspector.HeapSnapshotDominatorObjectNode.prototype._createProvider):
(WebInspector.HeapSnapshotDominatorObjectNode.prototype._childHashForEntity):
(WebInspector.HeapSnapshotDominatorObjectNode.prototype._childHashForNode):
(WebInspector.HeapSnapshotDominatorObjectNode.prototype.comparator):
(WebInspector.HeapSnapshotDominatorObjectNode.prototype._emptyData):
(MixInSnapshotNodeFunctions):
* inspector/front-end/HeapSnapshotView.js: Renamed from Source/WebCore/inspector/front-end/DetailedHeapshotView.js.
(WebInspector.HeapSnapshotSortableDataGrid):
(WebInspector.HeapSnapshotSortableDataGrid.prototype.dispose):
(WebInspector.HeapSnapshotSortableDataGrid.prototype.resetSortingCache):
(WebInspector.HeapSnapshotSortableDataGrid.prototype.sortingChanged.SortByTwoFields):
(WebInspector.HeapSnapshotSortableDataGrid.prototype.sortingChanged):
(WebInspector.HeapSnapshotSortableDataGrid.prototype.updateVisibleNodes):
(WebInspector.HeapSnapshotSortableDataGrid.prototype.onResize):
(WebInspector.HeapSnapshotSortableDataGrid.prototype._onScroll):
(WebInspector.HeapSnapshotSortableDataGrid.prototype._performSorting):
(WebInspector.HeapSnapshotSortableDataGrid.prototype.recursiveSortingEnter):
(WebInspector.HeapSnapshotSortableDataGrid.prototype.recursiveSortingLeave):
(WebInspector.HeapSnapshotContainmentDataGrid):
(WebInspector.HeapSnapshotContainmentDataGrid.prototype._defaultPopulateCount.100.expandRoute.nextStep.else.afterExpand):
(WebInspector.HeapSnapshotContainmentDataGrid.prototype._defaultPopulateCount.100.expandRoute):
(WebInspector.HeapSnapshotContainmentDataGrid.prototype.setDataSource):
(WebInspector.HeapSnapshotContainmentDataGrid.prototype.sortingChanged):
(WebInspector.HeapSnapshotRetainmentDataGrid):
(WebInspector.HeapSnapshotRetainmentDataGrid.prototype._sortFields):
(WebInspector.HeapSnapshotRetainmentDataGrid.prototype.reset):
(WebInspector.HeapSnapshotConstructorsDataGrid):
(WebInspector.HeapSnapshotConstructorsDataGrid.prototype._defaultPopulateCount.100._sortFields):
(WebInspector.HeapSnapshotConstructorsDataGrid.prototype.setDataSource):
(WebInspector.HeapSnapshotConstructorsDataGrid.prototype.populateChildren):
(WebInspector.HeapSnapshotConstructorsDataGrid.prototype._filterSelectIndexChanged):
(WebInspector.HeapSnapshotDiffDataGrid):
(WebInspector.HeapSnapshotDiffDataGrid.prototype._defaultPopulateCount.50._sortFields):
(WebInspector.HeapSnapshotDiffDataGrid.prototype.setDataSource):
(WebInspector.HeapSnapshotDiffDataGrid.prototype._baseProfileIndexChanged):
(WebInspector.HeapSnapshotDiffDataGrid.prototype.setBaseDataSource):
(WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren.baseAggregatesReceived.aggregatesReceived.addNodeIfNonZeroDiff):
(WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren.baseAggregatesReceived.aggregatesReceived):
(WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren):
(WebInspector.HeapSnapshotDominatorsDataGrid):
(WebInspector.HeapSnapshotDominatorsDataGrid.prototype._defaultPopulateCount.25.setDataSource):
(WebInspector.HeapSnapshotDominatorsDataGrid.prototype.sortingChanged):
(WebInspector.HeapSnapshotView.profileCallback):
(WebInspector.HeapSnapshotView):
(WebInspector.HeapSnapshotView.prototype.dispose):
(WebInspector.HeapSnapshotView.prototype.get statusBarItems):
(WebInspector.HeapSnapshotView.prototype.get profile):
(WebInspector.HeapSnapshotView.prototype.get profileWrapper):
(WebInspector.HeapSnapshotView.prototype.get baseProfile):
(WebInspector.HeapSnapshotView.prototype.get baseProfileWrapper):
(WebInspector.HeapSnapshotView.prototype.wasShown.profileCallback1):
(WebInspector.HeapSnapshotView.prototype.wasShown.profileCallback2):
(WebInspector.HeapSnapshotView.prototype.wasShown):
(WebInspector.HeapSnapshotView.prototype.willHide):
(WebInspector.HeapSnapshotView.prototype.onResize):
(WebInspector.HeapSnapshotView.prototype.searchCanceled):
(WebInspector.HeapSnapshotView.prototype.performSearch.matchesByName):
(WebInspector.HeapSnapshotView.prototype.performSearch.matchesById):
(WebInspector.HeapSnapshotView.prototype.performSearch.matchesQuery):
(WebInspector.HeapSnapshotView.prototype.performSearch):
(WebInspector.HeapSnapshotView.prototype.jumpToFirstSearchResult):
(WebInspector.HeapSnapshotView.prototype.jumpToLastSearchResult):
(WebInspector.HeapSnapshotView.prototype.jumpToNextSearchResult):
(WebInspector.HeapSnapshotView.prototype.jumpToPreviousSearchResult):
(WebInspector.HeapSnapshotView.prototype.showingFirstSearchResult):
(WebInspector.HeapSnapshotView.prototype.showingLastSearchResult):
(WebInspector.HeapSnapshotView.prototype._jumpToSearchResult):
(WebInspector.HeapSnapshotView.prototype.refreshVisibleData):
(WebInspector.HeapSnapshotView.prototype._changeBase):
(WebInspector.HeapSnapshotView.prototype._changeFilter):
(WebInspector.HeapSnapshotView.prototype._createToolbarWithClassNameFilter):
(WebInspector.HeapSnapshotView.prototype._changeNameFilter):
(WebInspector.HeapSnapshotView.prototype._profiles):
(WebInspector.HeapSnapshotView.prototype._loadProfile):
(WebInspector.HeapSnapshotView.prototype._loadProfileByIndex):
(WebInspector.HeapSnapshotView.prototype.isDetailedSnapshot):
(WebInspector.HeapSnapshotView.prototype.processLoadedSnapshot):
(WebInspector.HeapSnapshotView.prototype._selectionChanged):
(WebInspector.HeapSnapshotView.prototype._inspectedObjectChanged):
(WebInspector.HeapSnapshotView.prototype._setRetainmentDataGridSource):
(WebInspector.HeapSnapshotView.prototype._mouseDownInContentsGrid):
(WebInspector.HeapSnapshotView.prototype.changeView.sortingComplete):
(WebInspector.HeapSnapshotView.prototype.changeView):
(WebInspector.HeapSnapshotView.prototype._changeView):
(WebInspector.HeapSnapshotView.prototype._getHoverAnchor):
(WebInspector.HeapSnapshotView.prototype._resolveObjectForPopover):
(WebInspector.HeapSnapshotView.prototype._helpClicked.appendHelp):
(WebInspector.HeapSnapshotView.prototype._helpClicked):
(WebInspector.HeapSnapshotView.prototype._startRetainersHeaderDragging):
(WebInspector.HeapSnapshotView.prototype._retainersHeaderDragging):
(WebInspector.HeapSnapshotView.prototype._endRetainersHeaderDragging):
(WebInspector.HeapSnapshotView.prototype._updateRetainmentViewHeight):
(WebInspector.HeapSnapshotView.prototype._updateBaseOptions):
(WebInspector.HeapSnapshotView.prototype._updateFilterOptions):
(WebInspector.HeapSnapshotProfileType):
(WebInspector.HeapSnapshotProfileType.prototype.get buttonTooltip):
(WebInspector.HeapSnapshotProfileType.prototype.buttonClicked):
(WebInspector.HeapSnapshotProfileType.prototype.get treeItemTitle):
(WebInspector.HeapSnapshotProfileType.prototype.get description):
(WebInspector.HeapSnapshotProfileType.prototype.createSidebarTreeElementForProfile):
(WebInspector.HeapSnapshotProfileType.prototype.createView):
* inspector/front-end/ProfilesPanel.js:
(WebInspector.ProfilesPanel.prototype._addHeapSnapshotChunk):
(WebInspector.ProfilesPanel.prototype.takeHeapSnapshot):
(WebInspector.ProfilesPanel.prototype._reportHeapSnapshotProgress):
* inspector/front-end/WebKit.qrc:
* inspector/front-end/heapProfiler.css:
(.heap-snapshot-view):
(.heap-snapshot-view.visible):
(.heap-snapshot-view .view):
(.heap-snapshot-view .view.visible):
(.heap-snapshot-view .data-grid tr:empty):
(.heap-snapshot-view .data-grid):
(.heap-snapshot-view .data-grid td.count-column):
(.heap-snapshot-view .data-grid td.addedCount-column):
(.heap-snapshot-view .data-grid td.removedCount-column):
(.heap-snapshot-view .data-grid td.countDelta-column):
(.heap-snapshot-view .data-grid td.addedSize-column):
(.heap-snapshot-view .data-grid td.removedSize-column):
(.heap-snapshot-view .data-grid td.sizeDelta-column):
(.heap-snapshot-view .data-grid td.shallowSize-column):
(.heap-snapshot-view .data-grid td.retainedSize-column):
(.heap-snapshot-view .data-grid td.distanceToWindow-column):
(.heap-snapshot-view .data-grid span.percent-column):
(.heap-snapshot-view .console-formatted-object, .console-formatted-node):
(.heap-snapshot-view .console-formatted-string):
(.heap-snapshot-view .console-formatted-id):
(.heap-snapshot-view .data-grid tr.selected *):
(.heap-snapshot-view .data-grid:focus tr.selected *):
(.heap-snapshot-view .delimiter):
(.heap-snapshot-view .views-container):
(.heap-snapshot-view .views-container .view):
(.heap-snapshot-view .retaining-paths-view):
(.heap-snapshot-view .class-view-grid):
(.heap-snapshot-view .class-view-toolbar):
(.heap-snapshot-view .class-view-toolbar input.class-name-filter):
(.heap-snapshot-view .retainers-view-header):
(.heap-snapshot-view .retainers-view-header .title > span):
(.heap-snapshot-view tr:not(.selected) td.object-column span.highlight):
(.heap-snapshot-view td.object-column span.grayed):
(.heap-snapshot-help-status-bar-item .glyph):
(table.heap-snapshot-help):
* inspector/front-end/inspector.html:
LayoutTests:
* inspector/profiler/detailed-heapshots-test.js: Removed.
* inspector/profiler/heap-snapshot-comparison-expansion-preserved-when-sorting-expected.txt: Renamed from LayoutTests/inspector/profiler/detailed-heapshots-comparison-expansion-preserved-when-sorting-expected.txt.
* inspector/profiler/heap-snapshot-comparison-expansion-preserved-when-sorting.html: Renamed from LayoutTests/inspector/profiler/detailed-heapshots-comparison-expansion-preserved-when-sorting.html.
* inspector/profiler/heap-snapshot-comparison-show-all-expected.txt: Renamed from LayoutTests/inspector/profiler/detailed-heapshots-comparison-show-all-expected.txt.
* inspector/profiler/heap-snapshot-comparison-show-all.html: Renamed from LayoutTests/inspector/profiler/detailed-heapshots-comparison-show-all.html.
* inspector/profiler/heap-snapshot-comparison-show-next-expected.txt: Renamed from LayoutTests/inspector/profiler/detailed-heapshots-comparison-show-next-expected.txt.
* inspector/profiler/heap-snapshot-comparison-show-next.html: Renamed from LayoutTests/inspector/profiler/detailed-heapshots-comparison-show-next.html.
* inspector/profiler/heap-snapshot-comparison-shown-node-count-preserved-when-sorting-expected.txt: Renamed from LayoutTests/inspector/profiler/detailed-heapshots-comparison-shown-node-count-preserved-when-sorting-expected.txt.
* inspector/profiler/heap-snapshot-comparison-shown-node-count-preserved-when-sorting.html: Renamed from LayoutTests/inspector/profiler/detailed-heapshots-comparison-shown-node-count-preserved-when-sorting.html.
* inspector/profiler/heap-snapshot-comparison-sorting-expected.txt: Renamed from LayoutTests/inspector/profiler/detailed-heapshots-comparison-sorting-expected.txt.
* inspector/profiler/heap-snapshot-comparison-sorting.html: Renamed from LayoutTests/inspector/profiler/detailed-heapshots-comparison-sorting.html.
* inspector/profiler/heap-snapshot-containment-expansion-preserved-when-sorting-expected.txt: Renamed from LayoutTests/inspector/profiler/detailed-heapshots-containment-expansion-preserved-when-sorting-expected.txt.
* inspector/profiler/heap-snapshot-containment-expansion-preserved-when-sorting.html: Renamed from LayoutTests/inspector/profiler/detailed-heapshots-containment-expansion-preserved-when-sorting.html.
* inspector/profiler/heap-snapshot-containment-show-all-expected.txt: Renamed from LayoutTests/inspector/profiler/detailed-heapshots-containment-show-all-expected.txt.
* inspector/profiler/heap-snapshot-containment-show-all.html: Renamed from LayoutTests/inspector/profiler/detailed-heapshots-containment-show-all.html.
* inspector/profiler/heap-snapshot-containment-show-next-expected.txt: Renamed from LayoutTests/inspector/profiler/detailed-heapshots-containment-show-next-expected.txt.
* inspector/profiler/heap-snapshot-containment-show-next.html: Renamed from LayoutTests/inspector/profiler/detailed-heapshots-containment-show-next.html.
* inspector/profiler/heap-snapshot-containment-shown-node-count-preserved-when-sorting-expected.txt: Renamed from LayoutTests/inspector/profiler/detailed-heapshots-containment-shown-node-count-preserved-when-sorting-expected.txt.
* inspector/profiler/heap-snapshot-containment-shown-node-count-preserved-when-sorting.html: Renamed from LayoutTests/inspector/profiler/detailed-heapshots-containment-shown-node-count-preserved-when-sorting.html.
* inspector/profiler/heap-snapshot-containment-sorting-expected.txt: Renamed from LayoutTests/inspector/profiler/detailed-heapshots-containment-sorting-expected.txt.
* inspector/profiler/heap-snapshot-containment-sorting.html: Renamed from LayoutTests/inspector/profiler/detailed-heapshots-containment-sorting.html.
* inspector/profiler/heap-snapshot-dominators-expansion-preserved-when-sorting-expected.txt: Renamed from LayoutTests/inspector/profiler/detailed-heapshots-dominators-expansion-preserved-when-sorting-expected.txt.
* inspector/profiler/heap-snapshot-dominators-expansion-preserved-when-sorting.html: Renamed from LayoutTests/inspector/profiler/detailed-heapshots-dominators-expansion-preserved-when-sorting.html.
* inspector/profiler/heap-snapshot-dominators-show-all-expected.txt: Renamed from LayoutTests/inspector/profiler/detailed-heapshots-dominators-show-all-expected.txt.
* inspector/profiler/heap-snapshot-dominators-show-all.html: Renamed from LayoutTests/inspector/profiler/detailed-heapshots-dominators-show-all.html.
* inspector/profiler/heap-snapshot-dominators-show-next-actual.txt: Renamed from LayoutTests/inspector/profiler/detailed-heapshots-dominators-show-next-actual.txt.
* inspector/profiler/heap-snapshot-dominators-show-next-expected.txt: Renamed from LayoutTests/inspector/profiler/detailed-heapshots-dominators-show-next-expected.txt.
* inspector/profiler/heap-snapshot-dominators-show-next.html: Renamed from LayoutTests/inspector/profiler/detailed-heapshots-dominators-show-next.html.
* inspector/profiler/heap-snapshot-dominators-shown-node-count-preserved-when-sorting-expected.txt: Renamed from LayoutTests/inspector/profiler/detailed-heapshots-dominators-shown-node-count-preserved-when-sorting-expected.txt.
* inspector/profiler/heap-snapshot-dominators-shown-node-count-preserved-when-sorting.html: Renamed from LayoutTests/inspector/profiler/detailed-heapshots-dominators-shown-node-count-preserved-when-sorting.html.
* inspector/profiler/heap-snapshot-dominators-sorting-expected.txt: Renamed from LayoutTests/inspector/profiler/detailed-heapshots-dominators-sorting-expected.txt.
* inspector/profiler/heap-snapshot-dominators-sorting.html: Renamed from LayoutTests/inspector/profiler/detailed-heapshots-dominators-sorting.html.
* inspector/profiler/heap-snapshot-inspect-dom-wrapper.html:
* inspector/profiler/heap-snapshot-summary-expansion-preserved-when-sorting-expected.txt: Renamed from LayoutTests/inspector/profiler/detailed-heapshots-summary-expansion-preserved-when-sorting-expected.txt.
* inspector/profiler/heap-snapshot-summary-expansion-preserved-when-sorting.html: Renamed from LayoutTests/inspector/profiler/detailed-heapshots-summary-expansion-preserved-when-sorting.html.
* inspector/profiler/heap-snapshot-summary-show-all-expected.txt: Renamed from LayoutTests/inspector/profiler/detailed-heapshots-summary-show-all-expected.txt.
* inspector/profiler/heap-snapshot-summary-show-all.html: Renamed from LayoutTests/inspector/profiler/detailed-heapshots-summary-show-all.html.
* inspector/profiler/heap-snapshot-summary-show-next-expected.txt: Renamed from LayoutTests/inspector/profiler/detailed-heapshots-summary-show-next-expected.txt.
* inspector/profiler/heap-snapshot-summary-show-next.html: Renamed from LayoutTests/inspector/profiler/detailed-heapshots-summary-show-next.html.
* inspector/profiler/heap-snapshot-summary-shown-node-count-preserved-when-sorting-expected.txt: Renamed from LayoutTests/inspector/profiler/detailed-heapshots-summary-shown-node-count-preserved-when-sorting-expected.txt.
* inspector/profiler/heap-snapshot-summary-shown-node-count-preserved-when-sorting.html: Renamed from LayoutTests/inspector/profiler/detailed-heapshots-summary-shown-node-count-preserved-when-sorting.html.
* inspector/profiler/heap-snapshot-summary-sorting-expected.txt: Renamed from LayoutTests/inspector/profiler/detailed-heapshots-summary-sorting-expected.txt.
* inspector/profiler/heap-snapshot-summary-sorting.html: Renamed from LayoutTests/inspector/profiler/detailed-heapshots-summary-sorting.html.
* inspector/profiler/heap-snapshot-test.js:
(initialize_HeapSnapshotTest.InspectorTest.startProfilerTest.detailedHeapProfilesEnabled):
(initialize_HeapSnapshotTest.InspectorTest.completeProfilerTest):
(initialize_HeapSnapshotTest.InspectorTest.runHeapSnapshotTestSuite.runner):
(initialize_HeapSnapshotTest.InspectorTest.runHeapSnapshotTestSuite):
(initialize_HeapSnapshotTest):
(initialize_HeapSnapshotTest.):
* platform/chromium/inspector/profiler/heap-snapshot-comparison-expansion-preserved-when-sorting-expected.txt: Renamed from LayoutTests/platform/chromium/inspector/profiler/detailed-heapshots-comparison-expansion-preserved-when-sorting-expected.txt.
* platform/chromium/inspector/profiler/heap-snapshot-comparison-show-all-expected.txt: Renamed from LayoutTests/platform/chromium/inspector/profiler/detailed-heapshots-comparison-show-all-expected.txt.
* platform/chromium/inspector/profiler/heap-snapshot-comparison-show-next-expected.txt: Renamed from LayoutTests/platform/chromium/inspector/profiler/detailed-heapshots-comparison-show-next-expected.txt.
* platform/chromium/inspector/profiler/heap-snapshot-comparison-shown-node-count-preserved-when-sorting-expected.txt: Renamed from LayoutTests/platform/chromium/inspector/profiler/detailed-heapshots-comparison-shown-node-count-preserved-when-sorting-expected.txt.
* platform/chromium/inspector/profiler/heap-snapshot-comparison-sorting-expected.txt: Renamed from LayoutTests/platform/chromium/inspector/profiler/detailed-heapshots-comparison-sorting-expected.txt.
* platform/chromium/inspector/profiler/heap-snapshot-containment-expansion-preserved-when-sorting-expected.txt: Renamed from LayoutTests/platform/chromium/inspector/profiler/detailed-heapshots-containment-expansion-preserved-when-sorting-expected.txt.
* platform/chromium/inspector/profiler/heap-snapshot-containment-show-all-expected.txt: Renamed from LayoutTests/platform/chromium/inspector/profiler/detailed-heapshots-containment-show-all-expected.txt.
* platform/chromium/inspector/profiler/heap-snapshot-containment-show-next-expected.txt: Renamed from LayoutTests/platform/chromium/inspector/profiler/detailed-heapshots-containment-show-next-expected.txt.
* platform/chromium/inspector/profiler/heap-snapshot-containment-shown-node-count-preserved-when-sorting-expected.txt: Renamed from LayoutTests/platform/chromium/inspector/profiler/detailed-heapshots-containment-shown-node-count-preserved-when-sorting-expected.txt.
* platform/chromium/inspector/profiler/heap-snapshot-containment-sorting-expected.txt: Renamed from LayoutTests/platform/chromium/inspector/profiler/detailed-heapshots-containment-sorting-expected.txt.
* platform/chromium/inspector/profiler/heap-snapshot-dominators-expansion-preserved-when-sorting-expected.txt: Renamed from LayoutTests/platform/chromium/inspector/profiler/detailed-heapshots-dominators-expansion-preserved-when-sorting-expected.txt.
* platform/chromium/inspector/profiler/heap-snapshot-dominators-show-all-expected.txt: Renamed from LayoutTests/platform/chromium/inspector/profiler/detailed-heapshots-dominators-show-all-expected.txt.
* platform/chromium/inspector/profiler/heap-snapshot-dominators-show-next-expected.txt: Renamed from LayoutTests/platform/chromium/inspector/profiler/detailed-heapshots-dominators-show-next-expected.txt.
* platform/chromium/inspector/profiler/heap-snapshot-dominators-shown-node-count-preserved-when-sorting-expected.txt: Renamed from LayoutTests/platform/chromium/inspector/profiler/detailed-heapshots-dominators-shown-node-count-preserved-when-sorting-expected.txt.
* platform/chromium/inspector/profiler/heap-snapshot-dominators-sorting-expected.txt: Renamed from LayoutTests/platform/chromium/inspector/profiler/detailed-heapshots-dominators-sorting-expected.txt.
* platform/chromium/inspector/profiler/heap-snapshot-summary-expansion-preserved-when-sorting-expected.txt: Renamed from LayoutTests/platform/chromium/inspector/profiler/detailed-heapshots-summary-expansion-preserved-when-sorting-expected.txt.
* platform/chromium/inspector/profiler/heap-snapshot-summary-show-all-expected.txt: Renamed from LayoutTests/platform/chromium/inspector/profiler/detailed-heapshots-summary-show-all-expected.txt.
* platform/chromium/inspector/profiler/heap-snapshot-summary-show-next-expected.txt: Renamed from LayoutTests/platform/chromium/inspector/profiler/detailed-heapshots-summary-show-next-expected.txt.
* platform/chromium/inspector/profiler/heap-snapshot-summary-shown-node-count-preserved-when-sorting-expected.txt: Renamed from LayoutTests/platform/chromium/inspector/profiler/detailed-heapshots-summary-shown-node-count-preserved-when-sorting-expected.txt.
* platform/chromium/inspector/profiler/heap-snapshot-summary-sorting-expected.txt: Renamed from LayoutTests/platform/chromium/inspector/profiler/detailed-heapshots-summary-sorting-expected.txt.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@114271
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
+2012-04-16 Yury Semikhatsky <yurys@chromium.org>
+
+ Web Inspector: rename heap profiler files and classes DetailedHeapshot* ->HeapSnapshot*
+ https://bugs.webkit.org/show_bug.cgi?id=84038
+
+ A bunch of renames "detailed heapshot" -> "heap snapshot".
+
+ Reviewed by Pavel Feldman.
+
+ * inspector/profiler/detailed-heapshots-test.js: Removed.
+ * inspector/profiler/heap-snapshot-comparison-expansion-preserved-when-sorting-expected.txt: Renamed from LayoutTests/inspector/profiler/detailed-heapshots-comparison-expansion-preserved-when-sorting-expected.txt.
+ * inspector/profiler/heap-snapshot-comparison-expansion-preserved-when-sorting.html: Renamed from LayoutTests/inspector/profiler/detailed-heapshots-comparison-expansion-preserved-when-sorting.html.
+ * inspector/profiler/heap-snapshot-comparison-show-all-expected.txt: Renamed from LayoutTests/inspector/profiler/detailed-heapshots-comparison-show-all-expected.txt.
+ * inspector/profiler/heap-snapshot-comparison-show-all.html: Renamed from LayoutTests/inspector/profiler/detailed-heapshots-comparison-show-all.html.
+ * inspector/profiler/heap-snapshot-comparison-show-next-expected.txt: Renamed from LayoutTests/inspector/profiler/detailed-heapshots-comparison-show-next-expected.txt.
+ * inspector/profiler/heap-snapshot-comparison-show-next.html: Renamed from LayoutTests/inspector/profiler/detailed-heapshots-comparison-show-next.html.
+ * inspector/profiler/heap-snapshot-comparison-shown-node-count-preserved-when-sorting-expected.txt: Renamed from LayoutTests/inspector/profiler/detailed-heapshots-comparison-shown-node-count-preserved-when-sorting-expected.txt.
+ * inspector/profiler/heap-snapshot-comparison-shown-node-count-preserved-when-sorting.html: Renamed from LayoutTests/inspector/profiler/detailed-heapshots-comparison-shown-node-count-preserved-when-sorting.html.
+ * inspector/profiler/heap-snapshot-comparison-sorting-expected.txt: Renamed from LayoutTests/inspector/profiler/detailed-heapshots-comparison-sorting-expected.txt.
+ * inspector/profiler/heap-snapshot-comparison-sorting.html: Renamed from LayoutTests/inspector/profiler/detailed-heapshots-comparison-sorting.html.
+ * inspector/profiler/heap-snapshot-containment-expansion-preserved-when-sorting-expected.txt: Renamed from LayoutTests/inspector/profiler/detailed-heapshots-containment-expansion-preserved-when-sorting-expected.txt.
+ * inspector/profiler/heap-snapshot-containment-expansion-preserved-when-sorting.html: Renamed from LayoutTests/inspector/profiler/detailed-heapshots-containment-expansion-preserved-when-sorting.html.
+ * inspector/profiler/heap-snapshot-containment-show-all-expected.txt: Renamed from LayoutTests/inspector/profiler/detailed-heapshots-containment-show-all-expected.txt.
+ * inspector/profiler/heap-snapshot-containment-show-all.html: Renamed from LayoutTests/inspector/profiler/detailed-heapshots-containment-show-all.html.
+ * inspector/profiler/heap-snapshot-containment-show-next-expected.txt: Renamed from LayoutTests/inspector/profiler/detailed-heapshots-containment-show-next-expected.txt.
+ * inspector/profiler/heap-snapshot-containment-show-next.html: Renamed from LayoutTests/inspector/profiler/detailed-heapshots-containment-show-next.html.
+ * inspector/profiler/heap-snapshot-containment-shown-node-count-preserved-when-sorting-expected.txt: Renamed from LayoutTests/inspector/profiler/detailed-heapshots-containment-shown-node-count-preserved-when-sorting-expected.txt.
+ * inspector/profiler/heap-snapshot-containment-shown-node-count-preserved-when-sorting.html: Renamed from LayoutTests/inspector/profiler/detailed-heapshots-containment-shown-node-count-preserved-when-sorting.html.
+ * inspector/profiler/heap-snapshot-containment-sorting-expected.txt: Renamed from LayoutTests/inspector/profiler/detailed-heapshots-containment-sorting-expected.txt.
+ * inspector/profiler/heap-snapshot-containment-sorting.html: Renamed from LayoutTests/inspector/profiler/detailed-heapshots-containment-sorting.html.
+ * inspector/profiler/heap-snapshot-dominators-expansion-preserved-when-sorting-expected.txt: Renamed from LayoutTests/inspector/profiler/detailed-heapshots-dominators-expansion-preserved-when-sorting-expected.txt.
+ * inspector/profiler/heap-snapshot-dominators-expansion-preserved-when-sorting.html: Renamed from LayoutTests/inspector/profiler/detailed-heapshots-dominators-expansion-preserved-when-sorting.html.
+ * inspector/profiler/heap-snapshot-dominators-show-all-expected.txt: Renamed from LayoutTests/inspector/profiler/detailed-heapshots-dominators-show-all-expected.txt.
+ * inspector/profiler/heap-snapshot-dominators-show-all.html: Renamed from LayoutTests/inspector/profiler/detailed-heapshots-dominators-show-all.html.
+ * inspector/profiler/heap-snapshot-dominators-show-next-actual.txt: Renamed from LayoutTests/inspector/profiler/detailed-heapshots-dominators-show-next-actual.txt.
+ * inspector/profiler/heap-snapshot-dominators-show-next-expected.txt: Renamed from LayoutTests/inspector/profiler/detailed-heapshots-dominators-show-next-expected.txt.
+ * inspector/profiler/heap-snapshot-dominators-show-next.html: Renamed from LayoutTests/inspector/profiler/detailed-heapshots-dominators-show-next.html.
+ * inspector/profiler/heap-snapshot-dominators-shown-node-count-preserved-when-sorting-expected.txt: Renamed from LayoutTests/inspector/profiler/detailed-heapshots-dominators-shown-node-count-preserved-when-sorting-expected.txt.
+ * inspector/profiler/heap-snapshot-dominators-shown-node-count-preserved-when-sorting.html: Renamed from LayoutTests/inspector/profiler/detailed-heapshots-dominators-shown-node-count-preserved-when-sorting.html.
+ * inspector/profiler/heap-snapshot-dominators-sorting-expected.txt: Renamed from LayoutTests/inspector/profiler/detailed-heapshots-dominators-sorting-expected.txt.
+ * inspector/profiler/heap-snapshot-dominators-sorting.html: Renamed from LayoutTests/inspector/profiler/detailed-heapshots-dominators-sorting.html.
+ * inspector/profiler/heap-snapshot-inspect-dom-wrapper.html:
+ * inspector/profiler/heap-snapshot-summary-expansion-preserved-when-sorting-expected.txt: Renamed from LayoutTests/inspector/profiler/detailed-heapshots-summary-expansion-preserved-when-sorting-expected.txt.
+ * inspector/profiler/heap-snapshot-summary-expansion-preserved-when-sorting.html: Renamed from LayoutTests/inspector/profiler/detailed-heapshots-summary-expansion-preserved-when-sorting.html.
+ * inspector/profiler/heap-snapshot-summary-show-all-expected.txt: Renamed from LayoutTests/inspector/profiler/detailed-heapshots-summary-show-all-expected.txt.
+ * inspector/profiler/heap-snapshot-summary-show-all.html: Renamed from LayoutTests/inspector/profiler/detailed-heapshots-summary-show-all.html.
+ * inspector/profiler/heap-snapshot-summary-show-next-expected.txt: Renamed from LayoutTests/inspector/profiler/detailed-heapshots-summary-show-next-expected.txt.
+ * inspector/profiler/heap-snapshot-summary-show-next.html: Renamed from LayoutTests/inspector/profiler/detailed-heapshots-summary-show-next.html.
+ * inspector/profiler/heap-snapshot-summary-shown-node-count-preserved-when-sorting-expected.txt: Renamed from LayoutTests/inspector/profiler/detailed-heapshots-summary-shown-node-count-preserved-when-sorting-expected.txt.
+ * inspector/profiler/heap-snapshot-summary-shown-node-count-preserved-when-sorting.html: Renamed from LayoutTests/inspector/profiler/detailed-heapshots-summary-shown-node-count-preserved-when-sorting.html.
+ * inspector/profiler/heap-snapshot-summary-sorting-expected.txt: Renamed from LayoutTests/inspector/profiler/detailed-heapshots-summary-sorting-expected.txt.
+ * inspector/profiler/heap-snapshot-summary-sorting.html: Renamed from LayoutTests/inspector/profiler/detailed-heapshots-summary-sorting.html.
+ * inspector/profiler/heap-snapshot-test.js:
+ (initialize_HeapSnapshotTest.InspectorTest.startProfilerTest.detailedHeapProfilesEnabled):
+ (initialize_HeapSnapshotTest.InspectorTest.completeProfilerTest):
+ (initialize_HeapSnapshotTest.InspectorTest.runHeapSnapshotTestSuite.runner):
+ (initialize_HeapSnapshotTest.InspectorTest.runHeapSnapshotTestSuite):
+ (initialize_HeapSnapshotTest):
+ (initialize_HeapSnapshotTest.):
+ * platform/chromium/inspector/profiler/heap-snapshot-comparison-expansion-preserved-when-sorting-expected.txt: Renamed from LayoutTests/platform/chromium/inspector/profiler/detailed-heapshots-comparison-expansion-preserved-when-sorting-expected.txt.
+ * platform/chromium/inspector/profiler/heap-snapshot-comparison-show-all-expected.txt: Renamed from LayoutTests/platform/chromium/inspector/profiler/detailed-heapshots-comparison-show-all-expected.txt.
+ * platform/chromium/inspector/profiler/heap-snapshot-comparison-show-next-expected.txt: Renamed from LayoutTests/platform/chromium/inspector/profiler/detailed-heapshots-comparison-show-next-expected.txt.
+ * platform/chromium/inspector/profiler/heap-snapshot-comparison-shown-node-count-preserved-when-sorting-expected.txt: Renamed from LayoutTests/platform/chromium/inspector/profiler/detailed-heapshots-comparison-shown-node-count-preserved-when-sorting-expected.txt.
+ * platform/chromium/inspector/profiler/heap-snapshot-comparison-sorting-expected.txt: Renamed from LayoutTests/platform/chromium/inspector/profiler/detailed-heapshots-comparison-sorting-expected.txt.
+ * platform/chromium/inspector/profiler/heap-snapshot-containment-expansion-preserved-when-sorting-expected.txt: Renamed from LayoutTests/platform/chromium/inspector/profiler/detailed-heapshots-containment-expansion-preserved-when-sorting-expected.txt.
+ * platform/chromium/inspector/profiler/heap-snapshot-containment-show-all-expected.txt: Renamed from LayoutTests/platform/chromium/inspector/profiler/detailed-heapshots-containment-show-all-expected.txt.
+ * platform/chromium/inspector/profiler/heap-snapshot-containment-show-next-expected.txt: Renamed from LayoutTests/platform/chromium/inspector/profiler/detailed-heapshots-containment-show-next-expected.txt.
+ * platform/chromium/inspector/profiler/heap-snapshot-containment-shown-node-count-preserved-when-sorting-expected.txt: Renamed from LayoutTests/platform/chromium/inspector/profiler/detailed-heapshots-containment-shown-node-count-preserved-when-sorting-expected.txt.
+ * platform/chromium/inspector/profiler/heap-snapshot-containment-sorting-expected.txt: Renamed from LayoutTests/platform/chromium/inspector/profiler/detailed-heapshots-containment-sorting-expected.txt.
+ * platform/chromium/inspector/profiler/heap-snapshot-dominators-expansion-preserved-when-sorting-expected.txt: Renamed from LayoutTests/platform/chromium/inspector/profiler/detailed-heapshots-dominators-expansion-preserved-when-sorting-expected.txt.
+ * platform/chromium/inspector/profiler/heap-snapshot-dominators-show-all-expected.txt: Renamed from LayoutTests/platform/chromium/inspector/profiler/detailed-heapshots-dominators-show-all-expected.txt.
+ * platform/chromium/inspector/profiler/heap-snapshot-dominators-show-next-expected.txt: Renamed from LayoutTests/platform/chromium/inspector/profiler/detailed-heapshots-dominators-show-next-expected.txt.
+ * platform/chromium/inspector/profiler/heap-snapshot-dominators-shown-node-count-preserved-when-sorting-expected.txt: Renamed from LayoutTests/platform/chromium/inspector/profiler/detailed-heapshots-dominators-shown-node-count-preserved-when-sorting-expected.txt.
+ * platform/chromium/inspector/profiler/heap-snapshot-dominators-sorting-expected.txt: Renamed from LayoutTests/platform/chromium/inspector/profiler/detailed-heapshots-dominators-sorting-expected.txt.
+ * platform/chromium/inspector/profiler/heap-snapshot-summary-expansion-preserved-when-sorting-expected.txt: Renamed from LayoutTests/platform/chromium/inspector/profiler/detailed-heapshots-summary-expansion-preserved-when-sorting-expected.txt.
+ * platform/chromium/inspector/profiler/heap-snapshot-summary-show-all-expected.txt: Renamed from LayoutTests/platform/chromium/inspector/profiler/detailed-heapshots-summary-show-all-expected.txt.
+ * platform/chromium/inspector/profiler/heap-snapshot-summary-show-next-expected.txt: Renamed from LayoutTests/platform/chromium/inspector/profiler/detailed-heapshots-summary-show-next-expected.txt.
+ * platform/chromium/inspector/profiler/heap-snapshot-summary-shown-node-count-preserved-when-sorting-expected.txt: Renamed from LayoutTests/platform/chromium/inspector/profiler/detailed-heapshots-summary-shown-node-count-preserved-when-sorting-expected.txt.
+ * platform/chromium/inspector/profiler/heap-snapshot-summary-sorting-expected.txt: Renamed from LayoutTests/platform/chromium/inspector/profiler/detailed-heapshots-summary-sorting-expected.txt.
+
2012-04-16 Xiaomei Ji <xji@chromium.org>
[chromium] wrong justification for arabic/persian page in cr-win.
+++ /dev/null
-var initialize_DetailedHeapshotTest = function() {
-
-InspectorTest.startProfilerTest = function(callback)
-{
- WebInspector.showPanel("profiles");
- WebInspector.settings.showHeapSnapshotObjectsHiddenProperties.set(true);
-
- function profilerEnabled()
- {
- InspectorTest.addResult("Profiler was enabled.");
- // We mock out ProfilerAgent -- as DRT runs in single-process mode, Inspector
- // and test share the same heap. Taking a snapshot takes too long for a test,
- // so we provide synthetic snapshots.
- InspectorTest._panelReset = InspectorTest.override(WebInspector.panels.profiles, "_reset", function(){}, true);
- InspectorTest.addSniffer(WebInspector.DetailedHeapshotView.prototype, "_loadProfile", InspectorTest._snapshotViewShown, true);
-
- detailedHeapProfilesEnabled();
- }
-
- function detailedHeapProfilesEnabled()
- {
- // Reduce the number of populated nodes to speed up testing.
- WebInspector.HeapSnapshotContainmentDataGrid.prototype._defaultPopulateCount = 10;
- WebInspector.HeapSnapshotConstructorsDataGrid.prototype._defaultPopulateCount = 10;
- WebInspector.HeapSnapshotDiffDataGrid.prototype._defaultPopulateCount = 5;
- WebInspector.HeapSnapshotDominatorsDataGrid.prototype._defaultPopulateCount = 3;
- InspectorTest.addResult("Detailed heap profiles were enabled.");
- InspectorTest.safeWrap(callback)();
- }
-
- if (WebInspector.panels.profiles._profilerEnabled)
- profilerEnabled();
- else {
- InspectorTest.addSniffer(WebInspector.panels.profiles, "_profilerWasEnabled", profilerEnabled);
- WebInspector.panels.profiles._toggleProfiling(false);
- }
-};
-
-InspectorTest.completeProfilerTest = function()
-{
- // There is no way to disable detailed heap profiles.
-
- function completeTest()
- {
- InspectorTest.addResult("");
- InspectorTest.addResult("Profiler was disabled.");
- InspectorTest.completeTest();
- }
-
- var profilesPanel = WebInspector.panels.profiles;
- if (!profilesPanel._profilerEnabled)
- completeTest();
- else {
- InspectorTest.addSniffer(WebInspector.panels.profiles, "_profilerWasDisabled", completeTest);
- profilesPanel._toggleProfiling(false);
- }
-};
-
-InspectorTest.runDetailedHeapshotTestSuite = function(testSuite)
-{
- if (!Capabilities.heapProfilerPresent) {
- InspectorTest.addResult("Heap profiler is disabled");
- InspectorTest.completeTest();
- return;
- }
-
- InspectorTest._nextUid = 1;
- var testSuiteTests = testSuite.slice();
-
- function runner()
- {
- if (!testSuiteTests.length) {
- InspectorTest.completeProfilerTest();
- return;
- }
-
- var nextTest = testSuiteTests.shift();
- InspectorTest.addResult("");
- InspectorTest.addResult("Running: " + /function\s([^(]*)/.exec(nextTest)[1]);
- InspectorTest._panelReset.call(WebInspector.panels.profiles);
- InspectorTest.safeWrap(nextTest)(runner, runner);
- }
-
- InspectorTest.startProfilerTest(runner);
-};
-
-InspectorTest.assertColumnContentsEqual = function(reference, actual)
-{
- var length = Math.min(reference.length, actual.length);
- for (var i = 0; i < length; ++i)
- InspectorTest.assertEquals(reference[i], actual[i], "row " + i);
- if (reference.length > length)
- InspectorTest.addResult("extra rows in reference array:\n" + reference.slice(length).join("\n"));
- else if (actual.length > length)
- InspectorTest.addResult("extra rows in actual array:\n" + actual.slice(length).join("\n"));
-};
-
-InspectorTest.checkArrayIsSorted = function(contents, sortType, sortOrder)
-{
- function simpleComparator(a, b)
- {
- return a < b ? -1 : (a > b ? 1 : 0);
- }
- function parseSize(size)
- {
- if (size.charAt(0) === ">")
- size = size.substring(2);
- var amount = parseFloat(size, 10);
- var multiplier = {
- "KB": 1024,
- "MB": 1024 * 1024
- }[size.substring(size.length - 2)];
- return multiplier ? amount * multiplier : amount;
- }
- function extractName(data)
- {
- data = JSON.parse(data);
- if (!data.name)
- InspectorTest.addResult("No name field in " + JSON.stringify(data));
- return parseInt(data.name, 10);
- }
- function extractId(data)
- {
- data = JSON.parse(data);
- if (!data.nodeId)
- InspectorTest.addResult("No nodeId field in " + JSON.stringify(data));
- return parseInt(data.nodeId, 10);
- }
- var comparator = {
- text: simpleComparator,
- number: function (a, b) { return simpleComparator(parseInt(a, 10), parseInt(b, 10)); },
- size: function (a, b) { return simpleComparator(parseSize(a), parseSize(b)); },
- name: function (a, b) { return simpleComparator(extractName(a), extractName(b)); },
- id: function (a, b) { return simpleComparator(extractId(a), extractId(b)); }
- }[sortType];
- var acceptableComparisonResult = {
- ascending: -1,
- descending: 1
- }[sortOrder];
-
- if (!comparator) {
- InspectorTest.addResult("Invalid sort type: " + sortType);
- return;
- }
- if (!acceptableComparisonResult) {
- InspectorTest.addResult("Invalid sort order: " + sortOrder);
- return;
- }
-
- for (var i = 0; i < contents.length - 1; ++i) {
- var result = comparator(contents[i], contents[i + 1]);
- if (result !== 0 && result !== acceptableComparisonResult)
- InspectorTest.addResult("Elements " + i + " and " + (i + 1) + " are out of order: " + contents[i] + " " + contents[i + 1] + " (" + sortOrder + ")");
- }
-};
-
-InspectorTest.clickColumn = function(column, callback)
-{
- callback = InspectorTest.safeWrap(callback);
- var cell = this._currentGrid()._headerTableHeaders[column.identifier];
- var event = { target: { enclosingNodeOrSelfWithNodeName: function() { return cell; } } };
-
- function sortingComplete()
- {
- InspectorTest._currentGrid().removeEventListener("sorting complete", sortingComplete, this);
- InspectorTest.assertEquals(column.identifier, this._currentGrid().sortColumnIdentifier, "unexpected sorting");
- column.sort = this._currentGrid().sortOrder;
- function callCallback()
- {
- callback(column);
- }
- setTimeout(callCallback, 0);
- }
- InspectorTest._currentGrid().addEventListener("sorting complete", sortingComplete, this);
- this._currentGrid()._clickInHeaderCell(event);
-};
-
-InspectorTest.clickShowMoreButton = function(buttonName, row, callback)
-{
- callback = InspectorTest.safeWrap(callback);
- var parent = row.parent;
- function populateComplete()
- {
- parent.removeEventListener("populate complete", populateComplete, this);
- function callCallback()
- {
- callback(parent);
- }
- setTimeout(callCallback, 0);
- }
- parent.addEventListener("populate complete", populateComplete, this);
- row[buttonName].click();
-};
-
-InspectorTest.columnContents = function(column, row)
-{
- var result = [];
- var parent = row || this._currentGrid();
- for (var node = parent.children[0]; node; node = node.traverseNextNode(true, parent, true)) {
- if (!node.selectable)
- continue;
- var data = node.data[column.identifier];
- if (typeof data === "object")
- data = JSON.stringify(data);
- result.push(data);
- }
- return result;
-};
-
-InspectorTest.countDataRows = function(row, filter)
-{
- var result = 0;
- filter = filter || function(node) { return node.selectable; };
- for (var node = row.children[0]; node; node = node.traverseNextNode(true, row, true)) {
- if (filter(node))
- ++result;
- }
- return result;
-};
-
-InspectorTest.createHeapSnapshot = function(instanceCount, firstId)
-{
- // Mocking results of running the following code:
- //
- // function A() { this.a = this; }
- // function B(x) { this.a = new A(x); }
- // for (var i = 0; i < instanceCount; ++i) new B();
- //
- // Instances of A have 12 bytes size, instances of B has 16 bytes size.
- var sizeOfA = 12;
- var sizeOfB = 16;
-
- function generateNodes()
- {
- var nodes = [null];
- // Push the 'meta-root' node.
- nodes.push(0, 0, 1, 0, (sizeOfA + sizeOfB) * instanceCount, 1, 1, 4, 1, null);
- // Push instances of A and B.
- var indexesOfB = [];
- var nextId = firstId || 5;
- for (var i = 0; i < instanceCount; ++i) {
- var indexOfA = nodes.length;
- nodes.push(3, 1, nextId++, sizeOfA, sizeOfA, null, 1, 2, 3, indexOfA);
- var indexOfB = nodes.length;
- // Set dominator of A.
- nodes[indexOfA + 5] = indexOfB;
- nodes.push(3, 2, nextId++, sizeOfB, sizeOfB + sizeOfA, null, 1, 2, 3, indexOfA);
- indexesOfB.push(indexOfB);
- }
- var indexOfGCRoots = nodes.length;
- nodes.push(3, 4, 3, 0, (sizeOfA + sizeOfB) * instanceCount, 1, instanceCount);
- // Set dominator of B.
- for (var i = 0; i < instanceCount; ++i) {
- nodes[indexesOfB[i] + 5] = indexOfGCRoots;
- }
- // Set (GC roots) as child of meta-root.
- nodes[10] = indexOfGCRoots;
- // Push instances of B as children of GC roots.
- for (var i = 0; i < instanceCount; ++i) {
- nodes.push(1, i + 1, indexesOfB[i]);
- }
- return nodes;
- }
-
- var result = {
- "snapshot": {},
- "nodes": generateNodes(),
- "strings": ["", "A", "B", "a", "(GC roots)"]
- };
- result.nodes[0] = {
- "fields":["type","name","id","self_size","retained_size","dominator","children_count","children"],
- "types":[["hidden","array","string","object","code","closure","regexp","number","native"],"string","number","number","number","number","number",{
- "fields":["type","name_or_index","to_node"],
- "types":[["context","element","property","internal","hidden","shortcut"],"string_or_number","node"]}]};
- return result;
-};
-
-InspectorTest.expandRow = function(row, callback)
-{
- callback = InspectorTest.safeWrap(callback);
- function populateComplete()
- {
- row.removeEventListener("populate complete", populateComplete, this);
- function callCallback()
- {
- callback(row);
- }
- setTimeout(callCallback, 0);
- }
- row.addEventListener("populate complete", populateComplete, this);
- (function expand()
- {
- if (row.hasChildren)
- row.expand();
- else
- setTimeout(expand, 0);
- })();
-};
-
-InspectorTest.findAndExpandGCRoots = function(callback)
-{
- callback = InspectorTest.safeWrap(callback);
- function propertyMatcher(data)
- {
- return data.value === "(GC roots)";
- }
- var gcRoots = InspectorTest.findRow("object", propertyMatcher);
- InspectorTest.assertEquals(true, !!gcRoots, "GC roots row");
- InspectorTest.expandRow(gcRoots, callback);
-}
-
-InspectorTest.findButtonsNode = function(row, startNode)
-{
- var result = 0;
- for (var node = startNode || row.children[0]; node; node = node.traverseNextNode(true, row, true)) {
- if (!node.selectable && node.showNext)
- return node;
- }
- return null;
-};
-
-InspectorTest.findRow = function(columnIdentifier, matcher, parent)
-{
- parent = parent || this._currentGrid();
- if (typeof matcher !== "function") {
- var value = matcher;
- matcher = function(x) { return x === value; };
- }
- for (var node = parent.children[0]; node; node = node.traverseNextNode(true, parent, true)) {
- if (matcher(node.data[columnIdentifier]))
- return node;
- }
- return null;
-};
-
-InspectorTest.findRow2 = function(matcher, parent)
-{
- parent = parent || this._currentGrid();
- for (var node = parent.children[0]; node; node = node.traverseNextNode(true, parent, true)) {
- if (matcher(node.data))
- return node;
- }
- return null;
-};
-
-InspectorTest.switchToView = function(title, callback)
-{
- callback = InspectorTest.safeWrap(callback);
- var view = WebInspector.panels.profiles.visibleView;
- view.changeView(title, callback);
-};
-
-InspectorTest.takeAndOpenSnapshot = function(generator, callback)
-{
- callback = InspectorTest.safeWrap(callback);
- var uid = InspectorTest._nextUid++;
- var profile = { typeId: WebInspector.DetailedHeapshotProfileType.TypeId, uid: uid, title: UserInitiatedProfileName + "." + uid };
- function pushGeneratedSnapshot(typeId, uid)
- {
- var snapshot = generator();
- snapshot.snapshot.typeId = profile.typeId;
- snapshot.snapshot.title = profile.title;
- snapshot.snapshot.uid = profile.uid;
- WebInspector.panels.profiles._addHeapSnapshotChunk(uid, JSON.stringify(snapshot));
- WebInspector.panels.profiles._finishHeapSnapshot(uid);
- }
- InspectorTest.override(ProfilerAgent, "getProfile", pushGeneratedSnapshot);
- InspectorTest._takeAndOpenSnapshotCallback = callback;
- WebInspector.panels.profiles.addProfileHeader(profile);
- WebInspector.panels.profiles.showProfile(profile);
-};
-
-InspectorTest.viewColumns = function()
-{
- return InspectorTest._currentGrid()._columnsArray;
-};
-
-InspectorTest._currentGrid = function()
-{
- return WebInspector.panels.profiles.visibleView.dataGrid;
-};
-
-InspectorTest._snapshotViewShown = function()
-{
- if (InspectorTest._takeAndOpenSnapshotCallback) {
- var callback = InspectorTest._takeAndOpenSnapshotCallback;
- InspectorTest._takeAndOpenSnapshotCallback = null;
- var dataGrid = this.dataGrid;
- function sortingComplete()
- {
- dataGrid.removeEventListener("sorting complete", sortingComplete, null);
- callback();
- }
- dataGrid.addEventListener("sorting complete", sortingComplete, null);
- }
-};
-
-};
<html>
<head>
<script src="../../http/tests/inspector/inspector-test.js"></script>
- <script src="detailed-heapshots-test.js"></script>
+ <script src="heap-snapshot-test.js"></script>
<script>
function test()
return InspectorTest.createHeapSnapshot(instanceCount + 1, 5 + instanceCount);
}
- InspectorTest.runDetailedHeapshotTestSuite([
+ InspectorTest.runHeapSnapshotTestSuite([
function testExpansionPreservedWhenSorting(next)
{
InspectorTest.takeAndOpenSnapshot(createHeapSnapshotA, createSnapshotB);
<html>
<head>
<script src="../../http/tests/inspector/inspector-test.js"></script>
- <script src="detailed-heapshots-test.js"></script>
+ <script src="heap-snapshot-test.js"></script>
<script>
function test()
return InspectorTest.createHeapSnapshot(instanceCount + 1, 5 + instanceCount);
}
- InspectorTest.runDetailedHeapshotTestSuite([
+ InspectorTest.runHeapSnapshotTestSuite([
function testShowAll(next)
{
InspectorTest.takeAndOpenSnapshot(createHeapSnapshotA, createSnapshotB);
<html>
<head>
<script src="../../http/tests/inspector/inspector-test.js"></script>
- <script src="detailed-heapshots-test.js"></script>
+ <script src="heap-snapshot-test.js"></script>
<script>
function test()
return InspectorTest.createHeapSnapshot(instanceCount + 1, 5 + instanceCount);
}
- InspectorTest.runDetailedHeapshotTestSuite([
+ InspectorTest.runHeapSnapshotTestSuite([
function testShowNext(next)
{
InspectorTest.takeAndOpenSnapshot(createHeapSnapshotA, createSnapshotB);
<html>
<head>
<script src="../../http/tests/inspector/inspector-test.js"></script>
- <script src="detailed-heapshots-test.js"></script>
+ <script src="heap-snapshot-test.js"></script>
<script>
function test()
return InspectorTest.createHeapSnapshot(instanceCount + 1, 5 + instanceCount);
}
- InspectorTest.runDetailedHeapshotTestSuite([
+ InspectorTest.runHeapSnapshotTestSuite([
function testExpansionPreservedWhenSorting(next)
{
InspectorTest.takeAndOpenSnapshot(createHeapSnapshotA, createSnapshotB);
<html>
<head>
<script src="../../http/tests/inspector/inspector-test.js"></script>
- <script src="detailed-heapshots-test.js"></script>
+ <script src="heap-snapshot-test.js"></script>
<script>
function test()
return InspectorTest.createHeapSnapshot(instanceCount + 1, 5 + instanceCount);
}
- InspectorTest.runDetailedHeapshotTestSuite([
+ InspectorTest.runHeapSnapshotTestSuite([
function testSorting(next)
{
InspectorTest.takeAndOpenSnapshot(createHeapSnapshotA, createSnapshotB);
<html>
<head>
<script src="../../http/tests/inspector/inspector-test.js"></script>
- <script src="detailed-heapshots-test.js"></script>
+ <script src="heap-snapshot-test.js"></script>
<script>
function test()
return InspectorTest.createHeapSnapshot(instanceCount);
}
- InspectorTest.runDetailedHeapshotTestSuite([
+ InspectorTest.runHeapSnapshotTestSuite([
function testExpansionPreservedWhenSorting(next)
{
InspectorTest.takeAndOpenSnapshot(createHeapSnapshot, step1);
<html>
<head>
<script src="../../http/tests/inspector/inspector-test.js"></script>
- <script src="detailed-heapshots-test.js"></script>
+ <script src="heap-snapshot-test.js"></script>
<script>
function test()
return InspectorTest.createHeapSnapshot(instanceCount);
}
- InspectorTest.runDetailedHeapshotTestSuite([
+ InspectorTest.runHeapSnapshotTestSuite([
function testShowAll(next)
{
InspectorTest.takeAndOpenSnapshot(createHeapSnapshot, step1);
<html>
<head>
<script src="../../http/tests/inspector/inspector-test.js"></script>
- <script src="detailed-heapshots-test.js"></script>
+ <script src="heap-snapshot-test.js"></script>
<script>
function test()
return InspectorTest.createHeapSnapshot(instanceCount);
}
- InspectorTest.runDetailedHeapshotTestSuite([
+ InspectorTest.runHeapSnapshotTestSuite([
function testShowNext(next)
{
InspectorTest.takeAndOpenSnapshot(createHeapSnapshot, step1);
<html>
<head>
<script src="../../http/tests/inspector/inspector-test.js"></script>
- <script src="detailed-heapshots-test.js"></script>
+ <script src="heap-snapshot-test.js"></script>
<script>
function test()
return InspectorTest.createHeapSnapshot(instanceCount);
}
- InspectorTest.runDetailedHeapshotTestSuite([
+ InspectorTest.runHeapSnapshotTestSuite([
function testShownNodeCountPreservedWhenSorting(next)
{
InspectorTest.takeAndOpenSnapshot(createHeapSnapshot, step1);
<html>
<head>
<script src="../../http/tests/inspector/inspector-test.js"></script>
- <script src="detailed-heapshots-test.js"></script>
+ <script src="heap-snapshot-test.js"></script>
<script>
function test()
return InspectorTest.createHeapSnapshot(instanceCount);
}
- InspectorTest.runDetailedHeapshotTestSuite([
+ InspectorTest.runHeapSnapshotTestSuite([
function testSorting(next)
{
InspectorTest.takeAndOpenSnapshot(createHeapSnapshot, step1);
<html>
<head>
<script src="../../http/tests/inspector/inspector-test.js"></script>
- <script src="detailed-heapshots-test.js"></script>
+ <script src="heap-snapshot-test.js"></script>
<script>
function test()
return InspectorTest.createHeapSnapshot(instanceCount);
}
- InspectorTest.runDetailedHeapshotTestSuite([
+ InspectorTest.runHeapSnapshotTestSuite([
function testExpansionPreservedWhenSorting(next)
{
InspectorTest.takeAndOpenSnapshot(createHeapSnapshot, step1);
<html>
<head>
<script src="../../http/tests/inspector/inspector-test.js"></script>
- <script src="detailed-heapshots-test.js"></script>
+ <script src="heap-snapshot-test.js"></script>
<script>
function test()
return InspectorTest.createHeapSnapshot(instanceCount);
}
- InspectorTest.runDetailedHeapshotTestSuite([
+ InspectorTest.runHeapSnapshotTestSuite([
function testShowAll(next)
{
InspectorTest.takeAndOpenSnapshot(createHeapSnapshot, step1);
<html>
<head>
<script src="../../http/tests/inspector/inspector-test.js"></script>
- <script src="detailed-heapshots-test.js"></script>
+ <script src="heap-snapshot-test.js"></script>
<script>
function test()
return InspectorTest.createHeapSnapshot(instanceCount);
}
- InspectorTest.runDetailedHeapshotTestSuite([
+ InspectorTest.runHeapSnapshotTestSuite([
function testShowNext(next)
{
InspectorTest.takeAndOpenSnapshot(createHeapSnapshot, step1);
<html>
<head>
<script src="../../http/tests/inspector/inspector-test.js"></script>
- <script src="detailed-heapshots-test.js"></script>
+ <script src="heap-snapshot-test.js"></script>
<script>
function test()
return InspectorTest.createHeapSnapshot(instanceCount);
}
- InspectorTest.runDetailedHeapshotTestSuite([
+ InspectorTest.runHeapSnapshotTestSuite([
function testShownNodeCountPreservedWhenSorting(next)
{
InspectorTest.takeAndOpenSnapshot(createHeapSnapshot, step1);
<html>
<head>
<script src="../../http/tests/inspector/inspector-test.js"></script>
- <script src="detailed-heapshots-test.js"></script>
+ <script src="heap-snapshot-test.js"></script>
<script>
function test()
return InspectorTest.createHeapSnapshot(instanceCount);
}
- InspectorTest.runDetailedHeapshotTestSuite([
+ InspectorTest.runHeapSnapshotTestSuite([
function testSorting(next)
{
InspectorTest.takeAndOpenSnapshot(createHeapSnapshot, step1);
{
InspectorTest.addResult("_finishHeapSnapshot " + uid);
var panel = WebInspector.panels.profiles;
- var profile = panel._profilesIdMap[panel._makeKey(uid, WebInspector.DetailedHeapshotProfileType.TypeId)];
+ var profile = panel._profilesIdMap[panel._makeKey(uid, WebInspector.HeapSnapshotProfileType.TypeId)];
InspectorTest.addSniffer(profile.proxy, "_callLoadCallbacks", step2);
}
<html>
<head>
<script src="../../http/tests/inspector/inspector-test.js"></script>
- <script src="detailed-heapshots-test.js"></script>
+ <script src="heap-snapshot-test.js"></script>
<script>
function test()
return InspectorTest.createHeapSnapshot(instanceCount);
}
- InspectorTest.runDetailedHeapshotTestSuite([
+ InspectorTest.runHeapSnapshotTestSuite([
function testExpansionPreservedWhenSorting(next)
{
InspectorTest.takeAndOpenSnapshot(createHeapSnapshot, step1);
<html>
<head>
<script src="../../http/tests/inspector/inspector-test.js"></script>
- <script src="detailed-heapshots-test.js"></script>
+ <script src="heap-snapshot-test.js"></script>
<script>
function test()
return InspectorTest.createHeapSnapshot(instanceCount);
}
- InspectorTest.runDetailedHeapshotTestSuite([
+ InspectorTest.runHeapSnapshotTestSuite([
function testShowAll(next)
{
InspectorTest.takeAndOpenSnapshot(createHeapSnapshot, step1);
<html>
<head>
<script src="../../http/tests/inspector/inspector-test.js"></script>
- <script src="detailed-heapshots-test.js"></script>
+ <script src="heap-snapshot-test.js"></script>
<script>
function test()
return InspectorTest.createHeapSnapshot(instanceCount);
}
- InspectorTest.runDetailedHeapshotTestSuite([
+ InspectorTest.runHeapSnapshotTestSuite([
function testShowNext(next)
{
InspectorTest.takeAndOpenSnapshot(createHeapSnapshot, step1);
<html>
<head>
<script src="../../http/tests/inspector/inspector-test.js"></script>
- <script src="detailed-heapshots-test.js"></script>
+ <script src="heap-snapshot-test.js"></script>
<script>
function test()
return InspectorTest.createHeapSnapshot(instanceCount);
}
- InspectorTest.runDetailedHeapshotTestSuite([
+ InspectorTest.runHeapSnapshotTestSuite([
function testExpansionPreservedWhenSorting(next)
{
InspectorTest.takeAndOpenSnapshot(createHeapSnapshot, step1);
<html>
<head>
<script src="../../http/tests/inspector/inspector-test.js"></script>
- <script src="detailed-heapshots-test.js"></script>
+ <script src="heap-snapshot-test.js"></script>
<script>
function test()
return InspectorTest.createHeapSnapshot(instanceCount);
}
- InspectorTest.runDetailedHeapshotTestSuite([
+ InspectorTest.runHeapSnapshotTestSuite([
function testSorting(next)
{
InspectorTest.takeAndOpenSnapshot(createHeapSnapshot, step1);
});
};
+InspectorTest.startProfilerTest = function(callback)
+{
+ WebInspector.showPanel("profiles");
+ WebInspector.settings.showHeapSnapshotObjectsHiddenProperties.set(true);
+
+ function profilerEnabled()
+ {
+ InspectorTest.addResult("Profiler was enabled.");
+ // We mock out ProfilerAgent -- as DRT runs in single-process mode, Inspector
+ // and test share the same heap. Taking a snapshot takes too long for a test,
+ // so we provide synthetic snapshots.
+ InspectorTest._panelReset = InspectorTest.override(WebInspector.panels.profiles, "_reset", function(){}, true);
+ InspectorTest.addSniffer(WebInspector.HeapSnapshotView.prototype, "_loadProfile", InspectorTest._snapshotViewShown, true);
+
+ detailedHeapProfilesEnabled();
+ }
+
+ function detailedHeapProfilesEnabled()
+ {
+ // Reduce the number of populated nodes to speed up testing.
+ WebInspector.HeapSnapshotContainmentDataGrid.prototype._defaultPopulateCount = 10;
+ WebInspector.HeapSnapshotConstructorsDataGrid.prototype._defaultPopulateCount = 10;
+ WebInspector.HeapSnapshotDiffDataGrid.prototype._defaultPopulateCount = 5;
+ WebInspector.HeapSnapshotDominatorsDataGrid.prototype._defaultPopulateCount = 3;
+ InspectorTest.addResult("Detailed heap profiles were enabled.");
+ InspectorTest.safeWrap(callback)();
+ }
+
+ if (WebInspector.panels.profiles._profilerEnabled)
+ profilerEnabled();
+ else {
+ InspectorTest.addSniffer(WebInspector.panels.profiles, "_profilerWasEnabled", profilerEnabled);
+ WebInspector.panels.profiles._toggleProfiling(false);
+ }
+};
+
+InspectorTest.completeProfilerTest = function()
+{
+ // There is no way to disable detailed heap profiles.
+
+ function completeTest()
+ {
+ InspectorTest.addResult("");
+ InspectorTest.addResult("Profiler was disabled.");
+ InspectorTest.completeTest();
+ }
+
+ var profilesPanel = WebInspector.panels.profiles;
+ if (!profilesPanel._profilerEnabled)
+ completeTest();
+ else {
+ InspectorTest.addSniffer(WebInspector.panels.profiles, "_profilerWasDisabled", completeTest);
+ profilesPanel._toggleProfiling(false);
+ }
+};
+
+InspectorTest.runHeapSnapshotTestSuite = function(testSuite)
+{
+ if (!Capabilities.heapProfilerPresent) {
+ InspectorTest.addResult("Heap profiler is disabled");
+ InspectorTest.completeTest();
+ return;
+ }
+
+ InspectorTest._nextUid = 1;
+ var testSuiteTests = testSuite.slice();
+
+ function runner()
+ {
+ if (!testSuiteTests.length) {
+ InspectorTest.completeProfilerTest();
+ return;
+ }
+
+ var nextTest = testSuiteTests.shift();
+ InspectorTest.addResult("");
+ InspectorTest.addResult("Running: " + /function\s([^(]*)/.exec(nextTest)[1]);
+ InspectorTest._panelReset.call(WebInspector.panels.profiles);
+ InspectorTest.safeWrap(nextTest)(runner, runner);
+ }
+
+ InspectorTest.startProfilerTest(runner);
+};
+
+InspectorTest.assertColumnContentsEqual = function(reference, actual)
+{
+ var length = Math.min(reference.length, actual.length);
+ for (var i = 0; i < length; ++i)
+ InspectorTest.assertEquals(reference[i], actual[i], "row " + i);
+ if (reference.length > length)
+ InspectorTest.addResult("extra rows in reference array:\n" + reference.slice(length).join("\n"));
+ else if (actual.length > length)
+ InspectorTest.addResult("extra rows in actual array:\n" + actual.slice(length).join("\n"));
+};
+
+InspectorTest.checkArrayIsSorted = function(contents, sortType, sortOrder)
+{
+ function simpleComparator(a, b)
+ {
+ return a < b ? -1 : (a > b ? 1 : 0);
+ }
+ function parseSize(size)
+ {
+ if (size.charAt(0) === ">")
+ size = size.substring(2);
+ var amount = parseFloat(size, 10);
+ var multiplier = {
+ "KB": 1024,
+ "MB": 1024 * 1024
+ }[size.substring(size.length - 2)];
+ return multiplier ? amount * multiplier : amount;
+ }
+ function extractName(data)
+ {
+ data = JSON.parse(data);
+ if (!data.name)
+ InspectorTest.addResult("No name field in " + JSON.stringify(data));
+ return parseInt(data.name, 10);
+ }
+ function extractId(data)
+ {
+ data = JSON.parse(data);
+ if (!data.nodeId)
+ InspectorTest.addResult("No nodeId field in " + JSON.stringify(data));
+ return parseInt(data.nodeId, 10);
+ }
+ var comparator = {
+ text: simpleComparator,
+ number: function (a, b) { return simpleComparator(parseInt(a, 10), parseInt(b, 10)); },
+ size: function (a, b) { return simpleComparator(parseSize(a), parseSize(b)); },
+ name: function (a, b) { return simpleComparator(extractName(a), extractName(b)); },
+ id: function (a, b) { return simpleComparator(extractId(a), extractId(b)); }
+ }[sortType];
+ var acceptableComparisonResult = {
+ ascending: -1,
+ descending: 1
+ }[sortOrder];
+
+ if (!comparator) {
+ InspectorTest.addResult("Invalid sort type: " + sortType);
+ return;
+ }
+ if (!acceptableComparisonResult) {
+ InspectorTest.addResult("Invalid sort order: " + sortOrder);
+ return;
+ }
+
+ for (var i = 0; i < contents.length - 1; ++i) {
+ var result = comparator(contents[i], contents[i + 1]);
+ if (result !== 0 && result !== acceptableComparisonResult)
+ InspectorTest.addResult("Elements " + i + " and " + (i + 1) + " are out of order: " + contents[i] + " " + contents[i + 1] + " (" + sortOrder + ")");
+ }
+};
+
+InspectorTest.clickColumn = function(column, callback)
+{
+ callback = InspectorTest.safeWrap(callback);
+ var cell = this._currentGrid()._headerTableHeaders[column.identifier];
+ var event = { target: { enclosingNodeOrSelfWithNodeName: function() { return cell; } } };
+
+ function sortingComplete()
+ {
+ InspectorTest._currentGrid().removeEventListener("sorting complete", sortingComplete, this);
+ InspectorTest.assertEquals(column.identifier, this._currentGrid().sortColumnIdentifier, "unexpected sorting");
+ column.sort = this._currentGrid().sortOrder;
+ function callCallback()
+ {
+ callback(column);
+ }
+ setTimeout(callCallback, 0);
+ }
+ InspectorTest._currentGrid().addEventListener("sorting complete", sortingComplete, this);
+ this._currentGrid()._clickInHeaderCell(event);
+};
+
+InspectorTest.clickShowMoreButton = function(buttonName, row, callback)
+{
+ callback = InspectorTest.safeWrap(callback);
+ var parent = row.parent;
+ function populateComplete()
+ {
+ parent.removeEventListener("populate complete", populateComplete, this);
+ function callCallback()
+ {
+ callback(parent);
+ }
+ setTimeout(callCallback, 0);
+ }
+ parent.addEventListener("populate complete", populateComplete, this);
+ row[buttonName].click();
+};
+
+InspectorTest.columnContents = function(column, row)
+{
+ var result = [];
+ var parent = row || this._currentGrid();
+ for (var node = parent.children[0]; node; node = node.traverseNextNode(true, parent, true)) {
+ if (!node.selectable)
+ continue;
+ var data = node.data[column.identifier];
+ if (typeof data === "object")
+ data = JSON.stringify(data);
+ result.push(data);
+ }
+ return result;
+};
+
+InspectorTest.countDataRows = function(row, filter)
+{
+ var result = 0;
+ filter = filter || function(node) { return node.selectable; };
+ for (var node = row.children[0]; node; node = node.traverseNextNode(true, row, true)) {
+ if (filter(node))
+ ++result;
+ }
+ return result;
+};
+
+InspectorTest.createHeapSnapshot = function(instanceCount, firstId)
+{
+ // Mocking results of running the following code:
+ //
+ // function A() { this.a = this; }
+ // function B(x) { this.a = new A(x); }
+ // for (var i = 0; i < instanceCount; ++i) new B();
+ //
+ // Instances of A have 12 bytes size, instances of B has 16 bytes size.
+ var sizeOfA = 12;
+ var sizeOfB = 16;
+
+ function generateNodes()
+ {
+ var nodes = [null];
+ // Push the 'meta-root' node.
+ nodes.push(0, 0, 1, 0, (sizeOfA + sizeOfB) * instanceCount, 1, 1, 4, 1, null);
+ // Push instances of A and B.
+ var indexesOfB = [];
+ var nextId = firstId || 5;
+ for (var i = 0; i < instanceCount; ++i) {
+ var indexOfA = nodes.length;
+ nodes.push(3, 1, nextId++, sizeOfA, sizeOfA, null, 1, 2, 3, indexOfA);
+ var indexOfB = nodes.length;
+ // Set dominator of A.
+ nodes[indexOfA + 5] = indexOfB;
+ nodes.push(3, 2, nextId++, sizeOfB, sizeOfB + sizeOfA, null, 1, 2, 3, indexOfA);
+ indexesOfB.push(indexOfB);
+ }
+ var indexOfGCRoots = nodes.length;
+ nodes.push(3, 4, 3, 0, (sizeOfA + sizeOfB) * instanceCount, 1, instanceCount);
+ // Set dominator of B.
+ for (var i = 0; i < instanceCount; ++i) {
+ nodes[indexesOfB[i] + 5] = indexOfGCRoots;
+ }
+ // Set (GC roots) as child of meta-root.
+ nodes[10] = indexOfGCRoots;
+ // Push instances of B as children of GC roots.
+ for (var i = 0; i < instanceCount; ++i) {
+ nodes.push(1, i + 1, indexesOfB[i]);
+ }
+ return nodes;
+ }
+
+ var result = {
+ "snapshot": {},
+ "nodes": generateNodes(),
+ "strings": ["", "A", "B", "a", "(GC roots)"]
+ };
+ result.nodes[0] = {
+ "fields":["type","name","id","self_size","retained_size","dominator","children_count","children"],
+ "types":[["hidden","array","string","object","code","closure","regexp","number","native"],"string","number","number","number","number","number",{
+ "fields":["type","name_or_index","to_node"],
+ "types":[["context","element","property","internal","hidden","shortcut"],"string_or_number","node"]}]};
+ return result;
+};
+
+InspectorTest.expandRow = function(row, callback)
+{
+ callback = InspectorTest.safeWrap(callback);
+ function populateComplete()
+ {
+ row.removeEventListener("populate complete", populateComplete, this);
+ function callCallback()
+ {
+ callback(row);
+ }
+ setTimeout(callCallback, 0);
+ }
+ row.addEventListener("populate complete", populateComplete, this);
+ (function expand()
+ {
+ if (row.hasChildren)
+ row.expand();
+ else
+ setTimeout(expand, 0);
+ })();
+};
+
+InspectorTest.findAndExpandGCRoots = function(callback)
+{
+ callback = InspectorTest.safeWrap(callback);
+ function propertyMatcher(data)
+ {
+ return data.value === "(GC roots)";
+ }
+ var gcRoots = InspectorTest.findRow("object", propertyMatcher);
+ InspectorTest.assertEquals(true, !!gcRoots, "GC roots row");
+ InspectorTest.expandRow(gcRoots, callback);
+}
+
+InspectorTest.findButtonsNode = function(row, startNode)
+{
+ var result = 0;
+ for (var node = startNode || row.children[0]; node; node = node.traverseNextNode(true, row, true)) {
+ if (!node.selectable && node.showNext)
+ return node;
+ }
+ return null;
+};
+
+InspectorTest.findRow = function(columnIdentifier, matcher, parent)
+{
+ parent = parent || this._currentGrid();
+ if (typeof matcher !== "function") {
+ var value = matcher;
+ matcher = function(x) { return x === value; };
+ }
+ for (var node = parent.children[0]; node; node = node.traverseNextNode(true, parent, true)) {
+ if (matcher(node.data[columnIdentifier]))
+ return node;
+ }
+ return null;
+};
+
+InspectorTest.findRow2 = function(matcher, parent)
+{
+ parent = parent || this._currentGrid();
+ for (var node = parent.children[0]; node; node = node.traverseNextNode(true, parent, true)) {
+ if (matcher(node.data))
+ return node;
+ }
+ return null;
+};
+
+InspectorTest.switchToView = function(title, callback)
+{
+ callback = InspectorTest.safeWrap(callback);
+ var view = WebInspector.panels.profiles.visibleView;
+ view.changeView(title, callback);
+};
+
+InspectorTest.takeAndOpenSnapshot = function(generator, callback)
+{
+ callback = InspectorTest.safeWrap(callback);
+ var uid = InspectorTest._nextUid++;
+ var profile = { typeId: WebInspector.HeapSnapshotProfileType.TypeId, uid: uid, title: UserInitiatedProfileName + "." + uid };
+ function pushGeneratedSnapshot(typeId, uid)
+ {
+ var snapshot = generator();
+ snapshot.snapshot.typeId = profile.typeId;
+ snapshot.snapshot.title = profile.title;
+ snapshot.snapshot.uid = profile.uid;
+ WebInspector.panels.profiles._addHeapSnapshotChunk(uid, JSON.stringify(snapshot));
+ WebInspector.panels.profiles._finishHeapSnapshot(uid);
+ }
+ InspectorTest.override(ProfilerAgent, "getProfile", pushGeneratedSnapshot);
+ InspectorTest._takeAndOpenSnapshotCallback = callback;
+ WebInspector.panels.profiles.addProfileHeader(profile);
+ WebInspector.panels.profiles.showProfile(profile);
+};
+
+InspectorTest.viewColumns = function()
+{
+ return InspectorTest._currentGrid()._columnsArray;
+};
+
+InspectorTest._currentGrid = function()
+{
+ return WebInspector.panels.profiles.visibleView.dataGrid;
+};
+
+InspectorTest._snapshotViewShown = function()
+{
+ if (InspectorTest._takeAndOpenSnapshotCallback) {
+ var callback = InspectorTest._takeAndOpenSnapshotCallback;
+ InspectorTest._takeAndOpenSnapshotCallback = null;
+ var dataGrid = this.dataGrid;
+ function sortingComplete()
+ {
+ dataGrid.removeEventListener("sorting complete", sortingComplete, null);
+ callback();
+ }
+ dataGrid.addEventListener("sorting complete", sortingComplete, null);
+ }
+};
+
};
+2012-04-16 Yury Semikhatsky <yurys@chromium.org>
+
+ Web Inspector: rename heap profiler files and classes DetailedHeapshot* ->HeapSnapshot*
+ https://bugs.webkit.org/show_bug.cgi?id=84038
+
+ A bunch of renames "detailed heapshot" -> "heap snapshot".
+
+ Reviewed by Pavel Feldman.
+
+ * inspector/detailed-heapshots-smoke-test.html:
+
2012-04-13 Ryosuke Niwa <rniwa@webkit.org>
Fix skipped list.
timer.finish(transferTimerCookie);
showTimerCookie = timer.start("show-snapshot");
var panel = WebInspector.panels.profiles;
- var profile = panel._profilesIdMap[panel._makeKey(uid, WebInspector.DetailedHeapshotProfileType.TypeId)];
+ var profile = panel._profilesIdMap[panel._makeKey(uid, WebInspector.HeapSnapshotProfileType.TypeId)];
InspectorTest.addSniffer(profile.proxy, "_callLoadCallbacks", step2);
}
+2012-04-16 Yury Semikhatsky <yurys@chromium.org>
+
+ Web Inspector: rename heap profiler files and classes DetailedHeapshot* ->HeapSnapshot*
+ https://bugs.webkit.org/show_bug.cgi?id=84038
+
+ A bunch of renames "detailed heapshot" -> "heap snapshot".
+
+ Reviewed by Pavel Feldman.
+
+ Tests: inspector/profiler/heap-snapshot-comparison-expansion-preserved-when-sorting.html
+ inspector/profiler/heap-snapshot-comparison-show-all.html
+ inspector/profiler/heap-snapshot-comparison-show-next.html
+ inspector/profiler/heap-snapshot-comparison-shown-node-count-preserved-when-sorting.html
+ inspector/profiler/heap-snapshot-comparison-sorting.html
+ inspector/profiler/heap-snapshot-containment-expansion-preserved-when-sorting.html
+ inspector/profiler/heap-snapshot-containment-show-all.html
+ inspector/profiler/heap-snapshot-containment-show-next.html
+ inspector/profiler/heap-snapshot-containment-shown-node-count-preserved-when-sorting.html
+ inspector/profiler/heap-snapshot-containment-sorting.html
+ inspector/profiler/heap-snapshot-dominators-expansion-preserved-when-sorting.html
+ inspector/profiler/heap-snapshot-dominators-show-all.html
+ inspector/profiler/heap-snapshot-dominators-show-next.html
+ inspector/profiler/heap-snapshot-dominators-shown-node-count-preserved-when-sorting.html
+ inspector/profiler/heap-snapshot-dominators-sorting.html
+ inspector/profiler/heap-snapshot-summary-expansion-preserved-when-sorting.html
+ inspector/profiler/heap-snapshot-summary-show-all.html
+ inspector/profiler/heap-snapshot-summary-show-next.html
+ inspector/profiler/heap-snapshot-summary-shown-node-count-preserved-when-sorting.html
+ inspector/profiler/heap-snapshot-summary-sorting.html
+
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * inspector/compile-front-end.py:
+ * inspector/front-end/HeapSnapshotGridNodes.js: Renamed from Source/WebCore/inspector/front-end/DetailedHeapshotGridNodes.js.
+ (WebInspector.HeapSnapshotGridNode):
+ (WebInspector.HeapSnapshotGridNode.prototype.ensureContentCreated):
+ (WebInspector.HeapSnapshotGridNode.prototype.createCell):
+ (WebInspector.HeapSnapshotGridNode.prototype.dispose):
+ (WebInspector.HeapSnapshotGridNode.prototype.hasHoverMessage.false.queryObjectContent):
+ (WebInspector.HeapSnapshotGridNode.prototype._toPercentString):
+ (WebInspector.HeapSnapshotGridNode.prototype._createValueCell):
+ (WebInspector.HeapSnapshotGridNode.prototype._populate.sorted):
+ (WebInspector.HeapSnapshotGridNode.prototype._populate):
+ (WebInspector.HeapSnapshotGridNode.prototype.populateChildren.callSerialize):
+ (WebInspector.HeapSnapshotGridNode.prototype.populateChildren.childrenRetrieved.notify):
+ (WebInspector.HeapSnapshotGridNode.prototype.populateChildren.childrenRetrieved):
+ (WebInspector.HeapSnapshotGridNode.prototype.populateChildren):
+ (WebInspector.HeapSnapshotGridNode.prototype._saveChildren):
+ (WebInspector.HeapSnapshotGridNode.prototype.sort.afterSort.afterPopulate):
+ (WebInspector.HeapSnapshotGridNode.prototype.sort.afterSort):
+ (WebInspector.HeapSnapshotGridNode.prototype.sort):
+ (WebInspector.HeapSnapshotLazyGridNode):
+ (WebInspector.HeapSnapshotLazyGridNode.prototype.ensureContentCreated):
+ (WebInspector.HeapSnapshotLazyGridNode.prototype.createCells):
+ (WebInspector.HeapSnapshotGenericObjectNode):
+ (WebInspector.HeapSnapshotGenericObjectNode.prototype.createCell):
+ (WebInspector.HeapSnapshotGenericObjectNode.prototype._createObjectCell):
+ (WebInspector.HeapSnapshotGenericObjectNode.prototype.get data):
+ (WebInspector.HeapSnapshotGenericObjectNode.prototype.queryObjectContent.else.formatResult):
+ (WebInspector.HeapSnapshotGenericObjectNode.prototype.queryObjectContent):
+ (WebInspector.HeapSnapshotGenericObjectNode.prototype.get _retainedSizePercent):
+ (WebInspector.HeapSnapshotGenericObjectNode.prototype.get _shallowSizePercent):
+ (WebInspector.HeapSnapshotGenericObjectNode.prototype.updateHasChildren):
+ (WebInspector.HeapSnapshotGenericObjectNode.prototype.isWindow):
+ (WebInspector.HeapSnapshotGenericObjectNode.prototype.shortenWindowURL):
+ (WebInspector.HeapSnapshotObjectNode):
+ (WebInspector.HeapSnapshotObjectNode.prototype.updateHasChildren):
+ (WebInspector.HeapSnapshotObjectNode.prototype._createChildNode):
+ (WebInspector.HeapSnapshotObjectNode.prototype._childHashForEntity):
+ (WebInspector.HeapSnapshotObjectNode.prototype._childHashForNode):
+ (WebInspector.HeapSnapshotObjectNode.prototype.comparator):
+ (WebInspector.HeapSnapshotObjectNode.prototype._emptyData):
+ (WebInspector.HeapSnapshotObjectNode.prototype._enhanceData):
+ (WebInspector.HeapSnapshotObjectNode.prototype._prefixObjectCell):
+ (WebInspector.HeapSnapshotInstanceNode):
+ (WebInspector.HeapSnapshotInstanceNode.prototype._createChildNode):
+ (WebInspector.HeapSnapshotInstanceNode.prototype._childHashForEntity):
+ (WebInspector.HeapSnapshotInstanceNode.prototype._childHashForNode):
+ (WebInspector.HeapSnapshotInstanceNode.prototype.comparator):
+ (WebInspector.HeapSnapshotInstanceNode.prototype._emptyData):
+ (WebInspector.HeapSnapshotInstanceNode.prototype._enhanceData):
+ (WebInspector.HeapSnapshotInstanceNode.prototype.get isDeletedNode):
+ (WebInspector.HeapSnapshotConstructorNode):
+ (WebInspector.HeapSnapshotConstructorNode.prototype.createCell):
+ (WebInspector.HeapSnapshotConstructorNode.prototype._createChildNode):
+ (WebInspector.HeapSnapshotConstructorNode.prototype._createNodesProvider):
+ (WebInspector.HeapSnapshotConstructorNode.prototype.comparator):
+ (WebInspector.HeapSnapshotConstructorNode.prototype._childHashForEntity):
+ (WebInspector.HeapSnapshotConstructorNode.prototype._childHashForNode):
+ (WebInspector.HeapSnapshotConstructorNode.prototype.get data):
+ (WebInspector.HeapSnapshotConstructorNode.prototype.get _countPercent):
+ (WebInspector.HeapSnapshotConstructorNode.prototype.get _retainedSizePercent):
+ (WebInspector.HeapSnapshotConstructorNode.prototype.get _shallowSizePercent):
+ (WebInspector.HeapSnapshotIteratorsTuple):
+ (WebInspector.HeapSnapshotIteratorsTuple.prototype.dispose):
+ (WebInspector.HeapSnapshotIteratorsTuple.prototype.sortAndRewind):
+ (WebInspector.HeapSnapshotDiffNode):
+ (WebInspector.HeapSnapshotDiffNode.prototype.calculateDiff.diffCalculated):
+ (WebInspector.HeapSnapshotDiffNode.prototype.calculateDiff):
+ (WebInspector.HeapSnapshotDiffNode.prototype.calculateDiff.baseIdsReceived):
+ (WebInspector.HeapSnapshotDiffNode.prototype.calculateDiff.idsReceived):
+ (WebInspector.HeapSnapshotDiffNode.prototype._createChildNode):
+ (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider.createProvider):
+ (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider):
+ (WebInspector.HeapSnapshotDiffNode.prototype._childHashForEntity):
+ (WebInspector.HeapSnapshotDiffNode.prototype._childHashForNode):
+ (WebInspector.HeapSnapshotDiffNode.prototype.comparator):
+ (WebInspector.HeapSnapshotDiffNode.prototype.populateChildren.firstProviderPopulated):
+ (WebInspector.HeapSnapshotDiffNode.prototype.populateChildren.else.firstProviderPopulated):
+ (WebInspector.HeapSnapshotDiffNode.prototype.populateChildren):
+ (WebInspector.HeapSnapshotDiffNode.prototype._signForDelta):
+ (WebInspector.HeapSnapshotDiffNode.prototype.get data):
+ (WebInspector.HeapSnapshotDominatorObjectNode):
+ (WebInspector.HeapSnapshotDominatorObjectNode.prototype._createChildNode):
+ (WebInspector.HeapSnapshotDominatorObjectNode.prototype._createProvider):
+ (WebInspector.HeapSnapshotDominatorObjectNode.prototype._childHashForEntity):
+ (WebInspector.HeapSnapshotDominatorObjectNode.prototype._childHashForNode):
+ (WebInspector.HeapSnapshotDominatorObjectNode.prototype.comparator):
+ (WebInspector.HeapSnapshotDominatorObjectNode.prototype._emptyData):
+ (MixInSnapshotNodeFunctions):
+ * inspector/front-end/HeapSnapshotView.js: Renamed from Source/WebCore/inspector/front-end/DetailedHeapshotView.js.
+ (WebInspector.HeapSnapshotSortableDataGrid):
+ (WebInspector.HeapSnapshotSortableDataGrid.prototype.dispose):
+ (WebInspector.HeapSnapshotSortableDataGrid.prototype.resetSortingCache):
+ (WebInspector.HeapSnapshotSortableDataGrid.prototype.sortingChanged.SortByTwoFields):
+ (WebInspector.HeapSnapshotSortableDataGrid.prototype.sortingChanged):
+ (WebInspector.HeapSnapshotSortableDataGrid.prototype.updateVisibleNodes):
+ (WebInspector.HeapSnapshotSortableDataGrid.prototype.onResize):
+ (WebInspector.HeapSnapshotSortableDataGrid.prototype._onScroll):
+ (WebInspector.HeapSnapshotSortableDataGrid.prototype._performSorting):
+ (WebInspector.HeapSnapshotSortableDataGrid.prototype.recursiveSortingEnter):
+ (WebInspector.HeapSnapshotSortableDataGrid.prototype.recursiveSortingLeave):
+ (WebInspector.HeapSnapshotContainmentDataGrid):
+ (WebInspector.HeapSnapshotContainmentDataGrid.prototype._defaultPopulateCount.100.expandRoute.nextStep.else.afterExpand):
+ (WebInspector.HeapSnapshotContainmentDataGrid.prototype._defaultPopulateCount.100.expandRoute):
+ (WebInspector.HeapSnapshotContainmentDataGrid.prototype.setDataSource):
+ (WebInspector.HeapSnapshotContainmentDataGrid.prototype.sortingChanged):
+ (WebInspector.HeapSnapshotRetainmentDataGrid):
+ (WebInspector.HeapSnapshotRetainmentDataGrid.prototype._sortFields):
+ (WebInspector.HeapSnapshotRetainmentDataGrid.prototype.reset):
+ (WebInspector.HeapSnapshotConstructorsDataGrid):
+ (WebInspector.HeapSnapshotConstructorsDataGrid.prototype._defaultPopulateCount.100._sortFields):
+ (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.setDataSource):
+ (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.populateChildren):
+ (WebInspector.HeapSnapshotConstructorsDataGrid.prototype._filterSelectIndexChanged):
+ (WebInspector.HeapSnapshotDiffDataGrid):
+ (WebInspector.HeapSnapshotDiffDataGrid.prototype._defaultPopulateCount.50._sortFields):
+ (WebInspector.HeapSnapshotDiffDataGrid.prototype.setDataSource):
+ (WebInspector.HeapSnapshotDiffDataGrid.prototype._baseProfileIndexChanged):
+ (WebInspector.HeapSnapshotDiffDataGrid.prototype.setBaseDataSource):
+ (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren.baseAggregatesReceived.aggregatesReceived.addNodeIfNonZeroDiff):
+ (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren.baseAggregatesReceived.aggregatesReceived):
+ (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren):
+ (WebInspector.HeapSnapshotDominatorsDataGrid):
+ (WebInspector.HeapSnapshotDominatorsDataGrid.prototype._defaultPopulateCount.25.setDataSource):
+ (WebInspector.HeapSnapshotDominatorsDataGrid.prototype.sortingChanged):
+ (WebInspector.HeapSnapshotView.profileCallback):
+ (WebInspector.HeapSnapshotView):
+ (WebInspector.HeapSnapshotView.prototype.dispose):
+ (WebInspector.HeapSnapshotView.prototype.get statusBarItems):
+ (WebInspector.HeapSnapshotView.prototype.get profile):
+ (WebInspector.HeapSnapshotView.prototype.get profileWrapper):
+ (WebInspector.HeapSnapshotView.prototype.get baseProfile):
+ (WebInspector.HeapSnapshotView.prototype.get baseProfileWrapper):
+ (WebInspector.HeapSnapshotView.prototype.wasShown.profileCallback1):
+ (WebInspector.HeapSnapshotView.prototype.wasShown.profileCallback2):
+ (WebInspector.HeapSnapshotView.prototype.wasShown):
+ (WebInspector.HeapSnapshotView.prototype.willHide):
+ (WebInspector.HeapSnapshotView.prototype.onResize):
+ (WebInspector.HeapSnapshotView.prototype.searchCanceled):
+ (WebInspector.HeapSnapshotView.prototype.performSearch.matchesByName):
+ (WebInspector.HeapSnapshotView.prototype.performSearch.matchesById):
+ (WebInspector.HeapSnapshotView.prototype.performSearch.matchesQuery):
+ (WebInspector.HeapSnapshotView.prototype.performSearch):
+ (WebInspector.HeapSnapshotView.prototype.jumpToFirstSearchResult):
+ (WebInspector.HeapSnapshotView.prototype.jumpToLastSearchResult):
+ (WebInspector.HeapSnapshotView.prototype.jumpToNextSearchResult):
+ (WebInspector.HeapSnapshotView.prototype.jumpToPreviousSearchResult):
+ (WebInspector.HeapSnapshotView.prototype.showingFirstSearchResult):
+ (WebInspector.HeapSnapshotView.prototype.showingLastSearchResult):
+ (WebInspector.HeapSnapshotView.prototype._jumpToSearchResult):
+ (WebInspector.HeapSnapshotView.prototype.refreshVisibleData):
+ (WebInspector.HeapSnapshotView.prototype._changeBase):
+ (WebInspector.HeapSnapshotView.prototype._changeFilter):
+ (WebInspector.HeapSnapshotView.prototype._createToolbarWithClassNameFilter):
+ (WebInspector.HeapSnapshotView.prototype._changeNameFilter):
+ (WebInspector.HeapSnapshotView.prototype._profiles):
+ (WebInspector.HeapSnapshotView.prototype._loadProfile):
+ (WebInspector.HeapSnapshotView.prototype._loadProfileByIndex):
+ (WebInspector.HeapSnapshotView.prototype.isDetailedSnapshot):
+ (WebInspector.HeapSnapshotView.prototype.processLoadedSnapshot):
+ (WebInspector.HeapSnapshotView.prototype._selectionChanged):
+ (WebInspector.HeapSnapshotView.prototype._inspectedObjectChanged):
+ (WebInspector.HeapSnapshotView.prototype._setRetainmentDataGridSource):
+ (WebInspector.HeapSnapshotView.prototype._mouseDownInContentsGrid):
+ (WebInspector.HeapSnapshotView.prototype.changeView.sortingComplete):
+ (WebInspector.HeapSnapshotView.prototype.changeView):
+ (WebInspector.HeapSnapshotView.prototype._changeView):
+ (WebInspector.HeapSnapshotView.prototype._getHoverAnchor):
+ (WebInspector.HeapSnapshotView.prototype._resolveObjectForPopover):
+ (WebInspector.HeapSnapshotView.prototype._helpClicked.appendHelp):
+ (WebInspector.HeapSnapshotView.prototype._helpClicked):
+ (WebInspector.HeapSnapshotView.prototype._startRetainersHeaderDragging):
+ (WebInspector.HeapSnapshotView.prototype._retainersHeaderDragging):
+ (WebInspector.HeapSnapshotView.prototype._endRetainersHeaderDragging):
+ (WebInspector.HeapSnapshotView.prototype._updateRetainmentViewHeight):
+ (WebInspector.HeapSnapshotView.prototype._updateBaseOptions):
+ (WebInspector.HeapSnapshotView.prototype._updateFilterOptions):
+ (WebInspector.HeapSnapshotProfileType):
+ (WebInspector.HeapSnapshotProfileType.prototype.get buttonTooltip):
+ (WebInspector.HeapSnapshotProfileType.prototype.buttonClicked):
+ (WebInspector.HeapSnapshotProfileType.prototype.get treeItemTitle):
+ (WebInspector.HeapSnapshotProfileType.prototype.get description):
+ (WebInspector.HeapSnapshotProfileType.prototype.createSidebarTreeElementForProfile):
+ (WebInspector.HeapSnapshotProfileType.prototype.createView):
+ * inspector/front-end/ProfilesPanel.js:
+ (WebInspector.ProfilesPanel.prototype._addHeapSnapshotChunk):
+ (WebInspector.ProfilesPanel.prototype.takeHeapSnapshot):
+ (WebInspector.ProfilesPanel.prototype._reportHeapSnapshotProgress):
+ * inspector/front-end/WebKit.qrc:
+ * inspector/front-end/heapProfiler.css:
+ (.heap-snapshot-view):
+ (.heap-snapshot-view.visible):
+ (.heap-snapshot-view .view):
+ (.heap-snapshot-view .view.visible):
+ (.heap-snapshot-view .data-grid tr:empty):
+ (.heap-snapshot-view .data-grid):
+ (.heap-snapshot-view .data-grid td.count-column):
+ (.heap-snapshot-view .data-grid td.addedCount-column):
+ (.heap-snapshot-view .data-grid td.removedCount-column):
+ (.heap-snapshot-view .data-grid td.countDelta-column):
+ (.heap-snapshot-view .data-grid td.addedSize-column):
+ (.heap-snapshot-view .data-grid td.removedSize-column):
+ (.heap-snapshot-view .data-grid td.sizeDelta-column):
+ (.heap-snapshot-view .data-grid td.shallowSize-column):
+ (.heap-snapshot-view .data-grid td.retainedSize-column):
+ (.heap-snapshot-view .data-grid td.distanceToWindow-column):
+ (.heap-snapshot-view .data-grid span.percent-column):
+ (.heap-snapshot-view .console-formatted-object, .console-formatted-node):
+ (.heap-snapshot-view .console-formatted-string):
+ (.heap-snapshot-view .console-formatted-id):
+ (.heap-snapshot-view .data-grid tr.selected *):
+ (.heap-snapshot-view .data-grid:focus tr.selected *):
+ (.heap-snapshot-view .delimiter):
+ (.heap-snapshot-view .views-container):
+ (.heap-snapshot-view .views-container .view):
+ (.heap-snapshot-view .retaining-paths-view):
+ (.heap-snapshot-view .class-view-grid):
+ (.heap-snapshot-view .class-view-toolbar):
+ (.heap-snapshot-view .class-view-toolbar input.class-name-filter):
+ (.heap-snapshot-view .retainers-view-header):
+ (.heap-snapshot-view .retainers-view-header .title > span):
+ (.heap-snapshot-view tr:not(.selected) td.object-column span.highlight):
+ (.heap-snapshot-view td.object-column span.grayed):
+ (.heap-snapshot-help-status-bar-item .glyph):
+ (table.heap-snapshot-help):
+ * inspector/front-end/inspector.html:
+
2012-04-16 Andrey Kosyakov <caseq@chromium.org>
Web Inspector: touch pad is pain to use in lower pane of Timeline panel due two two-axis scrolling
'inspector/front-end/DataGrid.js',
'inspector/front-end/DebuggerModel.js',
'inspector/front-end/DebuggerPresentationModel.js',
- 'inspector/front-end/DetailedHeapshotGridNodes.js',
- 'inspector/front-end/DetailedHeapshotView.js',
'inspector/front-end/Dialog.js',
'inspector/front-end/DOMAgent.js',
'inspector/front-end/DOMBreakpointsSidebarPane.js',
'inspector/front-end/HAREntry.js',
'inspector/front-end/HandlerRegistry.js',
'inspector/front-end/HeapSnapshot.js',
+ 'inspector/front-end/HeapSnapshotGridNodes.js',
'inspector/front-end/HeapSnapshotProxy.js',
+ 'inspector/front-end/HeapSnapshotView.js',
'inspector/front-end/HeapSnapshotWorker.js',
'inspector/front-end/HeapSnapshotWorkerDispatcher.js',
'inspector/front-end/HelpScreen.js',
>
</File>
<File
- RelativePath="..\inspector\front-end\DetailedHeapshotGridNodes.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\DetailedHeapshotView.js"
- >
- </File>
- <File
RelativePath="..\inspector\front-end\dialog.css"
>
</File>
>
</File>
<File
+ RelativePath="..\inspector\front-end\HeapSnapshotGridNodes.js"
+ >
+ </File>
+ <File
RelativePath="..\inspector\front-end\HeapSnapshotProxy.js"
>
</File>
<File
+ RelativePath="..\inspector\front-end\HeapSnapshotView.js"
+ >
+ </File>
+ <File
RelativePath="..\inspector\front-end\HeapSnapshotWorker.js"
>
</File>
"sources": [
"BottomUpProfileDataGridTree.js",
"CSSSelectorProfileView.js",
- "DetailedHeapshotView.js",
- "DetailedHeapshotGridNodes.js",
+ "HeapSnapshot.js",
+ "HeapSnapshotGridNodes.js",
+ "HeapSnapshotProxy.js",
+ "HeapSnapshotView.js",
+ "HeapSnapshotWorker.js",
+ "HeapSnapshotWorkerDispatcher.js",
"ProfileDataGridTree.js",
"ProfilesPanel.js",
"ProfileLauncherView.js",
"ProfileView.js",
"TopDownProfileDataGridTree.js",
- "HeapSnapshot.js",
- "HeapSnapshotProxy.js",
- "HeapSnapshotWorker.js",
- "HeapSnapshotWorkerDispatcher.js",
]
},
# {
* @constructor
* @extends {WebInspector.View}
*/
-WebInspector.DetailedHeapshotView = function(parent, profile)
+WebInspector.HeapSnapshotView = function(parent, profile)
{
WebInspector.View.call(this);
- this.element.addStyleClass("detailed-heapshot-view");
+ this.element.addStyleClass("heap-snapshot-view");
this.parent = parent;
this.parent.addEventListener("profile added", this._updateBaseOptions, this);
this.filterSelectElement.addEventListener("change", this._changeFilter.bind(this), false);
this._updateFilterOptions();
- this.helpButton = new WebInspector.StatusBarButton("", "heapshot-help-status-bar-item status-bar-item");
+ this.helpButton = new WebInspector.StatusBarButton("", "heap-snapshot-help-status-bar-item status-bar-item");
this.helpButton.addEventListener("click", this._helpClicked, this);
this._popoverHelper = new WebInspector.ObjectPopoverHelper(this.element, this._getHoverAnchor.bind(this), this._resolveObjectForPopover.bind(this), undefined, true);
}
}
-WebInspector.DetailedHeapshotView.prototype = {
+WebInspector.HeapSnapshotView.prototype = {
dispose: function()
{
this.profileWrapper.dispose();
get profile()
{
- return this.parent.getProfile(WebInspector.DetailedHeapshotProfileType.TypeId, this._profileUid);
+ return this.parent.getProfile(WebInspector.HeapSnapshotProfileType.TypeId, this._profileUid);
},
get profileWrapper()
get baseProfile()
{
- return this.parent.getProfile(WebInspector.DetailedHeapshotProfileType.TypeId, this._baseProfileUid);
+ return this.parent.getProfile(WebInspector.HeapSnapshotProfileType.TypeId, this._baseProfileUid);
},
get baseProfileWrapper()
_profiles: function()
{
- return WebInspector.panels.profiles.getProfiles(WebInspector.DetailedHeapshotProfileType.TypeId);
+ return WebInspector.panels.profiles.getProfiles(WebInspector.HeapSnapshotProfileType.TypeId);
},
_loadProfile: function(profileUid, callback)
" a ", "console-formatted-null", "System"];
var contentElement = document.createElement("table");
- contentElement.className = "heapshot-help";
+ contentElement.className = "heap-snapshot-help";
var headerRow = document.createElement("tr");
var propsHeader = document.createElement("th");
propsHeader.textContent = WebInspector.UIString("Property types:");
}
};
-WebInspector.DetailedHeapshotView.prototype.__proto__ = WebInspector.View.prototype;
+WebInspector.HeapSnapshotView.prototype.__proto__ = WebInspector.View.prototype;
WebInspector.settings.showHeapSnapshotObjectsHiddenProperties = WebInspector.settings.createSetting("showHeaSnapshotObjectsHiddenProperties", false);
* @constructor
* @extends {WebInspector.ProfileType}
*/
-WebInspector.DetailedHeapshotProfileType = function()
+WebInspector.HeapSnapshotProfileType = function()
{
- WebInspector.ProfileType.call(this, WebInspector.DetailedHeapshotProfileType.TypeId, WebInspector.UIString("Take Heap Snapshot"));
+ WebInspector.ProfileType.call(this, WebInspector.HeapSnapshotProfileType.TypeId, WebInspector.UIString("Take Heap Snapshot"));
}
-WebInspector.DetailedHeapshotProfileType.TypeId = "HEAP";
+WebInspector.HeapSnapshotProfileType.TypeId = "HEAP";
-WebInspector.DetailedHeapshotProfileType.prototype = {
+WebInspector.HeapSnapshotProfileType.prototype = {
get buttonTooltip()
{
return WebInspector.UIString("Take heap snapshot.");
createView: function(profile)
{
- return new WebInspector.DetailedHeapshotView(WebInspector.panels.profiles, profile);
+ return new WebInspector.HeapSnapshotView(WebInspector.panels.profiles, profile);
}
}
-WebInspector.DetailedHeapshotProfileType.prototype.__proto__ = WebInspector.ProfileType.prototype;
+WebInspector.HeapSnapshotProfileType.prototype.__proto__ = WebInspector.ProfileType.prototype;
if (!WebInspector.WorkerManager.isWorkerFrontend())
this._registerProfileType(new WebInspector.CSSSelectorProfileType());
if (Capabilities.heapProfilerPresent)
- this._registerProfileType(new WebInspector.DetailedHeapshotProfileType());
+ this._registerProfileType(new WebInspector.HeapSnapshotProfileType());
InspectorBackend.registerProfilerDispatcher(new WebInspector.ProfilerDispatcher(this));
loadHeapSnapshot: function(uid, callback)
{
- var profile = this._profilesIdMap[this._makeKey(uid, WebInspector.DetailedHeapshotProfileType.TypeId)];
+ var profile = this._profilesIdMap[this._makeKey(uid, WebInspector.HeapSnapshotProfileType.TypeId)];
if (!profile)
return;
_addHeapSnapshotChunk: function(uid, chunk)
{
- var profile = this._profilesIdMap[this._makeKey(uid, WebInspector.DetailedHeapshotProfileType.TypeId)];
+ var profile = this._profilesIdMap[this._makeKey(uid, WebInspector.HeapSnapshotProfileType.TypeId)];
if (!profile || !profile.proxy)
return;
profile.proxy.pushJSONChunk(chunk);
_finishHeapSnapshot: function(uid)
{
- var profile = this._profilesIdMap[this._makeKey(uid, WebInspector.DetailedHeapshotProfileType.TypeId)];
+ var profile = this._profilesIdMap[this._makeKey(uid, WebInspector.HeapSnapshotProfileType.TypeId)];
if (!profile || !profile.proxy)
return;
var proxy = profile.proxy;
takeHeapSnapshot: function()
{
- if (!this.hasTemporaryProfile(WebInspector.DetailedHeapshotProfileType.TypeId)) {
+ if (!this.hasTemporaryProfile(WebInspector.HeapSnapshotProfileType.TypeId)) {
if (!this._temporaryRecordingProfile) {
this._temporaryRecordingProfile = new WebInspector.ProfileHeader(
- WebInspector.DetailedHeapshotProfileType.TypeId,
+ WebInspector.HeapSnapshotProfileType.TypeId,
WebInspector.UIString("Snapshotting\u2026"),
-1,
true);
_reportHeapSnapshotProgress: function(done, total)
{
- if (this.hasTemporaryProfile(WebInspector.DetailedHeapshotProfileType.TypeId)) {
+ if (this.hasTemporaryProfile(WebInspector.HeapSnapshotProfileType.TypeId)) {
this._temporaryRecordingProfile.sidebarElement.subtitle = WebInspector.UIString("%.2f%", (done / total) * 100);
this._temporaryRecordingProfile.sidebarElement.wait = true;
if (done >= total)
<file>Database.js</file>
<file>DatabaseQueryView.js</file>
<file>DatabaseTableView.js</file>
- <file>DetailedHeapshotGridNodes.js</file>
- <file>DetailedHeapshotView.js</file>
<file>DataGrid.js</file>
<file>DebuggerModel.js</file>
<file>DebuggerPresentationModel.js</file>
<file>HAREntry.js</file>
<file>HandlerRegistry.js</file>
<file>HeapSnapshot.js</file>
+ <file>HeapSnapshotGridNodes.js</file>
<file>HeapSnapshotProxy.js</file>
+ <file>HeapSnapshotView.js</file>
<file>HeapSnapshotWorker.js</file>
<file>HeapSnapshotWorkerDispatcher.js</file>
<file>HelpScreen.js</file>
content: url(Images/profileSmallIcon.png);
}
-.detailed-heapshot-view {
+.heap-snapshot-view {
display: none;
overflow: hidden;
position: absolute;
bottom: 0;
}
-.detailed-heapshot-view.visible {
+.heap-snapshot-view.visible {
display: block;
}
-.detailed-heapshot-view .view {
+.heap-snapshot-view .view {
display: none;
}
-.detailed-heapshot-view .view.visible {
+.heap-snapshot-view .view.visible {
display: block;
}
-.detailed-heapshot-view .data-grid tr:empty {
+.heap-snapshot-view .data-grid tr:empty {
height: 16px;
visibility: hidden;
}
-.detailed-heapshot-view .data-grid {
+.heap-snapshot-view .data-grid {
border: none;
}
-.detailed-heapshot-view .data-grid td.count-column {
+.heap-snapshot-view .data-grid td.count-column {
text-align: right;
}
-.detailed-heapshot-view .data-grid td.addedCount-column {
+.heap-snapshot-view .data-grid td.addedCount-column {
text-align: right;
}
-.detailed-heapshot-view .data-grid td.removedCount-column {
+.heap-snapshot-view .data-grid td.removedCount-column {
text-align: right;
}
-.detailed-heapshot-view .data-grid td.countDelta-column {
+.heap-snapshot-view .data-grid td.countDelta-column {
text-align: right;
}
-.detailed-heapshot-view .data-grid td.addedSize-column {
+.heap-snapshot-view .data-grid td.addedSize-column {
text-align: right;
}
-.detailed-heapshot-view .data-grid td.removedSize-column {
+.heap-snapshot-view .data-grid td.removedSize-column {
text-align: right;
}
-.detailed-heapshot-view .data-grid td.sizeDelta-column {
+.heap-snapshot-view .data-grid td.sizeDelta-column {
text-align: right;
}
-.detailed-heapshot-view .data-grid td.shallowSize-column {
+.heap-snapshot-view .data-grid td.shallowSize-column {
text-align: right;
}
-.detailed-heapshot-view .data-grid td.retainedSize-column {
+.heap-snapshot-view .data-grid td.retainedSize-column {
text-align: right;
}
-.detailed-heapshot-view .data-grid td.distanceToWindow-column {
+.heap-snapshot-view .data-grid td.distanceToWindow-column {
text-align: right;
}
-.detailed-heapshot-view .data-grid span.percent-column {
+.heap-snapshot-view .data-grid span.percent-column {
color: grey;
width: 32px;
float: right;
}
-.detailed-heapshot-view .console-formatted-object, .console-formatted-node {
+.heap-snapshot-view .console-formatted-object, .console-formatted-node {
display: inline;
position: static;
}
background-color: #FF9999;
}
-.detailed-heapshot-view .console-formatted-string {
+.heap-snapshot-view .console-formatted-string {
white-space: nowrap;
}
-.detailed-heapshot-view .console-formatted-id {
+.heap-snapshot-view .console-formatted-id {
color: grey;
}
-.detailed-heapshot-view .data-grid tr.selected * {
+.heap-snapshot-view .data-grid tr.selected * {
color: inherit;
}
-.detailed-heapshot-view .data-grid:focus tr.selected * {
+.heap-snapshot-view .data-grid:focus tr.selected * {
color: white;
}
-.detailed-heapshot-view .delimiter {
+.heap-snapshot-view .delimiter {
height: 24px;
background-color: #d6dde5;
}
-.detailed-heapshot-view .data-grid {
+.heap-snapshot-view .data-grid {
position: absolute;
top: 0;
left: 0;
bottom: 0;
}
-.detailed-heapshot-view .views-container {
+.heap-snapshot-view .views-container {
position: absolute;
top: 0;
left: 0;
bottom: 173px;
}
-.detailed-heapshot-view .views-container .view {
+.heap-snapshot-view .views-container .view {
position: absolute;
top: 0;
left: 0;
bottom: 0;
}
-.detailed-heapshot-view .retaining-paths-view {
+.heap-snapshot-view .retaining-paths-view {
height: 150px;
position: absolute;
bottom: 0;
right: 0;
}
-.detailed-heapshot-view .class-view-grid {
+.heap-snapshot-view .class-view-grid {
top: 22px;
}
-.detailed-heapshot-view .class-view-toolbar {
+.heap-snapshot-view .class-view-toolbar {
height: 22px;
background-color: #DDD;
display: block;
top: 0;
}
-.detailed-heapshot-view .class-view-toolbar input.class-name-filter {
+.heap-snapshot-view .class-view-toolbar input.class-name-filter {
width: 200px;
height: 18px;
font-size: 11px;
border: solid 1px #BBB;
}
-.detailed-heapshot-view .retainers-view-header {
+.heap-snapshot-view .retainers-view-header {
background-image: url(Images/statusbarResizerVertical.png), url(Images/statusbarBackground.png);
background-repeat: no-repeat, repeat-x;
background-position: right center, center;
bottom: 150px;
}
-.detailed-heapshot-view .retainers-view-header .title > span {
+.heap-snapshot-view .retainers-view-header .title > span {
display: inline-block;
padding-top: 3px;
vertical-align: middle;
margin-right: 8px;
}
-.detailed-heapshot-view tr:not(.selected) td.object-column span.highlight {
+.heap-snapshot-view tr:not(.selected) td.object-column span.highlight {
background-color: rgb(255, 255, 200);
}
-.detailed-heapshot-view td.object-column span.grayed {
+.heap-snapshot-view td.object-column span.grayed {
color: gray;
}
-.heapshot-help-status-bar-item .glyph {
+.heap-snapshot-help-status-bar-item .glyph {
-webkit-mask-position: -160px 0;
}
-table.heapshot-help {
+table.heap-snapshot-help {
border-spacing: 12px 2px;
}
<script type="text/javascript" src="HeapSnapshot.js"></script>
<script type="text/javascript" src="HeapSnapshotProxy.js"></script>
<script type="text/javascript" src="HeapSnapshotWorkerDispatcher.js"></script>
- <script type="text/javascript" src="DetailedHeapshotGridNodes.js"></script>
- <script type="text/javascript" src="DetailedHeapshotView.js"></script>
+ <script type="text/javascript" src="HeapSnapshotGridNodes.js"></script>
+ <script type="text/javascript" src="HeapSnapshotView.js"></script>
<script type="text/javascript" src="DebuggerModel.js"></script>
<script type="text/javascript" src="ScriptMapping.js"></script>
<script type="text/javascript" src="UISourceCode.js"></script>