• Christopher Cameron's avatar
    color: Detect Android wide color gamut displays · bc1ae6d6
    Christopher Cameron authored
    There are two variables that determine if Chrome should render P3
    content:
      * Configuration.isScreenWideColorGamut reports whether or not the
        system compositor will perform color correction for EGL surfaces
        that are tagged with a color space.
      * Display.isWideColorGamut reports whether or not this particular
        display has a wide color gamut.
    
    The Configuration.isScreenWideColorGamut variable must be read from the
    WindowAndroid's context.
    
    Update both of these variables, and plumb their conjunction down into
    the native code, where it is used to select P3 or sRGB.
    
    This mechanism is only used by Chrome, not WebView. For WebView, add hooks
    in WebContentsViewDelegate to override the color space that is passed to
    the renderer (instead of just using the one from the display::Display).
    
    R=boliu
    TBR=mthiesse
    
    Bug: 735658
    Change-Id: I7781b4a1068a57a480123a58302fe484273565fd
    Reviewed-on: https://chromium-review.googlesource.com/571053
    Commit-Queue: ccameron chromium <ccameron@chromium.org>
    Reviewed-by: default avatarBo Liu <boliu@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#487391}
    bc1ae6d6
compositor_impl_android.cc 33.3 KB