OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2012 Google Inc. All rights reserved. | 2 * Copyright (C) 2012 Google Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
6 * met: | 6 * met: |
7 * | 7 * |
8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
153 } | 153 } |
154 }, | 154 }, |
155 | 155 |
156 /** | 156 /** |
157 * @param {?WebInspector.Target} target | 157 * @param {?WebInspector.Target} target |
158 * @param {?string} scriptId | 158 * @param {?string} scriptId |
159 * @param {string} sourceURL | 159 * @param {string} sourceURL |
160 * @param {number} lineNumber | 160 * @param {number} lineNumber |
161 * @param {number=} columnNumber | 161 * @param {number=} columnNumber |
162 * @param {string=} classes | 162 * @param {string=} classes |
163 * @return {!Element} | 163 * @return {?Element} |
164 */ | 164 */ |
165 linkifyScriptLocation: function(target, scriptId, sourceURL, lineNumber, col
umnNumber, classes) | 165 maybeLinkifyScriptLocation: function(target, scriptId, sourceURL, lineNumber
, columnNumber, classes) |
166 { | 166 { |
167 var fallbackAnchor = WebInspector.linkifyResourceAsNode(sourceURL, lineN
umber, columnNumber, classes); | 167 var fallbackAnchor = sourceURL ? WebInspector.linkifyResourceAsNode(sour
ceURL, lineNumber, columnNumber, classes) : null; |
168 if (!target || target.isDetached()) | 168 if (!target || target.isDetached()) |
169 return fallbackAnchor; | 169 return fallbackAnchor; |
170 var debuggerModel = WebInspector.DebuggerModel.fromTarget(target); | 170 var debuggerModel = WebInspector.DebuggerModel.fromTarget(target); |
171 if (!debuggerModel) | 171 if (!debuggerModel) |
172 return fallbackAnchor; | 172 return fallbackAnchor; |
173 | 173 |
174 var rawLocation = scriptId ? debuggerModel.createRawLocationByScriptId(s
criptId, lineNumber, columnNumber || 0) : | 174 var rawLocation = |
175 debuggerModel.createRawLocationByURL(source
URL, lineNumber, columnNumber || 0); | 175 debuggerModel.createRawLocationByScriptId(scriptId, lineNumber, colu
mnNumber || 0) || |
| 176 debuggerModel.createRawLocationByURL(sourceURL, lineNumber, columnNu
mber || 0); |
176 if (!rawLocation) | 177 if (!rawLocation) |
177 return fallbackAnchor; | 178 return fallbackAnchor; |
178 | 179 |
179 var anchor = this._createAnchor(classes); | 180 var anchor = this._createAnchor(classes); |
180 var liveLocation = WebInspector.debuggerWorkspaceBinding.createLiveLocat
ion(rawLocation, this._updateAnchor.bind(this, anchor), /** @type {!WebInspector
.LiveLocationPool} */(this._locationPoolByTarget.get(rawLocation.target()))); | 181 var liveLocation = WebInspector.debuggerWorkspaceBinding.createLiveLocat
ion(rawLocation, this._updateAnchor.bind(this, anchor), /** @type {!WebInspector
.LiveLocationPool} */(this._locationPoolByTarget.get(rawLocation.target()))); |
181 var anchors = /** @type {!Array<!Element>} */(this._anchorsByTarget.get(
rawLocation.target())); | 182 var anchors = /** @type {!Array<!Element>} */(this._anchorsByTarget.get(
rawLocation.target())); |
182 anchors.push(anchor); | 183 anchors.push(anchor); |
183 anchor[WebInspector.Linkifier._liveLocationSymbol] = liveLocation; | 184 anchor[WebInspector.Linkifier._liveLocationSymbol] = liveLocation; |
184 anchor[WebInspector.Linkifier._fallbackAnchorSymbol] = fallbackAnchor; | 185 anchor[WebInspector.Linkifier._fallbackAnchorSymbol] = fallbackAnchor; |
185 return anchor; | 186 return anchor; |
186 }, | 187 }, |
187 | 188 |
188 /** | 189 /** |
| 190 * @param {?WebInspector.Target} target |
| 191 * @param {?string} scriptId |
| 192 * @param {string} sourceURL |
| 193 * @param {number} lineNumber |
| 194 * @param {number=} columnNumber |
| 195 * @param {string=} classes |
| 196 * @return {!Element} |
| 197 */ |
| 198 linkifyScriptLocation: function(target, scriptId, sourceURL, lineNumber, col
umnNumber, classes) |
| 199 { |
| 200 return this.maybeLinkifyScriptLocation(target, scriptId, sourceURL, line
Number, columnNumber, classes) |
| 201 || WebInspector.linkifyResourceAsNode(sourceURL, lineNumber, columnN
umber, classes); |
| 202 }, |
| 203 |
| 204 /** |
189 * @param {!WebInspector.DebuggerModel.Location} rawLocation | 205 * @param {!WebInspector.DebuggerModel.Location} rawLocation |
190 * @param {string} fallbackUrl | 206 * @param {string} fallbackUrl |
191 * @param {string=} classes | 207 * @param {string=} classes |
192 * @return {!Element} | 208 * @return {!Element} |
193 */ | 209 */ |
194 linkifyRawLocation: function(rawLocation, fallbackUrl, classes) | 210 linkifyRawLocation: function(rawLocation, fallbackUrl, classes) |
195 { | 211 { |
196 return this.linkifyScriptLocation(rawLocation.target(), rawLocation.scri
ptId, fallbackUrl, rawLocation.lineNumber, rawLocation.columnNumber, classes); | 212 return this.linkifyScriptLocation(rawLocation.target(), rawLocation.scri
ptId, fallbackUrl, rawLocation.lineNumber, rawLocation.columnNumber, classes); |
197 }, | 213 }, |
198 | 214 |
199 /** | 215 /** |
200 * @param {?WebInspector.Target} target | 216 * @param {?WebInspector.Target} target |
201 * @param {!RuntimeAgent.CallFrame} callFrame | 217 * @param {!RuntimeAgent.CallFrame} callFrame |
202 * @param {string=} classes | 218 * @param {string=} classes |
203 * @return {!Element} | 219 * @return {?Element} |
204 */ | 220 */ |
205 linkifyConsoleCallFrame: function(target, callFrame, classes) | 221 maybeLinkifyConsoleCallFrame: function(target, callFrame, classes) |
206 { | 222 { |
207 return this.linkifyScriptLocation(target, callFrame.scriptId, callFrame.
url, callFrame.lineNumber, callFrame.columnNumber, classes); | 223 return this.maybeLinkifyScriptLocation(target, callFrame.scriptId, callF
rame.url, callFrame.lineNumber, callFrame.columnNumber, classes); |
208 }, | 224 }, |
209 | 225 |
210 /** | 226 /** |
211 * @param {?WebInspector.Target} target | 227 * @param {?WebInspector.Target} target |
212 * @param {!RuntimeAgent.CallFrame} callFrame | 228 * @param {!RuntimeAgent.CallFrame} callFrame |
213 * @param {string=} classes | 229 * @param {string=} classes |
214 * @return {!Element} | 230 * @return {?Element} |
215 */ | 231 */ |
216 linkifyConsoleCallFrameForTimeline: function(target, callFrame, classes) | 232 maybeLinkifyConsoleCallFrameForTimeline: function(target, callFrame, classes
) |
217 { | 233 { |
218 // TODO(kozyatinskiy): remove this when Profilers will migrate to 0-base
d lineNumber and columnNumber. | 234 // TODO(kozyatinskiy): remove this when Profilers will migrate to 0-base
d lineNumber and columnNumber. |
219 return this.linkifyScriptLocation(target, callFrame.scriptId, callFrame.
url, callFrame.lineNumber - 1, callFrame.columnNumber - 1, classes); | 235 return this.linkifyScriptLocation(target, callFrame.scriptId, callFrame.
url, callFrame.lineNumber - 1, callFrame.columnNumber - 1, classes); |
220 }, | 236 }, |
221 | 237 |
222 /** | 238 /** |
223 * @param {!WebInspector.Target} target | 239 * @param {!WebInspector.Target} target |
224 * @param {!RuntimeAgent.StackTrace} stackTrace | 240 * @param {!RuntimeAgent.StackTrace} stackTrace |
225 * @param {string=} classes | 241 * @param {string=} classes |
226 * @return {!Element} | 242 * @return {!Element} |
(...skipping 300 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
527 * @param {string} url | 543 * @param {string} url |
528 * @param {number=} lineNumber | 544 * @param {number=} lineNumber |
529 * @param {number=} columnNumber | 545 * @param {number=} columnNumber |
530 * @param {string=} classes | 546 * @param {string=} classes |
531 * @param {string=} tooltipText | 547 * @param {string=} tooltipText |
532 * @param {string=} urlDisplayName | 548 * @param {string=} urlDisplayName |
533 * @return {!Element} | 549 * @return {!Element} |
534 */ | 550 */ |
535 WebInspector.linkifyResourceAsNode = function(url, lineNumber, columnNumber, cla
sses, tooltipText, urlDisplayName) | 551 WebInspector.linkifyResourceAsNode = function(url, lineNumber, columnNumber, cla
sses, tooltipText, urlDisplayName) |
536 { | 552 { |
537 var linkText = urlDisplayName ? urlDisplayName : url ? WebInspector.displayN
ameForURL(url) : WebInspector.UIString("(program)"); | 553 if (!url) { |
| 554 var element = createElementWithClass("span", classes); |
| 555 element.textContent = urlDisplayName || WebInspector.UIString("(unknown)
"); |
| 556 return element; |
| 557 } |
| 558 var linkText = urlDisplayName || WebInspector.displayNameForURL(url); |
538 if (typeof lineNumber === "number") | 559 if (typeof lineNumber === "number") |
539 linkText += ":" + (lineNumber + 1); | 560 linkText += ":" + (lineNumber + 1); |
540 var anchor = WebInspector.linkifyURLAsNode(url, linkText, classes, false, to
oltipText); | 561 var anchor = WebInspector.linkifyURLAsNode(url, linkText, classes, false, to
oltipText); |
541 anchor.lineNumber = lineNumber; | 562 anchor.lineNumber = lineNumber; |
542 anchor.columnNumber = columnNumber; | 563 anchor.columnNumber = columnNumber; |
543 return anchor; | 564 return anchor; |
544 } | 565 } |
545 | 566 |
546 /** | 567 /** |
547 * @param {!WebInspector.NetworkRequest} request | 568 * @param {!WebInspector.NetworkRequest} request |
548 * @return {!Element} | 569 * @return {!Element} |
549 */ | 570 */ |
550 WebInspector.linkifyRequestAsNode = function(request) | 571 WebInspector.linkifyRequestAsNode = function(request) |
551 { | 572 { |
552 var anchor = WebInspector.linkifyURLAsNode(request.url); | 573 var anchor = WebInspector.linkifyURLAsNode(request.url); |
553 anchor.requestId = request.requestId; | 574 anchor.requestId = request.requestId; |
554 return anchor; | 575 return anchor; |
555 } | 576 } |
OLD | NEW |