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 d82a99cfebfc5e4e90c4076191d1cb80f1e95e4d..ed8c6ed7a4ce6be0bde253d64e1f1f1e8873a6c3 100644 |
--- a/content/renderer/gpu/render_widget_compositor.cc |
+++ b/content/renderer/gpu/render_widget_compositor.cc |
@@ -795,6 +795,32 @@ void RenderWidgetCompositor::ApplyViewportDeltas( |
top_controls_delta); |
} |
+static std::pair<int, double> TickToDouble( |
+ const std::pair<int, const base::TimeTicks>& tick) { |
+ return std::make_pair(tick.first, |
+ (tick.second - base::TimeTicks()).InSecondsF()); |
+} |
+ |
+void RenderWidgetCompositor::RecordCommitTiming( |
+ int64_t rect_id, |
+ const std::pair<int, base::TimeTicks>& commit) { |
+ std::vector<std::pair<int, double> > commitTiming(1); |
+ commitTiming[0] = TickToDouble(commit); |
+ widget_->webwidget()->recordSmoothnessTimingEvent( |
+ blink::WebWidget::CommitEvent, rect_id, commitTiming); |
+} |
+void RenderWidgetCompositor::RecordCompositeTiming( |
+ int64_t rect_id, |
+ const std::vector<std::pair<int, base::TimeTicks> >& composites) { |
+ std::vector<std::pair<int, double> > compositeTiming(composites.size()); |
+ std::transform(composites.begin(), |
+ composites.end(), |
+ compositeTiming.begin(), |
+ TickToDouble); |
+ widget_->webwidget()->recordSmoothnessTimingEvent( |
+ blink::WebWidget::CompositeEvent, rect_id, compositeTiming); |
+} |
+ |
scoped_ptr<cc::OutputSurface> RenderWidgetCompositor::CreateOutputSurface( |
bool fallback) { |
return widget_->CreateOutputSurface(fallback); |