Changeset 196275 in webkit
- Timestamp:
- Feb 8, 2016 3:13:11 PM (8 years ago)
- Location:
- trunk/Source/WebInspectorUI
- Files:
-
- 22 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebInspectorUI/ChangeLog
r196271 r196275 1 2016-02-08 Joseph Pecoraro <pecoraro@apple.com> 2 3 Web Inspector: Extract a few common unicode characters into global variables 4 https://bugs.webkit.org/show_bug.cgi?id=154008 5 6 Reviewed by Timothy Hatcher. 7 8 * UserInterface/Base/Utilities.js: 9 Create global variables for `emDash` and `ellipsis` to use all over the tools. 10 11 * UserInterface/Views/ConsoleMessageView.js: 12 (WebInspector.ConsoleMessageView.prototype._formatParameterAsTable): Deleted. 13 * UserInterface/Views/DefaultDashboardView.js: 14 (WebInspector.DefaultDashboardView.prototype._updateDisplay): 15 * UserInterface/Views/HierarchicalPathComponent.js: 16 (WebInspector.HierarchicalPathComponent.prototype._updateElementTitleAndText): 17 (WebInspector.HierarchicalPathComponent.prototype._updateSelectElement.createOption): 18 (WebInspector.HierarchicalPathComponent.prototype._updateSelectElement): 19 * UserInterface/Views/HierarchicalPathNavigationItem.js: 20 (WebInspector.HierarchicalPathNavigationItem.prototype.updateLayout): 21 * UserInterface/Views/LayerTreeDataGridNode.js: 22 (WebInspector.LayerTreeDataGridNode.prototype.set layer): 23 * UserInterface/Views/LayoutTimelineDataGridNode.js: 24 (WebInspector.LayoutTimelineDataGridNode.prototype.createCellContent): 25 (WebInspector.LayoutTimelineDataGridNode): 26 * UserInterface/Views/MemoryCategoryView.js: 27 (WebInspector.MemoryCategoryView.prototype._updateDetails): Deleted. 28 (WebInspector.MemoryCategoryView): Deleted. 29 * UserInterface/Views/MemoryTimelineView.js: 30 (WebInspector.MemoryTimelineView.prototype._clearUsageLegend): 31 (WebInspector.MemoryTimelineView.prototype._updateUsageLegend): 32 (WebInspector.MemoryTimelineView.prototype._clearMaxComparisonLegend): 33 (WebInspector.MemoryTimelineView.prototype._updateMaxComparisonLegend): 34 * UserInterface/Views/MultipleScopeBarItem.js: 35 (WebInspector.MultipleScopeBarItem.set scopeBarItems.createOption): 36 (WebInspector.MultipleScopeBarItem.prototype.set scopeBarItems): 37 * UserInterface/Views/ObjectPreviewView.js: 38 (WebInspector.ObjectPreviewView.prototype._appendEntryPreviews): 39 (WebInspector.ObjectPreviewView.prototype._appendPropertyPreviews): 40 * UserInterface/Views/ProfileNodeDataGridNode.js: 41 (WebInspector.ProfileNodeDataGridNode.prototype.createCellContent): 42 (WebInspector.ProfileNodeDataGridNode): 43 * UserInterface/Views/RenderingFrameTimelineDataGridNode.js: 44 (WebInspector.RenderingFrameTimelineDataGridNode.prototype.createCellContent): 45 (WebInspector.RenderingFrameTimelineDataGridNode): 46 * UserInterface/Views/ResourceDetailsSidebarPanel.js: 47 (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshRequestAndResponse): Deleted. 48 (WebInspector.ResourceDetailsSidebarPanel.prototype._valueForSize): Deleted. 49 * UserInterface/Views/ResourceTimelineDataGridNode.js: 50 (WebInspector.ResourceTimelineDataGridNode.prototype.createCellContent): 51 * UserInterface/Views/ScriptTimelineDataGridNode.js: 52 (WebInspector.ScriptTimelineDataGridNode.prototype.createCellContent): 53 (WebInspector.ScriptTimelineDataGridNode): 54 * UserInterface/Views/SearchResultTreeElement.js: 55 (WebInspector.SearchResultTreeElement.truncateAndHighlightTitle): 56 * UserInterface/Views/TimelineDataGridNode.js: 57 (WebInspector.TimelineDataGridNode.prototype.createCellContent): 58 * UserInterface/Views/TypeTreeElement.js: 59 (WebInspector.TypeTreeElement.prototype.onpopulate): 60 * UserInterface/Views/TypeTreeView.js: 61 (WebInspector.TypeTreeView.prototype._populate): 62 (WebInspector.TypeTreeView): 63 1 64 2016-02-08 Joseph Pecoraro <pecoraro@apple.com> 2 65 -
trunk/Source/WebInspectorUI/UserInterface/Base/Utilities.js
r196187 r196275 24 24 */ 25 25 26 var emDash = "\u2014"; 27 var ellipsis = "\u2026"; 28 26 29 Object.defineProperty(Object, "shallowCopy", 27 30 { … … 478 481 var leftHalf = maxLength >> 1; 479 482 var rightHalf = maxLength - leftHalf - 1; 480 return this.substr(0, leftHalf) + "\u2026"+ this.substr(this.length - rightHalf, rightHalf);483 return this.substr(0, leftHalf) + ellipsis + this.substr(this.length - rightHalf, rightHalf); 481 484 } 482 485 }); … … 488 491 if (this.length <= maxLength) 489 492 return this; 490 return this.substr(0, maxLength - 1) + "\u2026";493 return this.substr(0, maxLength - 1) + ellipsis; 491 494 } 492 495 }); … … 506 509 clipped = clipped.slice(0, indexOfLastWhitespace - 1); 507 510 508 return clipped + "\u2026";511 return clipped + ellipsis; 509 512 } 510 513 }); -
trunk/Source/WebInspectorUI/UserInterface/Views/ConsoleMessageView.js
r194877 r196275 768 768 // If there were valuePreviews, convert to a flat list. 769 769 if (rows.length) { 770 var emDash = "\u2014";771 770 columnNames.unshift(WebInspector.UIString("(Index)")); 772 771 for (var i = 0; i < rows.length; ++i) { -
trunk/Source/WebInspectorUI/UserInterface/Views/DOMTreeElement.js
r194723 r196275 1234 1234 if (this.hasChildren) { 1235 1235 var textNodeElement = info.titleDOM.createChild("span", "html-text-node"); 1236 textNodeElement.textContent = "\u2026";1236 textNodeElement.textContent = ellipsis; 1237 1237 info.titleDOM.append("\u200B"); 1238 1238 } -
trunk/Source/WebInspectorUI/UserInterface/Views/DefaultDashboardView.js
r189142 r196275 73 73 74 74 var timeItem = this._items.time; 75 timeItem.text = dashboard.time ? Number.secondsToString(dashboard.time) : "\u2014";75 timeItem.text = dashboard.time ? Number.secondsToString(dashboard.time) : emDash; 76 76 this._setItemEnabled(timeItem, dashboard.time > 0); 77 77 … … 81 81 82 82 var sizeItem = this._items.resourcesSize; 83 sizeItem.text = dashboard.resourcesSize ? Number.bytesToString(dashboard.resourcesSize, false) : "\u2014";83 sizeItem.text = dashboard.resourcesSize ? Number.bytesToString(dashboard.resourcesSize, false) : emDash; 84 84 this._setItemEnabled(sizeItem, dashboard.resourcesSize > 0); 85 85 } -
trunk/Source/WebInspectorUI/UserInterface/Views/HierarchicalPathComponent.js
r185800 r196275 245 245 var truncatedDisplayName = this._displayName; 246 246 if (this._truncatedDisplayNameLength && truncatedDisplayName.length > this._truncatedDisplayNameLength) 247 truncatedDisplayName = truncatedDisplayName.substring(0, this._truncatedDisplayNameLength) + "\u2026";247 truncatedDisplayName = truncatedDisplayName.substring(0, this._truncatedDisplayNameLength) + ellipsis; 248 248 249 249 this._element.title = this._displayName; … … 259 259 var optionElement = document.createElement("option"); 260 260 var maxPopupMenuLength = 130; // <rdar://problem/13445374> <select> with very long option has clipped text and popup menu is still very wide 261 optionElement.textContent = component.displayName.length <= maxPopupMenuLength ? component.displayName : component.displayName.substring(0, maxPopupMenuLength) + "\u2026";261 optionElement.textContent = component.displayName.length <= maxPopupMenuLength ? component.displayName : component.displayName.substring(0, maxPopupMenuLength) + ellipsis; 262 262 optionElement._pathComponent = component; 263 263 return optionElement; -
trunk/Source/WebInspectorUI/UserInterface/Views/HierarchicalPathNavigationItem.js
r191976 r196275 171 171 172 172 // Create a component that will represent the hidden components with a ellipse as the display name. 173 this._collapsedComponent = new WebInspector.HierarchicalPathComponent( "\u2026", []);173 this._collapsedComponent = new WebInspector.HierarchicalPathComponent(ellipsis, []); 174 174 this._collapsedComponent.collapsed = true; 175 175 -
trunk/Source/WebInspectorUI/UserInterface/Views/LayerTreeDataGridNode.js
r187873 r196275 65 65 this.data = { 66 66 name: domNode ? WebInspector.displayNameForNode(domNode) : WebInspector.UIString("Unknown node"), 67 paintCount: layer.paintCount || "\u2014",67 paintCount: layer.paintCount || emDash, 68 68 memory: Number.bytesToString(layer.memory || 0) 69 69 }; -
trunk/Source/WebInspectorUI/UserInterface/Views/LayoutTimelineDataGridNode.js
r195779 r196275 65 65 createCellContent(columnIdentifier, cell) 66 66 { 67 const emptyValuePlaceholderString = "\u2014";68 67 var value = this.data[columnIdentifier]; 69 68 … … 74 73 case "width": 75 74 case "height": 76 return isNaN(value) ? em ptyValuePlaceholderString: WebInspector.UIString("%fpx").format(value);75 return isNaN(value) ? emDash : WebInspector.UIString("%fpx").format(value); 77 76 78 77 case "area": 79 return isNaN(value) ? em ptyValuePlaceholderString: WebInspector.UIString("%fpx²").format(value);78 return isNaN(value) ? emDash : WebInspector.UIString("%fpx²").format(value); 80 79 81 80 case "startTime": 82 return isNaN(value) ? em ptyValuePlaceholderString: Number.secondsToString(value - this._baseStartTime, true);81 return isNaN(value) ? emDash : Number.secondsToString(value - this._baseStartTime, true); 83 82 84 83 case "totalTime": 85 return isNaN(value) ? em ptyValuePlaceholderString: Number.secondsToString(value, true);84 return isNaN(value) ? emDash : Number.secondsToString(value, true); 86 85 } 87 86 -
trunk/Source/WebInspectorUI/UserInterface/Views/MemoryCategoryView.js
r195999 r196275 110 110 _updateDetails(minSize, maxSize) 111 111 { 112 const emDash = "\u2014";113 112 this._detailsMaxElement.textContent = WebInspector.UIString("Highest: %s").format(Number.isFinite(maxSize) ? Number.bytesToString(maxSize) : emDash); 114 113 this._detailsMinElement.textContent = WebInspector.UIString("Lowest: %s").format(Number.isFinite(minSize) ? Number.bytesToString(minSize) : emDash); -
trunk/Source/WebInspectorUI/UserInterface/Views/MemoryTimelineView.js
r196074 r196275 244 244 { 245 245 for (let sizeElement of this._usageLegendSizeElementMap.values()) 246 sizeElement.textContent = "\u2014";246 sizeElement.textContent = emDash; 247 247 248 248 let totalElement = this._usageCircleChart.centerElement.firstChild; … … 257 257 for (let {type, size} of record.categories) { 258 258 let sizeElement = this._usageLegendSizeElementMap.get(type); 259 sizeElement.textContent = Number.isFinite(size) ? Number.bytesToString(size) : "\u2014";259 sizeElement.textContent = Number.isFinite(size) ? Number.bytesToString(size) : emDash; 260 260 } 261 261 … … 277 277 _clearMaxComparisonLegend() 278 278 { 279 this._maxComparisonMaximumSizeElement.textContent = "\u2014";280 this._maxComparisonCurrentSizeElement.textContent = "\u2014";279 this._maxComparisonMaximumSizeElement.textContent = emDash; 280 this._maxComparisonCurrentSizeElement.textContent = emDash; 281 281 282 282 let totalElement = this._maxComparisonCircleChart.centerElement.firstChild; … … 287 287 _updateMaxComparisonLegend(currentSize) 288 288 { 289 this._maxComparisonMaximumSizeElement.textContent = Number.isFinite(this._maxSize) ? Number.bytesToString(this._maxSize) : "\u2014";290 this._maxComparisonCurrentSizeElement.textContent = Number.isFinite(currentSize) ? Number.bytesToString(currentSize) : "\u2014";289 this._maxComparisonMaximumSizeElement.textContent = Number.isFinite(this._maxSize) ? Number.bytesToString(this._maxSize) : emDash; 290 this._maxComparisonCurrentSizeElement.textContent = Number.isFinite(currentSize) ? Number.bytesToString(currentSize) : emDash; 291 291 292 292 let centerElement = this._maxComparisonCircleChart.centerElement; -
trunk/Source/WebInspectorUI/UserInterface/Views/MultipleScopeBarItem.js
r194903 r196275 79 79 var optionElement = document.createElement("option"); 80 80 var maxPopupMenuLength = 130; // <rdar://problem/13445374> <select> with very long option has clipped text and popup menu is still very wide 81 optionElement.textContent = scopeBarItem.label.length <= maxPopupMenuLength ? scopeBarItem.label : scopeBarItem.label.substring(0, maxPopupMenuLength) + "\u2026";81 optionElement.textContent = scopeBarItem.label.length <= maxPopupMenuLength ? scopeBarItem.label : scopeBarItem.label.substring(0, maxPopupMenuLength) + ellipsis; 82 82 return optionElement; 83 83 } -
trunk/Source/WebInspectorUI/UserInterface/Views/ObjectPreviewView.js
r192789 r196275 181 181 if (limit > 0) 182 182 element.append(", "); 183 element.append( "\u2026");183 element.append(ellipsis); 184 184 } 185 185 … … 246 246 if (limit > 0) 247 247 element.append(", "); 248 element.append( "\u2026");248 element.append(ellipsis); 249 249 } 250 250 -
trunk/Source/WebInspectorUI/UserInterface/Views/ProfileNodeDataGridNode.js
r188360 r196275 106 106 createCellContent(columnIdentifier, cell) 107 107 { 108 const emptyValuePlaceholderString = "\u2014";109 108 var value = this.data[columnIdentifier]; 110 109 111 110 switch (columnIdentifier) { 112 111 case "startTime": 113 return isNaN(value) ? em ptyValuePlaceholderString: Number.secondsToString(value - this._baseStartTime, true);112 return isNaN(value) ? emDash : Number.secondsToString(value - this._baseStartTime, true); 114 113 115 114 case "selfTime": 116 115 case "totalTime": 117 116 case "averageTime": 118 return isNaN(value) ? em ptyValuePlaceholderString: Number.secondsToString(value, true);117 return isNaN(value) ? emDash : Number.secondsToString(value, true); 119 118 } 120 119 -
trunk/Source/WebInspectorUI/UserInterface/Views/RenderingFrameTimelineDataGridNode.js
r195779 r196275 68 68 createCellContent(columnIdentifier, cell) 69 69 { 70 const emptyValuePlaceholderString = "\u2014";71 70 var value = this.data[columnIdentifier]; 72 71 73 72 switch (columnIdentifier) { 74 73 case "startTime": 75 return isNaN(value) ? em ptyValuePlaceholderString: Number.secondsToString(value - this._baseStartTime, true);74 return isNaN(value) ? emDash : Number.secondsToString(value - this._baseStartTime, true); 76 75 77 76 case "scriptTime": … … 80 79 case "otherTime": 81 80 case "totalTime": 82 return (isNaN(value) || value === 0) ? em ptyValuePlaceholderString: Number.secondsToString(value, true);81 return (isNaN(value) || value === 0) ? emDash : Number.secondsToString(value, true); 83 82 } 84 83 -
trunk/Source/WebInspectorUI/UserInterface/Views/ResourceDetailsSidebarPanel.js
r194920 r196275 288 288 // If we don't have a value, we set an em-dash to keep the row from hiding. 289 289 // This keeps the UI from shifting around as data comes in. 290 var emDash = "\u2014";291 290 292 291 this._requestMethodRow.value = resource.requestMethod || emDash; … … 305 304 // If we don't have a value, we set an em-dash to keep the row from hiding. 306 305 // This keeps the UI from shifting around as data comes in. 307 var emDash = "\u2014";308 306 return size > 0 ? Number.bytesToString(size) : emDash; 309 307 } -
trunk/Source/WebInspectorUI/UserInterface/Views/ResourceTimelineDataGridNode.js
r190376 r196275 94 94 cell.classList.add("error"); 95 95 96 const emptyValuePlaceholderString = "\u2014";97 96 var value = this.data[columnIdentifier]; 98 97 … … 103 102 case "statusCode": 104 103 cell.title = resource.statusText || ""; 105 return value || em ptyValuePlaceholderString;104 return value || emDash; 106 105 107 106 case "cached": … … 109 108 110 109 case "domain": 111 return value || em ptyValuePlaceholderString;110 return value || emDash; 112 111 113 112 case "size": 114 113 case "transferSize": 115 return isNaN(value) ? em ptyValuePlaceholderString: Number.bytesToString(value, true);114 return isNaN(value) ? emDash : Number.bytesToString(value, true); 116 115 117 116 case "requestSent": 118 117 case "latency": 119 118 case "duration": 120 return isNaN(value) ? em ptyValuePlaceholderString: Number.secondsToString(value, true);119 return isNaN(value) ? emDash : Number.secondsToString(value, true); 121 120 } 122 121 -
trunk/Source/WebInspectorUI/UserInterface/Views/ScriptTimelineDataGridNode.js
r195779 r196275 122 122 createCellContent(columnIdentifier, cell) 123 123 { 124 const emptyValuePlaceholderString = "\u2014";125 124 var value = this.data[columnIdentifier]; 126 125 … … 130 129 131 130 case "startTime": 132 return isNaN(value) ? em ptyValuePlaceholderString: Number.secondsToString(value - this._baseStartTime, true);131 return isNaN(value) ? emDash : Number.secondsToString(value - this._baseStartTime, true); 133 132 134 133 case "selfTime": 135 134 case "totalTime": 136 135 case "averageTime": 137 return isNaN(value) ? em ptyValuePlaceholderString: Number.secondsToString(value, true);136 return isNaN(value) ? emDash : Number.secondsToString(value, true); 138 137 139 138 case "callCount": 140 return isNaN(value) ? em ptyValuePlaceholderString: value;139 return isNaN(value) ? emDash : value; 141 140 } 142 141 -
trunk/Source/WebInspectorUI/UserInterface/Views/SearchResultTreeElement.js
r195303 r196275 51 51 var modifiedTitle = null; 52 52 if (searchTermIndex > WebInspector.SearchResultTreeElement.CharactersToShowBeforeSearchMatch) { 53 modifiedTitle = "\u2026"+ title.substring(searchTermIndex - WebInspector.SearchResultTreeElement.CharactersToShowBeforeSearchMatch);53 modifiedTitle = ellipsis + title.substring(searchTermIndex - WebInspector.SearchResultTreeElement.CharactersToShowBeforeSearchMatch); 54 54 searchTermIndex = WebInspector.SearchResultTreeElement.CharactersToShowBeforeSearchMatch + 1; 55 55 } else -
trunk/Source/WebInspectorUI/UserInterface/Views/TimelineDataGridNode.js
r189238 r196275 102 102 var value = this.data[columnIdentifier]; 103 103 if (!value) 104 return "\u2014";104 return emDash; 105 105 106 106 if (value instanceof WebInspector.SourceCodeLocation) { -
trunk/Source/WebInspectorUI/UserInterface/Views/TypeTreeElement.js
r195303 r196275 100 100 101 101 if (this._structureDescription.imprecise) { 102 var truncatedMessageElement = WebInspector.ObjectTreeView.createEmptyMessageElement( "\u2026");102 var truncatedMessageElement = WebInspector.ObjectTreeView.createEmptyMessageElement(ellipsis); 103 103 this.appendChild(new WebInspector.TreeElement(truncatedMessageElement, null, false)); 104 104 } -
trunk/Source/WebInspectorUI/UserInterface/Views/TypeTreeView.js
r195303 r196275 80 80 81 81 if (this._typeDescription.truncated) { 82 var truncatedMessageElement = WebInspector.ObjectTreeView.createEmptyMessageElement( "\u2026");82 var truncatedMessageElement = WebInspector.ObjectTreeView.createEmptyMessageElement(ellipsis); 83 83 this._outline.appendChild(new WebInspector.TreeElement(truncatedMessageElement, null, false)); 84 84 }
Note: See TracChangeset
for help on using the changeset viewer.