Changeset 240534 in webkit
- Timestamp:
- Jan 25, 2019 5:06:51 PM (5 years ago)
- Location:
- trunk/Source/WebInspectorUI
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebInspectorUI/ChangeLog
r240518 r240534 1 2019-01-25 Devin Rousso <drousso@apple.com> 2 3 Web Inspector: Uncaught Exception: No node with given id found 4 https://bugs.webkit.org/show_bug.cgi?id=193833 5 6 Reviewed by Joseph Pecoraro. 7 8 * UserInterface/Views/CanvasContentView.js: 9 (WI.CanvasContentView): 10 (WI.CanvasContentView.prototype.initialLayout): 11 (WI.CanvasContentView.prototype.layout): 12 (WI.CanvasContentView.prototype._refreshPixelSize): 13 Drive-by: show the refresh button when viewing a specific canvas. 14 15 * UserInterface/Views/CanvasTabContentView.js: 16 (WI.CanvasTabContentView.prototype._removeCanvas): 17 Reset to the overview if the canvas is removed. 18 1 19 2019-01-25 Joseph Pecoraro <pecoraro@apple.com> 2 20 -
trunk/Source/WebInspectorUI/UserInterface/Views/CanvasContentView.js
r238743 r240534 44 44 this._canvasNode = null; 45 45 46 if (this.representedObject.contextType === WI.Canvas.ContextType.Canvas2D || this.representedObject.contextType === WI.Canvas.ContextType.BitmapRenderer || this.representedObject.contextType === WI.Canvas.ContextType.WebGL) {47 const toolTip = WI.UIString("Start recording canvas actions.\nShift-click to record a single frame.");48 const altToolTip = WI.UIString("Stop recording canvas actions");49 this._recordButtonNavigationItem = new WI.ToggleButtonNavigationItem("record-start-stop", toolTip, altToolTip, "Images/Record.svg", "Images/Stop.svg", 13, 13);50 this._recordButtonNavigationItem.visibilityPriority = WI.NavigationItem.VisibilityPriority.High;51 this._recordButtonNavigationItem.addEventListener(WI.ButtonNavigationItem.Event.Clicked, this._toggleRecording, this);52 }53 54 this._canvasElementButtonNavigationItem = new WI.ButtonNavigationItem("canvas-element", WI.UIString("Canvas Element"), "Images/Markup.svg", 16, 16);55 this._canvasElementButtonNavigationItem.visibilityPriority = WI.NavigationItem.VisibilityPriority.Low;56 this._canvasElementButtonNavigationItem.addEventListener(WI.ButtonNavigationItem.Event.Clicked, this._canvasElementButtonClicked, this);57 58 46 this._refreshButtonNavigationItem = new WI.ButtonNavigationItem("refresh", WI.UIString("Refresh"), "Images/ReloadFull.svg", 13, 13); 59 47 this._refreshButtonNavigationItem.visibilityPriority = WI.NavigationItem.VisibilityPriority.Low; … … 96 84 super.initialLayout(); 97 85 98 let header = this.element.appendChild(document.createElement("header")); 99 header.addEventListener("click", (event) => { event.stopPropagation(); }); 100 101 let titles = header.appendChild(document.createElement("div")); 102 titles.className = "titles"; 103 104 let title = titles.appendChild(document.createElement("span")); 105 title.className = "title"; 106 title.textContent = this.representedObject.displayName; 107 108 let subtitle = titles.appendChild(document.createElement("span")); 109 subtitle.className = "subtitle"; 110 subtitle.textContent = WI.Canvas.displayNameForContextType(this.representedObject.contextType); 111 112 let navigationBar = new WI.NavigationBar; 113 if (this._recordButtonNavigationItem) 114 navigationBar.addNavigationItem(this._recordButtonNavigationItem); 115 navigationBar.addNavigationItem(this._canvasElementButtonNavigationItem); 116 navigationBar.addNavigationItem(this._refreshButtonNavigationItem); 117 118 header.append(navigationBar.element); 86 let isCard = !this._refreshButtonNavigationItem.parentNavigationBar; 87 88 if (isCard) { 89 let header = this.element.appendChild(document.createElement("header")); 90 header.addEventListener("click", (event) => { event.stopPropagation(); }); 91 92 let titles = header.appendChild(document.createElement("div")); 93 titles.className = "titles"; 94 95 let title = titles.appendChild(document.createElement("span")); 96 title.className = "title"; 97 title.textContent = this.representedObject.displayName; 98 99 let subtitle = titles.appendChild(document.createElement("span")); 100 subtitle.className = "subtitle"; 101 subtitle.textContent = WI.Canvas.displayNameForContextType(this.representedObject.contextType); 102 103 let navigationBar = new WI.NavigationBar; 104 105 if (this.representedObject.contextType === WI.Canvas.ContextType.Canvas2D || this.representedObject.contextType === WI.Canvas.ContextType.BitmapRenderer || this.representedObject.contextType === WI.Canvas.ContextType.WebGL) { 106 const toolTip = WI.UIString("Start recording canvas actions.\nShift-click to record a single frame."); 107 const altToolTip = WI.UIString("Stop recording canvas actions"); 108 this._recordButtonNavigationItem = new WI.ToggleButtonNavigationItem("record-start-stop", toolTip, altToolTip, "Images/Record.svg", "Images/Stop.svg", 13, 13); 109 this._recordButtonNavigationItem.visibilityPriority = WI.NavigationItem.VisibilityPriority.High; 110 this._recordButtonNavigationItem.addEventListener(WI.ButtonNavigationItem.Event.Clicked, this._toggleRecording, this); 111 navigationBar.addNavigationItem(this._recordButtonNavigationItem); 112 } 113 114 let canvasElementButtonNavigationItem = new WI.ButtonNavigationItem("canvas-element", WI.UIString("Canvas Element"), "Images/Markup.svg", 16, 16); 115 canvasElementButtonNavigationItem.visibilityPriority = WI.NavigationItem.VisibilityPriority.Low; 116 canvasElementButtonNavigationItem.addEventListener(WI.ButtonNavigationItem.Event.Clicked, this._canvasElementButtonClicked, this); 117 navigationBar.addNavigationItem(canvasElementButtonNavigationItem); 118 119 navigationBar.addNavigationItem(this._refreshButtonNavigationItem); 120 121 header.append(navigationBar.element); 122 } 119 123 120 124 this._previewContainerElement = this.element.appendChild(document.createElement("div")); 121 125 this._previewContainerElement.className = "preview"; 122 126 123 let footer = this.element.appendChild(document.createElement("footer")); 124 footer.addEventListener("click", (event) => { event.stopPropagation(); }); 125 126 this._viewRelatedItemsContainer = footer.appendChild(document.createElement("div")); 127 this._viewRelatedItemsContainer.classList.add("view-related-items"); 128 129 this._viewShaderButton = document.createElement("img"); 130 this._viewShaderButton.classList.add("view-shader"); 131 this._viewShaderButton.title = WI.UIString("View Shader"); 132 this._viewShaderButton.addEventListener("click", this._handleViewShaderButtonClicked.bind(this)); 133 134 this._viewRecordingButton = document.createElement("img"); 135 this._viewRecordingButton.classList.add("view-recording"); 136 this._viewRecordingButton.title = WI.UIString("View Recording"); 137 this._viewRecordingButton.addEventListener("click", this._handleViewRecordingButtonClicked.bind(this)); 138 139 this._updateViewRelatedItems(); 140 141 let flexibleSpaceElement = footer.appendChild(document.createElement("div")); 142 flexibleSpaceElement.className = "flexible-space"; 143 144 let metrics = footer.appendChild(document.createElement("div")); 145 this._pixelSizeElement = metrics.appendChild(document.createElement("span")); 146 this._pixelSizeElement.className = "pixel-size"; 147 this._memoryCostElement = metrics.appendChild(document.createElement("span")); 148 this._memoryCostElement.className = "memory-cost"; 127 if (isCard) { 128 let footer = this.element.appendChild(document.createElement("footer")); 129 footer.addEventListener("click", (event) => { event.stopPropagation(); }); 130 131 this._viewRelatedItemsContainer = footer.appendChild(document.createElement("div")); 132 this._viewRelatedItemsContainer.classList.add("view-related-items"); 133 134 this._viewShaderButton = document.createElement("img"); 135 this._viewShaderButton.classList.add("view-shader"); 136 this._viewShaderButton.title = WI.UIString("View Shader"); 137 this._viewShaderButton.addEventListener("click", this._handleViewShaderButtonClicked.bind(this)); 138 139 this._viewRecordingButton = document.createElement("img"); 140 this._viewRecordingButton.classList.add("view-recording"); 141 this._viewRecordingButton.title = WI.UIString("View Recording"); 142 this._viewRecordingButton.addEventListener("click", this._handleViewRecordingButtonClicked.bind(this)); 143 144 this._updateViewRelatedItems(); 145 146 let flexibleSpaceElement = footer.appendChild(document.createElement("div")); 147 flexibleSpaceElement.className = "flexible-space"; 148 149 let metrics = footer.appendChild(document.createElement("div")); 150 151 this._pixelSizeElement = metrics.appendChild(document.createElement("span")); 152 this._pixelSizeElement.className = "pixel-size"; 153 154 this._memoryCostElement = metrics.appendChild(document.createElement("span")); 155 this._memoryCostElement.className = "memory-cost"; 156 } 149 157 150 158 if (this._errorElement) 151 159 this._showError(); 152 160 153 this._updateProgressView(); 161 if (isCard) { 162 this._refreshPixelSize(); 163 this._updateMemoryCost(); 164 this._updateProgressView(); 165 } 154 166 } 155 167 … … 178 190 179 191 this._updateImageGrid(); 180 181 this._refreshPixelSize();182 this._updateMemoryCost();183 192 } 184 193 … … 289 298 { 290 299 let updatePixelSize = (size) => { 291 if ( this._pixelSize && size.width === this._pixelSize.width && size.height === this._pixelSize.height)300 if (Object.shallowEqual(this._pixelSize, size)) 292 301 return; 293 302 -
trunk/Source/WebInspectorUI/UserInterface/Views/CanvasTabContentView.js
r238483 r240534 196 196 let treeElement = this._canvasTreeOutline.findTreeElement(canvas); 197 197 console.assert(treeElement, "Missing tree element for canvas.", canvas); 198 199 const suppressNotification = true; 200 treeElement.deselect(suppressNotification); 198 201 this._overviewTreeElement.removeChild(treeElement); 202 199 203 this._canvasCollection.remove(canvas); 200 204 … … 207 211 208 212 let currentContentView = this.contentBrowser.currentContentView; 209 if (currentContentView instanceof WI.RecordingContentView && canvas.recordingCollection.has(currentContentView.representedObject)) 213 if (currentContentView instanceof WI.CanvasContentView) 214 WI.showRepresentedObject(this._canvasCollection); 215 else if (currentContentView instanceof WI.RecordingContentView && canvas.recordingCollection.has(currentContentView.representedObject)) 210 216 this.contentBrowser.updateHierarchicalPathForCurrentContentView(); 211 217
Note: See TracChangeset
for help on using the changeset viewer.