gecko-dev/mobile
Jamie Nicol 04d1292832 Bug 1706656 - Avoid creating SurfaceTextures in isolated content processes on old android versions. r=geckoview-reviewers,ohall
Due to a bug on versions of Android prior to 8.0, attempting to create
a SurfaceTexture from an isolated process results in an infinite
hang. We must therefore avoid doing this.

We currently create a dummy SurfaceTexture in order to call the
Surface constructor when instantiating a GeckoSurface from a
Parcel. This patch avoids this by making GeckoSurface own a Surface
rather than inherit from one.

Additionally, for every Surface allocated we create a corresponding
"sync" SurfaceTexture in the content processes. This is used when the
texture data is required in the content process, eg using video as a
WebGL texture upload source. This patch prevents us allocating such
SurfaceTextures. If out-of-process WebGL is enabled, video data can
still be used as a texture upload source as WebGL resides in the GPU
process. However, if out-of-process WebGL is disabled the texture
upload will fail.

Prior to shipping isolated content processes on affected Android
versions, we must therefore ensure we have an alternative solution to
using video as a WebGL texture upload source, or that out-of-process
WebGL can be relied upon.

Differential Revision: https://phabricator.services.mozilla.com/D165970
2023-01-17 18:54:25 +00:00
..
android Bug 1706656 - Avoid creating SurfaceTextures in isolated content processes on old android versions. r=geckoview-reviewers,ohall 2023-01-17 18:54:25 +00:00
locales Bug 1801836 - Remove no longer necessary 'from __future__' imports. r=linter-reviewers,glandium,webdriver-reviewers,perftest-reviewers,geckoview-reviewers,jld,ahal,owlish,afinder DONTBUILD 2022-12-23 22:45:46 +00:00
.eslintrc.js