• mfomitchev's avatar
    Plumbing input event latency reporting through Mus GPU. · 426ea5dd
    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
BUILD.gn 16 KB