| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 /** | 5 /** |
| 6 */ | 6 */ |
| 7 WebInspector.TracingTimelineUIUtils = function() { } | 7 WebInspector.TracingTimelineUIUtils = function() { } |
| 8 | 8 |
| 9 /** | 9 /** |
| 10 * @constructor | 10 * @constructor |
| (...skipping 22 matching lines...) Expand all Loading... |
| 33 eventStyles[recordTypes.EventDispatch] = new WebInspector.TimelineRecordStyl
e(WebInspector.UIString("Event"), categories["scripting"]); | 33 eventStyles[recordTypes.EventDispatch] = new WebInspector.TimelineRecordStyl
e(WebInspector.UIString("Event"), categories["scripting"]); |
| 34 eventStyles[recordTypes.RequestMainThreadFrame] = new WebInspector.TimelineR
ecordStyle(WebInspector.UIString("Request Main Thread Frame"), categories["rende
ring"]); | 34 eventStyles[recordTypes.RequestMainThreadFrame] = new WebInspector.TimelineR
ecordStyle(WebInspector.UIString("Request Main Thread Frame"), categories["rende
ring"]); |
| 35 eventStyles[recordTypes.BeginFrame] = new WebInspector.TimelineRecordStyle(W
ebInspector.UIString("Frame Start"), categories["rendering"]); | 35 eventStyles[recordTypes.BeginFrame] = new WebInspector.TimelineRecordStyle(W
ebInspector.UIString("Frame Start"), categories["rendering"]); |
| 36 eventStyles[recordTypes.BeginMainThreadFrame] = new WebInspector.TimelineRec
ordStyle(WebInspector.UIString("Frame Start (main thread)"), categories["renderi
ng"]); | 36 eventStyles[recordTypes.BeginMainThreadFrame] = new WebInspector.TimelineRec
ordStyle(WebInspector.UIString("Frame Start (main thread)"), categories["renderi
ng"]); |
| 37 eventStyles[recordTypes.DrawFrame] = new WebInspector.TimelineRecordStyle(We
bInspector.UIString("Draw Frame"), categories["rendering"]); | 37 eventStyles[recordTypes.DrawFrame] = new WebInspector.TimelineRecordStyle(We
bInspector.UIString("Draw Frame"), categories["rendering"]); |
| 38 eventStyles[recordTypes.ScheduleStyleRecalculation] = new WebInspector.Timel
ineRecordStyle(WebInspector.UIString("Schedule Style Recalculation"), categories
["rendering"]); | 38 eventStyles[recordTypes.ScheduleStyleRecalculation] = new WebInspector.Timel
ineRecordStyle(WebInspector.UIString("Schedule Style Recalculation"), categories
["rendering"]); |
| 39 eventStyles[recordTypes.RecalculateStyles] = new WebInspector.TimelineRecord
Style(WebInspector.UIString("Recalculate Style"), categories["rendering"]); | 39 eventStyles[recordTypes.RecalculateStyles] = new WebInspector.TimelineRecord
Style(WebInspector.UIString("Recalculate Style"), categories["rendering"]); |
| 40 eventStyles[recordTypes.InvalidateLayout] = new WebInspector.TimelineRecordS
tyle(WebInspector.UIString("Invalidate Layout"), categories["rendering"]); | 40 eventStyles[recordTypes.InvalidateLayout] = new WebInspector.TimelineRecordS
tyle(WebInspector.UIString("Invalidate Layout"), categories["rendering"]); |
| 41 eventStyles[recordTypes.Layout] = new WebInspector.TimelineRecordStyle(WebIn
spector.UIString("Layout"), categories["rendering"]); | 41 eventStyles[recordTypes.Layout] = new WebInspector.TimelineRecordStyle(WebIn
spector.UIString("Layout"), categories["rendering"]); |
| 42 eventStyles[recordTypes.PaintSetup] = new WebInspector.TimelineRecordStyle(W
ebInspector.UIString("Paint Setup"), categories["painting"]); | 42 eventStyles[recordTypes.PaintSetup] = new WebInspector.TimelineRecordStyle(W
ebInspector.UIString("Paint Setup"), categories["painting"]); |
| 43 eventStyles[recordTypes.UpdateLayer] = new WebInspector.TimelineRecordStyle(
WebInspector.UIString("Update Layer"), categories["painting"]); |
| 43 eventStyles[recordTypes.Paint] = new WebInspector.TimelineRecordStyle(WebIns
pector.UIString("Paint"), categories["painting"]); | 44 eventStyles[recordTypes.Paint] = new WebInspector.TimelineRecordStyle(WebIns
pector.UIString("Paint"), categories["painting"]); |
| 44 eventStyles[recordTypes.Rasterize] = new WebInspector.TimelineRecordStyle(We
bInspector.UIString("Paint"), categories["painting"]); | 45 eventStyles[recordTypes.Rasterize] = new WebInspector.TimelineRecordStyle(We
bInspector.UIString("Paint"), categories["painting"]); |
| 45 eventStyles[recordTypes.RasterTask] = new WebInspector.TimelineRecordStyle(W
ebInspector.UIString("Paint"), categories["painting"]); | 46 eventStyles[recordTypes.RasterTask] = new WebInspector.TimelineRecordStyle(W
ebInspector.UIString("Paint"), categories["painting"]); |
| 46 eventStyles[recordTypes.ScrollLayer] = new WebInspector.TimelineRecordStyle(
WebInspector.UIString("Scroll"), categories["rendering"]); | 47 eventStyles[recordTypes.ScrollLayer] = new WebInspector.TimelineRecordStyle(
WebInspector.UIString("Scroll"), categories["rendering"]); |
| 47 eventStyles[recordTypes.CompositeLayers] = new WebInspector.TimelineRecordSt
yle(WebInspector.UIString("Composite Layers"), categories["painting"]); | 48 eventStyles[recordTypes.CompositeLayers] = new WebInspector.TimelineRecordSt
yle(WebInspector.UIString("Composite Layers"), categories["painting"]); |
| 48 eventStyles[recordTypes.ParseHTML] = new WebInspector.TimelineRecordStyle(We
bInspector.UIString("Parse HTML"), categories["loading"]); | 49 eventStyles[recordTypes.ParseHTML] = new WebInspector.TimelineRecordStyle(We
bInspector.UIString("Parse HTML"), categories["loading"]); |
| 49 eventStyles[recordTypes.TimerInstall] = new WebInspector.TimelineRecordStyle
(WebInspector.UIString("Install Timer"), categories["scripting"]); | 50 eventStyles[recordTypes.TimerInstall] = new WebInspector.TimelineRecordStyle
(WebInspector.UIString("Install Timer"), categories["scripting"]); |
| 50 eventStyles[recordTypes.TimerRemove] = new WebInspector.TimelineRecordStyle(
WebInspector.UIString("Remove Timer"), categories["scripting"]); | 51 eventStyles[recordTypes.TimerRemove] = new WebInspector.TimelineRecordStyle(
WebInspector.UIString("Remove Timer"), categories["scripting"]); |
| 51 eventStyles[recordTypes.TimerFire] = new WebInspector.TimelineRecordStyle(We
bInspector.UIString("Timer Fired"), categories["scripting"]); | 52 eventStyles[recordTypes.TimerFire] = new WebInspector.TimelineRecordStyle(We
bInspector.UIString("Timer Fired"), categories["scripting"]); |
| 52 eventStyles[recordTypes.XHRReadyStateChange] = new WebInspector.TimelineReco
rdStyle(WebInspector.UIString("XHR Ready State Change"), categories["scripting"]
); | 53 eventStyles[recordTypes.XHRReadyStateChange] = new WebInspector.TimelineReco
rdStyle(WebInspector.UIString("XHR Ready State Change"), categories["scripting"]
); |
| (...skipping 205 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 258 * @param {!WebInspector.TracingTimelineModel} model | 259 * @param {!WebInspector.TracingTimelineModel} model |
| 259 * @param {!WebInspector.Linkifier} linkifier | 260 * @param {!WebInspector.Linkifier} linkifier |
| 260 * @param {function(!DocumentFragment)} callback | 261 * @param {function(!DocumentFragment)} callback |
| 261 * @param {boolean} loadedFromFile | 262 * @param {boolean} loadedFromFile |
| 262 * @param {!WebInspector.Target} target | 263 * @param {!WebInspector.Target} target |
| 263 */ | 264 */ |
| 264 WebInspector.TracingTimelineUIUtils.buildTraceEventDetails = function(event, mod
el, linkifier, callback, loadedFromFile, target) | 265 WebInspector.TracingTimelineUIUtils.buildTraceEventDetails = function(event, mod
el, linkifier, callback, loadedFromFile, target) |
| 265 { | 266 { |
| 266 var relatedNode = null; | 267 var relatedNode = null; |
| 267 var barrier = new CallbackBarrier(); | 268 var barrier = new CallbackBarrier(); |
| 268 if (event.imageURL && !event.previewElement) | 269 if (!event.previewElement) { |
| 269 WebInspector.DOMPresentationUtils.buildImagePreviewContents(target, even
t.imageURL, false, barrier.createCallback(saveImage)); | 270 if (event.imageURL) |
| 271 WebInspector.DOMPresentationUtils.buildImagePreviewContents(target,
event.imageURL, false, barrier.createCallback(saveImage)); |
| 272 else if (event.picture) |
| 273 WebInspector.TracingTimelineUIUtils._buildPicturePreviewContent(even
t.picture, barrier.createCallback(saveImage)); |
| 274 } |
| 270 if (event.backendNodeId) | 275 if (event.backendNodeId) |
| 271 target.domModel.pushNodesByBackendIdsToFrontend([event.backendNodeId], b
arrier.createCallback(setRelatedNode)); | 276 target.domModel.pushNodesByBackendIdsToFrontend([event.backendNodeId], b
arrier.createCallback(setRelatedNode)); |
| 272 barrier.callWhenDone(callbackWrapper); | 277 barrier.callWhenDone(callbackWrapper); |
| 273 | 278 |
| 274 /** | 279 /** |
| 275 * @param {!Element=} element | 280 * @param {!Element=} element |
| 276 */ | 281 */ |
| 277 function saveImage(element) | 282 function saveImage(element) |
| 278 { | 283 { |
| 279 event.previewElement = element || null; | 284 event.previewElement = element || null; |
| (...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 350 if (eventData["scriptName"]) | 355 if (eventData["scriptName"]) |
| 351 contentHelper.appendLocationRow(WebInspector.UIString("Location"), e
ventData["scriptName"], eventData["scriptLine"]); | 356 contentHelper.appendLocationRow(WebInspector.UIString("Location"), e
ventData["scriptName"], eventData["scriptLine"]); |
| 352 break; | 357 break; |
| 353 case recordTypes.ResourceSendRequest: | 358 case recordTypes.ResourceSendRequest: |
| 354 case recordTypes.ResourceReceiveResponse: | 359 case recordTypes.ResourceReceiveResponse: |
| 355 case recordTypes.ResourceReceivedData: | 360 case recordTypes.ResourceReceivedData: |
| 356 case recordTypes.ResourceFinish: | 361 case recordTypes.ResourceFinish: |
| 357 var url = (event.name === recordTypes.ResourceSendRequest) ? eventData["
url"] : initiator.args.data["url"]; | 362 var url = (event.name === recordTypes.ResourceSendRequest) ? eventData["
url"] : initiator.args.data["url"]; |
| 358 if (url) | 363 if (url) |
| 359 contentHelper.appendElementRow(WebInspector.UIString("Resource"), We
bInspector.linkifyResourceAsNode(url)); | 364 contentHelper.appendElementRow(WebInspector.UIString("Resource"), We
bInspector.linkifyResourceAsNode(url)); |
| 360 if (event.previewElement) | |
| 361 contentHelper.appendElementRow(WebInspector.UIString("Preview"), eve
nt.previewElement); | |
| 362 if (eventData["requestMethod"]) | 365 if (eventData["requestMethod"]) |
| 363 contentHelper.appendTextRow(WebInspector.UIString("Request Method"),
eventData["requestMethod"]); | 366 contentHelper.appendTextRow(WebInspector.UIString("Request Method"),
eventData["requestMethod"]); |
| 364 if (typeof eventData["statusCode"] === "number") | 367 if (typeof eventData["statusCode"] === "number") |
| 365 contentHelper.appendTextRow(WebInspector.UIString("Status Code"), ev
entData["statusCode"]); | 368 contentHelper.appendTextRow(WebInspector.UIString("Status Code"), ev
entData["statusCode"]); |
| 366 if (eventData["mimeType"]) | 369 if (eventData["mimeType"]) |
| 367 contentHelper.appendTextRow(WebInspector.UIString("MIME Type"), even
tData["mimeType"]); | 370 contentHelper.appendTextRow(WebInspector.UIString("MIME Type"), even
tData["mimeType"]); |
| 368 if (eventData["encodedDataLength"]) | 371 if (eventData["encodedDataLength"]) |
| 369 contentHelper.appendTextRow(WebInspector.UIString("Encoded Data Leng
th"), WebInspector.UIString("%d Bytes", eventData["encodedDataLength"])); | 372 contentHelper.appendTextRow(WebInspector.UIString("Encoded Data Leng
th"), WebInspector.UIString("%d Bytes", eventData["encodedDataLength"])); |
| 370 break; | 373 break; |
| 371 case recordTypes.EvaluateScript: | 374 case recordTypes.EvaluateScript: |
| (...skipping 15 matching lines...) Expand all Loading... |
| 387 relatedNodeLabel = WebInspector.UIString("Layer root"); | 390 relatedNodeLabel = WebInspector.UIString("Layer root"); |
| 388 break; | 391 break; |
| 389 case recordTypes.PaintImage: | 392 case recordTypes.PaintImage: |
| 390 case recordTypes.DecodeLazyPixelRef: | 393 case recordTypes.DecodeLazyPixelRef: |
| 391 case recordTypes.DecodeImage: | 394 case recordTypes.DecodeImage: |
| 392 case recordTypes.ResizeImage: | 395 case recordTypes.ResizeImage: |
| 393 case recordTypes.DrawLazyPixelRef: | 396 case recordTypes.DrawLazyPixelRef: |
| 394 relatedNodeLabel = WebInspector.UIString("Image element"); | 397 relatedNodeLabel = WebInspector.UIString("Image element"); |
| 395 if (event.imageURL) | 398 if (event.imageURL) |
| 396 contentHelper.appendElementRow(WebInspector.UIString("Image URL"), W
ebInspector.linkifyResourceAsNode(event.imageURL)); | 399 contentHelper.appendElementRow(WebInspector.UIString("Image URL"), W
ebInspector.linkifyResourceAsNode(event.imageURL)); |
| 397 if (event.previewElement) | |
| 398 contentHelper.appendElementRow(WebInspector.UIString("Preview"), eve
nt.previewElement); | |
| 399 break; | 400 break; |
| 400 case recordTypes.RecalculateStyles: // We don't want to see default details. | 401 case recordTypes.RecalculateStyles: // We don't want to see default details. |
| 401 contentHelper.appendTextRow(WebInspector.UIString("Elements affected"),
event.args["elementCount"]); | 402 contentHelper.appendTextRow(WebInspector.UIString("Elements affected"),
event.args["elementCount"]); |
| 402 callStackLabel = WebInspector.UIString("Styles recalculation forced"); | 403 callStackLabel = WebInspector.UIString("Styles recalculation forced"); |
| 403 break; | 404 break; |
| 404 case recordTypes.Layout: | 405 case recordTypes.Layout: |
| 405 var beginData = event.args["beginData"]; | 406 var beginData = event.args["beginData"]; |
| 406 contentHelper.appendTextRow(WebInspector.UIString("Nodes that need layou
t"), beginData["dirtyObjects"]); | 407 contentHelper.appendTextRow(WebInspector.UIString("Nodes that need layou
t"), beginData["dirtyObjects"]); |
| 407 contentHelper.appendTextRow(WebInspector.UIString("Layout tree size"), b
eginData["totalObjects"]); | 408 contentHelper.appendTextRow(WebInspector.UIString("Layout tree size"), b
eginData["totalObjects"]); |
| 408 contentHelper.appendTextRow(WebInspector.UIString("Layout scope"), | 409 contentHelper.appendTextRow(WebInspector.UIString("Layout scope"), |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 450 var eventStackTrace = event.stackTrace; | 451 var eventStackTrace = event.stackTrace; |
| 451 if (eventStackTrace) | 452 if (eventStackTrace) |
| 452 contentHelper.appendStackTrace(callStackLabel || WebInspector.UIString("
Call Stack"), eventStackTrace); | 453 contentHelper.appendStackTrace(callStackLabel || WebInspector.UIString("
Call Stack"), eventStackTrace); |
| 453 | 454 |
| 454 var warning = event.warning; | 455 var warning = event.warning; |
| 455 if (warning) { | 456 if (warning) { |
| 456 var div = document.createElement("div"); | 457 var div = document.createElement("div"); |
| 457 div.textContent = warning; | 458 div.textContent = warning; |
| 458 contentHelper.appendElementRow(WebInspector.UIString("Warning"), div); | 459 contentHelper.appendElementRow(WebInspector.UIString("Warning"), div); |
| 459 } | 460 } |
| 461 if (event.previewElement) |
| 462 contentHelper.appendElementRow(WebInspector.UIString("Preview"), event.p
reviewElement); |
| 460 fragment.appendChild(contentHelper.element); | 463 fragment.appendChild(contentHelper.element); |
| 461 return fragment; | 464 return fragment; |
| 462 } | 465 } |
| 463 | 466 |
| 464 /** | 467 /** |
| 465 * @param {!WebInspector.TracingTimelineModel} model | 468 * @param {!WebInspector.TracingTimelineModel} model |
| 466 * @param {!WebInspector.TracingModel.Event} event | 469 * @param {!WebInspector.TracingModel.Event} event |
| 467 * @return {!{ aggregatedStats: !Object, hasChildren: boolean }} | 470 * @return {!{ aggregatedStats: !Object, hasChildren: boolean }} |
| 468 */ | 471 */ |
| 469 WebInspector.TracingTimelineUIUtils._aggregatedStatsForTraceEvent = function(mod
el, event) | 472 WebInspector.TracingTimelineUIUtils._aggregatedStatsForTraceEvent = function(mod
el, event) |
| (...skipping 20 matching lines...) Expand all Loading... |
| 490 if (!nextEvent.selfTime) | 493 if (!nextEvent.selfTime) |
| 491 continue; | 494 continue; |
| 492 if (i > index) | 495 if (i > index) |
| 493 hasChildren = true; | 496 hasChildren = true; |
| 494 var category = WebInspector.TracingTimelineUIUtils.styleForTraceEven
t(nextEvent.name).category.name; | 497 var category = WebInspector.TracingTimelineUIUtils.styleForTraceEven
t(nextEvent.name).category.name; |
| 495 aggregatedStats[category] = (aggregatedStats[category] || 0) + nextE
vent.selfTime; | 498 aggregatedStats[category] = (aggregatedStats[category] || 0) + nextE
vent.selfTime; |
| 496 } | 499 } |
| 497 } | 500 } |
| 498 return { aggregatedStats: aggregatedStats, hasChildren: hasChildren }; | 501 return { aggregatedStats: aggregatedStats, hasChildren: hasChildren }; |
| 499 } | 502 } |
| 503 |
| 504 /** |
| 505 * @param {string} encodedPicture |
| 506 * @param {function(!Element=)} callback |
| 507 */ |
| 508 WebInspector.TracingTimelineUIUtils._buildPicturePreviewContent = function(encod
edPicture, callback) |
| 509 { |
| 510 var snapshotId; |
| 511 |
| 512 LayerTreeAgent.loadSnapshot(encodedPicture, onSnapshotLoaded); |
| 513 /** |
| 514 * @param {string} error |
| 515 * @param {string} id |
| 516 */ |
| 517 function onSnapshotLoaded(error, id) |
| 518 { |
| 519 if (error) { |
| 520 console.error("LayerTreeAgent.loadSnapshot(): " + error); |
| 521 callback(); |
| 522 return; |
| 523 } |
| 524 snapshotId = id; |
| 525 LayerTreeAgent.replaySnapshot(snapshotId, onSnapshotReplayed); |
| 526 } |
| 527 |
| 528 /** |
| 529 * @param {string} error |
| 530 * @param {string} encodedBitmap |
| 531 */ |
| 532 function onSnapshotReplayed(error, encodedBitmap) |
| 533 { |
| 534 LayerTreeAgent.releaseSnapshot(snapshotId); |
| 535 if (error) { |
| 536 console.error("LayerTreeAgent.replaySnapshot(): " + error); |
| 537 callback(); |
| 538 return; |
| 539 } |
| 540 var container = document.createElement("div"); |
| 541 container.className = "image-preview-container"; |
| 542 var img = container.createChild("img"); |
| 543 img.src = encodedBitmap; |
| 544 callback(container); |
| 545 } |
| 546 } |
| OLD | NEW |