Changeset 65810 in webkit
- Timestamp:
- Aug 23, 2010 7:40:57 AM (14 years ago)
- Location:
- trunk/WebCore
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/WebCore/ChangeLog
r65809 r65810 1 2010-08-23 Pavel Podivilov <podivilov@chromium.org> 2 3 Reviewed by Pavel Feldman. 4 5 Web Inspector: remove javascript breakpoint specific code from BreakpointSidebarPane 6 https://bugs.webkit.org/show_bug.cgi?id=44327 7 8 * inspector/front-end/BreakpointManager.js: 9 (WebInspector.BreakpointManager.prototype.setBreakpoint): 10 (WebInspector.BreakpointManager.prototype.restoredBreakpoint): 11 (WebInspector.BreakpointManager.prototype._setBreakpoint): 12 (WebInspector.BreakpointManager.prototype._removeBreakpoint): 13 (WebInspector.BreakpointManager.prototype._setBreakpointOnBackend): 14 (WebInspector.Breakpoint): 15 * inspector/front-end/BreakpointsSidebarPane.js: 16 (WebInspector.BreakpointsSidebarPane): 17 (WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint): 18 (WebInspector.BreakpointsSidebarPane.prototype._breakpointRemoved): 19 (WebInspector.JSBreakpointItem): 20 (WebInspector.JSBreakpointItem.prototype.compareTo): 21 (WebInspector.JSBreakpointItem.prototype.element): 22 (WebInspector.JSBreakpointItem.prototype._breakpointClicked): 23 (WebInspector.JSBreakpointItem.prototype._checkboxClicked): 24 (WebInspector.JSBreakpointItem.prototype._enableChanged): 25 (WebInspector.JSBreakpointItem.prototype._textChanged): 26 (WebInspector.JSBreakpointItem.prototype._removed): 27 * inspector/front-end/ScriptsPanel.js: 28 (WebInspector.ScriptsPanel): 29 (WebInspector.ScriptsPanel.prototype._breakpointAdded): 30 (WebInspector.ScriptsPanel.prototype._breakpointRemoved): 31 * inspector/front-end/SourceFrame.js: 32 (WebInspector.SourceFrame.prototype.addBreakpoint): 33 (WebInspector.SourceFrame.prototype._addBreakpointToSource): 34 1 35 2010-08-23 Ilya Tikhonovsky <loislo@chromium.org> 2 36 -
trunk/WebCore/inspector/front-end/BreakpointManager.js
r65052 r65810 51 51 }, 52 52 53 setBreakpoint: function(sourceID, sourceURL, line, enabled, condition)54 { 55 var breakpoint = this._setBreakpoint(sourceID, sourceURL, line, enabled, condition);53 setBreakpoint: function(sourceID, url, line, enabled, condition) 54 { 55 var breakpoint = this._setBreakpoint(sourceID, url, line, enabled, condition); 56 56 if (breakpoint) 57 57 this._setBreakpointOnBackend(breakpoint); 58 58 }, 59 59 60 restoredBreakpoint: function(sourceID, sourceURL, line, enabled, condition)61 { 62 this._setBreakpoint(sourceID, sourceURL, line, enabled, condition);60 restoredBreakpoint: function(sourceID, url, line, enabled, condition) 61 { 62 this._setBreakpoint(sourceID, url, line, enabled, condition); 63 63 }, 64 64 … … 95 95 }, 96 96 97 _setBreakpoint: function(sourceID, sourceURL, line, enabled, condition)98 { 99 var breakpoint = new WebInspector.Breakpoint(this, sourceID, sourceURL, line, enabled, condition);97 _setBreakpoint: function(sourceID, url, line, enabled, condition) 98 { 99 var breakpoint = new WebInspector.Breakpoint(this, sourceID, url, line, enabled, condition); 100 100 if (this._breakpoints[breakpoint.id]) 101 101 return; … … 111 111 if (!(breakpoint.id in this._breakpoints)) 112 112 return false; 113 breakpoint.dispatchEventToListeners("removed"); 113 114 breakpoint.removeAllListeners(); 114 115 delete breakpoint._breakpointManager; 115 116 delete this._breakpoints[breakpoint.id]; 116 this.dispatchEventToListeners("breakpoint-removed", breakpoint);117 117 return true; 118 118 }, … … 132 132 this._removeBreakpoint(breakpoint); 133 133 if (success) 134 this._setBreakpoint(breakpoint.sourceID, breakpoint. sourceURL, line, breakpoint.enabled, breakpoint.condition);134 this._setBreakpoint(breakpoint.sourceID, breakpoint.url, line, breakpoint.enabled, breakpoint.condition); 135 135 } 136 136 } … … 142 142 WebInspector.BreakpointManager.prototype.__proto__ = WebInspector.Object.prototype; 143 143 144 WebInspector.Breakpoint = function(breakpointManager, sourceID, sourceURL, line, enabled, condition)144 WebInspector.Breakpoint = function(breakpointManager, sourceID, url, line, enabled, condition) 145 145 { 146 this.url = sourceURL;146 this.url = url; 147 147 this.line = line; 148 148 this.sourceID = sourceID; … … 183 183 }, 184 184 185 get label()186 {187 var displayName = (this.url ? WebInspector.displayNameForURL(this.url) : WebInspector.UIString("(program)"));188 return displayName + ":" + this.line;189 },190 191 185 get id() 192 186 { … … 213 207 214 208 WebInspector.Breakpoint.prototype.__proto__ = WebInspector.Object.prototype; 215 -
trunk/WebCore/inspector/front-end/BreakpointsSidebarPane.js
r60450 r65810 36 36 37 37 this.bodyElement.appendChild(this.emptyElement); 38 39 WebInspector.breakpointManager.addEventListener("breakpoint-added", this._breakpointAdded, this);40 WebInspector.breakpointManager.addEventListener("breakpoint-removed", this._breakpointRemoved, this);41 38 } 42 39 … … 51 48 }, 52 49 53 _breakpointAdded: function(event)50 addBreakpoint: function(breakpoint) 54 51 { 55 var breakpoint = event.data;52 breakpoint.addEventListener("removed", this._breakpointRemoved, this); 56 53 57 breakpoint.addEventListener("enabled", this._breakpointEnableChanged, this); 58 breakpoint.addEventListener("disabled", this._breakpointEnableChanged, this); 59 breakpoint.addEventListener("text-changed", this._breakpointTextChanged, this); 54 var breakpointElement = breakpoint.element(); 55 breakpointElement._breakpointObject = breakpoint; 60 56 61 this._appendBreakpointElement(breakpoint); 57 var currentElement = this.listElement.firstChild; 58 while (currentElement) { 59 if (currentElement._breakpointObject.compareTo(breakpointElement._breakpointObject) > 0) { 60 this.listElement.insertBefore(breakpointElement, currentElement); 61 break; 62 } 63 currentElement = currentElement.nextSibling; 64 } 65 if (!currentElement) 66 this.listElement.appendChild(breakpointElement); 62 67 63 68 if (this.emptyElement.parentElement) { … … 67 72 }, 68 73 69 _appendBreakpointElement: function(breakpoint)70 {71 function checkboxClicked(event)72 {73 breakpoint.enabled = !breakpoint.enabled;74 75 // without this, we'd switch to the source of the clicked breakpoint76 event.stopPropagation();77 }78 79 function breakpointClicked()80 {81 WebInspector.panels.scripts.showSourceLine(breakpoint.url, breakpoint.line);82 }83 84 var breakpointElement = document.createElement("li");85 breakpoint._breakpointListElement = breakpointElement;86 breakpointElement._breakpointObject = breakpoint;87 breakpointElement.addEventListener("click", breakpointClicked, false);88 89 var checkboxElement = document.createElement("input");90 checkboxElement.className = "checkbox-elem";91 checkboxElement.type = "checkbox";92 checkboxElement.checked = breakpoint.enabled;93 checkboxElement.addEventListener("click", checkboxClicked, false);94 breakpointElement.appendChild(checkboxElement);95 96 var labelElement = document.createTextNode(breakpoint.label);97 breakpointElement.appendChild(labelElement);98 99 var sourceTextElement = document.createElement("div");100 sourceTextElement.textContent = breakpoint.sourceText;101 sourceTextElement.className = "source-text monospace";102 breakpointElement.appendChild(sourceTextElement);103 104 var currentElement = this.listElement.firstChild;105 while (currentElement) {106 var currentBreak = currentElement._breakpointObject;107 if (currentBreak.url > breakpoint.url) {108 this.listElement.insertBefore(breakpointElement, currentElement);109 return;110 } else if (currentBreak.url == breakpoint.url && currentBreak.line > breakpoint.line) {111 this.listElement.insertBefore(breakpointElement, currentElement);112 return;113 }114 currentElement = currentElement.nextSibling;115 }116 this.listElement.appendChild(breakpointElement);117 },118 119 74 _breakpointRemoved: function(event) 120 75 { 121 var breakpoint = event.data; 122 123 breakpoint.removeEventListener("enabled", null, this); 124 breakpoint.removeEventListener("disabled", null, this); 125 breakpoint.removeEventListener("text-changed", null, this); 126 127 var element = breakpoint._breakpointListElement; 128 element.parentElement.removeChild(element); 129 76 this.listElement.removeChild(event.target.element()); 130 77 if (!this.listElement.firstChild) { 131 78 this.bodyElement.removeChild(this.listElement); 132 79 this.bodyElement.appendChild(this.emptyElement); 133 80 } 134 },135 136 _breakpointEnableChanged: function(event)137 {138 var breakpoint = event.target;139 140 var checkbox = breakpoint._breakpointListElement.firstChild;141 checkbox.checked = breakpoint.enabled;142 },143 144 _breakpointTextChanged: function(event)145 {146 var breakpoint = event.target;147 148 var sourceTextElement = breakpoint._breakpointListElement.firstChild.nextSibling.nextSibling;149 sourceTextElement.textContent = breakpoint.sourceText;150 81 } 151 82 } 152 83 153 84 WebInspector.BreakpointsSidebarPane.prototype.__proto__ = WebInspector.SidebarPane.prototype; 85 86 WebInspector.JSBreakpointItem = function(breakpoint) 87 { 88 this._breakpoint = breakpoint; 89 90 this._element = document.createElement("li"); 91 this._element.addEventListener("click", this._breakpointClicked.bind(this), false); 92 93 var checkboxElement = document.createElement("input"); 94 checkboxElement.className = "checkbox-elem"; 95 checkboxElement.type = "checkbox"; 96 checkboxElement.checked = this._breakpoint.enabled; 97 checkboxElement.addEventListener("click", this._checkboxClicked.bind(this), false); 98 this._element.appendChild(checkboxElement); 99 100 var displayName = this._breakpoint.url ? WebInspector.displayNameForURL(this._breakpoint.url) : WebInspector.UIString("(program)"); 101 var labelElement = document.createTextNode(displayName + ":" + this._breakpoint.line); 102 this._element.appendChild(labelElement); 103 104 var sourceTextElement = document.createElement("div"); 105 sourceTextElement.textContent = this._breakpoint.sourceText; 106 sourceTextElement.className = "source-text monospace"; 107 this._element.appendChild(sourceTextElement); 108 109 this._breakpoint.addEventListener("enabled", this._enableChanged, this); 110 this._breakpoint.addEventListener("disabled", this._enableChanged, this); 111 this._breakpoint.addEventListener("text-changed", this._textChanged, this); 112 this._breakpoint.addEventListener("removed", this._removed, this); 113 } 114 115 WebInspector.JSBreakpointItem.prototype = { 116 compareTo: function(other) 117 { 118 if (this._breakpoint.url != other._breakpoint.url) 119 return this._breakpoint.url < other._breakpoint.url ? -1 : 1; 120 if (this._breakpoint.line != other._breakpoint.line) 121 return this._breakpoint.line < other._breakpoint.line ? -1 : 1; 122 return 0; 123 }, 124 125 element: function() 126 { 127 return this._element; 128 }, 129 130 _breakpointClicked: function() 131 { 132 WebInspector.panels.scripts.showSourceLine(this._breakpoint.url, this._breakpoint.line); 133 }, 134 135 _checkboxClicked: function(event) 136 { 137 this._breakpoint.enabled = !this._breakpoint.enabled; 138 139 // without this, we'd switch to the source of the clicked breakpoint 140 event.stopPropagation(); 141 }, 142 143 _enableChanged: function() 144 { 145 var checkbox = this._element.firstChild; 146 checkbox.checked = this._breakpoint.enabled; 147 }, 148 149 _textChanged: function() 150 { 151 var sourceTextElement = this._element.firstChild.nextSibling.nextSibling; 152 sourceTextElement.textContent = this._breakpoint.sourceText; 153 }, 154 155 _removed: function() 156 { 157 this.dispatchEventToListeners("removed"); 158 } 159 } 160 161 WebInspector.JSBreakpointItem.prototype.__proto__ = WebInspector.Object.prototype; -
trunk/WebCore/inspector/front-end/ScriptsPanel.js
r65499 r65810 172 172 173 173 WebInspector.breakpointManager.addEventListener("breakpoint-added", this._breakpointAdded, this); 174 WebInspector.breakpointManager.addEventListener("breakpoint-removed", this._breakpointRemoved, this);175 174 176 175 this.reset(); … … 297 296 var breakpoint = event.data; 298 297 298 breakpoint.addEventListener("removed", this._breakpointRemoved, this); 299 this.sidebarPanes.breakpoints.addBreakpoint(new WebInspector.JSBreakpointItem(event.data)); 300 299 301 var sourceFrame; 300 302 if (breakpoint.url) { … … 315 317 _breakpointRemoved: function(event) 316 318 { 317 var breakpoint = event. data;319 var breakpoint = event.target; 318 320 319 321 var sourceFrame; -
trunk/WebCore/inspector/front-end/SourceFrame.js
r65248 r65810 100 100 { 101 101 this.breakpoints.push(breakpoint); 102 breakpoint.addEventListener("enabled", this._breakpointChanged, this);103 breakpoint.addEventListener("disabled", this._breakpointChanged, this);104 breakpoint.addEventListener("condition-changed", this._breakpointChanged, this);105 102 if (this._textViewer) 106 103 this._addBreakpointToSource(breakpoint); … … 385 382 _addBreakpointToSource: function(breakpoint) 386 383 { 384 breakpoint.addEventListener("enabled", this._breakpointChanged, this); 385 breakpoint.addEventListener("disabled", this._breakpointChanged, this); 386 breakpoint.addEventListener("condition-changed", this._breakpointChanged, this); 387 387 388 var lineNumber = breakpoint.line - 1; 388 389 if (lineNumber >= this._textModel.linesCount)
Note: See TracChangeset
for help on using the changeset viewer.