| 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 95e1ab1866834c9582ad4f95a117bbdbc44f97f2..cb977d85ced57891870491767159ff6f2868e21d 100644
|
| --- a/cc/trees/layer_tree_host_impl.cc
|
| +++ b/cc/trees/layer_tree_host_impl.cc
|
| @@ -1650,12 +1650,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;
|
|
|