Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(436)

Side by Side Diff: Source/devtools/front_end/timeline/TracingTimelineModel.js

Issue 328143003: Timeline: add preview of painted picture for Paint event (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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
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
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
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
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
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 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698