OLD | NEW |
1 // Copyright (c) 2015 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2015 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 /** | 5 /** |
6 * @constructor | 6 * @constructor |
7 * @extends {WebInspector.SidebarPane} | 7 * @extends {WebInspector.SidebarPane} |
8 * @param {!WebInspector.BreakpointManager} breakpointManager | 8 * @param {!WebInspector.BreakpointManager} breakpointManager |
9 * @param {function(!WebInspector.UISourceCode, number=, number=, boolean=)} sho
wSourceLineDelegate | 9 * @param {function(!WebInspector.UISourceCode, number=, number=, boolean=)} sho
wSourceLineDelegate |
10 */ | 10 */ |
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
76 element.addEventListener("click", this._breakpointClicked.bind(this, uiL
ocation), false); | 76 element.addEventListener("click", this._breakpointClicked.bind(this, uiL
ocation), false); |
77 | 77 |
78 var checkboxLabel = createCheckboxLabel(uiLocation.linkText(), breakpoin
t.enabled()); | 78 var checkboxLabel = createCheckboxLabel(uiLocation.linkText(), breakpoin
t.enabled()); |
79 element.appendChild(checkboxLabel); | 79 element.appendChild(checkboxLabel); |
80 checkboxLabel.addEventListener("click", this._breakpointCheckboxClicked.
bind(this, breakpoint), false); | 80 checkboxLabel.addEventListener("click", this._breakpointCheckboxClicked.
bind(this, breakpoint), false); |
81 | 81 |
82 var snippetElement = element.createChild("div", "source-text monospace")
; | 82 var snippetElement = element.createChild("div", "source-text monospace")
; |
83 | 83 |
84 /** | 84 /** |
85 * @param {?string} content | 85 * @param {?string} content |
| 86 * @this {WebInspector.JavaScriptBreakpointsSidebarPane} |
86 */ | 87 */ |
87 function didRequestContent(content) | 88 function didRequestContent(content) |
88 { | 89 { |
89 var lineNumber = uiLocation.lineNumber | 90 var lineNumber = uiLocation.lineNumber |
90 var columnNumber = uiLocation.columnNumber; | 91 var columnNumber = uiLocation.columnNumber; |
91 var contentString = new String(content); | 92 var contentString = new String(content); |
92 if (lineNumber < contentString.lineCount()) { | 93 if (lineNumber < contentString.lineCount()) { |
93 var lineText = contentString.lineAt(lineNumber); | 94 var lineText = contentString.lineAt(lineNumber); |
94 var maxSnippetLength = 200; | 95 var maxSnippetLength = 200; |
95 var snippetStartIndex = columnNumber > 100 ? columnNumber : 0; | 96 var snippetStartIndex = columnNumber > 100 ? columnNumber : 0; |
96 snippetElement.textContent = lineText.substr(snippetStartIndex).
trimEnd(maxSnippetLength); | 97 snippetElement.textContent = lineText.substr(snippetStartIndex).
trimEnd(maxSnippetLength); |
97 } | 98 } |
| 99 this.didReceiveBreakpointLineForTest(uiLocation.uiSourceCode); |
98 } | 100 } |
99 | 101 |
100 uiLocation.uiSourceCode.requestContent(didRequestContent); | 102 uiLocation.uiSourceCode.requestContent(didRequestContent.bind(this)); |
101 | 103 |
102 element._data = uiLocation; | 104 element._data = uiLocation; |
103 var currentElement = this.listElement.firstChild; | 105 var currentElement = this.listElement.firstChild; |
104 while (currentElement) { | 106 while (currentElement) { |
105 if (currentElement._data && this._compareBreakpoints(currentElement.
_data, element._data) > 0) | 107 if (currentElement._data && this._compareBreakpoints(currentElement.
_data, element._data) > 0) |
106 break; | 108 break; |
107 currentElement = currentElement.nextSibling; | 109 currentElement = currentElement.nextSibling; |
108 } | 110 } |
109 this._addListElement(element, currentElement); | 111 this._addListElement(element, currentElement); |
110 | 112 |
111 var breakpointItem = { element: element, checkbox: checkboxLabel.checkbo
xElement }; | 113 var breakpointItem = { element: element, checkbox: checkboxLabel.checkbo
xElement }; |
112 this._items.set(breakpoint, breakpointItem); | 114 this._items.set(breakpoint, breakpointItem); |
113 | 115 |
114 this.expand(); | 116 this.expand(); |
115 }, | 117 }, |
116 | 118 |
117 /** | 119 /** |
| 120 * @param {!WebInspector.UISourceCode} uiSourceCode |
| 121 */ |
| 122 didReceiveBreakpointLineForTest: function(uiSourceCode) |
| 123 { |
| 124 }, |
| 125 |
| 126 /** |
118 * @param {!WebInspector.Event} event | 127 * @param {!WebInspector.Event} event |
119 */ | 128 */ |
120 _breakpointRemoved: function(event) | 129 _breakpointRemoved: function(event) |
121 { | 130 { |
122 var breakpoint = /** @type {!WebInspector.BreakpointManager.Breakpoint}
*/ (event.data.breakpoint); | 131 var breakpoint = /** @type {!WebInspector.BreakpointManager.Breakpoint}
*/ (event.data.breakpoint); |
123 var breakpointItem = this._items.get(breakpoint); | 132 var breakpointItem = this._items.get(breakpoint); |
124 if (!breakpointItem) | 133 if (!breakpointItem) |
125 return; | 134 return; |
126 this._items.remove(breakpoint); | 135 this._items.remove(breakpoint); |
127 this._removeListElement(breakpointItem.element); | 136 this._removeListElement(breakpointItem.element); |
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
242 this.listElement.removeChildren(); | 251 this.listElement.removeChildren(); |
243 if (this.listElement.parentElement) { | 252 if (this.listElement.parentElement) { |
244 this.element.removeChild(this.listElement); | 253 this.element.removeChild(this.listElement); |
245 this.element.appendChild(this.emptyElement); | 254 this.element.appendChild(this.emptyElement); |
246 } | 255 } |
247 this._items.clear(); | 256 this._items.clear(); |
248 }, | 257 }, |
249 | 258 |
250 __proto__: WebInspector.SidebarPane.prototype | 259 __proto__: WebInspector.SidebarPane.prototype |
251 } | 260 } |
OLD | NEW |