OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 var g_browserBridge; | 5 var g_browserBridge; |
6 var g_mainView; | 6 var g_mainView; |
7 | 7 |
8 // TODO(eroman): The handling of "max" across snapshots is not correct. | 8 // TODO(eroman): The handling of "max" across snapshots is not correct. |
9 // For starters the browser needs to be aware to generate new maximums. | 9 // For starters the browser needs to be aware to generate new maximums. |
10 // Secondly, we need to take into account the "max" of intermediary snapshots, | 10 // Secondly, we need to take into account the "max" of intermediary snapshots, |
(...skipping 24 matching lines...) Expand all Loading... |
35 | 35 |
36 BrowserBridge.prototype = { | 36 BrowserBridge.prototype = { |
37 //-------------------------------------------------------------------------- | 37 //-------------------------------------------------------------------------- |
38 // Messages sent to the browser | 38 // Messages sent to the browser |
39 //-------------------------------------------------------------------------- | 39 //-------------------------------------------------------------------------- |
40 | 40 |
41 sendGetData: function() { | 41 sendGetData: function() { |
42 chrome.send('getData'); | 42 chrome.send('getData'); |
43 }, | 43 }, |
44 | 44 |
45 sendResetData: function() { | |
46 chrome.send('resetData'); | |
47 }, | |
48 | |
49 //-------------------------------------------------------------------------- | 45 //-------------------------------------------------------------------------- |
50 // Messages received from the browser. | 46 // Messages received from the browser. |
51 //-------------------------------------------------------------------------- | 47 //-------------------------------------------------------------------------- |
52 | 48 |
53 receivedData: function(data) { | 49 receivedData: function(data) { |
54 // TODO(eroman): The browser should give an indication of which snapshot | 50 // TODO(eroman): The browser should give an indication of which snapshot |
55 // this data belongs to. For now we always assume it is for the latest. | 51 // this data belongs to. For now we always assume it is for the latest. |
56 g_mainView.addDataToSnapshot(data); | 52 g_mainView.addDataToSnapshot(data); |
57 }, | 53 }, |
58 }; | 54 }; |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
92 // The anchor which toggles visibility of column checkboxes. | 88 // The anchor which toggles visibility of column checkboxes. |
93 var EDIT_COLUMNS_LINK_ID = 'edit-columns-link'; | 89 var EDIT_COLUMNS_LINK_ID = 'edit-columns-link'; |
94 | 90 |
95 // The container node to show/hide when toggling the column checkboxes. | 91 // The container node to show/hide when toggling the column checkboxes. |
96 var EDIT_COLUMNS_ROW = 'edit-columns-row'; | 92 var EDIT_COLUMNS_ROW = 'edit-columns-row'; |
97 | 93 |
98 // The checkbox which controls whether things like "Worker Threads" and | 94 // The checkbox which controls whether things like "Worker Threads" and |
99 // "PAC threads" will be merged together. | 95 // "PAC threads" will be merged together. |
100 var MERGE_SIMILAR_THREADS_CHECKBOX_ID = 'merge-similar-threads-checkbox'; | 96 var MERGE_SIMILAR_THREADS_CHECKBOX_ID = 'merge-similar-threads-checkbox'; |
101 | 97 |
102 var RESET_DATA_LINK_ID = 'reset-data-link'; | |
103 | |
104 var TOGGLE_SNAPSHOTS_LINK_ID = 'snapshots-link'; | 98 var TOGGLE_SNAPSHOTS_LINK_ID = 'snapshots-link'; |
105 var SNAPSHOTS_ROW = 'snapshots-row'; | 99 var SNAPSHOTS_ROW = 'snapshots-row'; |
106 var SNAPSHOT_SELECTION_SUMMARY_ID = 'snapshot-selection-summary'; | 100 var SNAPSHOT_SELECTION_SUMMARY_ID = 'snapshot-selection-summary'; |
107 var TAKE_SNAPSHOT_BUTTON_ID = 'take-snapshot-button'; | 101 var TAKE_SNAPSHOT_BUTTON_ID = 'take-snapshot-button'; |
108 | 102 |
109 var SAVE_SNAPSHOTS_BUTTON_ID = 'save-snapshots-button'; | 103 var SAVE_SNAPSHOTS_BUTTON_ID = 'save-snapshots-button'; |
110 var SNAPSHOT_FILE_LOADER_ID = 'snapshot-file-loader'; | 104 var SNAPSHOT_FILE_LOADER_ID = 'snapshot-file-loader'; |
111 var LOAD_ERROR_ID = 'file-load-error'; | 105 var LOAD_ERROR_ID = 'file-load-error'; |
112 | 106 |
113 var DOWNLOAD_ANCHOR_ID = 'download-anchor'; | 107 var DOWNLOAD_ANCHOR_ID = 'download-anchor'; |
(...skipping 784 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
898 if (mergeSimilarThreads) { | 892 if (mergeSimilarThreads) { |
899 propertyGetterFunc = function(row, key) { | 893 propertyGetterFunc = function(row, key) { |
900 var value = row[key]; | 894 var value = row[key]; |
901 // If the property is a thread name, try to remap it. | 895 // If the property is a thread name, try to remap it. |
902 if (key == KEY_BIRTH_THREAD || key == KEY_DEATH_THREAD) { | 896 if (key == KEY_BIRTH_THREAD || key == KEY_DEATH_THREAD) { |
903 var m = /^(.*[^\d])(\d+)$/.exec(value); | 897 var m = /^(.*[^\d])(\d+)$/.exec(value); |
904 if (m) | 898 if (m) |
905 value = m[1] + '*'; | 899 value = m[1] + '*'; |
906 } | 900 } |
907 return value; | 901 return value; |
908 } | 902 }; |
909 } else { | 903 } else { |
910 propertyGetterFunc = function(row, key) { return row[key]; }; | 904 propertyGetterFunc = function(row, key) { return row[key]; }; |
911 } | 905 } |
912 | 906 |
913 // Determine which sets of properties a row needs to match on to be | 907 // Determine which sets of properties a row needs to match on to be |
914 // considered identical to another row. | 908 // considered identical to another row. |
915 var identityKeys = IDENTITY_KEYS.slice(0); | 909 var identityKeys = IDENTITY_KEYS.slice(0); |
916 deleteValuesFromArray(identityKeys, mergeKeys); | 910 deleteValuesFromArray(identityKeys, mergeKeys); |
917 | 911 |
918 // Set |aggregateKeys| to everything else, since we will be aggregating | 912 // Set |aggregateKeys| to everything else, since we will be aggregating |
(...skipping 836 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1755 | 1749 |
1756 $(EDIT_COLUMNS_LINK_ID).onclick = | 1750 $(EDIT_COLUMNS_LINK_ID).onclick = |
1757 toggleNodeDisplay.bind(null, $(EDIT_COLUMNS_ROW)); | 1751 toggleNodeDisplay.bind(null, $(EDIT_COLUMNS_ROW)); |
1758 | 1752 |
1759 $(TOGGLE_SNAPSHOTS_LINK_ID).onclick = | 1753 $(TOGGLE_SNAPSHOTS_LINK_ID).onclick = |
1760 toggleNodeDisplay.bind(null, $(SNAPSHOTS_ROW)); | 1754 toggleNodeDisplay.bind(null, $(SNAPSHOTS_ROW)); |
1761 | 1755 |
1762 $(MERGE_SIMILAR_THREADS_CHECKBOX_ID).onchange = | 1756 $(MERGE_SIMILAR_THREADS_CHECKBOX_ID).onchange = |
1763 this.onMergeSimilarThreadsCheckboxChanged_.bind(this); | 1757 this.onMergeSimilarThreadsCheckboxChanged_.bind(this); |
1764 | 1758 |
1765 $(RESET_DATA_LINK_ID).onclick = | |
1766 g_browserBridge.sendResetData.bind(g_browserBridge); | |
1767 | |
1768 $(TAKE_SNAPSHOT_BUTTON_ID).onclick = this.takeSnapshot_.bind(this); | 1759 $(TAKE_SNAPSHOT_BUTTON_ID).onclick = this.takeSnapshot_.bind(this); |
1769 | 1760 |
1770 $(SAVE_SNAPSHOTS_BUTTON_ID).onclick = this.saveSnapshots_.bind(this); | 1761 $(SAVE_SNAPSHOTS_BUTTON_ID).onclick = this.saveSnapshots_.bind(this); |
1771 $(SNAPSHOT_FILE_LOADER_ID).onchange = this.loadFileChanged_.bind(this); | 1762 $(SNAPSHOT_FILE_LOADER_ID).onchange = this.loadFileChanged_.bind(this); |
1772 }, | 1763 }, |
1773 | 1764 |
1774 takeSnapshot_: function() { | 1765 takeSnapshot_: function() { |
1775 // Start a new empty snapshot. Make note of the current time, so we know | 1766 // Start a new empty snapshot. Make note of the current time, so we know |
1776 // when the snaphot was taken. | 1767 // when the snaphot was taken. |
1777 this.snapshots_.push({flatData: [], origData: [], time: getTimeMillis()}); | 1768 this.snapshots_.push({flatData: [], origData: [], time: getTimeMillis()}); |
(...skipping 436 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2214 groupKey.push(entry); | 2205 groupKey.push(entry); |
2215 } | 2206 } |
2216 | 2207 |
2217 return JSON.stringify(groupKey); | 2208 return JSON.stringify(groupKey); |
2218 }; | 2209 }; |
2219 }, | 2210 }, |
2220 }; | 2211 }; |
2221 | 2212 |
2222 return MainView; | 2213 return MainView; |
2223 })(); | 2214 })(); |
OLD | NEW |