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

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

Issue 399043002: DevTools: switch Timeline frontend into buffered mode and remove the corresponding experiment. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: minor changes Created 6 years, 5 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 * @constructor 6 * @constructor
7 * @extends {WebInspector.TimelineModel} 7 * @extends {WebInspector.TimelineModel}
8 * @param {!WebInspector.TimelineManager} timelineManager 8 * @param {!WebInspector.TimelineManager} timelineManager
9 */ 9 */
10 WebInspector.TimelineModelImpl = function(timelineManager) 10 WebInspector.TimelineModelImpl = function(timelineManager)
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
42 { 42 {
43 console.assert(!capturePictures, "Legacy timeline does not support captu ring pictures"); 43 console.assert(!capturePictures, "Legacy timeline does not support captu ring pictures");
44 this._clientInitiatedRecording = true; 44 this._clientInitiatedRecording = true;
45 this.reset(); 45 this.reset();
46 var maxStackFrames = captureStacks ? 30 : 0; 46 var maxStackFrames = captureStacks ? 30 : 0;
47 var includeGPUEvents = WebInspector.experimentsSettings.gpuTimeline.isEn abled(); 47 var includeGPUEvents = WebInspector.experimentsSettings.gpuTimeline.isEn abled();
48 var liveEvents = [ WebInspector.TimelineModel.RecordType.BeginFrame, 48 var liveEvents = [ WebInspector.TimelineModel.RecordType.BeginFrame,
49 WebInspector.TimelineModel.RecordType.DrawFrame, 49 WebInspector.TimelineModel.RecordType.DrawFrame,
50 WebInspector.TimelineModel.RecordType.RequestMainThre adFrame, 50 WebInspector.TimelineModel.RecordType.RequestMainThre adFrame,
51 WebInspector.TimelineModel.RecordType.ActivateLayerTr ee ]; 51 WebInspector.TimelineModel.RecordType.ActivateLayerTr ee ];
52 this._timelineManager.start(maxStackFrames, WebInspector.experimentsSett ings.timelineNoLiveUpdate.isEnabled(), liveEvents.join(","), captureMemory, incl udeGPUEvents, this._fireRecordingStarted.bind(this)); 52 this._timelineManager.start(maxStackFrames, liveEvents.join(","), captur eMemory, includeGPUEvents, this._fireRecordingStarted.bind(this));
53 }, 53 },
54 54
55 stopRecording: function() 55 stopRecording: function()
56 { 56 {
57 if (!this._clientInitiatedRecording) { 57 if (!this._clientInitiatedRecording) {
58 this._timelineManager.start(undefined, undefined, undefined, undefin ed, undefined, stopTimeline.bind(this)); 58 this._timelineManager.start(undefined, undefined, undefined, undefin ed, stopTimeline.bind(this));
59 return; 59 return;
60 } 60 }
61 61
62 /** 62 /**
63 * Console started this one and we are just sniffing it. Initiate record ing so that we 63 * Console started this one and we are just sniffing it. Initiate record ing so that we
64 * could stop it. 64 * could stop it.
65 * @this {WebInspector.TimelineModelImpl} 65 * @this {WebInspector.TimelineModelImpl}
66 */ 66 */
67 function stopTimeline() 67 function stopTimeline()
68 { 68 {
(...skipping 10 matching lines...) Expand all
79 records: function() 79 records: function()
80 { 80 {
81 return this._records; 81 return this._records;
82 }, 82 },
83 83
84 /** 84 /**
85 * @param {!WebInspector.Event} event 85 * @param {!WebInspector.Event} event
86 */ 86 */
87 _onRecordAdded: function(event) 87 _onRecordAdded: function(event)
88 { 88 {
89 if (this._collectionEnabled) 89 this._addRecord(/** @type {!TimelineAgent.TimelineEvent} */(event.data)) ;
yurys 2014/07/17 10:42:24 Without this check we will display events if timel
90 this._addRecord(/** @type {!TimelineAgent.TimelineEvent} */(event.da ta));
91 }, 90 },
92 91
93 /** 92 /**
94 * @param {!WebInspector.Event} event 93 * @param {!WebInspector.Event} event
95 */ 94 */
96 _onStarted: function(event) 95 _onStarted: function(event)
97 { 96 {
98 if (event.data) { 97 if (event.data) {
99 // Started from console. 98 // Started from console.
100 this._fireRecordingStarted(); 99 this._fireRecordingStarted();
101 } 100 }
102 }, 101 },
103 102
104 /** 103 /**
105 * @param {!WebInspector.Event} event 104 * @param {!WebInspector.Event} event
106 */ 105 */
107 _onStopped: function(event) 106 _onStopped: function(event)
108 { 107 {
109 // If we were buffering events, discard those that got through, the real ones are coming! 108 // We were buffering events, discard those that got through, the real on es are coming!
110 if (WebInspector.experimentsSettings.timelineNoLiveUpdate.isEnabled()) 109 this.reset();
111 this.reset();
112 if (event.data) { 110 if (event.data) {
113 // Stopped from console. 111 // Stopped from console.
114 this._fireRecordingStopped(null, null); 112 this._fireRecordingStopped(null, null);
115 } 113 }
116 }, 114 },
117 115
118 /** 116 /**
119 * @param {!WebInspector.Event} event 117 * @param {!WebInspector.Event} event
120 */ 118 */
121 _onProgress: function(event) 119 _onProgress: function(event)
122 { 120 {
123 this.dispatchEventToListeners(WebInspector.TimelineModel.Events.Recordin gProgress, event.data); 121 this.dispatchEventToListeners(WebInspector.TimelineModel.Events.Recordin gProgress, event.data);
124 }, 122 },
125 123
126 _fireRecordingStarted: function() 124 _fireRecordingStarted: function()
127 { 125 {
128 this._collectionEnabled = true;
129 this.dispatchEventToListeners(WebInspector.TimelineModel.Events.Recordin gStarted); 126 this.dispatchEventToListeners(WebInspector.TimelineModel.Events.Recordin gStarted);
130 }, 127 },
131 128
132 /** 129 /**
133 * @param {?Protocol.Error} error 130 * @param {?Protocol.Error} error
134 * @param {?ProfilerAgent.CPUProfile} cpuProfile 131 * @param {?ProfilerAgent.CPUProfile} cpuProfile
135 */ 132 */
136 _fireRecordingStopped: function(error, cpuProfile) 133 _fireRecordingStopped: function(error, cpuProfile)
137 { 134 {
138 this._collectionEnabled = false;
139 if (cpuProfile) 135 if (cpuProfile)
140 WebInspector.TimelineJSProfileProcessor.mergeJSProfileIntoTimeline(t his, cpuProfile); 136 WebInspector.TimelineJSProfileProcessor.mergeJSProfileIntoTimeline(t his, cpuProfile);
141 this.dispatchEventToListeners(WebInspector.TimelineModel.Events.Recordin gStopped); 137 this.dispatchEventToListeners(WebInspector.TimelineModel.Events.Recordin gStopped);
142 }, 138 },
143 139
144 /** 140 /**
145 * @param {!TimelineAgent.TimelineEvent} payload 141 * @param {!TimelineAgent.TimelineEvent} payload
146 */ 142 */
147 _addRecord: function(payload) 143 _addRecord: function(payload)
148 { 144 {
(...skipping 552 matching lines...) Expand 10 before | Expand all | Expand 10 after
701 break; 697 break;
702 length += itemLength; 698 length += itemLength;
703 data.push(item); 699 data.push(item);
704 ++this._recordIndex; 700 ++this._recordIndex;
705 } 701 }
706 if (this._recordIndex === this._payloads.length) 702 if (this._recordIndex === this._payloads.length)
707 data.push(data.pop() + "]"); 703 data.push(data.pop() + "]");
708 stream.write(data.join(separator), this._writeNextChunk.bind(this)); 704 stream.write(data.join(separator), this._writeNextChunk.bind(this));
709 } 705 }
710 } 706 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698