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 * @param {!WebInspector.TracingModel} tracingModel | 6 * @param {!WebInspector.TracingModel} tracingModel |
7 * @constructor | 7 * @constructor |
8 * @extends {WebInspector.TimelineModel} | 8 * @extends {WebInspector.TimelineModel} |
9 */ | 9 */ |
10 WebInspector.TracingTimelineModel = function(tracingModel) | 10 WebInspector.TracingTimelineModel = function(tracingModel) |
(...skipping 14 matching lines...) Expand all Loading... |
25 | 25 |
26 RequestMainThreadFrame: "RequestMainThreadFrame", | 26 RequestMainThreadFrame: "RequestMainThreadFrame", |
27 BeginFrame: "BeginFrame", | 27 BeginFrame: "BeginFrame", |
28 BeginMainThreadFrame: "BeginMainThreadFrame", | 28 BeginMainThreadFrame: "BeginMainThreadFrame", |
29 ActivateLayerTree: "ActivateLayerTree", | 29 ActivateLayerTree: "ActivateLayerTree", |
30 DrawFrame: "DrawFrame", | 30 DrawFrame: "DrawFrame", |
31 ScheduleStyleRecalculation: "ScheduleStyleRecalculation", | 31 ScheduleStyleRecalculation: "ScheduleStyleRecalculation", |
32 RecalculateStyles: "RecalculateStyles", | 32 RecalculateStyles: "RecalculateStyles", |
33 InvalidateLayout: "InvalidateLayout", | 33 InvalidateLayout: "InvalidateLayout", |
34 Layout: "Layout", | 34 Layout: "Layout", |
| 35 UpdateLayer: "UpdateLayer", |
35 PaintSetup: "PaintSetup", | 36 PaintSetup: "PaintSetup", |
36 Paint: "Paint", | 37 Paint: "Paint", |
37 PaintImage: "PaintImage", | 38 PaintImage: "PaintImage", |
38 Rasterize: "Rasterize", | 39 Rasterize: "Rasterize", |
39 RasterTask: "RasterTask", | 40 RasterTask: "RasterTask", |
40 ScrollLayer: "ScrollLayer", | 41 ScrollLayer: "ScrollLayer", |
41 CompositeLayers: "CompositeLayers", | 42 CompositeLayers: "CompositeLayers", |
42 | 43 |
43 ParseHTML: "ParseHTML", | 44 ParseHTML: "ParseHTML", |
44 | 45 |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
82 CallStack: "CallStack", | 83 CallStack: "CallStack", |
83 SetLayerTreeId: "SetLayerTreeId", | 84 SetLayerTreeId: "SetLayerTreeId", |
84 TracingStartedInPage: "TracingStartedInPage", | 85 TracingStartedInPage: "TracingStartedInPage", |
85 | 86 |
86 DecodeImage: "Decode Image", | 87 DecodeImage: "Decode Image", |
87 ResizeImage: "Resize Image", | 88 ResizeImage: "Resize Image", |
88 DrawLazyPixelRef: "Draw LazyPixelRef", | 89 DrawLazyPixelRef: "Draw LazyPixelRef", |
89 DecodeLazyPixelRef: "Decode LazyPixelRef", | 90 DecodeLazyPixelRef: "Decode LazyPixelRef", |
90 | 91 |
91 LazyPixelRef: "LazyPixelRef", | 92 LazyPixelRef: "LazyPixelRef", |
92 LayerTreeHostImplSnapshot: "cc::LayerTreeHostImpl" | 93 LayerTreeHostImplSnapshot: "cc::LayerTreeHostImpl", |
| 94 PictureSnapshot: "cc::Picture" |
93 }; | 95 }; |
94 | 96 |
95 WebInspector.TracingTimelineModel.defaultTracingCategoryFilter = "*,disabled-by-
default-cc.debug,disabled-by-default-devtools.timeline,disabled-by-default-devto
ols.timeline.frame"; | 97 WebInspector.TracingTimelineModel.defaultTracingCategoryFilter = "*,disabled-by-
default-cc.debug,disabled-by-default-devtools.timeline,disabled-by-default-devto
ols.timeline.frame"; |
96 | 98 |
97 WebInspector.TracingTimelineModel.prototype = { | 99 WebInspector.TracingTimelineModel.prototype = { |
98 /** | 100 /** |
99 * @param {boolean} captureStacks | 101 * @param {boolean} captureStacks |
100 * @param {boolean} captureMemory | 102 * @param {boolean} captureMemory |
| 103 * @param {boolean} capturePictures |
101 */ | 104 */ |
102 startRecording: function(captureStacks, captureMemory) | 105 startRecording: function(captureStacks, captureMemory, capturePictures) |
103 { | 106 { |
104 var categories; | 107 var categories; |
105 if (WebInspector.experimentsSettings.timelineTracingMode.isEnabled()) { | 108 if (WebInspector.experimentsSettings.timelineTracingMode.isEnabled()) { |
106 categories = WebInspector.TracingTimelineModel.defaultTracingCategor
yFilter; | 109 categories = WebInspector.TracingTimelineModel.defaultTracingCategor
yFilter; |
107 } else { | 110 } else { |
108 var categoriesArray = ["disabled-by-default-devtools.timeline", "dis
abled-by-default-devtools.timeline.frame", "devtools"]; | 111 var categoriesArray = ["disabled-by-default-devtools.timeline", "dis
abled-by-default-devtools.timeline.frame", "devtools"]; |
109 if (captureStacks) | 112 if (captureStacks) |
110 categoriesArray.push("disabled-by-default-devtools.timeline.stac
k"); | 113 categoriesArray.push("disabled-by-default-devtools.timeline.stac
k"); |
| 114 if (capturePictures) |
| 115 categoriesArray.push("disabled-by-default-devtools.timeline.laye
rs", "disabled-by-default-devtools.timeline.picture"); |
111 categories = categoriesArray.join(","); | 116 categories = categoriesArray.join(","); |
112 } | 117 } |
113 this._startRecordingWithCategories(categories); | 118 this._startRecordingWithCategories(categories); |
114 }, | 119 }, |
115 | 120 |
116 stopRecording: function() | 121 stopRecording: function() |
117 { | 122 { |
118 this._tracingModel.stop(this._didStopRecordingTraceEvents.bind(this)); | 123 this._tracingModel.stop(this._didStopRecordingTraceEvents.bind(this)); |
119 }, | 124 }, |
120 | 125 |
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
247 | 252 |
248 _resetProcessingState: function() | 253 _resetProcessingState: function() |
249 { | 254 { |
250 this._sendRequestEvents = {}; | 255 this._sendRequestEvents = {}; |
251 this._timerEvents = {}; | 256 this._timerEvents = {}; |
252 this._requestAnimationFrameEvents = {}; | 257 this._requestAnimationFrameEvents = {}; |
253 this._layoutInvalidate = {}; | 258 this._layoutInvalidate = {}; |
254 this._lastScheduleStyleRecalculation = {}; | 259 this._lastScheduleStyleRecalculation = {}; |
255 this._webSocketCreateEvents = {}; | 260 this._webSocketCreateEvents = {}; |
256 this._paintImageEventByPixelRefId = {}; | 261 this._paintImageEventByPixelRefId = {}; |
257 | 262 this._lastPaintForLayer = {}; |
258 this._lastRecalculateStylesEvent = null; | 263 this._lastRecalculateStylesEvent = null; |
259 this._currentScriptEvent = null; | 264 this._currentScriptEvent = null; |
260 this._eventStack = []; | 265 this._eventStack = []; |
261 }, | 266 }, |
262 | 267 |
263 /** | 268 /** |
264 * @param {number} startTime | 269 * @param {number} startTime |
265 * @param {?number} endTime | 270 * @param {?number} endTime |
266 * @param {!WebInspector.TracingModel.Thread} mainThread | 271 * @param {!WebInspector.TracingModel.Thread} mainThread |
267 * @param {!WebInspector.TracingModel.Thread} thread | 272 * @param {!WebInspector.TracingModel.Thread} thread |
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
387 if (!this._currentScriptEvent) | 392 if (!this._currentScriptEvent) |
388 this._currentScriptEvent = event; | 393 this._currentScriptEvent = event; |
389 break; | 394 break; |
390 | 395 |
391 case recordTypes.SetLayerTreeId: | 396 case recordTypes.SetLayerTreeId: |
392 this._inspectedTargetLayerTreeId = event.args["layerTreeId"]; | 397 this._inspectedTargetLayerTreeId = event.args["layerTreeId"]; |
393 break; | 398 break; |
394 | 399 |
395 case recordTypes.Paint: | 400 case recordTypes.Paint: |
396 event.highlightQuad = event.args["data"]["clip"]; | 401 event.highlightQuad = event.args["data"]["clip"]; |
397 // Initionally fall through. | 402 event.backendNodeId = event.args["data"]["nodeId"]; |
| 403 var layerUpdateEvent = this._findAncestorEvent(recordTypes.UpdateLay
er); |
| 404 if (!layerUpdateEvent || layerUpdateEvent.args["layerTreeId"] !== th
is._inspectedTargetLayerTreeId) |
| 405 break; |
| 406 this._lastPaintForLayer[layerUpdateEvent.args["layerId"]] = event; |
| 407 break; |
| 408 |
| 409 case recordTypes.PictureSnapshot: |
| 410 var layerUpdateEvent = this._findAncestorEvent(recordTypes.UpdateLay
er); |
| 411 if (!layerUpdateEvent || layerUpdateEvent.args["layerTreeId"] !== th
is._inspectedTargetLayerTreeId) |
| 412 break; |
| 413 var paintEvent = this._lastPaintForLayer[layerUpdateEvent.args["laye
rId"]]; |
| 414 if (!paintEvent) |
| 415 break; |
| 416 paintEvent.picture = event.args["snapshot"]["skp64"]; |
| 417 break; |
| 418 |
398 case recordTypes.ScrollLayer: | 419 case recordTypes.ScrollLayer: |
399 event.backendNodeId = event.args["data"]["nodeId"]; | 420 event.backendNodeId = event.args["data"]["nodeId"]; |
400 break; | 421 break; |
401 | 422 |
402 case recordTypes.PaintImage: | 423 case recordTypes.PaintImage: |
403 event.backendNodeId = event.args["data"]["nodeId"]; | 424 event.backendNodeId = event.args["data"]["nodeId"]; |
404 event.imageURL = event.args["data"]["url"]; | 425 event.imageURL = event.args["data"]["url"]; |
405 break; | 426 break; |
406 | 427 |
407 case recordTypes.DecodeImage: | 428 case recordTypes.DecodeImage: |
(...skipping 257 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
665 { | 686 { |
666 var tokens = [this.title()]; | 687 var tokens = [this.title()]; |
667 var data = this._event.args.data; | 688 var data = this._event.args.data; |
668 if (data) { | 689 if (data) { |
669 for (var key in data) | 690 for (var key in data) |
670 tokens.push(data[key]); | 691 tokens.push(data[key]); |
671 } | 692 } |
672 return regExp.test(tokens.join("|")); | 693 return regExp.test(tokens.join("|")); |
673 } | 694 } |
674 } | 695 } |
OLD | NEW |