Reland "Share one GLContext for all RasterDecoder when virtual context is used."


Original change's description:
> Revert "Share one GLContext for all RasterDecoder when virtual context is used."
>
> This reverts commit 1808a743048d147521eaffb386dc9f29b4ecae0e.
>
> Reason for revert: Null-dereference READ in gpu::gles2::ContextState::api
> https://crbug.com/912981
>
> Original change's description:
> > Share one GLContext for all RasterDecoder when virtual context is used.
> >
> > With this CL, we will create a GLContextVirtual in RasterDecoderContextState,
> > and share it with all raster decoders, display compositoer, etc. It is a
> > temporary solution. In follow up CLs, we will share the one GLContext with
> > GLES2 as well. In that case, we will use GLContext directly instead of
> > GLContextVirtual.
> >
> > Change-Id: If9b8d1f32e58b32a9d9f8cd07aa10c30432e3183
> > Bug: 902904
> > Reviewed-on: https://chromium-review.googlesource.com/c/1357463
> > Commit-Queue: Peng Huang <penghuang@chromium.org>
> > Reviewed-by: Antoine Labour <piman@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#614694}
>
> TBR=penghuang@chromium.org,piman@chromium.org
>
> Change-Id: I2eb66f211d408988f30bfb870425da80e0eb7a4b
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: 902904
> Reviewed-on: https://chromium-review.googlesource.com/c/1368284
> Reviewed-by: Peng Huang <penghuang@chromium.org>
> Commit-Queue: Peng Huang <penghuang@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#614738}

TBR=penghuang@chromium.org,piman@chromium.org

Change-Id: Ie409d5d631509efa978a8741381cedbbbcdb3904
Bug: 902904
Reviewed-on: https://chromium-review.googlesource.com/c/1368031
Reviewed-by: Peng Huang <penghuang@chromium.org>
Commit-Queue: Peng Huang <penghuang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#614796}
22 files changed