| 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();
|
|
|