| 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 * @implements {WebInspector.TimelineModeView} | 9 * @implements {WebInspector.TimelineModeView} |
| 10 * @implements {WebInspector.FlameChartDelegate} | 10 * @implements {WebInspector.FlameChartDelegate} |
| (...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 107 { | 107 { |
| 108 var index = /** @type {number} */ (event.data); | 108 var index = /** @type {number} */ (event.data); |
| 109 var record = this._dataProvider._recordAt(index); | 109 var record = this._dataProvider._recordAt(index); |
| 110 if (!record || this._dataProvider._isHeaderRecord(record)) { | 110 if (!record || this._dataProvider._isHeaderRecord(record)) { |
| 111 this._delegate.showInDetails("", document.createTextNode("")); | 111 this._delegate.showInDetails("", document.createTextNode("")); |
| 112 return; | 112 return; |
| 113 } | 113 } |
| 114 var contentHelper = new WebInspector.TimelineDetailsContentHelper(null,
null, false); | 114 var contentHelper = new WebInspector.TimelineDetailsContentHelper(null,
null, false); |
| 115 contentHelper.appendTextRow(WebInspector.UIString("Name"), record.name); | 115 contentHelper.appendTextRow(WebInspector.UIString("Name"), record.name); |
| 116 contentHelper.appendTextRow(WebInspector.UIString("Category"), record.ca
tegory); | 116 contentHelper.appendTextRow(WebInspector.UIString("Category"), record.ca
tegory); |
| 117 contentHelper.appendTextRow(WebInspector.UIString("Start"), Number.milli
sToString(this._dataProvider._toTimelineTime(record.startTime - this._tracingMod
el.minimumRecordTime()), true)); | 117 contentHelper.appendTextRow(WebInspector.UIString("Start"), Number.milli
sToString(record.startTime - this._tracingModel.minimumRecordTime(), true)); |
| 118 contentHelper.appendTextRow(WebInspector.UIString("Duration"), Number.mi
llisToString(this._dataProvider._toTimelineTime(record.duration), true)); | 118 contentHelper.appendTextRow(WebInspector.UIString("Duration"), Number.mi
llisToString(record.duration, true)); |
| 119 if (!Object.isEmpty(record.args)) | 119 if (!Object.isEmpty(record.args)) |
| 120 contentHelper.appendElementRow(WebInspector.UIString("Arguments"), t
his._formatArguments(record.args)); | 120 contentHelper.appendElementRow(WebInspector.UIString("Arguments"), t
his._formatArguments(record.args)); |
| 121 /** | 121 /** |
| 122 * @this {WebInspector.TimelineTracingView} | 122 * @this {WebInspector.TimelineTracingView} |
| 123 */ | 123 */ |
| 124 function reveal() | 124 function reveal() |
| 125 { | 125 { |
| 126 WebInspector.Revealer.reveal(new WebInspector.DeferredTracingLayerTr
ee(this._tracingModel.target(), record.args["snapshot"]["active_tree"]["root_lay
er"])); | 126 WebInspector.Revealer.reveal(new WebInspector.DeferredTracingLayerTr
ee(this._tracingModel.target(), record.args["snapshot"]["active_tree"]["root_lay
er"])); |
| 127 } | 127 } |
| 128 if (record.name === "cc::LayerTreeHostImpl") { | 128 if (record.name === "cc::LayerTreeHostImpl") { |
| (...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 308 * @type {?WebInspector.FlameChart.TimelineData} | 308 * @type {?WebInspector.FlameChart.TimelineData} |
| 309 */ | 309 */ |
| 310 this._timelineData = { | 310 this._timelineData = { |
| 311 entryLevels: [], | 311 entryLevels: [], |
| 312 entryTotalTimes: [], | 312 entryTotalTimes: [], |
| 313 entryStartTimes: [] | 313 entryStartTimes: [] |
| 314 }; | 314 }; |
| 315 | 315 |
| 316 this._currentLevel = 0; | 316 this._currentLevel = 0; |
| 317 this._headerTitles = {}; | 317 this._headerTitles = {}; |
| 318 this._minimumBoundary = this._timelineModelForMinimumBoundary.minimumRec
ordTime() * 1000; | 318 this._minimumBoundary = this._timelineModelForMinimumBoundary.minimumRec
ordTime(); |
| 319 this._timeSpan = Math.max((this._model.maximumRecordTime() || 0) - this.
_minimumBoundary, 1000000); | 319 this._timeSpan = Math.max((this._model.maximumRecordTime() || 0) - this.
_minimumBoundary, 1000); |
| 320 var processes = this._model.sortedProcesses(); | 320 var processes = this._model.sortedProcesses(); |
| 321 for (var processIndex = 0; processIndex < processes.length; ++processInd
ex) { | 321 for (var processIndex = 0; processIndex < processes.length; ++processInd
ex) { |
| 322 var process = processes[processIndex]; | 322 var process = processes[processIndex]; |
| 323 this._appendHeaderRecord(process.name(), this._processHeaderRecord); | 323 this._appendHeaderRecord(process.name(), this._processHeaderRecord); |
| 324 var objectNames = process.sortedObjectNames(); | 324 var objectNames = process.sortedObjectNames(); |
| 325 for (var objectNameIndex = 0; objectNameIndex < objectNames.length;
++objectNameIndex) { | 325 for (var objectNameIndex = 0; objectNameIndex < objectNames.length;
++objectNameIndex) { |
| 326 this._appendHeaderRecord(WebInspector.UIString("Object %s", obje
ctNames[objectNameIndex]), this._threadHeaderRecord); | 326 this._appendHeaderRecord(WebInspector.UIString("Object %s", obje
ctNames[objectNameIndex]), this._threadHeaderRecord); |
| 327 var objects = process.objectsByName(objectNames[objectNameIndex]
); | 327 var objects = process.objectsByName(objectNames[objectNameIndex]
); |
| 328 for (var objectIndex = 0; objectIndex < objects.length; ++object
Index) | 328 for (var objectIndex = 0; objectIndex < objects.length; ++object
Index) |
| 329 this._appendRecord(objects[objectIndex]); | 329 this._appendRecord(objects[objectIndex]); |
| (...skipping 13 matching lines...) Expand all Loading... |
| 343 ++this._currentLevel; | 343 ++this._currentLevel; |
| 344 } | 344 } |
| 345 return this._timelineData; | 345 return this._timelineData; |
| 346 }, | 346 }, |
| 347 | 347 |
| 348 /** | 348 /** |
| 349 * @return {number} | 349 * @return {number} |
| 350 */ | 350 */ |
| 351 minimumBoundary: function() | 351 minimumBoundary: function() |
| 352 { | 352 { |
| 353 return this._toTimelineTime(this._minimumBoundary); | 353 return this._minimumBoundary; |
| 354 }, | 354 }, |
| 355 | 355 |
| 356 /** | 356 /** |
| 357 * @return {number} | 357 * @return {number} |
| 358 */ | 358 */ |
| 359 totalTime: function() | 359 totalTime: function() |
| 360 { | 360 { |
| 361 return this._toTimelineTime(this._timeSpan); | 361 return this._timeSpan; |
| 362 }, | 362 }, |
| 363 | 363 |
| 364 /** | 364 /** |
| 365 * @return {number} | 365 * @return {number} |
| 366 */ | 366 */ |
| 367 maxStackDepth: function() | 367 maxStackDepth: function() |
| 368 { | 368 { |
| 369 return this._currentLevel; | 369 return this._currentLevel; |
| 370 }, | 370 }, |
| 371 | 371 |
| (...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 432 /** | 432 /** |
| 433 * @param {number} entryIndex | 433 * @param {number} entryIndex |
| 434 * @return {?{startTime: number, endTime: number}} | 434 * @return {?{startTime: number, endTime: number}} |
| 435 */ | 435 */ |
| 436 highlightTimeRange: function(entryIndex) | 436 highlightTimeRange: function(entryIndex) |
| 437 { | 437 { |
| 438 var record = this._records[entryIndex]; | 438 var record = this._records[entryIndex]; |
| 439 if (!record || this._isHeaderRecord(record)) | 439 if (!record || this._isHeaderRecord(record)) |
| 440 return null; | 440 return null; |
| 441 return { | 441 return { |
| 442 startTime: this._toTimelineTime(record.startTime), | 442 startTime: record.startTime, |
| 443 endTime: this._toTimelineTime(record.endTime) | 443 endTime: record.endTime |
| 444 } | 444 } |
| 445 }, | 445 }, |
| 446 | 446 |
| 447 /** | 447 /** |
| 448 * @return {number} | 448 * @return {number} |
| 449 */ | 449 */ |
| 450 paddingLeft: function() | 450 paddingLeft: function() |
| 451 { | 451 { |
| 452 return 0; | 452 return 0; |
| 453 }, | 453 }, |
| (...skipping 10 matching lines...) Expand all Loading... |
| 464 /** | 464 /** |
| 465 * @param {string} title | 465 * @param {string} title |
| 466 * @param {!WebInspector.TracingModel.Event} record | 466 * @param {!WebInspector.TracingModel.Event} record |
| 467 */ | 467 */ |
| 468 _appendHeaderRecord: function(title, record) | 468 _appendHeaderRecord: function(title, record) |
| 469 { | 469 { |
| 470 var index = this._records.length; | 470 var index = this._records.length; |
| 471 this._records.push(record); | 471 this._records.push(record); |
| 472 this._timelineData.entryLevels[index] = this._currentLevel++; | 472 this._timelineData.entryLevels[index] = this._currentLevel++; |
| 473 this._timelineData.entryTotalTimes[index] = this.totalTime(); | 473 this._timelineData.entryTotalTimes[index] = this.totalTime(); |
| 474 this._timelineData.entryStartTimes[index] = this._toTimelineTime(this._m
inimumBoundary); | 474 this._timelineData.entryStartTimes[index] = this._minimumBoundary; |
| 475 this._headerTitles[index] = title; | 475 this._headerTitles[index] = title; |
| 476 }, | 476 }, |
| 477 | 477 |
| 478 /** | 478 /** |
| 479 * @param {!WebInspector.TracingModel.Event} record | 479 * @param {!WebInspector.TracingModel.Event} record |
| 480 */ | 480 */ |
| 481 _appendRecord: function(record) | 481 _appendRecord: function(record) |
| 482 { | 482 { |
| 483 var index = this._records.length; | 483 var index = this._records.length; |
| 484 this._records.push(record); | 484 this._records.push(record); |
| 485 this._timelineData.entryLevels[index] = this._currentLevel + record.leve
l; | 485 this._timelineData.entryLevels[index] = this._currentLevel + record.leve
l; |
| 486 this._timelineData.entryTotalTimes[index] = this._toTimelineTime(record.
phase === WebInspector.TracingModel.Phase.SnapshotObject ? NaN : record.duration
|| 0); | 486 this._timelineData.entryTotalTimes[index] = record.phase === WebInspecto
r.TracingModel.Phase.SnapshotObject ? NaN : record.duration || 0; |
| 487 this._timelineData.entryStartTimes[index] = this._toTimelineTime(record.
startTime); | 487 this._timelineData.entryStartTimes[index] = record.startTime; |
| 488 }, | 488 }, |
| 489 | 489 |
| 490 /** | 490 /** |
| 491 * @param {number} time | |
| 492 * @return {number} | |
| 493 */ | |
| 494 _toTimelineTime: function(time) | |
| 495 { | |
| 496 return time / 1000; | |
| 497 }, | |
| 498 | |
| 499 /** | |
| 500 * @param {!WebInspector.TracingModel.Event} record | 491 * @param {!WebInspector.TracingModel.Event} record |
| 501 */ | 492 */ |
| 502 _isHeaderRecord: function(record) | 493 _isHeaderRecord: function(record) |
| 503 { | 494 { |
| 504 return record === this._threadHeaderRecord || record === this._processHe
aderRecord; | 495 return record === this._threadHeaderRecord || record === this._processHe
aderRecord; |
| 505 }, | 496 }, |
| 506 | 497 |
| 507 /** | 498 /** |
| 508 * @param {number} index | 499 * @param {number} index |
| 509 * @return {!WebInspector.TracingModel.Event|undefined} | 500 * @return {!WebInspector.TracingModel.Event|undefined} |
| (...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 582 /** | 573 /** |
| 583 * @param {string} string | 574 * @param {string} string |
| 584 * @return {string} | 575 * @return {string} |
| 585 */ | 576 */ |
| 586 colorForString: function(string) | 577 colorForString: function(string) |
| 587 { | 578 { |
| 588 var hash = WebInspector.TraceViewPalette._stringHash(string); | 579 var hash = WebInspector.TraceViewPalette._stringHash(string); |
| 589 return this._palette[hash % this._palette.length]; | 580 return this._palette[hash % this._palette.length]; |
| 590 } | 581 } |
| 591 }; | 582 }; |
| OLD | NEW |