Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(89)

Side by Side Diff: third_party/WebKit/Source/devtools/front_end/timeline/TimelineUIUtils.js

Issue 2161253002: DevTools: Use proper target when processing worker thread events. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: addressing comments. Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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
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
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
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 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698