Chromium Code Reviews| 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 131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 142 /** | 142 /** |
| 143 * @param {?SDK.Target} target | 143 * @param {?SDK.Target} target |
| 144 * @param {?string} scriptId | 144 * @param {?string} scriptId |
| 145 * @param {string} sourceURL | 145 * @param {string} sourceURL |
| 146 * @param {number} lineNumber | 146 * @param {number} lineNumber |
| 147 * @param {number=} columnNumber | 147 * @param {number=} columnNumber |
| 148 * @param {string=} classes | 148 * @param {string=} classes |
| 149 * @return {?Element} | 149 * @return {?Element} |
| 150 */ | 150 */ |
| 151 maybeLinkifyScriptLocation(target, scriptId, sourceURL, lineNumber, columnNumb er, classes) { | 151 maybeLinkifyScriptLocation(target, scriptId, sourceURL, lineNumber, columnNumb er, classes) { |
| 152 var fallbackAnchor = | 152 var fallbackAnchor = sourceURL ? |
| 153 sourceURL ? Components.Linkifier.linkifyURL(sourceURL, undefined, classe s, lineNumber, columnNumber) : null; | 153 Components.Linkifier.linkifyURL( |
| 154 sourceURL, undefined, classes, lineNumber, columnNumber, undefined, this._maxLength) : | |
| 155 null; | |
| 154 if (!target || target.isDisposed()) | 156 if (!target || target.isDisposed()) |
| 155 return fallbackAnchor; | 157 return fallbackAnchor; |
| 156 var debuggerModel = target.model(SDK.DebuggerModel); | 158 var debuggerModel = target.model(SDK.DebuggerModel); |
| 157 if (!debuggerModel) | 159 if (!debuggerModel) |
| 158 return fallbackAnchor; | 160 return fallbackAnchor; |
| 159 | 161 |
| 160 var rawLocation = | 162 var rawLocation = |
| 161 (scriptId ? debuggerModel.createRawLocationByScriptId(scriptId, lineNumb er, columnNumber || 0) : null) || | 163 (scriptId ? debuggerModel.createRawLocationByScriptId(scriptId, lineNumb er, columnNumber || 0) : null) || |
| 162 debuggerModel.createRawLocationByURL(sourceURL, lineNumber, columnNumber || 0); | 164 debuggerModel.createRawLocationByURL(sourceURL, lineNumber, columnNumber || 0); |
| 163 if (!rawLocation) | 165 if (!rawLocation) |
| (...skipping 16 matching lines...) Expand all Loading... | |
| 180 * @param {?SDK.Target} target | 182 * @param {?SDK.Target} target |
| 181 * @param {?string} scriptId | 183 * @param {?string} scriptId |
| 182 * @param {string} sourceURL | 184 * @param {string} sourceURL |
| 183 * @param {number} lineNumber | 185 * @param {number} lineNumber |
| 184 * @param {number=} columnNumber | 186 * @param {number=} columnNumber |
| 185 * @param {string=} classes | 187 * @param {string=} classes |
| 186 * @return {!Element} | 188 * @return {!Element} |
| 187 */ | 189 */ |
| 188 linkifyScriptLocation(target, scriptId, sourceURL, lineNumber, columnNumber, c lasses) { | 190 linkifyScriptLocation(target, scriptId, sourceURL, lineNumber, columnNumber, c lasses) { |
| 189 return this.maybeLinkifyScriptLocation(target, scriptId, sourceURL, lineNumb er, columnNumber, classes) || | 191 return this.maybeLinkifyScriptLocation(target, scriptId, sourceURL, lineNumb er, columnNumber, classes) || |
| 190 Components.Linkifier.linkifyURL(sourceURL, undefined, classes, lineNumbe r, columnNumber); | 192 Components.Linkifier.linkifyURL( |
| 193 sourceURL, undefined, classes, lineNumber, columnNumber, undefined, this._maxLength); | |
| 191 } | 194 } |
| 192 | 195 |
| 193 /** | 196 /** |
| 194 * @param {!SDK.DebuggerModel.Location} rawLocation | 197 * @param {!SDK.DebuggerModel.Location} rawLocation |
| 195 * @param {string} fallbackUrl | 198 * @param {string} fallbackUrl |
| 196 * @param {string=} classes | 199 * @param {string=} classes |
| 197 * @return {!Element} | 200 * @return {!Element} |
| 198 */ | 201 */ |
| 199 linkifyRawLocation(rawLocation, fallbackUrl, classes) { | 202 linkifyRawLocation(rawLocation, fallbackUrl, classes) { |
| 200 return this.linkifyScriptLocation( | 203 return this.linkifyScriptLocation( |
| (...skipping 15 matching lines...) Expand all Loading... | |
| 216 /** | 219 /** |
| 217 * @param {!SDK.Target} target | 220 * @param {!SDK.Target} target |
| 218 * @param {!Protocol.Runtime.StackTrace} stackTrace | 221 * @param {!Protocol.Runtime.StackTrace} stackTrace |
| 219 * @param {string=} classes | 222 * @param {string=} classes |
| 220 * @return {!Element} | 223 * @return {!Element} |
| 221 */ | 224 */ |
| 222 linkifyStackTraceTopFrame(target, stackTrace, classes) { | 225 linkifyStackTraceTopFrame(target, stackTrace, classes) { |
| 223 console.assert(stackTrace.callFrames && stackTrace.callFrames.length); | 226 console.assert(stackTrace.callFrames && stackTrace.callFrames.length); |
| 224 | 227 |
| 225 var topFrame = stackTrace.callFrames[0]; | 228 var topFrame = stackTrace.callFrames[0]; |
| 226 var fallbackAnchor = | 229 var fallbackAnchor = Components.Linkifier.linkifyURL( |
| 227 Components.Linkifier.linkifyURL(topFrame.url, undefined, classes, topFra me.lineNumber, topFrame.columnNumber); | 230 topFrame.url, undefined, classes, topFrame.lineNumber, topFrame.columnNu mber, undefined, this._maxLength); |
| 228 if (target.isDisposed()) | 231 if (target.isDisposed()) |
| 229 return fallbackAnchor; | 232 return fallbackAnchor; |
| 230 | 233 |
| 231 var debuggerModel = target.model(SDK.DebuggerModel); | 234 var debuggerModel = target.model(SDK.DebuggerModel); |
| 232 var rawLocations = debuggerModel.createRawLocationsByStackTrace(stackTrace); | 235 var rawLocations = debuggerModel.createRawLocationsByStackTrace(stackTrace); |
| 233 if (rawLocations.length === 0) | 236 if (rawLocations.length === 0) |
| 234 return fallbackAnchor; | 237 return fallbackAnchor; |
| 235 | 238 |
| 236 var anchor = Components.Linkifier._createLink('', classes || ''); | 239 var anchor = Components.Linkifier._createLink('', classes || ''); |
| 237 var info = Components.Linkifier._linkInfo(anchor); | 240 var info = Components.Linkifier._linkInfo(anchor); |
| (...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 319 info.icon = icon; | 322 info.icon = icon; |
| 320 } | 323 } |
| 321 | 324 |
| 322 /** | 325 /** |
| 323 * @param {string} url | 326 * @param {string} url |
| 324 * @param {string=} text | 327 * @param {string=} text |
| 325 * @param {string=} className | 328 * @param {string=} className |
| 326 * @param {number=} lineNumber | 329 * @param {number=} lineNumber |
| 327 * @param {number=} columnNumber | 330 * @param {number=} columnNumber |
| 328 * @param {boolean=} preventClick | 331 * @param {boolean=} preventClick |
| 332 * @param {number=} maxLength | |
| 329 * @return {!Element} | 333 * @return {!Element} |
| 330 */ | 334 */ |
| 331 static linkifyURL(url, text, className, lineNumber, columnNumber, preventClick ) { | 335 static linkifyURL(url, text, className, lineNumber, columnNumber, preventClick , maxLength) { |
|
pfeldman
2017/05/24 20:16:29
Do you know who uses prevent click? Maybe it is ti
luoe
2017/05/24 21:58:25
Only Elements' tree outline and SSP have links tha
| |
| 332 if (!url || url.trim().toLowerCase().startsWith('javascript:')) { | 336 if (!url || url.trim().toLowerCase().startsWith('javascript:')) { |
| 333 var element = createElementWithClass('span', className); | 337 var element = createElementWithClass('span', className); |
| 334 element.textContent = text || url || Common.UIString('(unknown)'); | 338 element.textContent = text || url || Common.UIString('(unknown)'); |
| 335 return element; | 339 return element; |
| 336 } | 340 } |
| 337 | 341 |
| 338 var linkText = text || Bindings.displayNameForURL(url); | 342 var linkText = text || Bindings.displayNameForURL(url); |
| 339 if (typeof lineNumber === 'number' && !text) | 343 if (typeof lineNumber === 'number' && !text) |
| 340 linkText += ':' + (lineNumber + 1); | 344 linkText += ':' + (lineNumber + 1); |
| 341 var title = linkText !== url ? url : ''; | 345 var title = linkText !== url ? url : ''; |
| 342 var link = Components.Linkifier._createLink( | 346 var link = Components.Linkifier._createLink( |
| 343 linkText, className || '', UI.MaxLengthForDisplayedURLs, title, url, pre ventClick); | 347 linkText, className || '', maxLength || UI.MaxLengthForDisplayedURLs, ti tle, url, preventClick); |
| 344 var info = Components.Linkifier._linkInfo(link); | 348 var info = Components.Linkifier._linkInfo(link); |
| 345 if (typeof lineNumber === 'number') | 349 if (typeof lineNumber === 'number') |
| 346 info.lineNumber = lineNumber; | 350 info.lineNumber = lineNumber; |
| 347 if (typeof columnNumber === 'number') | 351 if (typeof columnNumber === 'number') |
| 348 info.columnNumber = columnNumber; | 352 info.columnNumber = columnNumber; |
| 349 return link; | 353 return link; |
| 350 } | 354 } |
| 351 | 355 |
| 352 /** | 356 /** |
| 353 * @param {!Object} revealable | 357 * @param {!Object} revealable |
| (...skipping 462 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 816 contextMenu.appendSeparator(); | 820 contextMenu.appendSeparator(); |
| 817 contextMenu.appendItem(Common.UIString('Save'), save.bind(null, false)); | 821 contextMenu.appendItem(Common.UIString('Save'), save.bind(null, false)); |
| 818 | 822 |
| 819 if (contentProvider instanceof Workspace.UISourceCode) { | 823 if (contentProvider instanceof Workspace.UISourceCode) { |
| 820 var uiSourceCode = /** @type {!Workspace.UISourceCode} */ (contentProvider ); | 824 var uiSourceCode = /** @type {!Workspace.UISourceCode} */ (contentProvider ); |
| 821 if (!uiSourceCode.project().canSetFileContent()) | 825 if (!uiSourceCode.project().canSetFileContent()) |
| 822 contextMenu.appendItem(Common.UIString.capitalize('Save ^as...'), save.b ind(null, true)); | 826 contextMenu.appendItem(Common.UIString.capitalize('Save ^as...'), save.b ind(null, true)); |
| 823 } | 827 } |
| 824 } | 828 } |
| 825 }; | 829 }; |
| OLD | NEW |