• Peng Huang's avatar
    Support using WebView with passthrough (ANGLE). · 30d67bce
    Peng Huang authored
    To support ANGLE, we need to create ANGLE context and surfaces from the
    native EGL context and surfaces with the
    EGL_ANGLE_external_context_and_surface extension. And ANGLE will save
    and restore during make current or release the current context with
    eglMakeCurrent() call. To do that, ScopedAppGLStateRestore will not
    create gl::GLContext, save and restore GL state anymore. It only queries
    stencil state with native GL binding instead of the ANGLE GL binding,
    since ANGLE will not return the GL state from the native GL.
    And SkiaRenderer may need the stencil state later. The ANGLE EGL context
    will be created in OutputSurfaceProviderWebView, and make current in
    HardwareRendererViz.
    
    Bug: 1157501
    Change-Id: Ieca9c85855df5ab529846fe2882d7451f50f51bb
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2612925
    Commit-Queue: Peng Huang <penghuang@chromium.org>
    Reviewed-by: default avatarBo <boliu@chromium.org>
    Reviewed-by: default avatarVasiliy Telezhnikov <vasilyt@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#846201}
    30d67bce
output_surface_provider_webview.cc 8 KB