Index: content/browser/renderer_host/delegated_frame_host.cc |
diff --git a/content/browser/renderer_host/delegated_frame_host.cc b/content/browser/renderer_host/delegated_frame_host.cc |
index 7b81ae4e6674c7b48495c25de2d4b18915ce70a8..6e1c43b46f4dcc5b514777987a2852ad2cc7dc93 100644 |
--- a/content/browser/renderer_host/delegated_frame_host.cc |
+++ b/content/browser/renderer_host/delegated_frame_host.cc |
@@ -488,14 +488,19 @@ void DelegatedFrameHost::SwapDelegatedFrame(uint32_t output_surface_id, |
current_scale_factor_ = frame_device_scale_factor; |
} |
- frame.metadata.latency_info.insert(frame.metadata.latency_info.end(), |
- skipped_latency_info_list_.begin(), |
- skipped_latency_info_list_.end()); |
- skipped_latency_info_list_.clear(); |
- |
gfx::Size desired_size = client_->DelegatedFrameHostDesiredSizeInDIP(); |
- if (desired_size != frame_size_in_dip && !desired_size.IsEmpty()) |
+ if (desired_size != frame_size_in_dip && !desired_size.IsEmpty()) { |
skip_frame = true; |
+ skipped_latency_info_list_.insert(skipped_latency_info_list_.end(), |
+ frame.metadata.latency_info.begin(), |
+ frame.metadata.latency_info.end()); |
+ frame.metadata.latency_info.clear(); |
+ } else { |
+ frame.metadata.latency_info.insert(frame.metadata.latency_info.end(), |
+ skipped_latency_info_list_.begin(), |
+ skipped_latency_info_list_.end()); |
+ skipped_latency_info_list_.clear(); |
+ } |
cc::SurfaceFactory::DrawCallback ack_callback; |
if (compositor_ && !skip_frame) { |