-
mfomitchev authored
Adds support for input event latency reporting for Mus. There's two subtle differences between the Mus flow and the non-Mus flow: - DISPLAY_COMPOSITOR_RECEIVED_FRAME_COMPONENT is logged if there are ANY latency components present. - OnGpuSwapBuffersCompleted() is called if there are ANY latency components present. In non-Mus flow these are done only when there are browser-specific latency components present. In practice this shouldn't have any effect on UMA latency reporting, because currently OnGpuSwapBuffersCompleted() exits early if it doesn't see RWH-specific latency components. However it should prove useful for getting latency data for non-blink use cases in the future. Other changes: - Adds logging of DISPLAY_COMPOSITOR_RECEIVED_FRAME_COMPONENT in SurfaceFactory::SubmitCompositorFrame(). - Plumbs through LatencyInfo propagation for the in-process GPU command buffer case (i.e. for Mus GPU). - Adds LatencyTracker to DisplayOutputSurface, and calls LatencyTracker::OnGpuSwapBuffersCompleted from DisplayOutputSurface::OnGpuSwapBuffersCompleted, which ensures UMA latency data is reported in Mus. TBR=bbudge@chromium.org,danakj@chromium.org BUG=686865 CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel Review-Url: https://codereview.chromium.org/2806163004 Cr-Commit-Position: refs/heads/master@{#464664}
426ea5dd