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 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
48 } | 48 } |
49 | 49 |
50 /** | 50 /** |
51 * @return {!Object.<string, !WebInspector.TimelineRecordStyle>} | 51 * @return {!Object.<string, !WebInspector.TimelineRecordStyle>} |
52 */ | 52 */ |
53 WebInspector.TimelineUIUtils._initEventStyles = function() | 53 WebInspector.TimelineUIUtils._initEventStyles = function() |
54 { | 54 { |
55 if (WebInspector.TimelineUIUtils._eventStylesMap) | 55 if (WebInspector.TimelineUIUtils._eventStylesMap) |
56 return WebInspector.TimelineUIUtils._eventStylesMap; | 56 return WebInspector.TimelineUIUtils._eventStylesMap; |
57 | 57 |
58 var recordTypes = WebInspector.TracingTimelineModel.RecordType; | 58 var recordTypes = WebInspector.TimelineModel.RecordType; |
59 var categories = WebInspector.TimelineUIUtils.categories(); | 59 var categories = WebInspector.TimelineUIUtils.categories(); |
60 | 60 |
61 var eventStyles = {}; | 61 var eventStyles = {}; |
62 eventStyles[recordTypes.Program] = new WebInspector.TimelineRecordStyle(WebI
nspector.UIString("Other"), categories["other"]); | 62 eventStyles[recordTypes.Program] = new WebInspector.TimelineRecordStyle(WebI
nspector.UIString("Other"), categories["other"]); |
63 eventStyles[recordTypes.EventDispatch] = new WebInspector.TimelineRecordStyl
e(WebInspector.UIString("Event"), categories["scripting"]); | 63 eventStyles[recordTypes.EventDispatch] = new WebInspector.TimelineRecordStyl
e(WebInspector.UIString("Event"), categories["scripting"]); |
64 eventStyles[recordTypes.RequestMainThreadFrame] = new WebInspector.TimelineR
ecordStyle(WebInspector.UIString("Request Main Thread Frame"), categories["rende
ring"], true); | 64 eventStyles[recordTypes.RequestMainThreadFrame] = new WebInspector.TimelineR
ecordStyle(WebInspector.UIString("Request Main Thread Frame"), categories["rende
ring"], true); |
65 eventStyles[recordTypes.BeginFrame] = new WebInspector.TimelineRecordStyle(W
ebInspector.UIString("Frame Start"), categories["rendering"], true); | 65 eventStyles[recordTypes.BeginFrame] = new WebInspector.TimelineRecordStyle(W
ebInspector.UIString("Frame Start"), categories["rendering"], true); |
66 eventStyles[recordTypes.BeginMainThreadFrame] = new WebInspector.TimelineRec
ordStyle(WebInspector.UIString("Frame Start (main thread)"), categories["renderi
ng"], true); | 66 eventStyles[recordTypes.BeginMainThreadFrame] = new WebInspector.TimelineRec
ordStyle(WebInspector.UIString("Frame Start (main thread)"), categories["renderi
ng"], true); |
67 eventStyles[recordTypes.DrawFrame] = new WebInspector.TimelineRecordStyle(We
bInspector.UIString("Draw Frame"), categories["rendering"], true); | 67 eventStyles[recordTypes.DrawFrame] = new WebInspector.TimelineRecordStyle(We
bInspector.UIString("Draw Frame"), categories["rendering"], true); |
68 eventStyles[recordTypes.ScheduleStyleRecalculation] = new WebInspector.Timel
ineRecordStyle(WebInspector.UIString("Schedule Style Recalculation"), categories
["rendering"], true); | 68 eventStyles[recordTypes.ScheduleStyleRecalculation] = new WebInspector.Timel
ineRecordStyle(WebInspector.UIString("Schedule Style Recalculation"), categories
["rendering"], true); |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
103 eventStyles[recordTypes.WebSocketReceiveHandshakeResponse] = new WebInspecto
r.TimelineRecordStyle(WebInspector.UIString("Receive WebSocket Handshake"), cate
gories["scripting"]); | 103 eventStyles[recordTypes.WebSocketReceiveHandshakeResponse] = new WebInspecto
r.TimelineRecordStyle(WebInspector.UIString("Receive WebSocket Handshake"), cate
gories["scripting"]); |
104 eventStyles[recordTypes.WebSocketDestroy] = new WebInspector.TimelineRecordS
tyle(WebInspector.UIString("Destroy WebSocket"), categories["scripting"]); | 104 eventStyles[recordTypes.WebSocketDestroy] = new WebInspector.TimelineRecordS
tyle(WebInspector.UIString("Destroy WebSocket"), categories["scripting"]); |
105 eventStyles[recordTypes.EmbedderCallback] = new WebInspector.TimelineRecordS
tyle(WebInspector.UIString("Embedder Callback"), categories["scripting"]); | 105 eventStyles[recordTypes.EmbedderCallback] = new WebInspector.TimelineRecordS
tyle(WebInspector.UIString("Embedder Callback"), categories["scripting"]); |
106 eventStyles[recordTypes.DecodeImage] = new WebInspector.TimelineRecordStyle(
WebInspector.UIString("Image Decode"), categories["painting"]); | 106 eventStyles[recordTypes.DecodeImage] = new WebInspector.TimelineRecordStyle(
WebInspector.UIString("Image Decode"), categories["painting"]); |
107 eventStyles[recordTypes.ResizeImage] = new WebInspector.TimelineRecordStyle(
WebInspector.UIString("Image Resize"), categories["painting"]); | 107 eventStyles[recordTypes.ResizeImage] = new WebInspector.TimelineRecordStyle(
WebInspector.UIString("Image Resize"), categories["painting"]); |
108 WebInspector.TimelineUIUtils._eventStylesMap = eventStyles; | 108 WebInspector.TimelineUIUtils._eventStylesMap = eventStyles; |
109 return eventStyles; | 109 return eventStyles; |
110 } | 110 } |
111 | 111 |
112 WebInspector.TimelineUIUtils._coalescableRecordTypes = {}; | 112 WebInspector.TimelineUIUtils._coalescableRecordTypes = {}; |
113 WebInspector.TimelineUIUtils._coalescableRecordTypes[WebInspector.TracingTimelin
eModel.RecordType.Layout] = 1; | 113 WebInspector.TimelineUIUtils._coalescableRecordTypes[WebInspector.TimelineModel.
RecordType.Layout] = 1; |
114 WebInspector.TimelineUIUtils._coalescableRecordTypes[WebInspector.TracingTimelin
eModel.RecordType.Paint] = 1; | 114 WebInspector.TimelineUIUtils._coalescableRecordTypes[WebInspector.TimelineModel.
RecordType.Paint] = 1; |
115 WebInspector.TimelineUIUtils._coalescableRecordTypes[WebInspector.TracingTimelin
eModel.RecordType.RasterTask] = 1; | 115 WebInspector.TimelineUIUtils._coalescableRecordTypes[WebInspector.TimelineModel.
RecordType.RasterTask] = 1; |
116 WebInspector.TimelineUIUtils._coalescableRecordTypes[WebInspector.TracingTimelin
eModel.RecordType.DecodeImage] = 1; | 116 WebInspector.TimelineUIUtils._coalescableRecordTypes[WebInspector.TimelineModel.
RecordType.DecodeImage] = 1; |
117 WebInspector.TimelineUIUtils._coalescableRecordTypes[WebInspector.TracingTimelin
eModel.RecordType.ResizeImage] = 1; | 117 WebInspector.TimelineUIUtils._coalescableRecordTypes[WebInspector.TimelineModel.
RecordType.ResizeImage] = 1; |
118 | 118 |
119 /** | 119 /** |
120 * @param {string} recordType | 120 * @param {string} recordType |
121 * @return {boolean} | 121 * @return {boolean} |
122 */ | 122 */ |
123 WebInspector.TimelineUIUtils.isCoalescable = function(recordType) | 123 WebInspector.TimelineUIUtils.isCoalescable = function(recordType) |
124 { | 124 { |
125 return !!WebInspector.TimelineUIUtils._coalescableRecordTypes[recordType]; | 125 return !!WebInspector.TimelineUIUtils._coalescableRecordTypes[recordType]; |
126 } | 126 } |
127 | 127 |
128 /** | 128 /** |
129 * @param {!WebInspector.TimelineModel.Record} record | 129 * @param {!WebInspector.TimelineModel.Record} record |
130 * @return {?Object} | 130 * @return {?Object} |
131 */ | 131 */ |
132 WebInspector.TimelineUIUtils.isCoalescable.countersForRecord = function(record) | 132 WebInspector.TimelineUIUtils.isCoalescable.countersForRecord = function(record) |
133 { | 133 { |
134 return record.type() === WebInspector.TracingTimelineModel.RecordType.Update
Counters ? record.data() : null; | 134 return record.type() === WebInspector.TimelineModel.RecordType.UpdateCounter
s ? record.data() : null; |
135 } | 135 } |
136 | 136 |
137 /** | 137 /** |
138 * @param {!WebInspector.TimelineModel.Record} record | 138 * @param {!WebInspector.TimelineModel.Record} record |
139 * @param {!RegExp} regExp | 139 * @param {!RegExp} regExp |
140 * @return {boolean} | 140 * @return {boolean} |
141 */ | 141 */ |
142 WebInspector.TimelineUIUtils.testContentMatching = function(record, regExp) | 142 WebInspector.TimelineUIUtils.testContentMatching = function(record, regExp) |
143 { | 143 { |
144 var traceEvent = record.traceEvent(); | 144 var traceEvent = record.traceEvent(); |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
186 WebInspector.TimelineUIUtils.markerEventColor = function(event) | 186 WebInspector.TimelineUIUtils.markerEventColor = function(event) |
187 { | 187 { |
188 var red = "rgb(255, 0, 0)"; | 188 var red = "rgb(255, 0, 0)"; |
189 var blue = "rgb(0, 0, 255)"; | 189 var blue = "rgb(0, 0, 255)"; |
190 var orange = "rgb(255, 178, 23)"; | 190 var orange = "rgb(255, 178, 23)"; |
191 var green = "rgb(0, 130, 0)"; | 191 var green = "rgb(0, 130, 0)"; |
192 | 192 |
193 if (event.category === WebInspector.TracingModel.ConsoleEventCategory) | 193 if (event.category === WebInspector.TracingModel.ConsoleEventCategory) |
194 return orange; | 194 return orange; |
195 | 195 |
196 var recordTypes = WebInspector.TracingTimelineModel.RecordType; | 196 var recordTypes = WebInspector.TimelineModel.RecordType; |
197 var eventName = event.name; | 197 var eventName = event.name; |
198 switch (eventName) { | 198 switch (eventName) { |
199 case recordTypes.MarkDOMContent: return blue; | 199 case recordTypes.MarkDOMContent: return blue; |
200 case recordTypes.MarkLoad: return red; | 200 case recordTypes.MarkLoad: return red; |
201 case recordTypes.MarkFirstPaint: return green; | 201 case recordTypes.MarkFirstPaint: return green; |
202 case recordTypes.TimeStamp: return orange; | 202 case recordTypes.TimeStamp: return orange; |
203 } | 203 } |
204 return green; | 204 return green; |
205 } | 205 } |
206 | 206 |
(...skipping 10 matching lines...) Expand all Loading... |
217 /** | 217 /** |
218 * @param {!WebInspector.TracingModel.Event} event | 218 * @param {!WebInspector.TracingModel.Event} event |
219 * @param {!WebInspector.TimelineModel} model | 219 * @param {!WebInspector.TimelineModel} model |
220 * @return {string} | 220 * @return {string} |
221 */ | 221 */ |
222 WebInspector.TimelineUIUtils.eventTitle = function(event, model) | 222 WebInspector.TimelineUIUtils.eventTitle = function(event, model) |
223 { | 223 { |
224 var title = WebInspector.TimelineUIUtils.eventStyle(event).title; | 224 var title = WebInspector.TimelineUIUtils.eventStyle(event).title; |
225 if (event.category === WebInspector.TracingModel.ConsoleEventCategory) | 225 if (event.category === WebInspector.TracingModel.ConsoleEventCategory) |
226 return title; | 226 return title; |
227 if (event.name === WebInspector.TracingTimelineModel.RecordType.TimeStamp) | 227 if (event.name === WebInspector.TimelineModel.RecordType.TimeStamp) |
228 return WebInspector.UIString("%s: %s", title, event.args["data"]["messag
e"]); | 228 return WebInspector.UIString("%s: %s", title, event.args["data"]["messag
e"]); |
229 if (WebInspector.TimelineUIUtils.isMarkerEvent(event)) { | 229 if (WebInspector.TimelineUIUtils.isMarkerEvent(event)) { |
230 var startTime = Number.millisToString(event.startTime - model.minimumRec
ordTime()); | 230 var startTime = Number.millisToString(event.startTime - model.minimumRec
ordTime()); |
231 return WebInspector.UIString("%s at %s", title, startTime); | 231 return WebInspector.UIString("%s at %s", title, startTime); |
232 } | 232 } |
233 return title; | 233 return title; |
234 } | 234 } |
235 | 235 |
236 /** | 236 /** |
237 * @param {!WebInspector.TracingModel.Event} event | 237 * @param {!WebInspector.TracingModel.Event} event |
238 * @return {boolean} | 238 * @return {boolean} |
239 */ | 239 */ |
240 WebInspector.TimelineUIUtils.isMarkerEvent = function(event) | 240 WebInspector.TimelineUIUtils.isMarkerEvent = function(event) |
241 { | 241 { |
242 var recordTypes = WebInspector.TracingTimelineModel.RecordType; | 242 var recordTypes = WebInspector.TimelineModel.RecordType; |
243 switch (event.name) { | 243 switch (event.name) { |
244 case recordTypes.TimeStamp: | 244 case recordTypes.TimeStamp: |
245 case recordTypes.MarkFirstPaint: | 245 case recordTypes.MarkFirstPaint: |
246 return true; | 246 return true; |
247 case recordTypes.MarkDOMContent: | 247 case recordTypes.MarkDOMContent: |
248 case recordTypes.MarkLoad: | 248 case recordTypes.MarkLoad: |
249 return event.args["data"]["isMainFrame"]; | 249 return event.args["data"]["isMainFrame"]; |
250 default: | 250 default: |
251 return false; | 251 return false; |
252 } | 252 } |
253 } | 253 } |
254 | 254 |
255 /** | 255 /** |
256 * @param {!WebInspector.TracingModel.Event} event | 256 * @param {!WebInspector.TracingModel.Event} event |
257 * @return {boolean} | 257 * @return {boolean} |
258 */ | 258 */ |
259 WebInspector.TimelineUIUtils.isTallMarkerEvent = function(event) | 259 WebInspector.TimelineUIUtils.isTallMarkerEvent = function(event) |
260 { | 260 { |
261 return event.name !== WebInspector.TracingTimelineModel.RecordType.TimeStamp
; | 261 return event.name !== WebInspector.TimelineModel.RecordType.TimeStamp; |
262 } | 262 } |
263 | 263 |
264 /** | 264 /** |
265 * @param {!WebInspector.TracingModel.Event} event | 265 * @param {!WebInspector.TracingModel.Event} event |
266 * @param {!WebInspector.Linkifier} linkifier | 266 * @param {!WebInspector.Linkifier} linkifier |
267 * @return {?Node} | 267 * @return {?Node} |
268 */ | 268 */ |
269 WebInspector.TimelineUIUtils.buildDetailsNodeForTraceEvent = function(event, lin
kifier) | 269 WebInspector.TimelineUIUtils.buildDetailsNodeForTraceEvent = function(event, lin
kifier) |
270 { | 270 { |
271 var recordType = WebInspector.TracingTimelineModel.RecordType; | 271 var recordType = WebInspector.TimelineModel.RecordType; |
272 var target = event.thread.target(); | 272 var target = event.thread.target(); |
273 var details; | 273 var details; |
274 var detailsText; | 274 var detailsText; |
275 var eventData = event.args["data"]; | 275 var eventData = event.args["data"]; |
276 switch (event.name) { | 276 switch (event.name) { |
277 case recordType.GCEvent: | 277 case recordType.GCEvent: |
278 var delta = event.args["usedHeapSizeBefore"] - event.args["usedHeapSizeA
fter"]; | 278 var delta = event.args["usedHeapSizeBefore"] - event.args["usedHeapSizeA
fter"]; |
279 detailsText = WebInspector.UIString("%s collected", Number.bytesToString
(delta)); | 279 detailsText = WebInspector.UIString("%s collected", Number.bytesToString
(delta)); |
280 break; | 280 break; |
281 case recordType.TimerFire: | 281 case recordType.TimerFire: |
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
390 stackTrace = initiator.stackTrace; | 390 stackTrace = initiator.stackTrace; |
391 } | 391 } |
392 if (!stackTrace || !stackTrace.length) | 392 if (!stackTrace || !stackTrace.length) |
393 return null; | 393 return null; |
394 return linkifier.linkifyConsoleCallFrame(target, stackTrace[0], "timelin
e-details"); | 394 return linkifier.linkifyConsoleCallFrame(target, stackTrace[0], "timelin
e-details"); |
395 } | 395 } |
396 } | 396 } |
397 | 397 |
398 /** | 398 /** |
399 * @param {!WebInspector.TracingModel.Event} event | 399 * @param {!WebInspector.TracingModel.Event} event |
400 * @param {!WebInspector.TracingTimelineModel} model | 400 * @param {!WebInspector.TimelineModel} model |
401 * @param {!WebInspector.Linkifier} linkifier | 401 * @param {!WebInspector.Linkifier} linkifier |
402 * @param {function(!DocumentFragment)} callback | 402 * @param {function(!DocumentFragment)} callback |
403 */ | 403 */ |
404 WebInspector.TimelineUIUtils.buildTraceEventDetails = function(event, model, lin
kifier, callback) | 404 WebInspector.TimelineUIUtils.buildTraceEventDetails = function(event, model, lin
kifier, callback) |
405 { | 405 { |
406 var target = event.thread.target(); | 406 var target = event.thread.target(); |
407 var relatedNode = null; | 407 var relatedNode = null; |
408 var barrier = new CallbackBarrier(); | 408 var barrier = new CallbackBarrier(); |
409 if (!event.previewElement) { | 409 if (!event.previewElement) { |
410 if (event.imageURL && target) | 410 if (event.imageURL && target) |
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
462 } | 462 } |
463 | 463 |
464 function callbackWrapper() | 464 function callbackWrapper() |
465 { | 465 { |
466 callback(WebInspector.TimelineUIUtils._buildTraceEventDetailsSynchronous
ly(event, model, linkifier, relatedNode)); | 466 callback(WebInspector.TimelineUIUtils._buildTraceEventDetailsSynchronous
ly(event, model, linkifier, relatedNode)); |
467 } | 467 } |
468 } | 468 } |
469 | 469 |
470 /** | 470 /** |
471 * @param {!WebInspector.TracingModel.Event} event | 471 * @param {!WebInspector.TracingModel.Event} event |
472 * @param {!WebInspector.TracingTimelineModel} model | 472 * @param {!WebInspector.TimelineModel} model |
473 * @param {!WebInspector.Linkifier} linkifier | 473 * @param {!WebInspector.Linkifier} linkifier |
474 * @param {?WebInspector.DOMNode} relatedNode | 474 * @param {?WebInspector.DOMNode} relatedNode |
475 * @return {!DocumentFragment} | 475 * @return {!DocumentFragment} |
476 */ | 476 */ |
477 WebInspector.TimelineUIUtils._buildTraceEventDetailsSynchronously = function(eve
nt, model, linkifier, relatedNode) | 477 WebInspector.TimelineUIUtils._buildTraceEventDetailsSynchronously = function(eve
nt, model, linkifier, relatedNode) |
478 { | 478 { |
479 var fragment = createDocumentFragment(); | 479 var fragment = createDocumentFragment(); |
480 var stats = {}; | 480 var stats = {}; |
481 var hasChildren = WebInspector.TimelineUIUtils._aggregatedStatsForTraceEvent
(stats, model, event); | 481 var hasChildren = WebInspector.TimelineUIUtils._aggregatedStatsForTraceEvent
(stats, model, event); |
482 | 482 |
483 var selfTime = event.selfTime; | 483 var selfTime = event.selfTime; |
484 var selfCategory = WebInspector.TimelineUIUtils.eventStyle(event).category; | 484 var selfCategory = WebInspector.TimelineUIUtils.eventStyle(event).category; |
485 // JSFrame events have 0 selfTime so we need to work around this below and a
dd the event's time to scripting category. | 485 // JSFrame events have 0 selfTime so we need to work around this below and a
dd the event's time to scripting category. |
486 if (event.name === WebInspector.TracingTimelineModel.RecordType.JSFrame && !
event.selfTime && event.duration) { | 486 if (event.name === WebInspector.TimelineModel.RecordType.JSFrame && !event.s
elfTime && event.duration) { |
487 selfTime = event.duration; | 487 selfTime = event.duration; |
488 for (var categoryName in stats) | 488 for (var categoryName in stats) |
489 selfTime -= stats[categoryName]; | 489 selfTime -= stats[categoryName]; |
490 stats[selfCategory.name] = selfTime + (stats[selfCategory.name] || 0); | 490 stats[selfCategory.name] = selfTime + (stats[selfCategory.name] || 0); |
491 } | 491 } |
492 | 492 |
493 var pieChart = hasChildren ? | 493 var pieChart = hasChildren ? |
494 WebInspector.TimelineUIUtils.generatePieChart(stats, selfCategory, selfT
ime) : | 494 WebInspector.TimelineUIUtils.generatePieChart(stats, selfCategory, selfT
ime) : |
495 WebInspector.TimelineUIUtils.generatePieChart(stats); | 495 WebInspector.TimelineUIUtils.generatePieChart(stats); |
496 | 496 |
497 var recordTypes = WebInspector.TracingTimelineModel.RecordType; | 497 var recordTypes = WebInspector.TimelineModel.RecordType; |
498 | 498 |
499 // This message may vary per event.name; | 499 // This message may vary per event.name; |
500 var relatedNodeLabel; | 500 var relatedNodeLabel; |
501 | 501 |
502 var contentHelper = new WebInspector.TimelineDetailsContentHelper(event.thre
ad.target(), linkifier, true); | 502 var contentHelper = new WebInspector.TimelineDetailsContentHelper(event.thre
ad.target(), linkifier, true); |
503 contentHelper.appendTextRow(WebInspector.UIString("Type"), WebInspector.Time
lineUIUtils.eventTitle(event, model)); | 503 contentHelper.appendTextRow(WebInspector.UIString("Type"), WebInspector.Time
lineUIUtils.eventTitle(event, model)); |
504 contentHelper.appendTextRow(WebInspector.UIString("Self Time"), Number.milli
sToString(event.selfTime, true)); | 504 contentHelper.appendTextRow(WebInspector.UIString("Self Time"), Number.milli
sToString(event.selfTime, true)); |
505 contentHelper.appendTextRow(WebInspector.UIString("Start Time"), Number.mill
isToString((event.startTime - model.minimumRecordTime()))); | 505 contentHelper.appendTextRow(WebInspector.UIString("Start Time"), Number.mill
isToString((event.startTime - model.minimumRecordTime()))); |
506 contentHelper.appendElementRow(WebInspector.UIString("Aggregated Time"), pie
Chart); | 506 contentHelper.appendElementRow(WebInspector.UIString("Aggregated Time"), pie
Chart); |
507 var eventData = event.args["data"]; | 507 var eventData = event.args["data"]; |
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
629 | 629 |
630 return fragment; | 630 return fragment; |
631 } | 631 } |
632 | 632 |
633 /** | 633 /** |
634 * @param {!WebInspector.TracingModel.Event} event | 634 * @param {!WebInspector.TracingModel.Event} event |
635 * @param {!WebInspector.TimelineDetailsContentHelper} contentHelper | 635 * @param {!WebInspector.TimelineDetailsContentHelper} contentHelper |
636 */ | 636 */ |
637 WebInspector.TimelineUIUtils._generateCauses = function(event, contentHelper) | 637 WebInspector.TimelineUIUtils._generateCauses = function(event, contentHelper) |
638 { | 638 { |
639 var recordTypes = WebInspector.TracingTimelineModel.RecordType; | 639 var recordTypes = WebInspector.TimelineModel.RecordType; |
640 | 640 |
641 var callSiteStackLabel; | 641 var callSiteStackLabel; |
642 var stackLabel; | 642 var stackLabel; |
643 var initiator = event.initiator; | 643 var initiator = event.initiator; |
644 | 644 |
645 switch (event.name) { | 645 switch (event.name) { |
646 case recordTypes.TimerFire: | 646 case recordTypes.TimerFire: |
647 callSiteStackLabel = WebInspector.UIString("Timer installed"); | 647 callSiteStackLabel = WebInspector.UIString("Timer installed"); |
648 break; | 648 break; |
649 case recordTypes.FireAnimationFrame: | 649 case recordTypes.FireAnimationFrame: |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
697 /** | 697 /** |
698 * @param {string} type | 698 * @param {string} type |
699 * @param {?WebInspector.Target} target | 699 * @param {?WebInspector.Target} target |
700 * @param {!Object} invalidationEvents | 700 * @param {!Object} invalidationEvents |
701 * @param {!WebInspector.TimelineDetailsContentHelper} contentHelper | 701 * @param {!WebInspector.TimelineDetailsContentHelper} contentHelper |
702 */ | 702 */ |
703 WebInspector.TimelineUIUtils._generateInvalidationsForType = function(type, targ
et, invalidationEvents, contentHelper) | 703 WebInspector.TimelineUIUtils._generateInvalidationsForType = function(type, targ
et, invalidationEvents, contentHelper) |
704 { | 704 { |
705 var title; | 705 var title; |
706 switch (type) { | 706 switch (type) { |
707 case WebInspector.TracingTimelineModel.RecordType.StyleRecalcInvalidationTra
cking: | 707 case WebInspector.TimelineModel.RecordType.StyleRecalcInvalidationTracking: |
708 title = WebInspector.UIString("Style invalidations"); | 708 title = WebInspector.UIString("Style invalidations"); |
709 break; | 709 break; |
710 case WebInspector.TracingTimelineModel.RecordType.LayoutInvalidationTracking
: | 710 case WebInspector.TimelineModel.RecordType.LayoutInvalidationTracking: |
711 title = WebInspector.UIString("Layout invalidations"); | 711 title = WebInspector.UIString("Layout invalidations"); |
712 break; | 712 break; |
713 default: | 713 default: |
714 title = WebInspector.UIString("Other invalidations"); | 714 title = WebInspector.UIString("Other invalidations"); |
715 break; | 715 break; |
716 } | 716 } |
717 | 717 |
718 var detailsNode = createElementWithClass("div", "timeline-details-view-row")
; | 718 var detailsNode = createElementWithClass("div", "timeline-details-view-row")
; |
719 var titleElement = detailsNode.createChild("span", "timeline-details-view-ro
w-title"); | 719 var titleElement = detailsNode.createChild("span", "timeline-details-view-ro
w-title"); |
720 titleElement.textContent = WebInspector.UIString("%s: ", title); | 720 titleElement.textContent = WebInspector.UIString("%s: ", title); |
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
773 }); | 773 }); |
774 } | 774 } |
775 | 775 |
776 /** | 776 /** |
777 * @param {!Object} total | 777 * @param {!Object} total |
778 * @param {!WebInspector.TimelineModel.Record} record | 778 * @param {!WebInspector.TimelineModel.Record} record |
779 */ | 779 */ |
780 WebInspector.TimelineUIUtils.aggregateTimeForRecord = function(total, record) | 780 WebInspector.TimelineUIUtils.aggregateTimeForRecord = function(total, record) |
781 { | 781 { |
782 var traceEvent = record.traceEvent(); | 782 var traceEvent = record.traceEvent(); |
783 var model = record._model; | 783 var model = record.timelineModel(); |
784 WebInspector.TimelineUIUtils._aggregatedStatsForTraceEvent(total, model, tra
ceEvent); | 784 WebInspector.TimelineUIUtils._aggregatedStatsForTraceEvent(total, model, tra
ceEvent); |
785 } | 785 } |
786 | 786 |
787 /** | 787 /** |
788 * @param {!Object} total | 788 * @param {!Object} total |
789 * @param {!WebInspector.TracingTimelineModel} model | 789 * @param {!WebInspector.TimelineModel} model |
790 * @param {!WebInspector.TracingModel.Event} event | 790 * @param {!WebInspector.TracingModel.Event} event |
791 * @return {boolean} | 791 * @return {boolean} |
792 */ | 792 */ |
793 WebInspector.TimelineUIUtils._aggregatedStatsForTraceEvent = function(total, mod
el, event) | 793 WebInspector.TimelineUIUtils._aggregatedStatsForTraceEvent = function(total, mod
el, event) |
794 { | 794 { |
795 var events = model.inspectedTargetEvents(); | 795 var events = model.inspectedTargetEvents(); |
796 /** | 796 /** |
797 * @param {number} startTime | 797 * @param {number} startTime |
798 * @param {!WebInspector.TracingModel.Event} e | 798 * @param {!WebInspector.TracingModel.Event} e |
799 * @return {number} | 799 * @return {number} |
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
873 | 873 |
874 /** | 874 /** |
875 * @param {string} recordType | 875 * @param {string} recordType |
876 * @param {string=} title | 876 * @param {string=} title |
877 * @return {!Element} | 877 * @return {!Element} |
878 */ | 878 */ |
879 WebInspector.TimelineUIUtils.createEventDivider = function(recordType, title) | 879 WebInspector.TimelineUIUtils.createEventDivider = function(recordType, title) |
880 { | 880 { |
881 var eventDivider = createElement("div"); | 881 var eventDivider = createElement("div"); |
882 eventDivider.className = "resources-event-divider"; | 882 eventDivider.className = "resources-event-divider"; |
883 var recordTypes = WebInspector.TracingTimelineModel.RecordType; | 883 var recordTypes = WebInspector.TimelineModel.RecordType; |
884 | 884 |
885 if (recordType === recordTypes.MarkDOMContent) | 885 if (recordType === recordTypes.MarkDOMContent) |
886 eventDivider.className += " resources-blue-divider"; | 886 eventDivider.className += " resources-blue-divider"; |
887 else if (recordType === recordTypes.MarkLoad) | 887 else if (recordType === recordTypes.MarkLoad) |
888 eventDivider.className += " resources-red-divider"; | 888 eventDivider.className += " resources-red-divider"; |
889 else if (recordType === recordTypes.MarkFirstPaint) | 889 else if (recordType === recordTypes.MarkFirstPaint) |
890 eventDivider.className += " resources-green-divider"; | 890 eventDivider.className += " resources-green-divider"; |
891 else if (recordType === recordTypes.TimeStamp || recordType === recordTypes.
ConsoleTime) | 891 else if (recordType === recordTypes.TimeStamp || recordType === recordTypes.
ConsoleTime) |
892 eventDivider.className += " resources-orange-divider"; | 892 eventDivider.className += " resources-orange-divider"; |
893 else if (recordType === recordTypes.BeginFrame) | 893 else if (recordType === recordTypes.BeginFrame) |
(...skipping 21 matching lines...) Expand all Loading... |
915 var eventStyles = WebInspector.TimelineUIUtils._initEventStyles(); | 915 var eventStyles = WebInspector.TimelineUIUtils._initEventStyles(); |
916 var result = []; | 916 var result = []; |
917 for (var name in eventStyles) { | 917 for (var name in eventStyles) { |
918 if (!eventStyles[name].hidden) | 918 if (!eventStyles[name].hidden) |
919 result.push(name); | 919 result.push(name); |
920 } | 920 } |
921 return result; | 921 return result; |
922 } | 922 } |
923 | 923 |
924 /** | 924 /** |
925 * @return {!WebInspector.TracingTimelineModel.Filter} | 925 * @return {!WebInspector.TraceEventFilter} |
926 */ | 926 */ |
927 WebInspector.TimelineUIUtils.hiddenEventsFilter = function() | 927 WebInspector.TimelineUIUtils.hiddenEventsFilter = function() |
928 { | 928 { |
929 return new WebInspector.TracingTimelineModel.InclusiveEventNameFilter(WebIns
pector.TimelineUIUtils._visibleTypes()); | 929 return new WebInspector.InclusiveTraceEventNameFilter(WebInspector.TimelineU
IUtils._visibleTypes()); |
930 } | 930 } |
931 | 931 |
932 /** | 932 /** |
933 * @return {!Object.<string, !WebInspector.TimelineCategory>} | 933 * @return {!Object.<string, !WebInspector.TimelineCategory>} |
934 */ | 934 */ |
935 WebInspector.TimelineUIUtils.categories = function() | 935 WebInspector.TimelineUIUtils.categories = function() |
936 { | 936 { |
937 if (WebInspector.TimelineUIUtils._categories) | 937 if (WebInspector.TimelineUIUtils._categories) |
938 return WebInspector.TimelineUIUtils._categories; | 938 return WebInspector.TimelineUIUtils._categories; |
939 WebInspector.TimelineUIUtils._categories = { | 939 WebInspector.TimelineUIUtils._categories = { |
(...skipping 380 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1320 for (var i = 0; i < stackTrace.length; ++i) { | 1320 for (var i = 0; i < stackTrace.length; ++i) { |
1321 var stackFrame = stackTrace[i]; | 1321 var stackFrame = stackTrace[i]; |
1322 var row = stackTraceElement.createChild("div"); | 1322 var row = stackTraceElement.createChild("div"); |
1323 row.createTextChild(stackFrame.functionName || WebInspector.UIString
("(anonymous function)")); | 1323 row.createTextChild(stackFrame.functionName || WebInspector.UIString
("(anonymous function)")); |
1324 row.createTextChild(" @ "); | 1324 row.createTextChild(" @ "); |
1325 var urlElement = this._linkifier.linkifyScriptLocation(this._target,
stackFrame.scriptId, stackFrame.url, stackFrame.lineNumber - 1, stackFrame.colu
mnNumber - 1); | 1325 var urlElement = this._linkifier.linkifyScriptLocation(this._target,
stackFrame.scriptId, stackFrame.url, stackFrame.lineNumber - 1, stackFrame.colu
mnNumber - 1); |
1326 row.appendChild(urlElement); | 1326 row.appendChild(urlElement); |
1327 } | 1327 } |
1328 } | 1328 } |
1329 } | 1329 } |
OLD | NEW |