Chromium Code Reviews| Index: content/renderer/gpu/render_widget_compositor.cc |
| diff --git a/content/renderer/gpu/render_widget_compositor.cc b/content/renderer/gpu/render_widget_compositor.cc |
| index 7018c79cf874e87fa8a8659a6dc6ad5abcf23237..7df8709f5228be0e15bdb85eeca1bd0f2d6d5e91 100644 |
| --- a/content/renderer/gpu/render_widget_compositor.cc |
| +++ b/content/renderer/gpu/render_widget_compositor.cc |
| @@ -954,6 +954,38 @@ void RenderWidgetCompositor::DidAbortSwapBuffers() { |
| widget_->OnSwapBuffersAborted(); |
| } |
| +void RenderWidgetCompositor::RecordFrameTimingEvents( |
| + scoped_ptr<cc::FrameTimingTracker::CompositeTimingSet> composite_events, |
| + scoped_ptr<cc::FrameTimingTracker::MainFrameTimingSet> main_frame_events) { |
| + for (const auto& composite_event : *composite_events ) { |
| + int64_t frameId = composite_event.first; |
| + const std::vector<cc::FrameTimingTracker::CompositeTimingEvent>& events = |
| + composite_event.second; |
| + std::vector<blink::WebFrameTimingEvent> webEvents(events.size()); |
| + for (size_t i = 0; i < events.size(); ++i) { |
| + webEvents[i] = blink::WebFrameTimingEvent( |
|
vmpstr
2015/06/02 22:05:19
nit: just create a default vector above and .push_
MikeB
2015/06/03 20:19:20
Done.
|
| + events[i].frame_id, |
| + (events[i].timestamp - base::TimeTicks()).InSecondsF()); |
| + } |
| + widget_->webwidget()->recordFrameTimingEvent( |
| + blink::WebWidget::CompositeEvent, frameId, webEvents); |
| + } |
| + for (const auto& main_frame_event : *main_frame_events ) { |
| + int64_t frameId = main_frame_event.first; |
| + const std::vector<cc::FrameTimingTracker::MainFrameTimingEvent>& events = |
| + main_frame_event.second; |
| + std::vector<blink::WebFrameTimingEvent> webEvents(events.size()); |
| + for (size_t i = 0; i < events.size(); ++i) { |
| + webEvents[i] = blink::WebFrameTimingEvent( |
|
vmpstr
2015/06/02 22:05:19
nit: just create a default vector above and .push_
MikeB
2015/06/03 20:19:20
Done.
|
| + events[i].frame_id, |
| + (events[i].timestamp - base::TimeTicks()).InSecondsF(), |
| + (events[i].end_time - base::TimeTicks()).InSecondsF()); |
| + } |
| + widget_->webwidget()->recordFrameTimingEvent( |
| + blink::WebWidget::RenderEvent, frameId, webEvents); |
| + } |
| +} |
| + |
| void RenderWidgetCompositor::RateLimitSharedMainThreadContext() { |
| cc::ContextProvider* provider = |
| compositor_deps_->GetSharedMainThreadContextProvider(); |