| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2014 The Chromium Authors. All rights reserved. | 2 * Copyright 2014 The Chromium Authors. All rights reserved. |
| 3 * Use of this source code is governed by a BSD-style license that can be | 3 * Use of this source code is governed by a BSD-style license that can be |
| 4 * found in the LICENSE file. | 4 * found in the LICENSE file. |
| 5 */ | 5 */ |
| 6 | 6 |
| 7 /** | 7 /** |
| 8 * @constructor | 8 * @constructor |
| 9 * @extends {WebInspector.Object} | 9 * @extends {WebInspector.Object} |
| 10 */ | 10 */ |
| (...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 167 * @param {!Array.<!WebInspector.TracingModel.EventPayload>} events | 167 * @param {!Array.<!WebInspector.TracingModel.EventPayload>} events |
| 168 */ | 168 */ |
| 169 _eventsCollected: function(events) | 169 _eventsCollected: function(events) |
| 170 { | 170 { |
| 171 for (var i = 0; i < events.length; ++i) | 171 for (var i = 0; i < events.length; ++i) |
| 172 this._addEvent(events[i]); | 172 this._addEvent(events[i]); |
| 173 }, | 173 }, |
| 174 | 174 |
| 175 _tracingComplete: function() | 175 _tracingComplete: function() |
| 176 { | 176 { |
| 177 this._bindings = new WebInspector.TracingModel.EventBindings(this); | |
| 178 this._active = false; | 177 this._active = false; |
| 179 if (!this._pendingStopCallback) | 178 if (!this._pendingStopCallback) |
| 180 return; | 179 return; |
| 181 this._pendingStopCallback(); | 180 this._pendingStopCallback(); |
| 182 this._pendingStopCallback = null; | 181 this._pendingStopCallback = null; |
| 183 }, | 182 }, |
| 184 | 183 |
| 185 /** | |
| 186 * @return {!WebInspector.TracingModel.EventBindings} | |
| 187 */ | |
| 188 bindings: function() | |
| 189 { | |
| 190 return this._bindings; | |
| 191 }, | |
| 192 | |
| 193 reset: function() | 184 reset: function() |
| 194 { | 185 { |
| 195 this._processById = {}; | 186 this._processById = {}; |
| 196 this._minimumRecordTime = null; | 187 this._minimumRecordTime = null; |
| 197 this._maximumRecordTime = null; | 188 this._maximumRecordTime = null; |
| 198 this._sessionId = null; | 189 this._sessionId = null; |
| 199 this._inspectedTargetProcessId = null; | 190 this._inspectedTargetProcessId = null; |
| 200 this._inspectedTargetMainThread = null; | 191 this._inspectedTargetMainThread = null; |
| 201 this._inspectedTargetMainThreadEvents = []; | 192 this._inspectedTargetMainThreadEvents = []; |
| 202 this._inspectedTargetLayerTreeHostId = 0; | 193 this._inspectedTargetLayerTreeHostId = 0; |
| 203 this._frameLifecycleEvents = []; | 194 this._frameLifecycleEvents = []; |
| 204 this._bindings = null; | |
| 205 }, | 195 }, |
| 206 | 196 |
| 207 /** | 197 /** |
| 208 * @param {!WebInspector.TracingModel.EventPayload} payload | 198 * @param {!WebInspector.TracingModel.EventPayload} payload |
| 209 */ | 199 */ |
| 210 _addEvent: function(payload) | 200 _addEvent: function(payload) |
| 211 { | 201 { |
| 212 var process = this._processById[payload.pid]; | 202 var process = this._processById[payload.pid]; |
| 213 if (!process) { | 203 if (!process) { |
| 214 process = new WebInspector.TracingModel.Process(payload.pid); | 204 process = new WebInspector.TracingModel.Process(payload.pid); |
| (...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 294 */ | 284 */ |
| 295 sortedProcesses: function() | 285 sortedProcesses: function() |
| 296 { | 286 { |
| 297 return WebInspector.TracingModel.NamedObject._sort(Object.values(this._p
rocessById)); | 287 return WebInspector.TracingModel.NamedObject._sort(Object.values(this._p
rocessById)); |
| 298 }, | 288 }, |
| 299 | 289 |
| 300 __proto__: WebInspector.Object.prototype | 290 __proto__: WebInspector.Object.prototype |
| 301 } | 291 } |
| 302 | 292 |
| 303 /** | 293 /** |
| 304 * @param {!WebInspector.TracingModel} model | |
| 305 * @constructor | |
| 306 */ | |
| 307 WebInspector.TracingModel.EventBindings = function(model) | |
| 308 { | |
| 309 this._eventToWarning = new Map(); | |
| 310 this._model = model; | |
| 311 this._calculateWarnings(); | |
| 312 } | |
| 313 | |
| 314 WebInspector.TracingModel.EventBindings.prototype = { | |
| 315 /** | |
| 316 * @param {!WebInspector.TracingModel.Event} event | |
| 317 * @return {string|undefined} | |
| 318 */ | |
| 319 eventWarning: function(event) | |
| 320 { | |
| 321 return this._eventToWarning.get(event); | |
| 322 }, | |
| 323 | |
| 324 _calculateWarnings: function() | |
| 325 { | |
| 326 var events = this._model.inspectedTargetMainThreadEvents(); | |
| 327 var currentScriptEvent = null; | |
| 328 for (var i = 0, length = events.length; i < length; i++) { | |
| 329 var event = events[i]; | |
| 330 if (currentScriptEvent && event.startTime > currentScriptEvent.endTi
me) | |
| 331 currentScriptEvent = null; | |
| 332 if (event.name === WebInspector.TimelineModel.RecordType.Layout && c
urrentScriptEvent) | |
| 333 this._eventToWarning.put(event, WebInspector.UIString("Forced sy
nchronous layout is a possible performance bottleneck.")); | |
| 334 if (!currentScriptEvent && (event.name === WebInspector.TimelineMode
l.RecordType.EvaluateScript || event.name === WebInspector.TimelineModel.RecordT
ype.FunctionCall)) | |
| 335 currentScriptEvent = event; | |
| 336 } | |
| 337 } | |
| 338 } | |
| 339 | |
| 340 /** | |
| 341 * @constructor | 294 * @constructor |
| 342 * @param {!WebInspector.TracingModel.EventPayload} payload | 295 * @param {!WebInspector.TracingModel.EventPayload} payload |
| 343 * @param {number} level | 296 * @param {number} level |
| 344 */ | 297 */ |
| 345 WebInspector.TracingModel.Event = function(payload, level) | 298 WebInspector.TracingModel.Event = function(payload, level) |
| 346 { | 299 { |
| 347 this.name = payload.name; | 300 this.name = payload.name; |
| 348 this.category = payload.cat; | 301 this.category = payload.cat; |
| 349 this.startTime = payload.ts; | 302 this.startTime = payload.ts; |
| 350 this.args = payload.args; | 303 this.args = payload.args; |
| (...skipping 241 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 592 dataCollected: function(data) | 545 dataCollected: function(data) |
| 593 { | 546 { |
| 594 this._tracingModel._eventsCollected(data); | 547 this._tracingModel._eventsCollected(data); |
| 595 }, | 548 }, |
| 596 | 549 |
| 597 tracingComplete: function() | 550 tracingComplete: function() |
| 598 { | 551 { |
| 599 this._tracingModel._tracingComplete(); | 552 this._tracingModel._tracingComplete(); |
| 600 } | 553 } |
| 601 } | 554 } |
| OLD | NEW |