OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2013 Google Inc. All rights reserved. | 2 * Copyright (C) 2013 Google Inc. All rights reserved. |
3 * Copyright (C) 2012 Intel Inc. All rights reserved. | 3 * Copyright (C) 2012 Intel Inc. All rights reserved. |
4 * | 4 * |
5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
6 * modification, are permitted provided that the following conditions are | 6 * modification, are permitted provided that the following conditions are |
7 * met: | 7 * met: |
8 * | 8 * |
9 * * Redistributions of source code must retain the above copyright | 9 * * Redistributions of source code must retain the above copyright |
10 * notice, this list of conditions and the following disclaimer. | 10 * notice, this list of conditions and the following disclaimer. |
(...skipping 386 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
397 var eventData = event.args["data"]; | 397 var eventData = event.args["data"]; |
398 switch (event.name) { | 398 switch (event.name) { |
399 case recordType.GCEvent: | 399 case recordType.GCEvent: |
400 case recordType.MajorGC: | 400 case recordType.MajorGC: |
401 case recordType.MinorGC: | 401 case recordType.MinorGC: |
402 var delta = event.args["usedHeapSizeBefore"] - event.args["usedHeapSizeA
fter"]; | 402 var delta = event.args["usedHeapSizeBefore"] - event.args["usedHeapSizeA
fter"]; |
403 detailsText = WebInspector.UIString("%s collected", Number.bytesToString
(delta)); | 403 detailsText = WebInspector.UIString("%s collected", Number.bytesToString
(delta)); |
404 break; | 404 break; |
405 case recordType.FunctionCall: | 405 case recordType.FunctionCall: |
406 // Omit internally generated script names. | 406 // Omit internally generated script names. |
407 if (eventData && eventData["scriptName"]) | 407 if (eventData) |
408 detailsText = linkifyLocationAsText(eventData["scriptId"], eventData
["scriptLine"], 0); | 408 detailsText = linkifyLocationAsText(eventData["scriptId"], eventData
["lineNumber"], 0); |
409 break; | 409 break; |
410 case recordType.JSFrame: | 410 case recordType.JSFrame: |
411 detailsText = WebInspector.beautifyFunctionName(eventData["functionName"
]); | 411 detailsText = WebInspector.beautifyFunctionName(eventData["functionName"
]); |
412 break; | 412 break; |
413 case recordType.EventDispatch: | 413 case recordType.EventDispatch: |
414 detailsText = eventData ? eventData["type"] : null; | 414 detailsText = eventData ? eventData["type"] : null; |
415 break; | 415 break; |
416 case recordType.Paint: | 416 case recordType.Paint: |
417 var width = WebInspector.TimelineUIUtils.quadWidth(eventData.clip); | 417 var width = WebInspector.TimelineUIUtils.quadWidth(eventData.clip); |
418 var height = WebInspector.TimelineUIUtils.quadHeight(eventData.clip); | 418 var height = WebInspector.TimelineUIUtils.quadHeight(eventData.clip); |
419 if (width && height) | 419 if (width && height) |
420 detailsText = WebInspector.UIString("%d\u2009\u00d7\u2009%d", width,
height); | 420 detailsText = WebInspector.UIString("%d\u2009\u00d7\u2009%d", width,
height); |
421 break; | 421 break; |
422 case recordType.ParseHTML: | 422 case recordType.ParseHTML: |
423 var endLine = event.args["endData"] && event.args["endData"]["endLine"]; | 423 var endLine = event.args["endData"] && event.args["endData"]["endLine"]; |
424 var url = WebInspector.displayNameForURL(event.args["beginData"]["url"])
; | 424 var url = WebInspector.displayNameForURL(event.args["beginData"]["url"])
; |
425 detailsText = WebInspector.UIString("%s [%s\u2026%s]", url, event.args["
beginData"]["startLine"] + 1, endLine >= 0 ? endLine + 1 : ""); | 425 detailsText = WebInspector.UIString("%s [%s\u2026%s]", url, event.args["
beginData"]["startLine"] + 1, endLine >= 0 ? endLine + 1 : ""); |
426 break; | 426 break; |
427 | 427 |
428 case recordType.CompileScript: | 428 case recordType.CompileScript: |
429 case recordType.EvaluateScript: | 429 case recordType.EvaluateScript: |
430 var url = eventData["url"]; | 430 var url = eventData["url"]; |
431 if (url) | 431 if (url) |
432 detailsText = WebInspector.displayNameForURL(url) + ":" + eventData[
"lineNumber"]; | 432 detailsText = WebInspector.displayNameForURL(url) + ":" + (eventData
["lineNumber"] + 1); |
433 break; | 433 break; |
434 case recordType.ParseScriptOnBackground: | 434 case recordType.ParseScriptOnBackground: |
435 case recordType.XHRReadyStateChange: | 435 case recordType.XHRReadyStateChange: |
436 case recordType.XHRLoad: | 436 case recordType.XHRLoad: |
437 var url = eventData["url"]; | 437 var url = eventData["url"]; |
438 if (url) | 438 if (url) |
439 detailsText = WebInspector.displayNameForURL(url); | 439 detailsText = WebInspector.displayNameForURL(url); |
440 break; | 440 break; |
441 case recordType.TimeStamp: | 441 case recordType.TimeStamp: |
442 detailsText = eventData["message"]; | 442 detailsText = eventData["message"]; |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
484 else | 484 else |
485 detailsText = linkifyTopCallFrameAsText(); | 485 detailsText = linkifyTopCallFrameAsText(); |
486 break; | 486 break; |
487 } | 487 } |
488 | 488 |
489 return detailsText; | 489 return detailsText; |
490 | 490 |
491 /** | 491 /** |
492 * @param {string} scriptId | 492 * @param {string} scriptId |
493 * @param {number} lineNumber | 493 * @param {number} lineNumber |
494 * @param {number=} columnNumber | 494 * @param {number} columnNumber |
495 * @return {?string} | 495 * @return {?string} |
496 */ | 496 */ |
497 function linkifyLocationAsText(scriptId, lineNumber, columnNumber) | 497 function linkifyLocationAsText(scriptId, lineNumber, columnNumber) |
498 { | 498 { |
499 // FIXME(62725): stack trace line/column numbers are one-based. | |
500 var debuggerModel = WebInspector.DebuggerModel.fromTarget(target); | 499 var debuggerModel = WebInspector.DebuggerModel.fromTarget(target); |
501 var rawLocation = target && !target.isDetached() && scriptId && debugger
Model ? debuggerModel.createRawLocationByScriptId(scriptId, lineNumber - 1, (col
umnNumber || 1) - 1) : null; | 500 if (!target || target.isDetached() || !scriptId || !debuggerModel) |
| 501 return null; |
| 502 var rawLocation = debuggerModel.createRawLocationByScriptId(scriptId, li
neNumber, columnNumber); |
502 if (!rawLocation) | 503 if (!rawLocation) |
503 return null; | 504 return null; |
504 var uiLocation = WebInspector.debuggerWorkspaceBinding.rawLocationToUILo
cation(rawLocation); | 505 var uiLocation = WebInspector.debuggerWorkspaceBinding.rawLocationToUILo
cation(rawLocation); |
505 return uiLocation.linkText(); | 506 return uiLocation.linkText(); |
506 } | 507 } |
507 | 508 |
508 /** | 509 /** |
509 * @return {?string} | 510 * @return {?string} |
510 */ | 511 */ |
511 function linkifyTopCallFrameAsText() | 512 function linkifyTopCallFrameAsText() |
512 { | 513 { |
513 var frame = WebInspector.TimelineUIUtils.topStackFrame(event); | 514 var frame = WebInspector.TimelineUIUtils.topStackFrame(event); |
514 var text = frame ? linkifyLocationAsText(frame.scriptId, frame.lineNumbe
r, frame.columnNumber) : null; | 515 if (!frame) |
515 if (frame && !text) { | 516 return null; |
| 517 var text = linkifyLocationAsText(frame.scriptId, frame.lineNumber, frame
.columnNumber); |
| 518 if (!text) { |
516 text = frame.url; | 519 text = frame.url; |
517 if (typeof frame.lineNumber === "number") | 520 if (typeof frame.lineNumber === "number") |
518 text += ":" + (frame.lineNumber + 1); | 521 text += ":" + (frame.lineNumber + 1); |
519 } | 522 } |
520 return text; | 523 return text; |
521 } | 524 } |
522 } | 525 } |
523 | 526 |
524 /** | 527 /** |
525 * @param {!WebInspector.TracingModel.Event} event | 528 * @param {!WebInspector.TracingModel.Event} event |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
558 case recordType.XHRReadyStateChange: | 561 case recordType.XHRReadyStateChange: |
559 case recordType.XHRLoad: | 562 case recordType.XHRLoad: |
560 case recordType.ResourceSendRequest: | 563 case recordType.ResourceSendRequest: |
561 case recordType.ResourceReceivedData: | 564 case recordType.ResourceReceivedData: |
562 case recordType.ResourceReceiveResponse: | 565 case recordType.ResourceReceiveResponse: |
563 case recordType.ResourceFinish: | 566 case recordType.ResourceFinish: |
564 if (event.url) | 567 if (event.url) |
565 details = WebInspector.linkifyResourceAsNode(event.url); | 568 details = WebInspector.linkifyResourceAsNode(event.url); |
566 break; | 569 break; |
567 case recordType.FunctionCall: | 570 case recordType.FunctionCall: |
568 details = linkifyLocation(eventData["scriptId"], eventData["scriptName"]
, eventData["scriptLine"] - 1, 0); | |
569 break; | |
570 case recordType.JSFrame: | 571 case recordType.JSFrame: |
571 details = createElement("span"); | 572 details = createElement("span"); |
572 details.createTextChild(WebInspector.beautifyFunctionName(eventData["fun
ctionName"])); | 573 details.createTextChild(WebInspector.beautifyFunctionName(eventData["fun
ctionName"])); |
573 var location = linkifyLocation(eventData["scriptId"], eventData["url"],
eventData["lineNumber"], eventData["columnNumber"]); | 574 var location = linkifyLocation(eventData["scriptId"], eventData["url"],
eventData["lineNumber"], eventData["columnNumber"]); |
574 if (location) { | 575 if (location) { |
575 details.createTextChild(" @ "); | 576 details.createTextChild(" @ "); |
576 details.appendChild(location); | 577 details.appendChild(location); |
577 } | 578 } |
578 break; | 579 break; |
579 case recordType.CompileScript: | 580 case recordType.CompileScript: |
580 case recordType.EvaluateScript: | 581 case recordType.EvaluateScript: |
581 var url = eventData["url"]; | 582 var url = eventData["url"]; |
582 if (url) | 583 if (url) |
583 details = linkifyLocation("", url, eventData["lineNumber"] - 1, 0); | 584 details = linkifyLocation("", url, eventData["lineNumber"], 0); |
584 break; | 585 break; |
585 case recordType.ParseScriptOnBackground: | 586 case recordType.ParseScriptOnBackground: |
586 var url = eventData["url"]; | 587 var url = eventData["url"]; |
587 if (url) | 588 if (url) |
588 details = linkifyLocation("", url, 0, 0); | 589 details = linkifyLocation("", url, 0, 0); |
589 break; | 590 break; |
590 default: | 591 default: |
591 if (event.hasCategory(WebInspector.TimelineModel.Category.Console)) | 592 if (event.hasCategory(WebInspector.TimelineModel.Category.Console)) |
592 detailsText = null; | 593 detailsText = null; |
593 else | 594 else |
(...skipping 16 matching lines...) Expand all Loading... |
610 { | 611 { |
611 return linkifier.linkifyScriptLocation(target, scriptId, url, lineNumber
, columnNumber, "timeline-details"); | 612 return linkifier.linkifyScriptLocation(target, scriptId, url, lineNumber
, columnNumber, "timeline-details"); |
612 } | 613 } |
613 | 614 |
614 /** | 615 /** |
615 * @return {?Element} | 616 * @return {?Element} |
616 */ | 617 */ |
617 function linkifyTopCallFrame() | 618 function linkifyTopCallFrame() |
618 { | 619 { |
619 var frame = WebInspector.TimelineUIUtils.topStackFrame(event); | 620 var frame = WebInspector.TimelineUIUtils.topStackFrame(event); |
620 return frame ? linkifier.maybeLinkifyConsoleCallFrameForTracing(target,
frame, "timeline-details") : null; | 621 return frame ? linkifier.maybeLinkifyConsoleCallFrame(target, frame, "ti
meline-details") : null; |
621 } | 622 } |
622 } | 623 } |
623 | 624 |
624 /** | 625 /** |
625 * @param {!WebInspector.TracingModel.Event} event | 626 * @param {!WebInspector.TracingModel.Event} event |
626 * @param {!WebInspector.TimelineModel} model | 627 * @param {!WebInspector.TimelineModel} model |
627 * @param {!WebInspector.Linkifier} linkifier | 628 * @param {!WebInspector.Linkifier} linkifier |
628 * @param {boolean} detailed | 629 * @param {boolean} detailed |
629 * @param {function(!DocumentFragment)} callback | 630 * @param {function(!DocumentFragment)} callback |
630 */ | 631 */ |
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
713 } | 714 } |
714 | 715 |
715 switch (event.name) { | 716 switch (event.name) { |
716 case recordTypes.GCEvent: | 717 case recordTypes.GCEvent: |
717 case recordTypes.MajorGC: | 718 case recordTypes.MajorGC: |
718 case recordTypes.MinorGC: | 719 case recordTypes.MinorGC: |
719 var delta = event.args["usedHeapSizeBefore"] - event.args["usedHeapSizeA
fter"]; | 720 var delta = event.args["usedHeapSizeBefore"] - event.args["usedHeapSizeA
fter"]; |
720 contentHelper.appendTextRow(WebInspector.UIString("Collected"), Number.b
ytesToString(delta)); | 721 contentHelper.appendTextRow(WebInspector.UIString("Collected"), Number.b
ytesToString(delta)); |
721 break; | 722 break; |
722 case recordTypes.JSFrame: | 723 case recordTypes.JSFrame: |
| 724 case recordTypes.FunctionCall: |
723 var detailsNode = WebInspector.TimelineUIUtils.buildDetailsNodeForTraceE
vent(event, model.targetByEvent(event), linkifier); | 725 var detailsNode = WebInspector.TimelineUIUtils.buildDetailsNodeForTraceE
vent(event, model.targetByEvent(event), linkifier); |
724 if (detailsNode) | 726 if (detailsNode) |
725 contentHelper.appendElementRow(WebInspector.UIString("Function"), de
tailsNode); | 727 contentHelper.appendElementRow(WebInspector.UIString("Function"), de
tailsNode); |
726 break; | 728 break; |
727 case recordTypes.TimerFire: | 729 case recordTypes.TimerFire: |
728 case recordTypes.TimerInstall: | 730 case recordTypes.TimerInstall: |
729 case recordTypes.TimerRemove: | 731 case recordTypes.TimerRemove: |
730 contentHelper.appendTextRow(WebInspector.UIString("Timer ID"), eventData
["timerId"]); | 732 contentHelper.appendTextRow(WebInspector.UIString("Timer ID"), eventData
["timerId"]); |
731 if (event.name === recordTypes.TimerInstall) { | 733 if (event.name === recordTypes.TimerInstall) { |
732 contentHelper.appendTextRow(WebInspector.UIString("Timeout"), Number
.millisToString(eventData["timeout"])); | 734 contentHelper.appendTextRow(WebInspector.UIString("Timeout"), Number
.millisToString(eventData["timeout"])); |
733 contentHelper.appendTextRow(WebInspector.UIString("Repeats"), !event
Data["singleShot"]); | 735 contentHelper.appendTextRow(WebInspector.UIString("Repeats"), !event
Data["singleShot"]); |
734 } | 736 } |
735 break; | 737 break; |
736 case recordTypes.FireAnimationFrame: | 738 case recordTypes.FireAnimationFrame: |
737 contentHelper.appendTextRow(WebInspector.UIString("Callback ID"), eventD
ata["id"]); | 739 contentHelper.appendTextRow(WebInspector.UIString("Callback ID"), eventD
ata["id"]); |
738 break; | 740 break; |
739 case recordTypes.FunctionCall: | |
740 if (typeof eventData["functionName"] === "string") | |
741 contentHelper.appendTextRow(WebInspector.UIString("Function"), WebIn
spector.beautifyFunctionName(eventData["functionName"])); | |
742 if (eventData["scriptName"]) | |
743 contentHelper.appendLocationRow(WebInspector.UIString("Location"), e
ventData["scriptName"], eventData["scriptLine"]); | |
744 break; | |
745 case recordTypes.ResourceSendRequest: | 741 case recordTypes.ResourceSendRequest: |
746 case recordTypes.ResourceReceiveResponse: | 742 case recordTypes.ResourceReceiveResponse: |
747 case recordTypes.ResourceReceivedData: | 743 case recordTypes.ResourceReceivedData: |
748 case recordTypes.ResourceFinish: | 744 case recordTypes.ResourceFinish: |
749 var url = (event.name === recordTypes.ResourceSendRequest) ? eventData["
url"] : initiator && initiator.args["data"]["url"]; | 745 var url = (event.name === recordTypes.ResourceSendRequest) ? eventData["
url"] : initiator && initiator.args["data"]["url"]; |
750 if (url) | 746 if (url) |
751 contentHelper.appendElementRow(WebInspector.UIString("Resource"), We
bInspector.linkifyResourceAsNode(url)); | 747 contentHelper.appendElementRow(WebInspector.UIString("Resource"), We
bInspector.linkifyResourceAsNode(url)); |
752 if (eventData["requestMethod"]) | 748 if (eventData["requestMethod"]) |
753 contentHelper.appendTextRow(WebInspector.UIString("Request Method"),
eventData["requestMethod"]); | 749 contentHelper.appendTextRow(WebInspector.UIString("Request Method"),
eventData["requestMethod"]); |
754 if (typeof eventData["statusCode"] === "number") | 750 if (typeof eventData["statusCode"] === "number") |
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
822 case recordTypes.EmbedderCallback: | 818 case recordTypes.EmbedderCallback: |
823 contentHelper.appendTextRow(WebInspector.UIString("Callback Function"),
eventData["callbackName"]); | 819 contentHelper.appendTextRow(WebInspector.UIString("Callback Function"),
eventData["callbackName"]); |
824 break; | 820 break; |
825 case recordTypes.Animation: | 821 case recordTypes.Animation: |
826 if (event.phase === WebInspector.TracingModel.Phase.NestableAsyncInstant
) | 822 if (event.phase === WebInspector.TracingModel.Phase.NestableAsyncInstant
) |
827 contentHelper.appendTextRow(WebInspector.UIString("State"), eventDat
a["state"]); | 823 contentHelper.appendTextRow(WebInspector.UIString("State"), eventDat
a["state"]); |
828 break; | 824 break; |
829 case recordTypes.ParseHTML: | 825 case recordTypes.ParseHTML: |
830 var beginData = event.args["beginData"]; | 826 var beginData = event.args["beginData"]; |
831 var url = beginData["url"]; | 827 var url = beginData["url"]; |
832 var startLine = beginData["startLine"] + 1; | 828 var startLine = beginData["startLine"] - 1; |
833 var endLine = event.args["endData"] ? event.args["endData"]["endLine"] +
1 : 0; | 829 var endLine = event.args["endData"] ? event.args["endData"]["endLine"] -
1 : undefined; |
834 if (url) | 830 if (url) |
835 contentHelper.appendLocationRange(WebInspector.UIString("Range"), ur
l, startLine, endLine); | 831 contentHelper.appendLocationRange(WebInspector.UIString("Range"), ur
l, startLine, endLine); |
836 break; | 832 break; |
837 | 833 |
838 case recordTypes.FireIdleCallback: | 834 case recordTypes.FireIdleCallback: |
839 contentHelper.appendTextRow(WebInspector.UIString("Allotted Time"), Numb
er.millisToString(eventData["allottedMilliseconds"])); | 835 contentHelper.appendTextRow(WebInspector.UIString("Allotted Time"), Numb
er.millisToString(eventData["allottedMilliseconds"])); |
840 contentHelper.appendTextRow(WebInspector.UIString("Invoked by Timeout"),
eventData["timedOut"]); | 836 contentHelper.appendTextRow(WebInspector.UIString("Invoked by Timeout"),
eventData["timedOut"]); |
841 // Fall-through intended. | 837 // Fall-through intended. |
842 | 838 |
843 case recordTypes.RequestIdleCallback: | 839 case recordTypes.RequestIdleCallback: |
(...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
987 var priority = WebInspector.uiLabelForPriority(/** @type {!NetworkAgent.
ResourcePriority} */ (request.priority)); | 983 var priority = WebInspector.uiLabelForPriority(/** @type {!NetworkAgent.
ResourcePriority} */ (request.priority)); |
988 contentHelper.appendTextRow(WebInspector.UIString("Priority"), priority)
; | 984 contentHelper.appendTextRow(WebInspector.UIString("Priority"), priority)
; |
989 } | 985 } |
990 if (request.mimeType) | 986 if (request.mimeType) |
991 contentHelper.appendTextRow(WebInspector.UIString("Mime Type"), request.
mimeType); | 987 contentHelper.appendTextRow(WebInspector.UIString("Mime Type"), request.
mimeType); |
992 | 988 |
993 var title = WebInspector.UIString("Initiator"); | 989 var title = WebInspector.UIString("Initiator"); |
994 var sendRequest = request.children[0]; | 990 var sendRequest = request.children[0]; |
995 var topFrame = WebInspector.TimelineUIUtils.topStackFrame(sendRequest); | 991 var topFrame = WebInspector.TimelineUIUtils.topStackFrame(sendRequest); |
996 if (topFrame) { | 992 if (topFrame) { |
997 var link = linkifier.maybeLinkifyConsoleCallFrameForTracing(target, topF
rame); | 993 var link = linkifier.maybeLinkifyConsoleCallFrame(target, topFrame); |
998 if (link) | 994 if (link) |
999 contentHelper.appendElementRow(title, link); | 995 contentHelper.appendElementRow(title, link); |
1000 } else if (sendRequest.initiator) { | 996 } else if (sendRequest.initiator) { |
1001 var initiatorURL = WebInspector.TimelineUIUtils.eventURL(sendRequest.ini
tiator); | 997 var initiatorURL = WebInspector.TimelineUIUtils.eventURL(sendRequest.ini
tiator); |
1002 if (initiatorURL) { | 998 if (initiatorURL) { |
1003 var link = linkifier.maybeLinkifyScriptLocation(target, null, initia
torURL, 0); | 999 var link = linkifier.maybeLinkifyScriptLocation(target, null, initia
torURL, 0); |
1004 if (link) | 1000 if (link) |
1005 contentHelper.appendElementRow(title, link); | 1001 contentHelper.appendElementRow(title, link); |
1006 } | 1002 } |
1007 } | 1003 } |
(...skipping 230 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1238 title.createTextChild(WebInspector.UIString("%s for ", reason)); | 1234 title.createTextChild(WebInspector.UIString("%s for ", reason)); |
1239 else | 1235 else |
1240 title.createTextChild(WebInspector.UIString("Unknown cause for ")); | 1236 title.createTextChild(WebInspector.UIString("Unknown cause for ")); |
1241 | 1237 |
1242 this._appendTruncatedNodeList(title, this._invalidations); | 1238 this._appendTruncatedNodeList(title, this._invalidations); |
1243 | 1239 |
1244 if (topFrame && this._contentHelper.linkifier()) { | 1240 if (topFrame && this._contentHelper.linkifier()) { |
1245 title.createTextChild(WebInspector.UIString(". ")); | 1241 title.createTextChild(WebInspector.UIString(". ")); |
1246 var stack = title.createChild("span", "monospace"); | 1242 var stack = title.createChild("span", "monospace"); |
1247 stack.createChild("span").textContent = WebInspector.beautifyFunctio
nName(topFrame.functionName); | 1243 stack.createChild("span").textContent = WebInspector.beautifyFunctio
nName(topFrame.functionName); |
1248 var link = this._contentHelper.linkifier().maybeLinkifyConsoleCallFr
ameForTracing(target, topFrame); | 1244 var link = this._contentHelper.linkifier().maybeLinkifyConsoleCallFr
ame(target, topFrame); |
1249 if (link) { | 1245 if (link) { |
1250 stack.createChild("span").textContent = " @ "; | 1246 stack.createChild("span").textContent = " @ "; |
1251 stack.createChild("span").appendChild(link); | 1247 stack.createChild("span").appendChild(link); |
1252 } | 1248 } |
1253 } | 1249 } |
1254 | 1250 |
1255 return title; | 1251 return title; |
1256 }, | 1252 }, |
1257 | 1253 |
1258 /** | 1254 /** |
(...skipping 791 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2050 /** | 2046 /** |
2051 * @param {string} title | 2047 * @param {string} title |
2052 * @param {string} url | 2048 * @param {string} url |
2053 * @param {number} startLine | 2049 * @param {number} startLine |
2054 * @param {number=} startColumn | 2050 * @param {number=} startColumn |
2055 */ | 2051 */ |
2056 appendLocationRow: function(title, url, startLine, startColumn) | 2052 appendLocationRow: function(title, url, startLine, startColumn) |
2057 { | 2053 { |
2058 if (!this._linkifier || !this._target) | 2054 if (!this._linkifier || !this._target) |
2059 return; | 2055 return; |
2060 if (startColumn) | 2056 var link = this._linkifier.maybeLinkifyScriptLocation(this._target, null
, url, startLine, startColumn); |
2061 --startColumn; | |
2062 var link = this._linkifier.maybeLinkifyScriptLocation(this._target, null
, url, startLine - 1, startColumn); | |
2063 if (!link) | 2057 if (!link) |
2064 return; | 2058 return; |
2065 this.appendElementRow(title, link); | 2059 this.appendElementRow(title, link); |
2066 }, | 2060 }, |
2067 | 2061 |
2068 /** | 2062 /** |
2069 * @param {string} title | 2063 * @param {string} title |
2070 * @param {string} url | 2064 * @param {string} url |
2071 * @param {number} startLine | 2065 * @param {number} startLine |
2072 * @param {number=} endLine | 2066 * @param {number=} endLine |
2073 */ | 2067 */ |
2074 appendLocationRange: function(title, url, startLine, endLine) | 2068 appendLocationRange: function(title, url, startLine, endLine) |
2075 { | 2069 { |
2076 if (!this._linkifier || !this._target) | 2070 if (!this._linkifier || !this._target) |
2077 return; | 2071 return; |
2078 var locationContent = createElement("span"); | 2072 var locationContent = createElement("span"); |
2079 var link = this._linkifier.maybeLinkifyScriptLocation(this._target, null
, url, startLine - 1); | 2073 var link = this._linkifier.maybeLinkifyScriptLocation(this._target, null
, url, startLine); |
2080 if (!link) | 2074 if (!link) |
2081 return; | 2075 return; |
2082 locationContent.appendChild(link); | 2076 locationContent.appendChild(link); |
2083 locationContent.createTextChild(String.sprintf(" [%s\u2026%s]", startLin
e, endLine || "")); | 2077 locationContent.createTextChild(String.sprintf(" [%s\u2026%s]", startLin
e + 1, endLine + 1 || "")); |
2084 this.appendElementRow(title, locationContent); | 2078 this.appendElementRow(title, locationContent); |
2085 }, | 2079 }, |
2086 | 2080 |
2087 /** | 2081 /** |
2088 * @param {string} title | 2082 * @param {string} title |
2089 * @param {!RuntimeAgent.StackTrace} stackTrace | 2083 * @param {!RuntimeAgent.StackTrace} stackTrace |
2090 */ | 2084 */ |
2091 appendStackTrace: function(title, stackTrace) | 2085 appendStackTrace: function(title, stackTrace) |
2092 { | 2086 { |
2093 if (!this._linkifier || !this._target) | 2087 if (!this._linkifier || !this._target) |
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2152 case warnings.V8Deopt: | 2146 case warnings.V8Deopt: |
2153 span.appendChild(WebInspector.linkifyURLAsNode("https://github.com/Googl
eChrome/devtools-docs/issues/53", | 2147 span.appendChild(WebInspector.linkifyURLAsNode("https://github.com/Googl
eChrome/devtools-docs/issues/53", |
2154 WebInspector.UIString("Not optimized"), undefined, true)); | 2148 WebInspector.UIString("Not optimized"), undefined, true)); |
2155 span.createTextChild(WebInspector.UIString(": %s", eventData["deoptReaso
n"])); | 2149 span.createTextChild(WebInspector.UIString(": %s", eventData["deoptReaso
n"])); |
2156 break; | 2150 break; |
2157 default: | 2151 default: |
2158 console.assert(false, "Unhandled TimelineModel.WarningType"); | 2152 console.assert(false, "Unhandled TimelineModel.WarningType"); |
2159 } | 2153 } |
2160 return span; | 2154 return span; |
2161 } | 2155 } |
OLD | NEW |