Changeset 196342 in webkit
- Timestamp:
- Feb 9, 2016 3:42:53 PM (8 years ago)
- Location:
- trunk/Source/WebInspectorUI
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebInspectorUI/ChangeLog
r196336 r196342 1 2016-02-09 Joseph Pecoraro <pecoraro@apple.com> 2 3 Web Inspector: localStorage inspector very slow on big values 4 https://bugs.webkit.org/show_bug.cgi?id=123750 5 <rdar://problem/15384930> 6 7 Reviewed by Timothy Hatcher. 8 9 It is not useful to show very large strings in the DOM Storage DataGrid. 10 This change truncates display strings to roughly 200 characters. If the 11 developer really wants the full value of the string they can just access 12 it through localStorage. 13 14 * UserInterface/Models/DOMStorageObject.js: 15 (WebInspector.DOMStorageObject.prototype.getEntries.innerCallback): 16 (WebInspector.DOMStorageObject.prototype.getEntries): 17 (WebInspector.DOMStorageObject.prototype.itemUpdated): 18 Modernize. 19 20 * UserInterface/Views/DOMStorageContentView.js: 21 (WebInspector.DOMStorageContentView): 22 (WebInspector.DOMStorageContentView.prototype.itemRemoved): 23 Modernize. 24 25 (WebInspector.DOMStorageContentView.prototype.itemAdded): 26 (WebInspector.DOMStorageContentView.prototype.itemUpdated): 27 (WebInspector.DOMStorageContentView.prototype._truncateValue): 28 (WebInspector.DOMStorageContentView.prototype._populate): 29 Whenever we get a value that we will display, truncate it to 30 just 200 characters. 31 1 32 2016-02-09 Joseph Pecoraro <pecoraro@apple.com> 2 33 -
trunk/Source/WebInspectorUI/UserInterface/Models/DOMStorageObject.js
r188993 r196342 71 71 return; 72 72 73 for ( var entryof entries) {74 if (! entry[0] || !entry[1])73 for (let [key, value] of entries) { 74 if (!key || !value) 75 75 continue; 76 this._entries.set(entry[0], entry[1]); 76 77 this._entries.set(key, value); 77 78 } 78 79 … … 114 115 { 115 116 this._entries.set(key, value); 116 var data = {key, oldValue, value}; 117 this.dispatchEventToListeners(WebInspector.DOMStorageObject.Event.ItemUpdated, data); 117 this.dispatchEventToListeners(WebInspector.DOMStorageObject.Event.ItemUpdated, {key, oldValue, value}); 118 118 } 119 119 }; -
trunk/Source/WebInspectorUI/UserInterface/Views/DOMStorageContentView.js
r194878 r196342 38 38 representedObject.addEventListener(WebInspector.DOMStorageObject.Event.ItemUpdated, this.itemUpdated, this); 39 39 40 varcolumns = {};40 let columns = {}; 41 41 columns.key = {title: WebInspector.UIString("Key"), sortable: true}; 42 42 columns.value = {title: WebInspector.UIString("Value"), sortable: true}; … … 69 69 itemRemoved(event) 70 70 { 71 for ( varnode of this._dataGrid.children) {71 for (let node of this._dataGrid.children) { 72 72 if (node.data.key === event.data.key) 73 73 return this._dataGrid.removeChild(node); … … 77 77 itemAdded(event) 78 78 { 79 var key = event.data.key;80 va r value = event.data.value;79 let {key, value} = event.data; 80 value = this._truncateValue(value); 81 81 82 82 // Enforce key uniqueness. 83 for ( varnode of this._dataGrid.children) {83 for (let node of this._dataGrid.children) { 84 84 if (node.data.key === key) 85 85 return; 86 86 } 87 87 88 var data = {key, value}; 89 this._dataGrid.appendChild(new WebInspector.DataGridNode(data, false)); 88 this._dataGrid.appendChild(new WebInspector.DataGridNode({key, value}, false)); 90 89 this._sortDataGrid(); 91 90 } … … 93 92 itemUpdated(event) 94 93 { 95 var key = event.data.key;96 va r value = event.data.value;97 98 varkeyFound = false;99 for ( varchildNode of this._dataGrid.children) {94 let {key, value} = event.data; 95 value = this._truncateValue(value); 96 97 let keyFound = false; 98 for (let childNode of this._dataGrid.children) { 100 99 if (childNode.data.key === key) { 101 100 // Remove any rows that are now duplicates. … … 122 121 // Private 123 122 123 _truncateValue(value) 124 { 125 return value.truncate(200); 126 } 127 124 128 _populate() 125 129 { … … 128 132 return; 129 133 130 var nodes = []; 131 for (var entry of entries) { 132 if (!entry[0] || !entry[1]) 134 for (let [key, value] of entries) { 135 if (!key || !value) 133 136 continue; 134 var data = {key: entry[0], value: entry[1]}; 135 var node = new WebInspector.DataGridNode(data, false); 137 138 value = this._truncateValue(value); 139 let node = new WebInspector.DataGridNode({key, value}, false); 136 140 this._dataGrid.appendChild(node); 137 141 } … … 145 149 _sortDataGrid() 146 150 { 147 varsortColumnIdentifier = this._dataGrid.sortColumnIdentifier || "key";151 let sortColumnIdentifier = this._dataGrid.sortColumnIdentifier || "key"; 148 152 149 153 function comparator(a, b)
Note: See TracChangeset
for help on using the changeset viewer.