| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2013 Google Inc. All rights reserved. | 2 * Copyright (C) 2013 Google Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
| 6 * met: | 6 * met: |
| 7 * | 7 * |
| 8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
| (...skipping 205 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 216 /** | 216 /** |
| 217 * @constructor | 217 * @constructor |
| 218 * @extends {WebInspector.TimelineFrameModelBase} | 218 * @extends {WebInspector.TimelineFrameModelBase} |
| 219 */ | 219 */ |
| 220 WebInspector.TracingTimelineFrameModel = function() | 220 WebInspector.TracingTimelineFrameModel = function() |
| 221 { | 221 { |
| 222 WebInspector.TimelineFrameModelBase.call(this); | 222 WebInspector.TimelineFrameModelBase.call(this); |
| 223 } | 223 } |
| 224 | 224 |
| 225 WebInspector.TracingTimelineFrameModel._mainFrameMarkers = [ | 225 WebInspector.TracingTimelineFrameModel._mainFrameMarkers = [ |
| 226 WebInspector.TracingTimelineModel.RecordType.ScheduleStyleRecalculation, | 226 WebInspector.TimelineModel.RecordType.ScheduleStyleRecalculation, |
| 227 WebInspector.TracingTimelineModel.RecordType.InvalidateLayout, | 227 WebInspector.TimelineModel.RecordType.InvalidateLayout, |
| 228 WebInspector.TracingTimelineModel.RecordType.BeginMainThreadFrame, | 228 WebInspector.TimelineModel.RecordType.BeginMainThreadFrame, |
| 229 WebInspector.TracingTimelineModel.RecordType.ScrollLayer | 229 WebInspector.TimelineModel.RecordType.ScrollLayer |
| 230 ]; | 230 ]; |
| 231 | 231 |
| 232 WebInspector.TracingTimelineFrameModel.prototype = { | 232 WebInspector.TracingTimelineFrameModel.prototype = { |
| 233 /** | 233 /** |
| 234 * @param {!Array.<!WebInspector.TracingModel.Event>} events | 234 * @param {!Array.<!WebInspector.TracingModel.Event>} events |
| 235 * @param {string} sessionId | 235 * @param {string} sessionId |
| 236 */ | 236 */ |
| 237 addTraceEvents: function(events, sessionId) | 237 addTraceEvents: function(events, sessionId) |
| 238 { | 238 { |
| 239 this._sessionId = sessionId; | 239 this._sessionId = sessionId; |
| 240 if (!events.length) | 240 if (!events.length) |
| 241 return; | 241 return; |
| 242 if (events[0].startTime < this._minimumRecordTime) | 242 if (events[0].startTime < this._minimumRecordTime) |
| 243 this._minimumRecordTime = events[0].startTime; | 243 this._minimumRecordTime = events[0].startTime; |
| 244 for (var i = 0; i < events.length; ++i) | 244 for (var i = 0; i < events.length; ++i) |
| 245 this._addTraceEvent(events[i]); | 245 this._addTraceEvent(events[i]); |
| 246 }, | 246 }, |
| 247 | 247 |
| 248 /** | 248 /** |
| 249 * @param {!WebInspector.TracingModel.Event} event | 249 * @param {!WebInspector.TracingModel.Event} event |
| 250 */ | 250 */ |
| 251 _addTraceEvent: function(event) | 251 _addTraceEvent: function(event) |
| 252 { | 252 { |
| 253 var eventNames = WebInspector.TracingTimelineModel.RecordType; | 253 var eventNames = WebInspector.TimelineModel.RecordType; |
| 254 | 254 |
| 255 if (event.name === eventNames.SetLayerTreeId) { | 255 if (event.name === eventNames.SetLayerTreeId) { |
| 256 if (this._sessionId === event.args["sessionId"]) | 256 if (this._sessionId === event.args["sessionId"]) |
| 257 this._layerTreeId = event.args["layerTreeId"]; | 257 this._layerTreeId = event.args["layerTreeId"]; |
| 258 return; | 258 return; |
| 259 } | 259 } |
| 260 if (event.name === eventNames.TracingStartedInPage) { | 260 if (event.name === eventNames.TracingStartedInPage) { |
| 261 this._mainThread = event.thread; | 261 this._mainThread = event.thread; |
| 262 return; | 262 return; |
| 263 } | 263 } |
| 264 if (event.thread === this._mainThread) | 264 if (event.thread === this._mainThread) |
| 265 this._addMainThreadTraceEvent(event); | 265 this._addMainThreadTraceEvent(event); |
| 266 else | 266 else |
| 267 this._addBackgroundTraceEvent(event); | 267 this._addBackgroundTraceEvent(event); |
| 268 }, | 268 }, |
| 269 | 269 |
| 270 /** | 270 /** |
| 271 * @param {!WebInspector.TracingModel.Event} event | 271 * @param {!WebInspector.TracingModel.Event} event |
| 272 */ | 272 */ |
| 273 _addBackgroundTraceEvent: function(event) | 273 _addBackgroundTraceEvent: function(event) |
| 274 { | 274 { |
| 275 var eventNames = WebInspector.TracingTimelineModel.RecordType; | 275 var eventNames = WebInspector.TimelineModel.RecordType; |
| 276 if (event.phase === WebInspector.TracingModel.Phase.SnapshotObject && ev
ent.name === eventNames.LayerTreeHostImplSnapshot && parseInt(event.id, 0) === t
his._layerTreeId) { | 276 if (event.phase === WebInspector.TracingModel.Phase.SnapshotObject && ev
ent.name === eventNames.LayerTreeHostImplSnapshot && parseInt(event.id, 0) === t
his._layerTreeId) { |
| 277 var snapshot = /** @type {!WebInspector.TracingModel.ObjectSnapshot}
*/ (event); | 277 var snapshot = /** @type {!WebInspector.TracingModel.ObjectSnapshot}
*/ (event); |
| 278 this.handleLayerTreeSnapshot(new WebInspector.DeferredTracingLayerTr
ee(snapshot)); | 278 this.handleLayerTreeSnapshot(new WebInspector.DeferredTracingLayerTr
ee(snapshot)); |
| 279 return; | 279 return; |
| 280 } | 280 } |
| 281 if (this._lastFrame && event.selfTime) | 281 if (this._lastFrame && event.selfTime) |
| 282 this._lastFrame._addTimeForCategory(WebInspector.TimelineUIUtils.eve
ntStyle(event).category.name, event.selfTime); | 282 this._lastFrame._addTimeForCategory(WebInspector.TimelineUIUtils.eve
ntStyle(event).category.name, event.selfTime); |
| 283 | 283 |
| 284 if (event.args["layerTreeId"] !== this._layerTreeId) | 284 if (event.args["layerTreeId"] !== this._layerTreeId) |
| 285 return; | 285 return; |
| 286 | 286 |
| 287 var timestamp = event.startTime; | 287 var timestamp = event.startTime; |
| 288 if (event.name === eventNames.BeginFrame) | 288 if (event.name === eventNames.BeginFrame) |
| 289 this.handleBeginFrame(timestamp); | 289 this.handleBeginFrame(timestamp); |
| 290 else if (event.name === eventNames.DrawFrame) | 290 else if (event.name === eventNames.DrawFrame) |
| 291 this.handleDrawFrame(timestamp); | 291 this.handleDrawFrame(timestamp); |
| 292 else if (event.name === eventNames.ActivateLayerTree) | 292 else if (event.name === eventNames.ActivateLayerTree) |
| 293 this.handleActivateLayerTree(); | 293 this.handleActivateLayerTree(); |
| 294 else if (event.name === eventNames.RequestMainThreadFrame) | 294 else if (event.name === eventNames.RequestMainThreadFrame) |
| 295 this.handleRequestMainThreadFrame(); | 295 this.handleRequestMainThreadFrame(); |
| 296 }, | 296 }, |
| 297 | 297 |
| 298 /** | 298 /** |
| 299 * @param {!WebInspector.TracingModel.Event} event | 299 * @param {!WebInspector.TracingModel.Event} event |
| 300 */ | 300 */ |
| 301 _addMainThreadTraceEvent: function(event) | 301 _addMainThreadTraceEvent: function(event) |
| 302 { | 302 { |
| 303 var eventNames = WebInspector.TracingTimelineModel.RecordType; | 303 var eventNames = WebInspector.TimelineModel.RecordType; |
| 304 var timestamp = event.startTime; | 304 var timestamp = event.startTime; |
| 305 var selfTime = event.selfTime || 0; | 305 var selfTime = event.selfTime || 0; |
| 306 | 306 |
| 307 if (!this._hasThreadedCompositing) { | 307 if (!this._hasThreadedCompositing) { |
| 308 if (event.name === eventNames.BeginMainThreadFrame) | 308 if (event.name === eventNames.BeginMainThreadFrame) |
| 309 this._startMainThreadFrame(timestamp); | 309 this._startMainThreadFrame(timestamp); |
| 310 if (!this._lastFrame) | 310 if (!this._lastFrame) |
| 311 return; | 311 return; |
| 312 if (!selfTime) | 312 if (!selfTime) |
| 313 return; | 313 return; |
| (...skipping 205 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 519 /** | 519 /** |
| 520 * @constructor | 520 * @constructor |
| 521 */ | 521 */ |
| 522 WebInspector.PendingFrame = function() | 522 WebInspector.PendingFrame = function() |
| 523 { | 523 { |
| 524 /** @type {!Object.<string, number>} */ | 524 /** @type {!Object.<string, number>} */ |
| 525 this.timeByCategory = {}; | 525 this.timeByCategory = {}; |
| 526 /** @type {!Array.<!WebInspector.LayerPaintEvent>} */ | 526 /** @type {!Array.<!WebInspector.LayerPaintEvent>} */ |
| 527 this.paints = []; | 527 this.paints = []; |
| 528 } | 528 } |
| OLD | NEW |