Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 /* | 1 /* |
| 2 * Copyright (C) 2008 Apple Inc. All Rights Reserved. | 2 * Copyright (C) 2008 Apple Inc. All Rights Reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
| 6 * are met: | 6 * are met: |
| 7 * 1. Redistributions of source code must retain the above copyright | 7 * 1. Redistributions of source code must retain the above copyright |
| 8 * notice, this list of conditions and the following disclaimer. | 8 * notice, this list of conditions and the following disclaimer. |
| 9 * 2. Redistributions in binary form must reproduce the above copyright | 9 * 2. Redistributions in binary form must reproduce the above copyright |
| 10 * notice, this list of conditions and the following disclaimer in the | 10 * notice, this list of conditions and the following disclaimer in the |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 45 columns.push({id: "function", title: WebInspector.UIString("Function"), disc losure: true, sortable: true}); | 45 columns.push({id: "function", title: WebInspector.UIString("Function"), disc losure: true, sortable: true}); |
| 46 | 46 |
| 47 this.dataGrid = new WebInspector.DataGrid(columns); | 47 this.dataGrid = new WebInspector.DataGrid(columns); |
| 48 this.dataGrid.addEventListener(WebInspector.DataGrid.Events.SortingChanged, this._sortProfile, this); | 48 this.dataGrid.addEventListener(WebInspector.DataGrid.Events.SortingChanged, this._sortProfile, this); |
| 49 this.dataGrid.element.addEventListener("mousedown", this._mouseDownInDataGri d.bind(this), true); | 49 this.dataGrid.element.addEventListener("mousedown", this._mouseDownInDataGri d.bind(this), true); |
| 50 this.dataGrid.show(this.element); | 50 this.dataGrid.show(this.element); |
| 51 | 51 |
| 52 this.viewSelectComboBox = new WebInspector.StatusBarComboBox(this._changeVie w.bind(this)); | 52 this.viewSelectComboBox = new WebInspector.StatusBarComboBox(this._changeVie w.bind(this)); |
| 53 | 53 |
| 54 var options = {}; | 54 var options = {}; |
| 55 options[WebInspector.CPUProfileView._TypeFlame] = this.viewSelectComboBox.cr eateOption(WebInspector.UIString("Flame Chart"), "", WebInspector.CPUProfileView ._TypeFlame); | 55 options[WebInspector.CPUProfileView._TypeFlame] = this.viewSelectComboBox.cr eateOption(WebInspector.UIString("Icicle Chart"), "", WebInspector.CPUProfileVie w._TypeFlame); |
| 56 options[WebInspector.CPUProfileView._TypeHeavy] = this.viewSelectComboBox.cr eateOption(WebInspector.UIString("Heavy (Bottom Up)"), "", WebInspector.CPUProfi leView._TypeHeavy); | 56 options[WebInspector.CPUProfileView._TypeHeavy] = this.viewSelectComboBox.cr eateOption(WebInspector.UIString("Heavy (Bottom Up)"), "", WebInspector.CPUProfi leView._TypeHeavy); |
| 57 options[WebInspector.CPUProfileView._TypeTree] = this.viewSelectComboBox.cre ateOption(WebInspector.UIString("Tree (Top Down)"), "", WebInspector.CPUProfileV iew._TypeTree); | 57 options[WebInspector.CPUProfileView._TypeTree] = this.viewSelectComboBox.cre ateOption(WebInspector.UIString("Tree (Top Down)"), "", WebInspector.CPUProfileV iew._TypeTree); |
| 58 | 58 |
| 59 var optionName = this._viewType.get() || WebInspector.CPUProfileView._TypeFl ame; | 59 var optionName = this._viewType.get() || WebInspector.CPUProfileView._TypeFl ame; |
| 60 var option = options[optionName] || options[WebInspector.CPUProfileView._Typ eFlame]; | 60 var option = options[optionName] || options[WebInspector.CPUProfileView._Typ eFlame]; |
| 61 this.viewSelectComboBox.select(option); | 61 this.viewSelectComboBox.select(option); |
| 62 | 62 |
| 63 this._statusBarButtonsElement = document.createElement("span"); | 63 this._statusBarButtonsElement = document.createElement("span"); |
| 64 | 64 |
| 65 this.percentButton = new WebInspector.StatusBarButton("", "percent-time-stat us-bar-item"); | 65 this.percentButton = new WebInspector.StatusBarButton("", "percent-time-stat us-bar-item"); |
| (...skipping 983 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1049 /** | 1049 /** |
| 1050 * @constructor | 1050 * @constructor |
| 1051 * @implements {WebInspector.FlameChartDataProvider} | 1051 * @implements {WebInspector.FlameChartDataProvider} |
| 1052 * @param {!WebInspector.CPUProfileView} cpuProfileView | 1052 * @param {!WebInspector.CPUProfileView} cpuProfileView |
| 1053 */ | 1053 */ |
| 1054 WebInspector.CPUFlameChartDataProvider = function(cpuProfileView) | 1054 WebInspector.CPUFlameChartDataProvider = function(cpuProfileView) |
| 1055 { | 1055 { |
| 1056 WebInspector.FlameChartDataProvider.call(this); | 1056 WebInspector.FlameChartDataProvider.call(this); |
| 1057 this._cpuProfileView = cpuProfileView; | 1057 this._cpuProfileView = cpuProfileView; |
| 1058 this._colorGenerator = WebInspector.CPUProfileView.colorGenerator(); | 1058 this._colorGenerator = WebInspector.CPUProfileView.colorGenerator(); |
| 1059 this._linkifier = new WebInspector.Linkifier(); | |
| 1059 } | 1060 } |
| 1060 | 1061 |
| 1061 WebInspector.CPUFlameChartDataProvider.prototype = { | 1062 WebInspector.CPUFlameChartDataProvider.prototype = { |
| 1062 /** | 1063 /** |
| 1063 * @return {number} | 1064 * @return {number} |
| 1064 */ | 1065 */ |
| 1065 barHeight: function() | 1066 barHeight: function() |
| 1066 { | 1067 { |
| 1067 return 15; | 1068 return 15; |
| 1068 }, | 1069 }, |
| (...skipping 208 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1277 row.title = title; | 1278 row.title = title; |
| 1278 row.text = text; | 1279 row.text = text; |
| 1279 entryInfo.push(row); | 1280 entryInfo.push(row); |
| 1280 } | 1281 } |
| 1281 | 1282 |
| 1282 pushEntryInfoRow(WebInspector.UIString("Name"), node.functionName); | 1283 pushEntryInfoRow(WebInspector.UIString("Name"), node.functionName); |
| 1283 var selfTime = this._millisecondsToString(this._entrySelfTimes[entryInde x]); | 1284 var selfTime = this._millisecondsToString(this._entrySelfTimes[entryInde x]); |
| 1284 var totalTime = this._millisecondsToString(timelineData.entryTotalTimes[ entryIndex]); | 1285 var totalTime = this._millisecondsToString(timelineData.entryTotalTimes[ entryIndex]); |
| 1285 pushEntryInfoRow(WebInspector.UIString("Self time"), selfTime); | 1286 pushEntryInfoRow(WebInspector.UIString("Self time"), selfTime); |
| 1286 pushEntryInfoRow(WebInspector.UIString("Total time"), totalTime); | 1287 pushEntryInfoRow(WebInspector.UIString("Total time"), totalTime); |
| 1287 if (node.url) | 1288 var linkElement = this._linkifier.linkifyRawLocation(new WebInspector.De buggerModel.Location(node.scriptId, node.lineNumber, node.columnNumber)); |
|
pfeldman
2014/03/26 09:33:46
just create local linkifier.
| |
| 1288 pushEntryInfoRow(WebInspector.UIString("URL"), node.url + ":" + node .lineNumber); | 1289 pushEntryInfoRow(WebInspector.UIString("URL"), linkElement ? linkElement .innerText : ""); |
|
pfeldman
2014/03/26 09:33:46
You should never use innerText. Use textContent in
| |
| 1290 // We need only text of the link so we can reset linkifier immedeately. | |
| 1291 // Othervise linkifier will keep the references to the elements and upda te them each time when user clicks pretty print. | |
| 1292 this._linkifier.reset(); | |
| 1289 pushEntryInfoRow(WebInspector.UIString("Aggregated self time"), Number.s econdsToString(node.selfTime / 1000, true)); | 1293 pushEntryInfoRow(WebInspector.UIString("Aggregated self time"), Number.s econdsToString(node.selfTime / 1000, true)); |
| 1290 pushEntryInfoRow(WebInspector.UIString("Aggregated total time"), Number. secondsToString(node.totalTime / 1000, true)); | 1294 pushEntryInfoRow(WebInspector.UIString("Aggregated total time"), Number. secondsToString(node.totalTime / 1000, true)); |
| 1291 if (node.deoptReason && node.deoptReason !== "no reason") | 1295 if (node.deoptReason && node.deoptReason !== "no reason") |
| 1292 pushEntryInfoRow(WebInspector.UIString("Not optimized"), node.deoptR eason); | 1296 pushEntryInfoRow(WebInspector.UIString("Not optimized"), node.deoptR eason); |
| 1293 | 1297 |
| 1294 return entryInfo; | 1298 return entryInfo; |
| 1295 }, | 1299 }, |
| 1296 | 1300 |
| 1297 /** | 1301 /** |
| 1298 * @param {number} entryIndex | 1302 * @param {number} entryIndex |
| (...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1386 | 1390 |
| 1387 /** | 1391 /** |
| 1388 * @param {number} entryIndex | 1392 * @param {number} entryIndex |
| 1389 * @return {!string} | 1393 * @return {!string} |
| 1390 */ | 1394 */ |
| 1391 textColor: function(entryIndex) | 1395 textColor: function(entryIndex) |
| 1392 { | 1396 { |
| 1393 return "#333"; | 1397 return "#333"; |
| 1394 } | 1398 } |
| 1395 } | 1399 } |
| OLD | NEW |