| Index: cc/trees/layer_tree_host_impl.cc
|
| diff --git a/cc/trees/layer_tree_host_impl.cc b/cc/trees/layer_tree_host_impl.cc
|
| index bd77d844e629315d657d6cb4660bdb26e284b903..d4f0fa625dfea4ee7695e163745cb0b5b6a33cff 100644
|
| --- a/cc/trees/layer_tree_host_impl.cc
|
| +++ b/cc/trees/layer_tree_host_impl.cc
|
| @@ -1640,12 +1640,19 @@ bool LayerTreeHostImpl::SwapBuffers(const LayerTreeHostImpl::FrameData& frame) {
|
| }
|
| CompositorFrameMetadata metadata = MakeCompositorFrameMetadata();
|
| active_tree()->FinishSwapPromises(&metadata);
|
| - for (size_t i = 0; i < metadata.latency_info.size(); i++) {
|
| + for (auto& latency : metadata.latency_info) {
|
| TRACE_EVENT_FLOW_STEP0(
|
| "input,benchmark",
|
| "LatencyInfo.Flow",
|
| - TRACE_ID_DONT_MANGLE(metadata.latency_info[i].trace_id),
|
| + TRACE_ID_DONT_MANGLE(latency.trace_id),
|
| "SwapBuffers");
|
| + // Only add the latency component once for renderer swap, not the browser
|
| + // swap.
|
| + if (!latency.FindLatency(ui::INPUT_EVENT_LATENCY_RENDERER_SWAP_COMPONENT,
|
| + 0, nullptr)) {
|
| + latency.AddLatencyNumber(ui::INPUT_EVENT_LATENCY_RENDERER_SWAP_COMPONENT,
|
| + 0, 0);
|
| + }
|
| }
|
| renderer_->SwapBuffers(metadata);
|
| return true;
|
|
|