Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 <!DOCTYPE HTML> | 1 <!DOCTYPE HTML> |
| 2 <!-- | 2 <!-- |
| 3 Copyright (c) 2015 The Chromium Authors. All rights reserved. | 3 Copyright (c) 2015 The Chromium Authors. All rights reserved. |
| 4 Use of this source code is governed by a BSD-style license that can be | 4 Use of this source code is governed by a BSD-style license that can be |
| 5 found in the LICENSE file. | 5 found in the LICENSE file. |
| 6 --> | 6 --> |
| 7 <link rel="import" href="/tracing/base/range.html"> | 7 <link rel="import" href="/tracing/base/range.html"> |
| 8 <link rel="import" href="/tracing/extras/chrome/cc/constants.html"> | 8 <link rel="import" href="/tracing/extras/chrome/cc/constants.html"> |
| 9 <link rel="import" href="/tracing/model/slice.html"> | 9 <link rel="import" href="/tracing/model/slice.html"> |
| 10 | 10 |
| (...skipping 15 matching lines...) Expand all Loading... | |
| 26 this.range_ = new tr.b.Range(); | 26 this.range_ = new tr.b.Range(); |
| 27 this.beginMainFrame_.addBoundsToRange(this.range_); | 27 this.beginMainFrame_.addBoundsToRange(this.range_); |
| 28 this.sendBeginFrame_.addBoundsToRange(this.range_); | 28 this.sendBeginFrame_.addBoundsToRange(this.range_); |
| 29 } | 29 } |
| 30 | 30 |
| 31 /** | 31 /** |
| 32 * Construct RenderingFrame from a list of events. | 32 * Construct RenderingFrame from a list of events. |
| 33 * Return undefined if data are missing. | 33 * Return undefined if data are missing. |
| 34 */ | 34 */ |
| 35 function createRenderingFrameFromEvents(events) { | 35 function createRenderingFrameFromEvents(events) { |
| 36 var allSendBeginFrameEvents = events.filter(function(e) { | 36 var allSendBeginFrameEvents = events.filter(function(e) { |
|
nduca
2015/09/21 19:55:15
lets file a bug to reconcile rendering stats & ren
nednguyen
2015/09/21 20:09:54
Done. https://github.com/catapult-project/catapult
| |
| 37 return e.title === SEND_BEGIN_FRAME_EVENT; | 37 return e.title === SEND_BEGIN_FRAME_EVENT; |
| 38 }); | 38 }); |
| 39 if (allSendBeginFrameEvents.length !== 1) | 39 if (allSendBeginFrameEvents.length !== 1) |
| 40 return undefined; | 40 return undefined; |
| 41 | 41 |
| 42 var allBeginMainFrameEvents = events.filter(function(e) { | 42 var allBeginMainFrameEvents = events.filter(function(e) { |
| 43 return e.title === BEGIN_MAIN_FRAME_EVENT; | 43 return e.title === BEGIN_MAIN_FRAME_EVENT; |
| 44 }); | 44 }); |
| 45 if (allBeginMainFrameEvents.length === 0) | 45 if (allBeginMainFrameEvents.length === 0) |
| 46 return undefined; | 46 return undefined; |
| (...skipping 29 matching lines...) Expand all Loading... | |
| 76 // 213: [begin_main_frame, send_begin_frame], | 76 // 213: [begin_main_frame, send_begin_frame], |
| 77 // 9312: [send_begin_frame, begin_main_frame]} | 77 // 9312: [send_begin_frame, begin_main_frame]} |
| 78 var beginFrameEventsById = {}; | 78 var beginFrameEventsById = {}; |
| 79 rendererProcess.iterateAllEvents(function(event) { | 79 rendererProcess.iterateAllEvents(function(event) { |
| 80 var beginFrameId; | 80 var beginFrameId; |
| 81 if (event instanceof tr.model.Slice && | 81 if (event instanceof tr.model.Slice && |
| 82 (event.title === SEND_BEGIN_FRAME_EVENT || | 82 (event.title === SEND_BEGIN_FRAME_EVENT || |
| 83 event.title === BEGIN_MAIN_FRAME_EVENT)) { | 83 event.title === BEGIN_MAIN_FRAME_EVENT)) { |
| 84 beginFrameId = event.args['begin_frame_id']; | 84 beginFrameId = event.args['begin_frame_id']; |
| 85 if (beginFrameId === undefined) { | 85 if (beginFrameId === undefined) { |
| 86 throw new Error( | 86 var err = new Error( |
| 87 'Event is missing a beginFrameId.'); | 87 'Event is missing a beginFrameId.'); |
| 88 throw err; | |
|
dsinclair
2015/09/22 16:08:31
No need to store err into a variable, just throw n
| |
| 88 } | 89 } |
| 89 } | 90 } |
| 90 beginFrameEventsById[beginFrameId] = | 91 beginFrameEventsById[beginFrameId] = |
| 91 beginFrameEventsById[beginFrameId] || []; | 92 beginFrameEventsById[beginFrameId] || []; |
| 92 beginFrameEventsById[beginFrameId].push(event); | 93 beginFrameEventsById[beginFrameId].push(event); |
| 93 }); | 94 }); |
| 94 | 95 |
| 95 // Now, create RenderingFrames for events wherever possible. | 96 // Now, create RenderingFrames for events wherever possible. |
| 96 var frames = []; | 97 var frames = []; |
| 97 for (var id in beginFrameEventsById) { | 98 for (var id in beginFrameEventsById) { |
| 98 var events = beginFrameEventsById[id]; | 99 var events = beginFrameEventsById[id]; |
| 99 var frame = createRenderingFrameFromEvents(events); | 100 var frame = createRenderingFrameFromEvents(events); |
| 100 if (frame === undefined) | 101 if (frame === undefined) |
| 101 continue; | 102 continue; |
| 102 if (frame.range.intersectsRange(timelineRange)) | 103 if (frame.range.intersectsRange(timelineRange)) |
| 103 frames.push(frame); | 104 frames.push(frame); |
| 104 frames.sort(function(a, b) { | 105 frames.sort(function(a, b) { |
| 105 return a.range.min - b.range.min; | 106 return a.range.min - b.range.min; |
| 106 }); | 107 }); |
| 107 } | 108 } |
| 108 | 109 |
| 109 return frames; | 110 return frames; |
| 110 } | 111 } |
| 111 | 112 |
| 112 return { | 113 return { |
| 113 RenderingFrame: RenderingFrame | 114 RenderingFrame: RenderingFrame |
| 114 }; | 115 }; |
| 115 }); | 116 }); |
| 116 </script> | 117 </script> |
| OLD | NEW |