Index: chrome/tools/test/reference_build/chrome_linux/resources/inspector/ProfileView.js |
diff --git a/chrome/tools/test/reference_build/chrome_linux/resources/inspector/ProfileView.js b/chrome/tools/test/reference_build/chrome_linux/resources/inspector/ProfileView.js |
index d00733c483fcbbd4b53e1011ea74ef1b19146a7a..5c9fcdafb92d47a534a6342dd4d64adf3e2e9ff2 100644 |
--- a/chrome/tools/test/reference_build/chrome_linux/resources/inspector/ProfileView.js |
+++ b/chrome/tools/test/reference_build/chrome_linux/resources/inspector/ProfileView.js |
@@ -56,25 +56,19 @@ WebInspector.ProfileView = function(profile) |
this.viewSelectElement.appendChild(heavyViewOption); |
this.viewSelectElement.appendChild(treeViewOption); |
- this.percentButton = document.createElement("button"); |
- this.percentButton.className = "percent-time-status-bar-item status-bar-item"; |
+ this.percentButton = new WebInspector.StatusBarButton("", "percent-time-status-bar-item"); |
this.percentButton.addEventListener("click", this._percentClicked.bind(this), false); |
- this.focusButton = document.createElement("button"); |
- this.focusButton.title = WebInspector.UIString("Focus selected function."); |
- this.focusButton.className = "focus-profile-node-status-bar-item status-bar-item"; |
+ this.focusButton = new WebInspector.StatusBarButton(WebInspector.UIString("Focus selected function."), "focus-profile-node-status-bar-item"); |
this.focusButton.disabled = true; |
this.focusButton.addEventListener("click", this._focusClicked.bind(this), false); |
- this.excludeButton = document.createElement("button"); |
- this.excludeButton.title = WebInspector.UIString("Exclude selected function."); |
- this.excludeButton.className = "exclude-profile-node-status-bar-item status-bar-item"; |
+ this.excludeButton = new WebInspector.StatusBarButton(WebInspector.UIString("Exclude selected function."), "exclude-profile-node-status-bar-item"); |
this.excludeButton.disabled = true; |
this.excludeButton.addEventListener("click", this._excludeClicked.bind(this), false); |
- this.resetButton = document.createElement("button"); |
- this.resetButton.title = WebInspector.UIString("Restore all functions."); |
- this.resetButton.className = "reset-profile-status-bar-item status-bar-item hidden"; |
+ this.resetButton = new WebInspector.StatusBarButton(WebInspector.UIString("Restore all functions."), "reset-profile-status-bar-item"); |
+ this.resetButton.visible = false; |
this.resetButton.addEventListener("click", this._resetClicked.bind(this), false); |
this.profile = profile; |
@@ -90,7 +84,7 @@ WebInspector.ProfileView = function(profile) |
WebInspector.ProfileView.prototype = { |
get statusBarItems() |
{ |
- return [this.viewSelectElement, this.percentButton, this.focusButton, this.excludeButton, this.resetButton]; |
+ return [this.viewSelectElement, this.percentButton.element, this.focusButton.element, this.excludeButton.element, this.resetButton.element]; |
}, |
get profile() |
@@ -148,11 +142,23 @@ WebInspector.ProfileView.prototype = { |
return this._bottomUpTree; |
}, |
+ show: function(parentElement) |
+ { |
+ WebInspector.View.prototype.show.call(this, parentElement); |
+ this.dataGrid.updateWidths(); |
+ }, |
+ |
hide: function() |
{ |
WebInspector.View.prototype.hide.call(this); |
this._currentSearchResultIndex = -1; |
}, |
+ |
+ resize: function() |
+ { |
+ if (this.dataGrid) |
+ this.dataGrid.updateWidths(); |
+ }, |
refresh: function() |
{ |
@@ -166,8 +172,8 @@ WebInspector.ProfileView.prototype = { |
for (var index = 0; index < count; ++index) |
this.dataGrid.appendChild(children[index]); |
- if (selectedProfileNode && selectedProfileNode._dataGridNode) |
- selectedProfileNode._dataGridNode.selected = true; |
+ if (selectedProfileNode) |
+ selectedProfileNode.selected = true; |
}, |
refreshVisibleData: function() |
@@ -196,8 +202,7 @@ WebInspector.ProfileView.prototype = { |
delete profileNode._searchMatchedCallsColumn; |
delete profileNode._searchMatchedFunctionColumn; |
- if (profileNode._dataGridNode) |
- profileNode._dataGridNode.refresh(); |
+ profileNode.refresh(); |
} |
} |
@@ -313,7 +318,7 @@ WebInspector.ProfileView.prototype = { |
profileDataGridNode._searchMatchedTotalColumn || |
profileDataGridNode._searchMatchedAverageColumn || |
profileDataGridNode._searchMatchedCallsColumn || |
- profileDataGridNode._searchMatchedFunctionColumn); |
+ profileDataGridNode._searchMatchedFunctionColumn) |
{ |
profileDataGridNode.refresh(); |
return true; |
@@ -322,48 +327,14 @@ WebInspector.ProfileView.prototype = { |
return false; |
} |
- var current = this.dataGrid; |
- var ancestors = []; |
- var nextIndexes = []; |
- var startIndex = 0; |
+ var current = this.profileDataGridTree.children[0]; |
while (current) { |
- var children = current.children; |
- var childrenLength = children.length; |
- |
- if (startIndex >= childrenLength) { |
- current = ancestors.pop(); |
- startIndex = nextIndexes.pop(); |
- continue; |
+ if (matchesQuery(current)) { |
+ this._searchResults.push({ profileNode: current }); |
} |
- for (var i = startIndex; i < childrenLength; ++i) { |
- var child = children[i]; |
- |
- if (matchesQuery(child)) { |
- if (child._dataGridNode) { |
- // The child has a data grid node already, no need to remember the ancestors. |
- this._searchResults.push({ profileNode: child }); |
- } else { |
- var ancestorsCopy = [].concat(ancestors); |
- ancestorsCopy.push(current); |
- this._searchResults.push({ profileNode: child, ancestors: ancestorsCopy }); |
- } |
- } |
- |
- if (child.children.length) { |
- ancestors.push(current); |
- nextIndexes.push(i + 1); |
- current = child; |
- startIndex = 0; |
- break; |
- } |
- |
- if (i === (childrenLength - 1)) { |
- current = ancestors.pop(); |
- startIndex = nextIndexes.pop(); |
- } |
- } |
+ current = current.traverseNextNode(false, null, false); |
} |
finishedCallback(this, this._searchResults.length); |
@@ -419,26 +390,9 @@ WebInspector.ProfileView.prototype = { |
if (!searchResult) |
return; |
- var profileNode = this._searchResults[index].profileNode; |
- if (!profileNode._dataGridNode && searchResult.ancestors) { |
- var ancestors = searchResult.ancestors; |
- for (var i = 0; i < ancestors.length; ++i) { |
- var ancestorProfileNode = ancestors[i]; |
- var gridNode = ancestorProfileNode._dataGridNode; |
- if (gridNode) |
- gridNode.expand(); |
- } |
- |
- // No need to keep the ancestors around. |
- delete searchResult.ancestors; |
- } |
- |
- gridNode = profileNode._dataGridNode; |
- if (!gridNode) |
- return; |
- |
- gridNode.reveal(); |
- gridNode.select(); |
+ var profileNode = searchResult.profileNode; |
+ profileNode.reveal(); |
+ profileNode.select(); |
}, |
_changeView: function(event) |
@@ -479,10 +433,10 @@ WebInspector.ProfileView.prototype = { |
{ |
if (this.showSelfTimeAsPercent && this.showTotalTimeAsPercent && this.showAverageTimeAsPercent) { |
this.percentButton.title = WebInspector.UIString("Show absolute total and self times."); |
- this.percentButton.addStyleClass("toggled-on"); |
+ this.percentButton.toggled = true; |
} else { |
this.percentButton.title = WebInspector.UIString("Show total and self times as percentages."); |
- this.percentButton.removeStyleClass("toggled-on"); |
+ this.percentButton.toggled = false; |
} |
}, |
@@ -491,7 +445,7 @@ WebInspector.ProfileView.prototype = { |
if (!this.dataGrid.selectedNode) |
return; |
- this.resetButton.removeStyleClass("hidden"); |
+ this.resetButton.visible = true; |
this.profileDataGridTree.focus(this.dataGrid.selectedNode); |
this.refresh(); |
this.refreshVisibleData(); |
@@ -506,7 +460,7 @@ WebInspector.ProfileView.prototype = { |
selectedNode.deselect(); |
- this.resetButton.removeStyleClass("hidden"); |
+ this.resetButton.visible = true; |
this.profileDataGridTree.exclude(selectedNode); |
this.refresh(); |
this.refreshVisibleData(); |
@@ -514,7 +468,7 @@ WebInspector.ProfileView.prototype = { |
_resetClicked: function(event) |
{ |
- this.resetButton.addStyleClass("hidden"); |
+ this.resetButton.visible = false; |
this.profileDataGridTree.restore(); |
this.refresh(); |
this.refreshVisibleData(); |