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 612 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
623 | 623 |
624 /** | 624 /** |
625 * @param {!WebInspector.TracingModel.Event} event | 625 * @param {!WebInspector.TracingModel.Event} event |
626 * @param {!WebInspector.TimelineModel} model | 626 * @param {!WebInspector.TimelineModel} model |
627 * @param {!WebInspector.Linkifier} linkifier | 627 * @param {!WebInspector.Linkifier} linkifier |
628 * @param {boolean} detailed | 628 * @param {boolean} detailed |
629 * @param {function(!DocumentFragment)} callback | 629 * @param {function(!DocumentFragment)} callback |
630 */ | 630 */ |
631 WebInspector.TimelineUIUtils.buildTraceEventDetails = function(event, model, lin
kifier, detailed, callback) | 631 WebInspector.TimelineUIUtils.buildTraceEventDetails = function(event, model, lin
kifier, detailed, callback) |
632 { | 632 { |
633 var target = model.target(); | 633 var target = model.targetByEvent(event); |
634 if (!target) { | 634 if (!target) { |
635 callbackWrapper(); | 635 callbackWrapper(); |
636 return; | 636 return; |
637 } | 637 } |
638 var relatedNodes = null; | 638 var relatedNodes = null; |
639 var barrier = new CallbackBarrier(); | 639 var barrier = new CallbackBarrier(); |
640 if (!event.previewElement) { | 640 if (!event.previewElement) { |
641 if (event.url) | 641 if (event.url) |
642 WebInspector.DOMPresentationUtils.buildImagePreviewContents(target,
event.url, false, barrier.createCallback(saveImage)); | 642 WebInspector.DOMPresentationUtils.buildImagePreviewContents(target,
event.url, false, barrier.createCallback(saveImage)); |
643 else if (event.picture) | 643 else if (event.picture) |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
686 * @return {!DocumentFragment} | 686 * @return {!DocumentFragment} |
687 */ | 687 */ |
688 WebInspector.TimelineUIUtils._buildTraceEventDetailsSynchronously = function(eve
nt, model, linkifier, detailed, relatedNodesMap) | 688 WebInspector.TimelineUIUtils._buildTraceEventDetailsSynchronously = function(eve
nt, model, linkifier, detailed, relatedNodesMap) |
689 { | 689 { |
690 var stats = {}; | 690 var stats = {}; |
691 var recordTypes = WebInspector.TimelineModel.RecordType; | 691 var recordTypes = WebInspector.TimelineModel.RecordType; |
692 | 692 |
693 // This message may vary per event.name; | 693 // This message may vary per event.name; |
694 var relatedNodeLabel; | 694 var relatedNodeLabel; |
695 | 695 |
696 var contentHelper = new WebInspector.TimelineDetailsContentHelper(model.targ
et(), linkifier); | 696 var contentHelper = new WebInspector.TimelineDetailsContentHelper(model.targ
etByEvent(event), linkifier); |
697 contentHelper.addSection(WebInspector.TimelineUIUtils.eventTitle(event), Web
Inspector.TimelineUIUtils.eventStyle(event).category); | 697 contentHelper.addSection(WebInspector.TimelineUIUtils.eventTitle(event), Web
Inspector.TimelineUIUtils.eventStyle(event).category); |
698 | 698 |
699 var eventData = event.args["data"]; | 699 var eventData = event.args["data"]; |
700 var initiator = event.initiator; | 700 var initiator = event.initiator; |
701 | 701 |
702 if (event.warning) | 702 if (event.warning) |
703 contentHelper.appendWarningRow(event); | 703 contentHelper.appendWarningRow(event); |
704 if (event.name === recordTypes.JSFrame) { | 704 if (event.name === recordTypes.JSFrame) { |
705 var deoptReason = eventData["deoptReason"]; | 705 var deoptReason = eventData["deoptReason"]; |
706 if (deoptReason && deoptReason !== "no reason") | 706 if (deoptReason && deoptReason !== "no reason") |
707 contentHelper.appendWarningRow(event, WebInspector.TimelineModel.War
ningType.V8Deopt); | 707 contentHelper.appendWarningRow(event, WebInspector.TimelineModel.War
ningType.V8Deopt); |
708 } | 708 } |
709 | 709 |
710 if (detailed) { | 710 if (detailed) { |
711 contentHelper.appendTextRow(WebInspector.UIString("Self Time"), Number.m
illisToString(event.selfTime, true)); | 711 contentHelper.appendTextRow(WebInspector.UIString("Self Time"), Number.m
illisToString(event.selfTime, true)); |
712 contentHelper.appendTextRow(WebInspector.UIString("Total Time"), Number.
millisToString(event.duration || 0, true)); | 712 contentHelper.appendTextRow(WebInspector.UIString("Total Time"), Number.
millisToString(event.duration || 0, true)); |
713 } | 713 } |
714 | 714 |
715 switch (event.name) { | 715 switch (event.name) { |
716 case recordTypes.GCEvent: | 716 case recordTypes.GCEvent: |
717 case recordTypes.MajorGC: | 717 case recordTypes.MajorGC: |
718 case recordTypes.MinorGC: | 718 case recordTypes.MinorGC: |
719 var delta = event.args["usedHeapSizeBefore"] - event.args["usedHeapSizeA
fter"]; | 719 var delta = event.args["usedHeapSizeBefore"] - event.args["usedHeapSizeA
fter"]; |
720 contentHelper.appendTextRow(WebInspector.UIString("Collected"), Number.b
ytesToString(delta)); | 720 contentHelper.appendTextRow(WebInspector.UIString("Collected"), Number.b
ytesToString(delta)); |
721 break; | 721 break; |
722 case recordTypes.JSFrame: | 722 case recordTypes.JSFrame: |
723 var detailsNode = WebInspector.TimelineUIUtils.buildDetailsNodeForTraceE
vent(event, model.target(), linkifier); | 723 var detailsNode = WebInspector.TimelineUIUtils.buildDetailsNodeForTraceE
vent(event, model.targetByEvent(event), linkifier); |
724 if (detailsNode) | 724 if (detailsNode) |
725 contentHelper.appendElementRow(WebInspector.UIString("Function"), de
tailsNode); | 725 contentHelper.appendElementRow(WebInspector.UIString("Function"), de
tailsNode); |
726 break; | 726 break; |
727 case recordTypes.TimerFire: | 727 case recordTypes.TimerFire: |
728 case recordTypes.TimerInstall: | 728 case recordTypes.TimerInstall: |
729 case recordTypes.TimerRemove: | 729 case recordTypes.TimerRemove: |
730 contentHelper.appendTextRow(WebInspector.UIString("Timer ID"), eventData
["timerId"]); | 730 contentHelper.appendTextRow(WebInspector.UIString("Timer ID"), eventData
["timerId"]); |
731 if (event.name === recordTypes.TimerInstall) { | 731 if (event.name === recordTypes.TimerInstall) { |
732 contentHelper.appendTextRow(WebInspector.UIString("Timeout"), Number
.millisToString(eventData["timeout"])); | 732 contentHelper.appendTextRow(WebInspector.UIString("Timeout"), Number
.millisToString(eventData["timeout"])); |
733 contentHelper.appendTextRow(WebInspector.UIString("Repeats"), !event
Data["singleShot"]); | 733 contentHelper.appendTextRow(WebInspector.UIString("Repeats"), !event
Data["singleShot"]); |
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
842 | 842 |
843 case recordTypes.RequestIdleCallback: | 843 case recordTypes.RequestIdleCallback: |
844 case recordTypes.CancelIdleCallback: | 844 case recordTypes.CancelIdleCallback: |
845 contentHelper.appendTextRow(WebInspector.UIString("Callback ID"), eventD
ata["id"]); | 845 contentHelper.appendTextRow(WebInspector.UIString("Callback ID"), eventD
ata["id"]); |
846 break; | 846 break; |
847 case recordTypes.EventDispatch: | 847 case recordTypes.EventDispatch: |
848 contentHelper.appendTextRow(WebInspector.UIString("Type"), eventData["ty
pe"]); | 848 contentHelper.appendTextRow(WebInspector.UIString("Type"), eventData["ty
pe"]); |
849 break; | 849 break; |
850 | 850 |
851 default: | 851 default: |
852 var detailsNode = WebInspector.TimelineUIUtils.buildDetailsNodeForTraceE
vent(event, model.target(), linkifier); | 852 var detailsNode = WebInspector.TimelineUIUtils.buildDetailsNodeForTraceE
vent(event, model.targetByEvent(event), linkifier); |
853 if (detailsNode) | 853 if (detailsNode) |
854 contentHelper.appendElementRow(WebInspector.UIString("Details"), det
ailsNode); | 854 contentHelper.appendElementRow(WebInspector.UIString("Details"), det
ailsNode); |
855 break; | 855 break; |
856 } | 856 } |
857 | 857 |
858 if (event.timeWaitingForMainThread) | 858 if (event.timeWaitingForMainThread) |
859 contentHelper.appendTextRow(WebInspector.UIString("Time Waiting for Main
Thread"), Number.millisToString(event.timeWaitingForMainThread, true)); | 859 contentHelper.appendTextRow(WebInspector.UIString("Time Waiting for Main
Thread"), Number.millisToString(event.timeWaitingForMainThread, true)); |
860 | 860 |
861 var relatedNode = relatedNodesMap && relatedNodesMap.get(event.backendNodeId
); | 861 var relatedNode = relatedNodesMap && relatedNodesMap.get(event.backendNodeId
); |
862 if (relatedNode) | 862 if (relatedNode) |
863 contentHelper.appendElementRow(relatedNodeLabel || WebInspector.UIString
("Related Node"), WebInspector.DOMPresentationUtils.linkifyNodeReference(related
Node)); | 863 contentHelper.appendElementRow(relatedNodeLabel || WebInspector.UIString
("Related Node"), WebInspector.DOMPresentationUtils.linkifyNodeReference(related
Node)); |
864 | 864 |
865 if (event.previewElement) { | 865 if (event.previewElement) { |
866 contentHelper.addSection(WebInspector.UIString("Preview")); | 866 contentHelper.addSection(WebInspector.UIString("Preview")); |
867 contentHelper.appendElementRow("", event.previewElement); | 867 contentHelper.appendElementRow("", event.previewElement); |
868 } | 868 } |
869 | 869 |
870 if (event.stackTrace || (event.initiator && event.initiator.stackTrace) || e
vent.invalidationTrackingEvents) | 870 if (event.stackTrace || (event.initiator && event.initiator.stackTrace) || e
vent.invalidationTrackingEvents) |
871 WebInspector.TimelineUIUtils._generateCauses(event, model.target(), rela
tedNodesMap, contentHelper); | 871 WebInspector.TimelineUIUtils._generateCauses(event, model.targetByEvent(
event), relatedNodesMap, contentHelper); |
872 | 872 |
873 var showPieChart = detailed && WebInspector.TimelineUIUtils._aggregatedStats
ForTraceEvent(stats, model, event); | 873 var showPieChart = detailed && WebInspector.TimelineUIUtils._aggregatedStats
ForTraceEvent(stats, model, event); |
874 if (showPieChart) { | 874 if (showPieChart) { |
875 contentHelper.addSection(WebInspector.UIString("Aggregated Time")); | 875 contentHelper.addSection(WebInspector.UIString("Aggregated Time")); |
876 var pieChart = WebInspector.TimelineUIUtils.generatePieChart(stats, WebI
nspector.TimelineUIUtils.eventStyle(event).category, event.selfTime); | 876 var pieChart = WebInspector.TimelineUIUtils.generatePieChart(stats, WebI
nspector.TimelineUIUtils.eventStyle(event).category, event.selfTime); |
877 contentHelper.appendElementRow("", pieChart); | 877 contentHelper.appendElementRow("", pieChart); |
878 } | 878 } |
879 | 879 |
880 return contentHelper.fragment; | 880 return contentHelper.fragment; |
881 } | 881 } |
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
965 } | 965 } |
966 | 966 |
967 /** | 967 /** |
968 * @param {!WebInspector.TimelineModel.NetworkRequest} request | 968 * @param {!WebInspector.TimelineModel.NetworkRequest} request |
969 * @param {!WebInspector.TimelineModel} model | 969 * @param {!WebInspector.TimelineModel} model |
970 * @param {!WebInspector.Linkifier} linkifier | 970 * @param {!WebInspector.Linkifier} linkifier |
971 * @return {!Promise<!DocumentFragment>} | 971 * @return {!Promise<!DocumentFragment>} |
972 */ | 972 */ |
973 WebInspector.TimelineUIUtils.buildNetworkRequestDetails = function(request, mode
l, linkifier) | 973 WebInspector.TimelineUIUtils.buildNetworkRequestDetails = function(request, mode
l, linkifier) |
974 { | 974 { |
975 var target = model.target(); | 975 var target = model.targetByEvent(request.children[0]); |
976 var contentHelper = new WebInspector.TimelineDetailsContentHelper(target, li
nkifier); | 976 var contentHelper = new WebInspector.TimelineDetailsContentHelper(target, li
nkifier); |
977 | 977 |
978 var duration = request.endTime - (request.startTime || -Infinity); | 978 var duration = request.endTime - (request.startTime || -Infinity); |
979 var items = []; | 979 var items = []; |
980 if (request.url) | 980 if (request.url) |
981 contentHelper.appendElementRow(WebInspector.UIString("URL"), WebInspecto
r.linkifyURLAsNode(request.url)); | 981 contentHelper.appendElementRow(WebInspector.UIString("URL"), WebInspecto
r.linkifyURLAsNode(request.url)); |
982 if (isFinite(duration)) | 982 if (isFinite(duration)) |
983 contentHelper.appendTextRow(WebInspector.UIString("Duration"), Number.mi
llisToString(duration, true)); | 983 contentHelper.appendTextRow(WebInspector.UIString("Duration"), Number.mi
llisToString(duration, true)); |
984 if (request.requestMethod) | 984 if (request.requestMethod) |
985 contentHelper.appendTextRow(WebInspector.UIString("Request Method"), req
uest.requestMethod); | 985 contentHelper.appendTextRow(WebInspector.UIString("Request Method"), req
uest.requestMethod); |
(...skipping 1164 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2150 case warnings.V8Deopt: | 2150 case warnings.V8Deopt: |
2151 span.appendChild(WebInspector.linkifyURLAsNode("https://github.com/Googl
eChrome/devtools-docs/issues/53", | 2151 span.appendChild(WebInspector.linkifyURLAsNode("https://github.com/Googl
eChrome/devtools-docs/issues/53", |
2152 WebInspector.UIString("Not optimized"), undefined, true)); | 2152 WebInspector.UIString("Not optimized"), undefined, true)); |
2153 span.createTextChild(WebInspector.UIString(": %s", eventData["deoptReaso
n"])); | 2153 span.createTextChild(WebInspector.UIString(": %s", eventData["deoptReaso
n"])); |
2154 break; | 2154 break; |
2155 default: | 2155 default: |
2156 console.assert(false, "Unhandled TimelineModel.WarningType"); | 2156 console.assert(false, "Unhandled TimelineModel.WarningType"); |
2157 } | 2157 } |
2158 return span; | 2158 return span; |
2159 } | 2159 } |
OLD | NEW |