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 656 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
667 WebInspector.TimelineUIUtils._quadHeight = function(quad) | 667 WebInspector.TimelineUIUtils._quadHeight = function(quad) |
668 { | 668 { |
669 return Math.round(Math.sqrt(Math.pow(quad[0] - quad[6], 2) + Math.pow(quad[1 ] - quad[7], 2))); | 669 return Math.round(Math.sqrt(Math.pow(quad[0] - quad[6], 2) + Math.pow(quad[1 ] - quad[7], 2))); |
670 } | 670 } |
671 | 671 |
672 /** | 672 /** |
673 * @param {!WebInspector.TimelineModel.Record} record | 673 * @param {!WebInspector.TimelineModel.Record} record |
674 * @param {!WebInspector.Linkifier} linkifier | 674 * @param {!WebInspector.Linkifier} linkifier |
675 * @return {?Node} | 675 * @return {?Node} |
676 */ | 676 */ |
677 WebInspector.TimelineUIUtils.buildDetailsNode = function(record, linkifier) | 677 WebInspector.TimelineUIUtils.buildDetailsNode = function(record, linkifier) |
pfeldman
2014/04/01 14:24:33
You should pass loadedFromFile as an input param i
| |
678 { | 678 { |
679 var details; | 679 var details; |
680 var detailsText; | 680 var detailsText; |
681 var model = record.model(); | |
681 | 682 |
682 switch (record.type) { | 683 switch (record.type) { |
683 case WebInspector.TimelineModel.RecordType.GCEvent: | 684 case WebInspector.TimelineModel.RecordType.GCEvent: |
684 detailsText = WebInspector.UIString("%s collected", Number.bytesToString (record.data["usedHeapSizeDelta"])); | 685 detailsText = WebInspector.UIString("%s collected", Number.bytesToString (record.data["usedHeapSizeDelta"])); |
685 break; | 686 break; |
686 case WebInspector.TimelineModel.RecordType.TimerFire: | 687 case WebInspector.TimelineModel.RecordType.TimerFire: |
687 detailsText = record.data["timerId"]; | 688 detailsText = record.data["timerId"]; |
688 break; | 689 break; |
689 case WebInspector.TimelineModel.RecordType.FunctionCall: | 690 case WebInspector.TimelineModel.RecordType.FunctionCall: |
690 if (record.scriptName) | 691 details = linkifyLocation(record.scriptId, record.scriptName, record.scr iptLine, 0); |
691 details = linkifyLocation(record.scriptName, record.scriptLine, 0); | |
692 break; | 692 break; |
693 case WebInspector.TimelineModel.RecordType.FireAnimationFrame: | 693 case WebInspector.TimelineModel.RecordType.FireAnimationFrame: |
694 detailsText = record.data["id"]; | 694 detailsText = record.data["id"]; |
695 break; | 695 break; |
696 case WebInspector.TimelineModel.RecordType.EventDispatch: | 696 case WebInspector.TimelineModel.RecordType.EventDispatch: |
697 detailsText = record.data ? record.data["type"] : null; | 697 detailsText = record.data ? record.data["type"] : null; |
698 break; | 698 break; |
699 case WebInspector.TimelineModel.RecordType.Paint: | 699 case WebInspector.TimelineModel.RecordType.Paint: |
700 var width = record.data.clip ? WebInspector.TimelineUIUtils._quadWidth(r ecord.data.clip) : record.data.width; | 700 var width = record.data.clip ? WebInspector.TimelineUIUtils._quadWidth(r ecord.data.clip) : record.data.width; |
701 var height = record.data.clip ? WebInspector.TimelineUIUtils._quadHeight (record.data.clip) : record.data.height; | 701 var height = record.data.clip ? WebInspector.TimelineUIUtils._quadHeight (record.data.clip) : record.data.height; |
702 if (width && height) | 702 if (width && height) |
703 detailsText = WebInspector.UIString("%d\u2009\u00d7\u2009%d", width, height); | 703 detailsText = WebInspector.UIString("%d\u2009\u00d7\u2009%d", width, height); |
704 break; | 704 break; |
705 case WebInspector.TimelineModel.RecordType.TimerInstall: | 705 case WebInspector.TimelineModel.RecordType.TimerInstall: |
706 case WebInspector.TimelineModel.RecordType.TimerRemove: | 706 case WebInspector.TimelineModel.RecordType.TimerRemove: |
707 details = linkifyTopCallFrame(); | 707 details = linkifyTopCallFrame(); |
708 detailsText = record.data["timerId"]; | 708 detailsText = record.data["timerId"]; |
709 break; | 709 break; |
710 case WebInspector.TimelineModel.RecordType.RequestAnimationFrame: | 710 case WebInspector.TimelineModel.RecordType.RequestAnimationFrame: |
711 case WebInspector.TimelineModel.RecordType.CancelAnimationFrame: | 711 case WebInspector.TimelineModel.RecordType.CancelAnimationFrame: |
712 details = linkifyTopCallFrame(); | 712 details = linkifyTopCallFrame(); |
713 detailsText = record.data["id"]; | 713 detailsText = record.data["id"]; |
714 break; | 714 break; |
715 case WebInspector.TimelineModel.RecordType.ParseHTML: | 715 case WebInspector.TimelineModel.RecordType.ParseHTML: |
716 case WebInspector.TimelineModel.RecordType.RecalculateStyles: | 716 case WebInspector.TimelineModel.RecordType.RecalculateStyles: |
717 details = linkifyTopCallFrame(); | 717 details = linkifyTopCallFrame(); |
718 break; | 718 break; |
719 case WebInspector.TimelineModel.RecordType.EvaluateScript: | 719 case WebInspector.TimelineModel.RecordType.EvaluateScript: |
720 details = record.url ? linkifyLocation(record.url, record.data["lineNumb er"], 0) : null; | 720 details = linkifyLocation("", record.url, record.data["lineNumber"], 0); |
721 break; | 721 break; |
722 case WebInspector.TimelineModel.RecordType.XHRReadyStateChange: | 722 case WebInspector.TimelineModel.RecordType.XHRReadyStateChange: |
723 case WebInspector.TimelineModel.RecordType.XHRLoad: | 723 case WebInspector.TimelineModel.RecordType.XHRLoad: |
724 case WebInspector.TimelineModel.RecordType.ScheduleResourceRequest: | 724 case WebInspector.TimelineModel.RecordType.ScheduleResourceRequest: |
725 case WebInspector.TimelineModel.RecordType.ResourceSendRequest: | 725 case WebInspector.TimelineModel.RecordType.ResourceSendRequest: |
726 case WebInspector.TimelineModel.RecordType.ResourceReceivedData: | 726 case WebInspector.TimelineModel.RecordType.ResourceReceivedData: |
727 case WebInspector.TimelineModel.RecordType.ResourceReceiveResponse: | 727 case WebInspector.TimelineModel.RecordType.ResourceReceiveResponse: |
728 case WebInspector.TimelineModel.RecordType.ResourceFinish: | 728 case WebInspector.TimelineModel.RecordType.ResourceFinish: |
729 case WebInspector.TimelineModel.RecordType.DecodeImage: | 729 case WebInspector.TimelineModel.RecordType.DecodeImage: |
730 case WebInspector.TimelineModel.RecordType.ResizeImage: | 730 case WebInspector.TimelineModel.RecordType.ResizeImage: |
731 detailsText = WebInspector.displayNameForURL(record.url); | 731 detailsText = WebInspector.displayNameForURL(record.url); |
732 break; | 732 break; |
733 case WebInspector.TimelineModel.RecordType.ConsoleTime: | 733 case WebInspector.TimelineModel.RecordType.ConsoleTime: |
734 detailsText = record.data["message"]; | 734 detailsText = record.data["message"]; |
735 break; | 735 break; |
736 case WebInspector.TimelineModel.RecordType.EmbedderCallback: | 736 case WebInspector.TimelineModel.RecordType.EmbedderCallback: |
737 detailsText = record.data["callbackName"]; | 737 detailsText = record.data["callbackName"]; |
738 break; | 738 break; |
739 default: | 739 default: |
740 details = record.scriptName ? linkifyLocation(record.scriptName, record. scriptLine, 0) : linkifyTopCallFrame(); | 740 details = linkifyTopCallFrame(); |
741 break; | 741 break; |
742 } | 742 } |
743 | 743 |
744 if (!details && detailsText) | 744 if (!details && detailsText) |
745 details = document.createTextNode(detailsText); | 745 details = document.createTextNode(detailsText); |
746 return details; | 746 return details; |
747 | 747 |
748 /** | 748 /** |
749 * @param {string} scriptId | |
749 * @param {string} url | 750 * @param {string} url |
750 * @param {number} lineNumber | 751 * @param {number} lineNumber |
751 * @param {number=} columnNumber | 752 * @param {number=} columnNumber |
752 */ | 753 */ |
753 function linkifyLocation(url, lineNumber, columnNumber) | 754 function linkifyLocation(scriptId, url, lineNumber, columnNumber) |
754 { | 755 { |
756 if (!model.loadedFromFile() && scriptId) { | |
757 var location = new WebInspector.DebuggerModel.Location(scriptId, lin eNumber, columnNumber || 0); | |
758 return linkifier.linkifyRawLocation(location, "timeline-details"); | |
759 } | |
760 | |
761 if (!url) | |
762 return null; | |
763 | |
755 // FIXME(62725): stack trace line/column numbers are one-based. | 764 // FIXME(62725): stack trace line/column numbers are one-based. |
756 columnNumber = columnNumber ? columnNumber - 1 : 0; | 765 columnNumber = columnNumber ? columnNumber - 1 : 0; |
757 return linkifier.linkifyLocation(url, lineNumber - 1, columnNumber, "tim eline-details"); | 766 return linkifier.linkifyLocation(url, lineNumber - 1, columnNumber, "tim eline-details"); |
758 } | 767 } |
759 | 768 |
760 /** | 769 /** |
761 * @param {!ConsoleAgent.CallFrame} callFrame | 770 * @param {!ConsoleAgent.CallFrame} callFrame |
762 */ | 771 */ |
763 function linkifyCallFrame(callFrame) | 772 function linkifyCallFrame(callFrame) |
764 { | 773 { |
765 return linkifyLocation(callFrame.url, callFrame.lineNumber, callFrame.co lumnNumber); | 774 return linkifyLocation(callFrame.scriptId, callFrame.url, callFrame.line Number, callFrame.columnNumber); |
766 } | 775 } |
767 | 776 |
768 /** | 777 /** |
769 * @return {?Element} | 778 * @return {?Element} |
770 */ | 779 */ |
771 function linkifyTopCallFrame() | 780 function linkifyTopCallFrame() |
772 { | 781 { |
773 if (record.stackTrace) | 782 if (record.stackTrace) |
774 return linkifyCallFrame(record.stackTrace[0]); | 783 return linkifyCallFrame(record.stackTrace[0]); |
775 if (record.callSiteStackTrace) | 784 if (record.callSiteStackTrace) |
776 return linkifyCallFrame(record.callSiteStackTrace[0]); | 785 return linkifyCallFrame(record.callSiteStackTrace[0]); |
777 return null; | 786 return null; |
778 } | 787 } |
779 | |
780 /** | |
781 * @return {?Element} | |
782 */ | |
783 function linkifyScriptLocation() | |
784 { | |
785 return record.scriptName ? linkifyLocation(record.scriptName, record.scr iptLine, 0) : null; | |
786 } | |
787 } | 788 } |
788 | 789 |
789 /** | 790 /** |
790 * @constructor | 791 * @constructor |
791 * @extends {WebInspector.Object} | 792 * @extends {WebInspector.Object} |
792 * @param {string} name | 793 * @param {string} name |
793 * @param {string} title | 794 * @param {string} title |
794 * @param {number} overviewStripGroupIndex | 795 * @param {number} overviewStripGroupIndex |
795 * @param {string} borderColor | 796 * @param {string} borderColor |
796 * @param {string} backgroundColor | 797 * @param {string} backgroundColor |
(...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
964 for (var i = 0; i < stackTrace.length; ++i) { | 965 for (var i = 0; i < stackTrace.length; ++i) { |
965 var stackFrame = stackTrace[i]; | 966 var stackFrame = stackTrace[i]; |
966 var row = stackTraceElement.createChild("div"); | 967 var row = stackTraceElement.createChild("div"); |
967 row.createTextChild(stackFrame.functionName || WebInspector.UIString ("(anonymous function)")); | 968 row.createTextChild(stackFrame.functionName || WebInspector.UIString ("(anonymous function)")); |
968 row.createTextChild(" @ "); | 969 row.createTextChild(" @ "); |
969 var urlElement = this._linkifier.linkifyLocation(stackFrame.url, sta ckFrame.lineNumber - 1); | 970 var urlElement = this._linkifier.linkifyLocation(stackFrame.url, sta ckFrame.lineNumber - 1); |
970 row.appendChild(urlElement); | 971 row.appendChild(urlElement); |
971 } | 972 } |
972 } | 973 } |
973 } | 974 } |
OLD | NEW |